[tiny4412][kernel]tiny4412 Linux4.4 EMMC移植 从EMMC中启动

硬件:
    核心板  : Tiny4412-1306-Schematic
    底板    : Tiny4412SDK-1308(没有micro USB)其他都一样

参考博客:https://www.cnblogs.com/pengdonglin137/p/5159032.html

修改设备树文件:

diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
index 305d57d..f41a11a 100644
--- a/arch/arm/boot/dts/exynos4412-tiny4412.dts
+++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
@@ -105,7 +105,22 @@ mmc_reg: regulator@0{
        cd-inverted;
        status = "okay";
 };
-
+&mshc_0 {
+       num-slots = <1>;
+       broken-cd;
+       non-removable;
+       card-detect-delay = <200>;
+       vmmc-supply = <&mmc_reg>;
+       clock-frequency = <400000000>;
+       samsung,dw-mshc-ciu-div = <0>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
+       pinctrl-names = "default";
+       status = "okay";
+       bus-width = <8>;
+       cap-mmc-highspeed;
+};
 &serial_0 {
        status = "okay";
 };

启动重要log:

[    2.363233] mmc1: MAN_BKOPS_EN bit is not set
[    2.364010] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 52000000Hz, actual 50000000HZ div = 0)
[    2.364363] mmc_host mmc1: Bus speed (slot 0) = 100000000Hz (slot req 52000000Hz, actual 50000000HZ div = 1)
[    2.364906] mmc1: new DDR MMC card at address 0001
[    2.370622] mmcblk0: mmc1:0001 M4G1YC 3.64 GiB 
[    2.374428] mmcblk0boot0: mmc1:0001 M4G1YC partition 1 2.00 MiB
[    2.380386] mmcblk0boot1: mmc1:0001 M4G1YC partition 2 2.00 MiB
[    2.391302] mmcblk0rpmb: mmc1:0001 M4G1YC partition 3 128 KiB
[    2.392761]  mmcblk0: p1 p2 p3 p4
[    2.519538] mmc0: new high speed SDHC card at address aaaa
[    2.525358] mmcblk1: mmc0:aaaa SS08G 7.40 GiB 
[    2.527088]  mmcblk1: p1 p2

启动后,查看:

[root@tiny4412 ]# ls /dev/mmc*
/dev/mmcblk0       /dev/mmcblk0p1     /dev/mmcblk0p4     /dev/mmcblk1p1
/dev/mmcblk0boot0  /dev/mmcblk0p2     /dev/mmcblk0rpmb   /dev/mmcblk1p2
/dev/mmcblk0boot1  /dev/mmcblk0p3     /dev/mmcblk1

现在想把uImage dtb rootfs都放在emmc中,以后可以单独启动。

设置环境变量:

set bootcmd "ext2load mmc 0:2 0x40000000 uImage;ext2load mmc 0:2 0x42000000 exynos4412-tiny4412.dtb;bootm 0x40000000 - 0x42000000"

setenv bootargs 'root=/dev/mmcblk0p3 rw console=ttySAC0,115200 init=/linuxrc'

save

启动后,查看分区大小:

[root@tiny4412 ]# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 1.9G     10.6M      1.8G   1% /
devtmpfs                470.6M         0    470.6M   0% /dev
tmpfs                   502.8M         0    502.8M   0% /tmp

成功,那个通过SDMMC启动并挂载的问题,后边再解决。

猜你喜欢

转载自blog.csdn.net/qq543716996/article/details/102596405