From: David Heidelberg <[email protected]> Enable NFC controller NXP PN553, which is part of the package NXP NQ330 (NFC + eSE).
Based on work of biemster <[email protected]>. Signed-off-by: David Heidelberg <[email protected]> --- .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi index 6b7378cf4d493..f5a5f1fbc1fb6 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi @@ -464,6 +464,26 @@ &gpu_zap_shader { firmware-name = "qcom/sdm845/OnePlus/enchilada/a630_zap.mbn"; }; +&i2c3 { + clock-frequency = <400000>; + + status = "okay"; + + nfc@28 { + compatible = "nxp,pn553", "nxp,nxp-nci-i2c"; + reg = <0x28>; + + interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_RISING>; + + enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; + firmware-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; + + pinctrl-0 = <&nfc_default>; + pinctrl-1 = <&nfc_sleep>; + pinctrl-names = "default", "sleep"; + }; +}; + &i2c10 { status = "okay"; clock-frequency = <100000>; @@ -674,6 +694,11 @@ &qupv3_id_0 { status = "okay"; }; +&qup_i2c3_default { + drive-strength = <2>; + bias-disable; +}; + &qup_i2c10_default { drive-strength = <2>; bias-disable; @@ -1007,6 +1032,38 @@ speaker_default: speaker-default-state { bias-pull-up; output-high; }; + + nfc_default: nfc-default-state { + enable-pins { + pins = "gpio12", "gpio62"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + + int-pins { + pins = "gpio63"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + }; + + nfc_sleep: nfc-sleep-state { + enable-pins { + pins = "gpio12", "gpio62"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + int-pins { + pins = "gpio63"; + function = "gpio"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; &venus { -- 2.53.0

