Linux kernel 嵌入式Linux:将Pin配置从内核文件移动到DTS文件

Linux kernel 嵌入式Linux:将Pin配置从内核文件移动到DTS文件,linux-kernel,arm,embedded-linux,dts,device-tree,Linux Kernel,Arm,Embedded Linux,Dts,Device Tree,我在ARM平台上工作,我试图将内核文件中的引脚配置移动到板/SOC特定DTS | DTSI文件中。。 有人能照亮我,我怎样才能做到这一点。。。或者任何我能得到帮助的链接?只是为了澄清你的答案。。。您的机器文件中有一些带有引脚配置部件的电路板吗?现在你想用设备树的方式来处理你的电路板吗 若有,则: 从内核树读取文档:Documentation/devicetree/bindings/pinctrl/pinctrl bindings.txt 从内核树中读取文档:文档/devicetree/bindi

我在ARM平台上工作,我试图将内核文件中的引脚配置移动到板/SOC特定DTS | DTSI文件中。。
有人能照亮我,我怎样才能做到这一点。。。或者任何我能得到帮助的链接?

只是为了澄清你的答案。。。您的机器文件中有一些带有引脚配置部件的电路板吗?现在你想用设备树的方式来处理你的电路板吗

若有,则:

  • 从内核树读取文档:Documentation/devicetree/bindings/pinctrl/pinctrl bindings.txt
  • 从内核树中读取文档:文档/devicetree/bindings/pinctrl/YOU\u PLATFORM\u或_SOC
  • 最后,您可以在路径中找到许多示例,甚至是平台的DTS文件:arch/arm/boot/DTS/

    pinctrl配置的小示例:

    &am33xx_pinmux {
        pinctrl-names = "default";
        pinctrl-0 = <&misc_pins>;
    
        misc_pins: misc_pins {
            pinctrl-single,pins = <
                0x15c (PIN_OUTPUT | MUX_MODE7)  /* spi0_cs0.gpio0_5 */
            >;
        };
    };
    
    &am33xx\u pinmux{
    pinctrl names=“默认”;
    pinctrl-0=;
    其他引脚:其他引脚{
    pinctrl单端,引脚=<
    0x15c(引脚输出多路模式7)/*spi0\U cs0.gpio0\U 5*/
    >;
    };
    };
    

    另外,如果您指定您的平台,我将向您提供更多详细信息。

    只是为了澄清您的答案。。。您的机器文件中有一些带有引脚配置部件的电路板吗?现在你想用设备树的方式来处理你的电路板吗

    若有,则:

  • 从内核树读取文档:Documentation/devicetree/bindings/pinctrl/pinctrl bindings.txt
  • 从内核树中读取文档:文档/devicetree/bindings/pinctrl/YOU\u PLATFORM\u或_SOC
  • 最后,您可以在路径中找到许多示例,甚至是平台的DTS文件:arch/arm/boot/DTS/

    pinctrl配置的小示例:

    &am33xx_pinmux {
        pinctrl-names = "default";
        pinctrl-0 = <&misc_pins>;
    
        misc_pins: misc_pins {
            pinctrl-single,pins = <
                0x15c (PIN_OUTPUT | MUX_MODE7)  /* spi0_cs0.gpio0_5 */
            >;
        };
    };
    
    &am33xx\u pinmux{
    pinctrl names=“默认”;
    pinctrl-0=;
    其他引脚:其他引脚{
    pinctrl单端,引脚=<
    0x15c(引脚输出多路模式7)/*spi0\U cs0.gpio0\U 5*/
    >;
    };
    };
    

    注:如果您指定了平台,我将向您提供更多详细信息。

    您必须使用现有(见下面的答案)或为多路复用管脚创建一个新的pinctrl驱动程序。您必须使用现有(见下面的答案)或为多路复用管脚创建一个新的pinctrl驱动程序。