TI中文支持网
TI专业的中文技术问题搜集分享网站

AM4372设备树 GPIO引脚复用,偏移地址计算

这里面的pinctrl-single,pins0x25C, 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。

赞(0)
未经允许不得转载:TI中文支持网 » AM4372设备树 GPIO引脚复用,偏移地址计算
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1