Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Linux/PROCESSOR-SDK-AM437X: GPIO problem

$
0
0

Part Number:PROCESSOR-SDK-AM437X

Tool/software: Linux

Hi sir:

could you do me a favor?

there is a problem that the gpio number, that the gpio works as what i wanted when using the gpio number in the directory "/sys/class/gpio/" , paired  address is not as i wanted when i go to find the address that corresponed to the gpio number in the file "pins" under the directory " /sys/kernel/debug/pinctrl/" in board linux system.

The follow is the code in the device tree.

uart3_pins: uart3_pins {
  pinctrl-single,pins = <
   AM4372_IOPAD(0xa28, PIN_INPUT | MUX_MODE0)  /* uart3_rxd.uart3_rxd */
   AM4372_IOPAD(0xa2c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_txd.uart3_txd */
   AM4372_IOPAD(0xa30, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_ctsn.uart3_ctsn */
   AM4372_IOPAD(0xa34, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart3_rtsn.uart3_rtsn */
   AM4372_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE7)/* gpio2-16 */
   AM4372_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE7)/* gpio2-17 */
   AM4372_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE7) /* gpio2-22 */
   AM4372_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE7) /* gpio2-23 */
  >;
 };

-----------

&uart3 {
 status = "okay";
 pinctrl-names = "default";
 pinctrl-0 = <&uart3_pins>;
};

when  I configure  the gpio2_16,17,22,23  in the node uart3 ,the gpio80,that accumulated by the method that you offered (2x32+16 ), can works well as what i wanted .

But when i departed the four gpio configuration ,using the follow code in the device tree, the gpio80 can't work as wanted.

gpio_my_pins: gpio_mux_pins {
  pinctrl-single,pins = <

   AM4372_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE7)/* gpio2-16 */
   AM4372_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE7)/* gpio2-17 */
   AM4372_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE7) /* gpio2-22 */
   AM4372_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE7) /* gpio2-23 */
  >;
 };

&gpio2 {
 status = "okay";
 pinctrl-names = "default";
 pinctrl-0 = <&gpio_my_pins>;
};

And there is a problem very serious, when the gpio 80 works ,i find the pin's address in the file "/sys/kernel/debug/pinctrl/pins" is 0x44e10940 .But I think the right address should be 0x44e108c8.

So ,what cause it? the follow is the file named "pins" in the directory "/sys/kernel/debug/pinctrl/".

pin 47 (PIN47) 44e108bc 08050007 pinctrl-single

pin 48 (PIN48) 44e108c0 08050007 pinctrl-single

pin 49 (PIN49) 44e108c4 08050007 pinctrl-single

pin 50 (PIN50) 44e108c8 00010007 pinctrl-single

pin 51 (PIN51) 44e108cc 00010007 pinctrl-single

pin 52 (PIN52) 44e108d0 08050007 pinctrl-single

pin 53 (PIN53) 44e108d4 08050007 pinctrl-single

pin 54 (PIN54) 44e108d8 08050007 pinctrl-single

pin 55 (PIN55) 44e108dc 08050007 pinctrl-single

pin 56 (PIN56) 44e108e0 00010007 pinctrl-single

pin 57 (PIN57) 44e108e4 00010007 pinctrl-single

pin 58 (PIN58) 44e108e8 08040007 pinctrl-single

pin 59 (PIN59) 44e108ec 08050007 pinctrl-single

pin 60 (PIN60) 44e108f0 00050000 pinctrl-single

pin 61 (PIN61) 44e108f4 00050000 pinctrl-single

pin 62 (PIN62) 44e108f8 00050000 pinctrl-single

pin 63 (PIN63) 44e108fc 00050000 pinctrl-single

pin 64 (PIN64) 44e10900 00050000 pinctrl-single

pin 65 (PIN65) 44e10904 00050000 pinctrl-single

pin 66 (PIN66) 44e10908 00040007 pinctrl-single

pin 67 (PIN67) 44e1090c 00040007 pinctrl-single

pin 68 (PIN68) 44e10910 00040007 pinctrl-single

pin 69 (PIN69) 44e10914 00010002 pinctrl-single

pin 70 (PIN70) 44e10918 00050002 pinctrl-single

pin 71 (PIN71) 44e1091c 00010002 pinctrl-single

pin 72 (PIN72) 44e10920 00010002 pinctrl-single

pin 73 (PIN73) 44e10924 00010002 pinctrl-single

pin 74 (PIN74) 44e10928 00010002 pinctrl-single

pin 75 (PIN75) 44e1092c 00010002 pinctrl-single

pin 76 (PIN76) 44e10930 00050002 pinctrl-single

pin 77 (PIN77) 44e10934 00050002 pinctrl-single

pin 78 (PIN78) 44e10938 00050002 pinctrl-single

pin 79 (PIN79) 44e1093c 00050002 pinctrl-single

pin 80 (PIN80) 44e10940 00050002 pinctrl-single

pin 81 (PIN81) 44e10944 00040007 pinctrl-single

pin 82 (PIN82) 44e10948 00050000 pinctrl-single

pin 83 (PIN83) 44e1094c 00010000 pinctrl-single

pin 84 (PIN84) 44e10950 08060007 pinctrl-single

Your answer is very appreciated! 

Thanks!


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>