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!