iMX8QXP I2C RPBUS configuration

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX8QXP I2C RPBUS configuration

Jump to solution
2,054 Views
ranjithkumar_kv
Contributor II

Hi NXP Team,

We are using iMX8QXP as our SoC with our custom design. In the EVK when we disable the i2c_rpbus_5, i2c_rpbus_15 nodes in the imx8x-mek-rpmsg.dtsi file we are facing failure in booting of A35. We are using the default power mode application in the M4 side.

Hence please let us know on what basis we need to allocate the i2c_rpbus nodes and whether is it mandatory to allocate i2c_rpbus nodes if we wish to use M4 along with A35?.


Regards,

Ranjith Kumar.

Tags (2)
0 Kudos
Reply
1 Solution
1,898 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

If you have disabled the i2c_rpbus_5 node, please also disabled it's slave devices or comment the whole i2c_rpbus_5 node in rpmsg.dtsi

View solution in original post

0 Kudos
Reply
17 Replies
1,572 Views
ranjithkumar_kv
Contributor II

Hi Zhiming,

We have received our target board and when I boot the board with M4 having only one i2c bus (mapped to i2c1 in the mek.dtsi file) in the rpmsg.dtsi file, we're facing kernel panic from imx-rproc driver and when I boot the board without M4 there is no issue in booting. Attaching the logs of the kernel panic below.

Please look into it and let me know what is the RCA of this issue.


Regards,

Ranjith Kumar.

0 Kudos
Reply
1,564 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

Can you share your device tree file?

Thanks

0 Kudos
Reply
1,560 Views
ranjithkumar_kv
Contributor II

Hi Zhiming,

Please find the dtsi files in the attachment (dtsi.zip).

Regards,

Ranjith Kumar.

0 Kudos
Reply
1,558 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

Have you load the m4_0.bin in uboot?

Zhiming_Liu_1-1715241457697.png

 

 

0 Kudos
Reply
1,540 Views
ranjithkumar_kv
Contributor II
Hi Zhiming,

We haven't modified the U-boot source code other than the dts, defconfig and board file changes. We have used "flash_linux_m4" flag for booting with M4 and "flash" flag for booting without M4 in the imx-mkimage compilation.

Regards,
Ranjith Kumar.
0 Kudos
Reply
1,518 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

Here are vdevbuffer and vring definitions in mek dtsi, are you using same DRAM size? If not, you need adjust these address.

 

 

reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		vdev0vring0: vdev0vring0@90000000 {
			reg = <0 0x90000000 0 0x8000>;
			no-map;
		};

		vdev0vring1: vdev0vring1@90008000 {
			reg = <0 0x90008000 0 0x8000>;
			no-map;
		};

		vdev1vring0: vdev1vring0@90010000 {
			reg = <0 0x90010000 0 0x8000>;
			no-map;
		};

		vdev1vring1: vdev1vring1@90018000 {
			reg = <0 0x90018000 0 0x8000>;
			no-map;
		};

		rsc_table: rsc_table@900ff000 {
			reg = <0 0x900ff000 0 0x1000>;
			no-map;
		};

		vdevbuffer: vdevbuffer {
                        compatible = "shared-dma-pool";
			reg = <0 0x90400000 0 0x100000>;
			no-map;
		};
	};

 

 

0 Kudos
Reply
1,509 Views
ranjithkumar_kv
Contributor II
Hi Zhiming,
We are using 2GiB of DRAM in our design. Can you please let me know if any guide is available for changing the address?

Regards,
Ranjith Kumar.
0 Kudos
Reply
1,504 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

From the error log, it seems relate to vring and vdev address, but i just calculate the vdev and vring address, there are in range of 2GB.

Maybe this issue is caused by incorrect DRAM definition in Uboot. The Linux still use 3GB DRAM size to map address , this could be the reason about address NULL issue.

You can try to modify  include/configs/imx8qxp_mek.h in Uboot like this.

Zhiming_Liu_0-1715322892017.png

Best Regards

Zhiming 

 

 

0 Kudos
Reply
1,494 Views
ranjithkumar_kv
Contributor II
Hi Zhiming,

We think the issue is sorted out once we change as per your suggestion in the mek.h file. Thanks for your support.
Will check with you if any other issue arises.

Regards,
Ranjith Kumar.
0 Kudos
Reply
2,039 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello @ranjithkumar_kv 

Can you provide kernel boot log?

 

Best Regards

Zhiming

0 Kudos
Reply
2,034 Views
ranjithkumar_kv
Contributor II

Hi Zhiming,

Please find the kernel boot logs in the attachment (kernel_error_logs.txt).

 

Regards,

Ranjith Kumar

0 Kudos
Reply
1,899 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

If you have disabled the i2c_rpbus_5 node, please also disabled it's slave devices or comment the whole i2c_rpbus_5 node in rpmsg.dtsi

0 Kudos
Reply
1,879 Views
ranjithkumar_kv
Contributor II

Hi Zhiming,

Thanks for the information. By disabling the slaves present in the i2c_rpbus_5 we're able to boot the board.

One additional query, is it mandatory to have i2c_rpbus nodes or else can we disable all the i2c_rpbus nodes along with it's associated slaves?

Regards,

Ranjith Kumar.

0 Kudos
Reply
1,877 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

It depends on which i2c_rpbus node, for example, if you need use typec port ,you can't disable or comment i2c_rpbus_1. For pca9557_a and pca9557_b in i2c_rpbus_15 node, they could be used for gpio control in other devices, so please handle these devices with care. But for other sensor devices, you can disable them.

Best Regards

Zhiming

0 Kudos
Reply
1,875 Views
ranjithkumar_kv
Contributor II
Hi Zhiming,
Thanks for the detailed clarification.
My query is like in our target device we won't be having any of the slaves mentioned in the rpmsg.dtsi file, so in this case can we disable all the i2c_rpbus nodes?

Regards,
Ranjith Kumar
0 Kudos
Reply
1,839 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @ranjithkumar_kv 

Yes, of course

0 Kudos
Reply
1,830 Views
ranjithkumar_kv
Contributor II
Hi Zhiming,
Thanks for the support.
Regards,
Ranjith Kumar
0 Kudos
Reply