工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi
要移植的u-boot版本:u-boot-2016-11
Tiny4412开发板硬件版本为:
底板: Tiny4412SDK 1312B
核心板:Tiny4412 - 1306
Posted chu-yi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tiny4412 --Uboot移植 串口相关的知识,希望对你有一定的参考价值。
查看tiny4412SDK-1312B -Schematic.pdf
可看出,底板使用UART0作为外接串口
diff --git a/arch/arm/dts/exynos4412-tiny4412.dts b/arch/arm/dts/exynos4412-tiny index 4810202..3e057dc 100644 --- a/arch/arm/dts/exynos4412-tiny4412.dts +++ b/arch/arm/dts/exynos4412-tiny4412.dts @@ -14,74 +14,16 @@ model = "Tiny4412 based on Exynos4412"; compatible = "samsung,tiny4412", "samsung,exynos4412"; - aliases { - i2c0 = "/[email protected]"; - i2c1 = "/[email protected]"; - i2c2 = "/[email protected]"; - i2c3 = "/[email protected]"; - i2c4 = "/[email protected]"; - i2c5 = "/[email protected]"; - i2c6 = "/[email protected]"; - i2c7 = "/[email protected]"; - serial0 = "/[email protected]"; - console = "/[email protected]"; - mmc2 = "/[email protected]"; - mmc4 = "/[email protected]"; - }; - - [email protected]13860000 { - samsung,i2c-sda-delay = <100>; - samsung,i2c-slave-addr = <0x10>; - samsung,i2c-max-bus-freq = <100000>; - status = "okay"; + chosen { + stdout-path = "serial0"; + }; + aliases { + serial0 = "/[email protected]"; + console = "/[email protected]"; }; - [email protected]13810000 { + serial0:[email protected]13810000 { status = "okay"; }; - - [email protected]12510000 { - status = "disabled"; - }; - - [email protected]12520000 { - status = "disabled"; - }; - - [email protected]12530000 { - samsung,bus-width = <4>; - samsung,timing = <1 2 3>; - cd-gpios = <&gpk2 2 0>; - }; - - [email protected]12540000 { - status = "disabled"; - }; - - [email protected]12550000 { - samsung,bus-width = <8>; - samsung,timing = <2 1 0>; - samsung,removable = <0>; - fifoth_val = <0x203f0040>; - bus_hz = <400000000>; - div = <0x3>; - index = <4>; - }; - - [email protected]12580000 { - compatible = "samsung,exynos-ehci"; - reg = <0x12580000 0x100>; - #address-cells = <1>; - #size-cells = <1>; - phy { - compatible = "samsung,exynos-usb-phy"; - reg = <0x125B0000 0x100>; - }; - }; - - emmc-reset { - compatible = "samsung,emmc-reset"; - reset-gpio = <&gpk1 2 0>; - }; };
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile index 5889802..5575adf 100644 --- a/arch/arm/mach-exynos/Makefile +++ b/arch/arm/mach-exynos/Makefile @@ -15,7 +15,7 @@ ifdef CONFIG_SPL_BUILD obj-$(CONFIG_EXYNOS5) += clock_init_exynos5.o obj-$(CONFIG_EXYNOS5) += dmc_common.o dmc_init_ddr3.o obj-$(CONFIG_EXYNOS4210)+= dmc_init_exynos4.o clock_init_exynos4.o -obj-$(CONFIG_EXYNOS4412)+= dmc_init_exynos4412.o clock_init_exynos4412.o +obj-$(CONFIG_EXYNOS4412)+= dmc_init_exynos4.o clock_init_exynos4412.o obj-y += spl_boot.o tzpc.o obj-y += lowlevel_init.o
diff --git a/arch/arm/mach-exynos/lowlevel_init.c b/arch/arm/mach-exynos/lowleve index 1e090fd..c69be57 100644 --- a/arch/arm/mach-exynos/lowlevel_init.c +++ b/arch/arm/mach-exynos/lowlevel_init.c @@ -218,9 +218,15 @@ int do_lowlevel_init(void) #ifdef CONFIG_DEBUG_UART #if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_SERIAL_SUPPORT)) || !defined(CONFIG_SPL_BUILD) - exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE); - debug_uart_init(); + + #ifdef TINY4412 + exynos_pinmux_config(PERIPH_ID_UART0, PINMUX_FLAG_NONE); + #else + exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE); + #endif + debug_uart_init(); #endif + printascii("UART0 init ... OK !!! "); #endif mem_ctrl_init(actions & DO_MEM_RESET); tzpc_init();
diff --git a/configs/tiny4412_defconfig b/configs/tiny4412_defconfig index ccc9fab..25c6bfb 100644 --- a/configs/tiny4412_defconfig +++ b/configs/tiny4412_defconfig @@ -37,3 +37,14 @@ CONFIG_OF_CONTROL=y #CONFIG_G_DNL_MANUFACTURER="Samsung" #CONFIG_G_DNL_VENDOR_NUM=0x04e8 #CONFIG_G_DNL_PRODUCT_NUM=0x6601 + +#DEBUG UART +# +CONFIG_DEBUG_UART=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_GPIO_SUPPORT=y +CONFIG_DEBUG_UART_S5P=y +CONFIG_DEBUG_UART_BASE=0x13800000 +CONFIG_DEBUG_UART_CLOCK=100000000 + +#
以上是关于tiny4412 --Uboot移植 串口的主要内容,如果未能解决你的问题,请参考以下文章