[dts]TI-am437x dts

imx6 可以参考http://blog.csdn.net/shengzhadon/article/details/49908439

参照文件

Documentation/devicetree/bindings/pinctrl/ti,omap-pinctrl.txt

Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt

1. 下面的节点,pinctrl-0和bt-gpios的关系是什么?

  • pinctrl-0描述了pin脚mux复用情况
  • bt-gpios则设置pin脚的默认状态

2. GPIO节点意义

  • pinctrl-names定义了clientdevice用到的state列表,一种是字符串,另一种是数字; 0表示pinctrl-0, 1表示pintrl-1. 
  • 0x1d8 (PIN_OUTPUT_PULLDOWN | MUX_MODE7),其中0x1d8代表哪个GPIO,后面则会IO属性
  • 0x1d8表示offset,而这个offset对应的是pin0, 通过cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins可以查看到AM437x有近200个pin, 0x1d8则对应pin118, 查看手册

3. pinmux工具

https://dev.ti.com/pinmux/app.html#/default

该工具,比如在am437x中,现在打算使用GPIO4_11, 先查找GPIO4_11对应功能为CAM1_PCLK, 然后在工具中选定此脚后,右侧生成文件,其中可以查看devicetree文件

wifi_bt_reset{
    pinctrl-names = "default";
    pinctrl-0 = <&wifi_reset_pins>;
    
    compatible = "gpio_reset";
    bt-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>;
    wifi-gpios = <&sc16is752 4 GPIO_ACTIVE_HIGH>;
};

wifi_reset_pins: wifi_reset_pins{
    pinctrl-single, pins = <
        0x1d8 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)
        0x1dc (PIN_OUTPUT_PULLDOWN | MUX_MODE7)
    >;
};
原文地址:https://www.cnblogs.com/aaronLinux/p/6840535.html