Sc20 | nfc | pn7150

have PN7150 NFC controller I am adding the hardware configuration in the device tree. But my device is not registered in i2c bus and device node /dev/pn544 is also not created.

Followed this application note as it is https://www.nxp.com/docs/en/application-note/AN11690.pdf

this is the device tree structure that i have been used:

nfc:pn547@28 {/PN7150 NFC/

compatible = “nxp,pn544”;

reg = <0x28>;

pinctrl-names = “nfc_active”,“nfc_suspend”;

pinctrl-0 = <&nfc_int_active &nfc_disable_active>;

pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>;

interrupt-parent = <&msm_gpio>;

interrupts = <14 0x2>;

enable-gpios = <&msm_gpio 92 0x1>;

interrupt-gpios = <&msm_gpio 14 0x1>;

};

correct me if i’m wrong

I am using the following test application to test the MIFARE cards for nougat using PN7150 NFC chip.

nxpnfc_android_nougat/FactoryTestApp at master · NXPNFCLinux/nxpnfc_android_nougat · GitHub

and it is showing like this :

msm8909:/data # NfcFactoryTestApp

----------------------------

NFC Factory Test Application

----------------------------

Cannot connect to PN71xx NFC controller

255|msm8909:/data #

please help me to solve the problem.

Hi richucjalpy,

About the problem of NFC function, what is the current progress? Have the problem been solved?
If there is no progress, please provide the following information and we will support you in time:

  1. Do you want to use PN7150 on android7 or android8?
  2. Can you provide kernel log?

thanks~

1 Like

Hi Abby,
thank you for your response.

  • I want to port PN7150 on android 7.1

here is the adb log:https://paste.ubuntu.com/p/ZBjDw8SRg4/

Hi Abby,
I want to integrate it in android 7.1
adb log

Hi richucjalpy,

We have confirmed your requirement now.
From the information you’ve provided so far, your I2C driver has not been debugged passed.So the first, solve the i2c driver migration and then migrate the upper code.
you can send them to our e-mail address, that is "support@quectel.com", we can help you to debug it.

Thank you!

1 Like

Hi abby,
i’m using sensor_i2c pins for pn7150 .
GPIO_14 as NFC_IRQ and GPIO_92 as NFC_ENB
this is the modification that I have done on device tree.


any other modification has to be made on the device tree for the proper i2c communication.

Regards,
richu

Hi richucjalpy,
Attachment is already been debugged about “pn7150” on sc20_Android7.1.2, you can use them, the patch is including kernel and framework.
Notes: you need change the I2C pins for your schematic.

Attachment path:
https://cnquectel-my.sharepoint.com/:f:/g/personal/ae-fae_quectel_com/EqS9hantdx1GkIS84LkW8yoBOs-MbdbCjvng5MEZE5YWjA?e=jlAN4c

Thank you

1 Like

Hi abby,
Thank you for your prompt reply.
Can you share the schematic of your design.
Regard,
Richu

Hi richucjalpy,
I have put the schemaic in that link, you can get it from there.

Thank you

Hi abby,
what type of antenna did you used?
Can you suggest vendors for purchasing sticker antenna for the same?
this is the specifications of antenna that I’m looking for…

image

Hi richucjalpy,

That is no specific type of recommendations, the antenna is mainly used to amplify the signal. It needs to be selected according to your design structure, so i suggest you can contact an antenna manufacture to get more information.

Thank you

Hi Abby,
Done all the firmware patches.
My issue has not been sorted out the device node is not created yet.

BspDeveloper2@BspDeveloper2:~$ adb shell ls -als /dev/pn544
ls: /dev/pn544: No such file or directory

used insmod command to insert the module pn5xx_i2c.ko in system/lib/modules. but when i use NfcFactoryTestApp it is showing cant connect to pn5xx module.
this is the logcat https://paste.ubuntu.com/p/ZPRCMcxJvx/:
this our schemtic: https://we.tl/t-CZS5hr1o1k
device tree:
&i2c_1 { /* BLSP1 QUP1 */
status = “okay”;

nfc:pn544@28 {/*PN7150 NFC*/
	compatible = "qcom,pn544";
	reg = <0x28>;
	pinctrl-names = "nfc_active","nfc_suspend";
    pinctrl-0 = <&nfc_int_active &nfc_disable_active>;
    pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>;
    interrupt-parent = <&msm_gpio>;
    interrupts = <14 0x2>;
    interrupt-names = "nfc_irq";
    qcom,nxq-ven = <&msm_gpio 92 0x1>;
    qcom,nxq-irq = <&msm_gpio 14 0x1>;
};

please support
Regards,
Richu

hi Abby,
In kernel log it is showing like this
[ 32.308146] pn54x_dev_init
[ 32.329374] init: finit_module for “/system/lib/modules/pn5xx_i2c.ko” failed: File existsinit: write_file: Unable to open ‘/proc/sys/net/ipv6/conf/rmnet0/accept_ra’: No such file or directory
complete kernel log:https://paste.ubuntu.com/p/hXXPwrmrMY/

Hi richucjalpy,

pn7150 is not supported by default Qualcomm platform, so you need add pn7150 driver into path: kernel/drivers/nfc/pn544, and would you modify the file: arch\arm\boot\dts\qcom\msm8909-pinctrl.dtsi ? If the problem persists still, in order to solve your problems more quickly, you can email to “support@quectel.com”, then our team will support your issue.

Thank you!

1 Like

Hi abby,
yeah modified dts file also arch/arm/boot/dts/qcom/msm8909-pinctrl.dtsi
pmx_rd_nfc_int{
qcom,pins = <&gp 14>;
qcom,pin-func = <0>;
qcom,num-grp-pins = <1>;
label = “pmx_nfc_int”;

		nfc_int_active: active {
			drive-strength = <6>;
			bias-pull-up;
		};

		nfc_int_suspend: suspend {
			drive-strength = <6>;
			bias-pull-up;
		};
	};

	pmx_nfc_reset{
		qcom,pins = <&gp 92>;
		qcom,pin-func = <0>;
		qcom,num-grp-pins = <1>;
		label = "pmx_nfc_disable";

		nfc_disable_active: active {
			drive-strength = <6>;
			bias-pull-up;
		};

		nfc_disable_suspend: suspend {
			drive-strength = <6>;
			bias-disable;
		};
	};

Hi aby
dropped mail but didn’t get a reply yet .
please support,its urgent
Regards,
richu

Hi richucjalpy,

I’ve checked the progress for you,your issue is already in the dispatch process, please wait patiently.

Thank you!

1 Like

thank you for your prompt reply.

Hello! Applied patch 74b23ad.diff to SC20_android7.1.2_R06_r5402 with command: patc -p1 < 74b23ad.diff

Got some errors:

patching file device/qcom/msm8909/msm8909.mk
Hunk #1 FAILED at 178.
1 out of 1 hunk FAILED -- saving rejects to file device/qcom/msm8909/msm8909.mk.rej
patching file device/qcom/sepolicy/common/file_contexts
Hunk #1 succeeded at 17 (offset 3 lines).

patch log (4.4 KB)

patch -p1 < 23f7ffd.diff 2>&1 | tee patch2.log

patching file kernel/arch/arm/boot/dts/qcom/msm8909-mtp.dtsi
Hunk #1 FAILED at 69.
Hunk #2 succeeded at 160 (offset 78 lines).
1 out of 2 hunks FAILED -- saving rejects to file kernel/arch/arm/boot/dts/qcom/msm8909-mtp.dtsi.rej
patching file kernel/arch/arm/boot/dts/qcom/msm8909-pinctrl.dtsi
Hunk #1 succeeded at 1153 (offset -2 lines).
patching file kernel/arch/arm/configs/msm8909-1gb-perf_defconfig
patching file kernel/arch/arm/configs/msm8909-1gb_defconfig
patching file kernel/drivers/misc/Kconfig
patching file kernel/drivers/misc/Makefile
patching file kernel/drivers/misc/nxp-pn5xx/Kconfig
patching file kernel/drivers/misc/nxp-pn5xx/LICENSE
patching file kernel/drivers/misc/nxp-pn5xx/Makefile
patching file kernel/drivers/misc/nxp-pn5xx/README.md
patching file kernel/drivers/misc/nxp-pn5xx/pn5xx_i2c.c
patching file kernel/drivers/misc/nxp-pn5xx/pn5xx_i2c.h
patching file kernel/drivers/misc/nxp-pn5xx/sample_devicetree.txt