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

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

本人使用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?

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

yongt chen:

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

Eggsy Pang:

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

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

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

yongt chen:

回复 Eggsy Pang:

你好,我的情况是用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里都没有。

Eggsy Pang:

回复 yongt chen:

没错,直接在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>; };};

yongt chen:

回复 Eggsy Pang:

谢谢,那这样的话.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";};

这样就好了吧

Eggsy Pang:

回复 yongt chen:

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

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

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

status = "okay";};

赞(0)
未经允许不得转载:TI中文支持网 » pinmux v4生成的文件如何使用?
分享到: 更多 (0)