这里面的
pinctrl-single,pins
:0x25C,
0x188 。。。。这些地址如何得出;哪位帮忙解答一下
&am43xx_pinmux {
pinctrl-names ="default"
,"sleep"
;
pinctrl-0 = <&ddr3_vtt_toggle_default &wlan_pins_default &debugss_pins &unused_pins>;
pinctrl-1 = <&wlan_pins_sleep>;
ddr3_vtt_toggle_default: ddr_vtt_toggle_default {
pinctrl-single,pins = <
0x25C (DS0_PULL_UP_DOWN_EN | PIN_OUTPUT_PULLUP | DS0_FORCE_OFF_MODE | MUX_MODE7)/* spi0_cs0.gpio5_7 */
>;
};
i2c0_pins: i2c0_pins {
pinctrl-single,pins = <
0x188 (
PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
>;
};
i2c1_pins_default: i2c1_pins_default {
pinctrl-single,pins = <
0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
>;
};
}
Shine:
这些是pinmux寄存器的offset地址,这些offset地址+Control Module base address可以得到实际的寄存器地址。
www.ti.com/.../spruhl7h.pdf
user3800263:
pin0对应0x800,pin1对应0x804,pin2对应0x808以此类推。但是pin0不一定等于/sys/class/gpio中的GPIO0,pin0只对应着/sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins
你的0x188和0x18c就对应着0x988和0x98c,对照着Reference Manual看一看地址就知道了,SPRUHL7H.pdf。