Atmel AT91 pinctrl在设备树中定义我自己的管脚
我使用的是at91sam9x25ek板,我想在设备树中定义我自己的自定义管脚,因为新的内核版本不包含我板的特定C代码,只包含dts文件。 我想要的-例如PB14作为GPIO下拉,我计划在内核模块中使用它们。我能够通过设备树中的现有节点定义pin:Atmel AT91 pinctrl在设备树中定义我自己的管脚,atmel,gpio,device-tree,Atmel,Gpio,Device Tree,我使用的是at91sam9x25ek板,我想在设备树中定义我自己的自定义管脚,因为新的内核版本不包含我板的特定C代码,只包含dts文件。 我想要的-例如PB14作为GPIO下拉,我计划在内核模块中使用它们。我能够通过设备树中的现有节点定义pin: pinctrl@fffff400 { #address-cells = <1>; #size-cells = <1>; compatible = "atmel,at91sam9x5-pinctrl", "atm
pinctrl@fffff400 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus";
ranges = <0xfffff400 0xfffff400 0x800>;
macb0 {
pinctrl_macb0_rmii: macb0_rmii-0 {
atmel,pins =
<1 0 0x1 0x0 /* PB0 periph A ERX0 */
1 1 0x1 0x0 /* PB1 periph A ERX1 */
1 2 0x1 0x0 /* PB2 periph A ERXER */
1 3 0x1 0x0 /* PB3 periph A ERXDV */
1 4 0x1 0x0 /* PB4 periph A ETXCK */
1 5 0x1 0x0 /* PB5 periph A EMDIO */
1 6 0x1 0x0 /* PB6 periph A EMDC */
1 7 0x1 0x0 /* PB7 periph A ETXEN */
1 9 0x1 0x0 /* PB9 periph A ETX0 */
1 10 0x1 0x0 /* PB10 periph A ETX1 */
1 14 0x0 0x8>; /* !!!JUST for test, PB14 as GPIO pull down*/
};
};
macb0: ethernet@f802c000 {
compatible = "cdns,at32ap7000-macb", "cdns,macb";
reg = <0xf802c000 0x100>;
interrupts = <24 4 3>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_macb0_rmii>;
status = "disabled";
};
}
macb0: ethernet@f802c000 {
status = "okay";
};
pinctrl@fffff400 {
#地址单元=;
#大小单元格=;
compatible=“atmel,at91sam9x5 pinctrl”,“atmel,at91rm9200 pinctrl”,“简单总线”;
范围=;
macb0{
pinctrl\U macb0\U rmii:macb0\U rmii-0{
阿特梅尔,别针=
;/*!!!仅用于测试,PB14作为GPIO下拉*/
};
};
macb0:ethernet@f802c000 {
compatible=“CDN,at32ap7000 macb”,“CDN,macb”;
reg=;
中断=;
pinctrl names=“默认”;
pinctrl-0=;
status=“disabled”;
};
}
macb0:ethernet@f802c000 {
status=“好”;
};
以上代码有效,在启动过程中,我看到PB14上的电压下降。但这是一个丑陋的定义,我想用定制的pin创建自己的节点,并在linux启动时初始化它。像这样:
custom_pins {
pinctrl_custom_pins_test: custom_pins_test-0 {
atmel,pins =
<1 14 0x0 0x8>;
};
};
custom\u引脚{
pinctrl_自定义_管脚_测试:自定义_管脚_测试-0{
阿特梅尔,别针=
;
};
};
但是如何根据我自己的定制pins节点触发这些pin/pin的定义呢?我应该向设备树文件写入什么
提前感谢。您解决过这个问题吗?似乎有Beagelbone特定的解决方案,但没有通用的解决方案。