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

am3354的核心板,电源芯片换了,emmc型号也换了,怎么改设备树和uboot?

本来是一块am3354的板子  sdk用的是ti-processor-sdk-linux-rt-am335x-evm-02.00.02.11-Linux-x86-Install.bin

目前用SD卡启动

现在将电源芯片由tps65910换成了tps65217

我只在board/ti/am335x/board.c 的函数 void am33xx_spl_board_init(void)里将 if (board_is_bone() || board_is_bone_lt()) 

换成if(1),这样能启动,后来发现不换也能启动。电源芯片这里正确的方法应该怎么做?

(我在设备树中发现挂在i2c设备下电源芯片还是tps65910,这里不知道有没有影响)

emmc由4.9版本的换成了5.1版本。本来这个应该没问题,问题出在emmc的引脚连错了,

本来emmc的引脚

DAT0 DAT1 DAT2 DAT3 DAT4 DAT5 DAT6 DAT7

应该分别连板子的

GPMC_AD0  GPMC_AD1  GPMC_AD2  GPMC_AD3  GPMC_AD4  GPMC_AD5  GPMC_AD6  GPMC_AD7

现在却连接到了

MMC1_DAT0  MMC1_DAT1  MMC1_DAT2  MMC1_DAT3  MMC1_DAT4  MMC1_DAT5  MMC1_DAT6  MMC1_DAT7

这种情况有没有办法补救?还是说必须重新做板子?

Nancy Wang:

emmc的引脚应该是没有接错的,看一下手册4.2章节。比如说mmc1_dat0只是引脚GOMC_AD0的其中一个模式。

yongqing wang:

tps65910 tps65217 上电时序会自动完成控制。

yu yu:

回复 yongqing wang:

请问你的意思是硬件上电源芯片更换了,在uboot 和设备树上不需要修改吗?
在原本的设备树中有这么一段i2c@44e0b000 {compatible = "ti,omap4-i2c";#address-cells = <0x1>;#size-cells = <0x0>;ti,hwmods = "i2c1";reg = <0x44e0b000 0x1000>;interrupts = <0x46>;status = "okay";pinctrl-names = "default";pinctrl-0 = <0x30>;clock-frequency = <0x61a80>;linux,phandle = <0x89>;phandle = <0x89>;
tps@2d {reg = <0x2d>;compatible = "ti,tps65910";vcc1-supply = <0x31>;vcc2-supply = <0x31>;vcc3-supply = <0x31>;vcc4-supply = <0x31>;vcc5-supply = <0x31>;vcc6-supply = <0x31>;vcc7-supply = <0x31>;vccio-supply = <0x31>;linux,phandle = <0x8a>;phandle = <0x8a>;
regulators {#address-cells = <0x1>;#size-cells = <0x0>;
regulator@0 {reg = <0x0>;regulator-compatible = "vrtc";regulator-always-on;linux,phandle = <0x8b>;phandle = <0x8b>;};
regulator@1 {reg = <0x1>;regulator-compatible = "vio";regulator-always-on;linux,phandle = <0x8c>;phandle = <0x8c>;};
regulator@2 {reg = <0x2>;regulator-compatible = "vdd1";regulator-name = "vdd_mpu";regulator-min-microvolt = <0xdec74>;regulator-max-microvolt = <0x149f4c>;regulator-boot-on;regulator-always-on;linux,phandle = <0x4>;phandle = <0x4>;};
regulator@3 {reg = <0x3>;regulator-compatible = "vdd2";regulator-name = "vdd_core";regulator-min-microvolt = <0xdec74>;regulator-max-microvolt = <0x118c30>;regulator-boot-on;regulator-always-on;linux,phandle = <0x8d>;phandle = <0x8d>;};
regulator@4 {reg = <0x4>;regulator-compatible = "vdd3";regulator-always-on;linux,phandle = <0x8e>;phandle = <0x8e>;};
regulator@5 {reg = <0x5>;regulator-compatible = "vdig1";regulator-always-on;linux,phandle = <0x8f>;phandle = <0x8f>;};
regulator@6 {reg = <0x6>;regulator-compatible = "vdig2";regulator-always-on;linux,phandle = <0x90>;phandle = <0x90>;};
regulator@7 {reg = <0x7>;regulator-compatible = "vpll";regulator-always-on;linux,phandle = <0x91>;phandle = <0x91>;};
regulator@8 {reg = <0x8>;regulator-compatible = "vdac";regulator-always-on;linux,phandle = <0x92>;phandle = <0x92>;};
regulator@9 {reg = <0x9>;regulator-compatible = "vaux1";regulator-always-on;linux,phandle = <0x93>;phandle = <0x93>;};
regulator@10 {reg = <0xa>;regulator-compatible = "vaux2";regulator-always-on;linux,phandle = <0x94>;phandle = <0x94>;};
regulator@11 {reg = <0xb>;regulator-compatible = "vaux33";regulator-always-on;linux,phandle = <0x95>;phandle = <0x95>;};
regulator@12 {reg = <0xc>;regulator-compatible = "vmmc";regulator-min-microvolt = <0x1b7740>;regulator-max-microvolt = <0x325aa0>;regulator-always-on;linux,phandle = <0x34>;phandle = <0x34>;};
regulator@13 {reg = <0xd>;regulator-compatible = "vbb";linux,phandle = <0x96>;phandle = <0x96>;};};};};
这一段需要修改吗?硬件上电源芯片已经换成tps65217

yongqing wang:

回复 yu yu:

am335x-bone开发板使用了TPS65217作为PMIC芯片,你的dts可以参考它的

yongqing wang:

回复 yongqing wang:

这个链接看看:blog.csdn.net/…/51723802

yu yu:

回复 yongqing wang:

你好!
我修改了设备树。在一开始的时候,使用sd卡启动,结果卡在内核启动中。后来我对比了启动信息,发现下一步是挂载文件系统,然后找到设备树,在SD卡设置的地方发现供电与之前的电源芯片有关,后来我修改了这个地方的配置,系统启动。但问题没有结束,启动的信息中有 PM: Cannot get wkup_m3_ipc handle,并且最后也没有处理好这里。
在之前的系统中,虽然也会出现这个问题,但开机完成后,查看开机信息
debian@onecut:~$ dmesg | grep m3
[1.973704] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[2.117571] input: ti-tsc as /devices/platform/ocp/44e0d000.tscadc/TI-am335x-tsc/input/input0
[2.206831] remoteproc remoteproc0: wkup_m3 is available
[2.223464] PM: Cannot get wkup_m3_ipc handle
[2.448264] remoteproc remoteproc0: powering up wkup_m3
[2.448292] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
[2.448563] remoteproc remoteproc0: remote processor wkup_m3 is now up
[2.448615] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
上面这段是正常的情况,但在更改了电源芯片的系统中只有
PM: Cannot get wkup_m3_ipc handle
没有emoteproc remoteproc0: powering up wkup_m3和remoteproc remoteproc0: remote processor wkup_m3 is now up
这是目前能看到的影响,其他的不知道会不会有影响。
请问有没有方法能更安全的处理更换电源芯片的设备树?或者上面这个问题有没有什么处理办法?
谢了!

赞(0)
未经允许不得转载:TI中文支持网 » am3354的核心板,电源芯片换了,emmc型号也换了,怎么改设备树和uboot?
分享到: 更多 (0)