嵌入式开发者社区

标题: 修改SPI3默认引脚求助 [打印本页]

作者: 1093    时间: 2017-7-20 14:15
标题: 修改SPI3默认引脚求助
板子的spi3用在了lcd芯片,我要修改这个spi3为另一组引脚没有成功,需要修改什么文件什么内容有什么具体步骤,请给一个详细的操作步骤

作者: 广州创龙廖工    时间: 2017-7-21 11:33
[attach]2628[/attach]

您好,请问您是在应用层无法应用总线对设备访问吗?如果是想添加spi总线驱动的话,建议您参照上图去注册。

作者: 1093    时间: 2017-7-21 14:40
广州创龙廖工 发表于 2017-7-21 11:33
您好,请问您是在应用层无法应用总线对设备访问吗?如果是想添加spi总线驱动的话,建议您参照上图去注册 ...

spi设备已经注册成功了,/dev下已经有了spidev1.1,用spidev_test做过测试(miso与mosi短接),收发正常。现在要把这个好用的spi3的引脚改成另外一组复用引脚,修改了修改了arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi  里面的

spi3_pins: spi3_pins {
                pinctrl-single,pins = <
                        DRA7XX_CORE_IOPAD(0x36d4, (INPUT_EN | MUX_MODE3))          /* mcasp1_axr8.spi3_sclk (B12) */
                        DRA7XX_CORE_IOPAD(0x36d8, (INPUT_EN | MUX_MODE3))          /* mcasp1_axr9.spi3_d1 (A11) */
                        DRA7XX_CORE_IOPAD(0x36dc, (INPUT_EN | MUX_MODE3))          /* mcasp1_axr10.spi3_d0 (B13) */
                        DRA7XX_CORE_IOPAD(0x36e0, (PIN_OUTPUT_PULLUP | MUX_MODE3)) /* mcasp1_axr11.spi3_cs0 (A12) */

修改成
spi3_pins: spi3_pins {
                pinctrl-single,pins = <
                        DRA7XX_CORE_IOPAD(0x35d8, (INPUT_EN | MUX_MODE8))          /* mcasp1_axr8.spi3_sclk (B12) */
                        DRA7XX_CORE_IOPAD(0x35cc, (INPUT_EN | MUX_MODE8))          /* mcasp1_axr9.spi3_d1 (A11) */
                        DRA7XX_CORE_IOPAD(0x35d4, (INPUT_EN | MUX_MODE8))          /* mcasp1_axr10.spi3_d0 (B13) */
                        DRA7XX_CORE_IOPAD(0x35c8, (PIN_OUTPUT_PULLUP | MUX_MODE8)) /* mcasp1_axr11.spi3_cs0 (A12) */

修改好之后设备树和内核重新编译放在SD卡,重启后测试spi还能收发(改完正常应该不能收发,已改成别的管脚)。
还需要改什么文件和操作。


作者: vefone    时间: 2017-7-21 16:38
1093 发表于 2017-7-21 14:40
spi设备已经注册成功了,/dev下已经有了spidev1.1,用spidev_test做过测试(miso与mosi短接),收发正常 ...

使用devmem2 + 寄存器地址查看pinmux的配置。

devmem2 0x4A0036d4devmem2  0x4A0036d8
devmem2 0x4A0036d8devmem2  0x4A0036e0

devmem2 0x4A0035d8devmem2  0x4A0035cc
devmem2 0x4A0035d4
devmem2  0x4A0035c8



贴一下图。

作者: 1093    时间: 2017-7-21 17:26
vefone 发表于 2017-7-21 16:38
使用devmem2 + 寄存器地址查看pinmux的配置。

devmem2 0x4A0036d4devmem2  0x4A0036d8

图片已上传,是否要将rootfs/boot下的所有dbt文件更换还是只需换am57xx-evm-reva3.dtb

作者: vefone    时间: 2017-7-21 17:48
1093 发表于 2017-7-21 17:26
图片已上传,是否要将rootfs/boot下的所有dbt文件更换还是只需换am57xx-evm-reva3.dtb
...

devmem2 0x4A0036d4
devmem2  0x4A0036d8
devmem2 0x4A0036d8
devmem2  0x4A0036e0

devmem2 0x4A0035d8
devmem2  0x4A0035cc
devmem2 0x4A0035d4
devmem2  0x4A0035c8

把所有pinmux打印出来。
看了一下,0x4A0035d8的值,和你配置的不一样。
请确定是否是从sd卡启动
作者: human    时间: 2017-7-21 17:58
将rootfs/boot下的dbt文件更换就行了,不是boot分区下的




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4