Sharing a GPIO bank between A9 and M4 in i.MX6SX

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Sharing a GPIO bank between A9 and M4 in i.MX6SX

2,797件の閲覧回数
Balaji_ng
Contributor III

Hi

     Can I share a different GPIO pins belonging to same GPIO bank between A9 and M4 in i.MX6SoloX?  For example, Can I use GPIO Pin-0 of GPIO Bank-3 in M4 and GPIO Pin-1 of GPIO Bank-3 in A9?

Regards

Balaji.V

ラベル(1)
5 返答(返信)

1,939件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

seems it can be done in  mach-imx6sx.c
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/arch/arm/mach-imx/mach-imx6sx.c?h=i...
RDC programming examples can be found in
FreeRTOS_BSP_i.MX6SX - Windows installer (REV 1.0.0)
https://www.nxp.com/webapp/sps/download/license.jsp?colCode=FREERTOS_MX6SX_1.0.0_WIN&appType=file1&l...

~igor

0 件の賞賛

1,939件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Balaji

only whole GPIO module can be shared, not particular GPIO bits,

please look at description of RDC in Chapter 52 Resource Domain Controller (RDC)

i.MX6SX Reference Manual

http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SXRM.pdf

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛

1,939件の閲覧回数
Balaji_ng
Contributor III

But my exercise is proving otherwise.

Let me explain my setup.

1. I have a i.MX6SoloX SDB.

In M4: 

1. Configured 5 GPIOs as outputs. (GPIO3.20, GPIO3.21, GPIO3.22, GPIO3.23, GPIO3.24).

2. Configured 1 GPIO as input (GPIO3.27).

3. In a while loop, I am toggling the 5 output GPIOs, scan the Input GPIO and print its state.

In A9:

1. I am using imx6sx-sdb-m4.dts.

2. In imx6sx-sdb.dtsi, added the 16 GPIOs entries (corresponding to GPIO3.1 to GPIO3.16) in the pinctrl_hog group. Below is a snippet of this file.

&iomuxc {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_hog &pinctrl_can_gpios>;

 imx6x-sdb {
 pinctrl_hog: hoggrp {
 fsl,pins = <
 MX6SX_PAD_SD1_DATA0__GPIO6_IO_2 0x17059
 MX6SX_PAD_SD1_DATA3__GPIO6_IO_5 0xb000
 MX6SX_PAD_CSI_DATA03__GPIO1_IO_17 0x17059
 MX6SX_PAD_CSI_DATA04__GPIO1_IO_18 0x17059
 MX6SX_PAD_CSI_DATA05__GPIO1_IO_19 0x17059

 MX6SX_PAD_LCD1_DATA00__GPIO3_IO_1 0x17059
 MX6SX_PAD_LCD1_DATA01__GPIO3_IO_2 0x17059
 MX6SX_PAD_LCD1_DATA02__GPIO3_IO_3 0x17059
 MX6SX_PAD_LCD1_DATA03__GPIO3_IO_4 0x17059
 MX6SX_PAD_LCD1_DATA04__GPIO3_IO_5 0x17059
 MX6SX_PAD_LCD1_DATA05__GPIO3_IO_6 0x17059
 MX6SX_PAD_LCD1_DATA06__GPIO3_IO_7 0x17059
 MX6SX_PAD_LCD1_DATA07__GPIO3_IO_8 0x17059
 MX6SX_PAD_LCD1_DATA08__GPIO3_IO_9 0x17059
 MX6SX_PAD_LCD1_DATA09__GPIO3_IO_10 0x17059
 MX6SX_PAD_LCD1_DATA10__GPIO3_IO_11 0x17059
 MX6SX_PAD_LCD1_DATA11__GPIO3_IO_12 0x17059
 MX6SX_PAD_LCD1_DATA12__GPIO3_IO_13 0x17059
 MX6SX_PAD_LCD1_DATA13__GPIO3_IO_14 0x17059
 MX6SX_PAD_LCD1_DATA14__GPIO3_IO_15 0x17059
 MX6SX_PAD_LCD1_DATA15__GPIO3_IO_16 0x17059
 MX6SX_PAD_LCD1_DATA18__GPIO3_IO_19 0x17059
 >;
 };

3. Script that toggles 16 GPIOs continuously, configuring them as outputs (GPIO3.1 to GPIO3.16) through sys interface.

Now according to your claim, the GPIOs that are being toggled through sys interface on A9 should not toggle, because they are being continuously toggled and monitored from M4. But I am able to see both running parallelly, though both belong to same GPIO Bank.

I would like to know why am I able to toggle 

Request you to let me know if you require anything else.

Regards,

Balaji. V

0 件の賞賛

1,939件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

if you did not configured RDC, then both A9 and M4

will be able to access GPIO.

Best regards
igor

1,939件の閲覧回数
Balaji_ng
Contributor III

Kindly let me know where (is it in U-Boot or M4 App or as a Kernel driver) and how to configure the RDC? 

Regards,

Balaji.V

0 件の賞賛