diff mbox series

[v2] arm64: dts: qcom: sdm845-oneplus-common: add PN553 NFC

Message ID 20230307185942.1737867-1-soyer@irl.hu
State New
Headers show
Series [v2] arm64: dts: qcom: sdm845-oneplus-common: add PN553 NFC | expand

Commit Message

Gergo Koteles March 7, 2023, 6:59 p.m. UTC
The OnePlus 6/6T both have a NQ330 (PN553 + P73N2M0).
The PN533 supported by the nxp-nci-i2c driver in mainline.
It detects/reads NFC tags using "nfctool".

Signed-off-by: Gergo Koteles <soyer@irl.hu>
---
 .../boot/dts/qcom/sdm845-oneplus-common.dtsi  | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)

Comments

Gergo Koteles March 8, 2023, 6:20 p.m. UTC | #1
On 2023. 03. 07. 20:04, Gergo Koteles wrote:
> On 2023. 03. 07. 20:02, Konrad Dybcio wrote:
>>
>>
>> On 7.03.2023 19:59, Gergo Koteles wrote:
>>> The OnePlus 6/6T both have a NQ330 (PN553 + P73N2M0).
>>> The PN533 supported by the nxp-nci-i2c driver in mainline.
>>> It detects/reads NFC tags using "nfctool".
>>>
>>> Signed-off-by: Gergo Koteles <soyer@irl.hu>
>>> ---
>> Next time include a changelog below this --- line detailing
>> what changed between revisions.
>>
> Okey. Thanks for the suggestion and the review.
> 
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>>
>> Konrad
>>>   .../boot/dts/qcom/sdm845-oneplus-common.dtsi  | 39 +++++++++++++++++++
>>>   1 file changed, 39 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi 
>>> b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
>>> index 64638ea94db7..5e45801031d8 100644
>>> --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
>>> @@ -380,6 +380,24 @@ zap-shader {
>>>       };
>>>   };
>>> +&i2c3 {
>>> +    clock-frequency = <400000>;
>>> +    status = "okay";
>>> +
>>> +    nfc@28 {
>>> +        compatible = "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_int_active &nfc_enable_active 
>>> &nfc_firmware_active>;
>>> +        pinctrl-names = "default";
>>> +    };
>>> +};
>>> +
>>>   &i2c10 {
>>>       status = "okay";
>>>       clock-frequency = <100000>;
>>> @@ -753,6 +771,27 @@ &usb_1_hsphy {
>>>   &tlmm {
>>>       gpio-reserved-ranges = <0 4>, <81 4>;
>>> +    nfc_int_active: nfc-int-active-state {
>>> +        pins = "gpio63";
>>> +        function = "gpio";
>>> +        drive-strength = <2>;
>>> +        bias-pull-up;
>>> +    };
>>> +
>>> +    nfc_enable_active: nfc-enable-active-state {
>>> +        pins = "gpio12";
>>> +        function = "gpio";
>>> +        drive-strength = <2>;
>>> +        bias-pull-up;
>>> +    };
>>> +
>>> +    nfc_firmware_active: nfc-firmware-active-state {
>>> +        pins = "gpio62";
>>> +        function = "gpio";
>>> +        drive-strength = <2>;
>>> +        bias-pull-up;
>>> +    };
>>> +
>>>       tri_state_key_default: tri-state-key-default-state {
>>>           pins = "gpio40", "gpio42", "gpio26";
>>>           function = "gpio";
> 
Hi,

Please disregard this patch. Although it can detect the tags and the 
tags type, the full readout does not work. I will send a new version 
when I figure out what's wrong.

Thanks
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
index 64638ea94db7..5e45801031d8 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
@@ -380,6 +380,24 @@  zap-shader {
 	};
 };
 
+&i2c3 {
+	clock-frequency = <400000>;
+	status = "okay";
+
+	nfc@28 {
+		compatible = "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_int_active &nfc_enable_active &nfc_firmware_active>;
+		pinctrl-names = "default";
+	};
+};
+
 &i2c10 {
 	status = "okay";
 	clock-frequency = <100000>;
@@ -753,6 +771,27 @@  &usb_1_hsphy {
 &tlmm {
 	gpio-reserved-ranges = <0 4>, <81 4>;
 
+	nfc_int_active: nfc-int-active-state {
+		pins = "gpio63";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
+	nfc_enable_active: nfc-enable-active-state {
+		pins = "gpio12";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
+	nfc_firmware_active: nfc-firmware-active-state {
+		pins = "gpio62";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
 	tri_state_key_default: tri-state-key-default-state {
 		pins = "gpio40", "gpio42", "gpio26";
 		function = "gpio";