This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

pinmux v4生成的文件如何使用?

Other Parts Discussed in Thread: AM3358

本人使用beaglebone black开发板,AM3358的CPU,SDK使用的是ti-processor-sdk-linux-am335x-evm-02.00.02.11-Linux-x86-Install.bin。

使用ti pimux v4软件定义了管脚输出了4个文件,分别是: am335x_gpevm_pinmux_data.c,am335x_pinmux.h,devicetree.txt,PinmuxConfigSummary.csv

参考了wiki上的相关文章,但都没找到如何使用这4个文件。

请问下,这4个文件分别是什么?我如何使用这4个文件编u-boot?

劳烦大家能详细点告诉我。不胜感激。

  • 你好,你的问题解决了么?我遇到了同样的问题,不知道怎么搞啊

  • am335x_gpevm_pinmux_data.c,am335x_pinmux.h用于TIRTOS的pinmux

    devicetree.txt用于kernel阶段的device tree文件里的pinmux


    PinmuxConfigSummary.csv是一个Excel文档,总结你所用到的引脚的相关信息,电压域,上下拉等等

  • 你好,我的情况是用Ubuntu:Linux version 3.2.0-24-generic-pae (buildd@vernadsky) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #37-Ubuntu SMP Wed Apr 25 10:47:59 UTC 2012,交叉编译器gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux,然后下载的BeagleBone Black(Rev C) Debian 源码

    那我要是想配置这些引脚,只要把devicetree.txt 里的配置添加到am335x-boneblack.dts里就好了么?

    我用的TI云里的pinmux工具生成了上述四个文件,但是am335x_gpevm_pinmux_data.c,am335x_pinmux.h这两个文件我不知道怎么修改,里边的pinmuxBoardCfg_t结构体kernel里都没有。

  • 没错,直接在am335x-boneblack.dts里添加,举个例子(红色添加):

    &am33xx_pinmux {
    pinctrl-names = "default";
    。。。。

    i2c0_pins: pinmux_i2c0_pins {
    pinctrl-single,pins = <
    0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
    0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
    >;

    };

    。。。。

    }

    。。。。

    //下面是应用该引脚

    &i2c0 {
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;

    status = "okay";
    clock-frequency = <400000>;

    tps: tps@2d {
    reg = <0x2d>;
    };
    };


  • 谢谢,那这样的话.c 和 .h就用不到了,我看了一下我的dtbs文件,是少了很多东西

    uart1: serial@44e09000 {
    compatible = "ti,omap3-uart";
    ti,hwmods = "uart1";
    clock-frequency = <48000000>;
    reg = <0x44e09000 0x2000>;
    interrupts = <72>;
    status = "disabled";
    };

    这个是原来的am33xx.dtsi里的东西,比如我生成的是

    uart1_pins_default: uart1_pins_default {
    pinctrl-single,pins = <
    0x180 ( PIN_INPUT | MUX_MODE0 ) /* (D16) uart1_rxd.uart1_rxd */
    0x184 ( PIN_OUTPUT | MUX_MODE0 ) /* (D15) uart1_txd.uart1_txd */
    >;
    };

    那我用的时候就是

    &uart1{

    ti,hwmods = "uart1";
    pinctrl-0 = <&uart1_pins_default>;

    interrupts = <72>;

    clock-frequency = <48000000>;

    reg = <0x44e09000 0x2000>;

    status = "okay";
    };

    这样就好了吧

  • .c 和 .h是用于TIRTOS的,不是linux的

    dtsi里面有的东西就不用再重写一次了,直接这样写就可以的:

    &uart1{
    pinctrl-names = "default";
    pinctrl-0 = <&uart1_pins_default>;

    status = "okay";
    };