Adds support for Exynos5422 odroid xu3 board
Subsystems (2)
v5 cover Adds support for Exynos5422 odroid xu3 board
This is v5 of the patchset adding support Odroud XU3 board.
link to the previous version:
v2: https://www.mail-archive.com/u-boot at lists.denx.de/msg152275.html
v3: https://www.mail-archive.com/u-boot%40lists.denx.de/msg152677.html
v4: https://patchwork.ozlabs.org/patch/407411/
This patchset fixes GPIO information of Exynos5420 which is needed to support Exynos5422 Odroid XU3 board. On the base of the fixes, this patchset adds support for Exynos5422 Odroid XU3 board. I have done this work on the master branch in http://git.denx.de/u-boot-samsung.git (sha1:26f195c71252e98aebfffd5cfa994a4475559370) with patches by Akshay Saraswat.
How to test this patch:
1. git clone http://git.denx.de/u-boot-samsung.git
2. git reset --hard 26f195c71252e98aebfffd5cfa994a4475559370
3. Get and apply the patchset of Akshay Saraswat
https://patchwork.ozlabs.org/patch/405246/ https://patchwork.ozlabs.org/patch/405247/ https://patchwork.ozlabs.org/patch/405248/ https://patchwork.ozlabs.org/patch/405249/ https://patchwork.ozlabs.org/patch/405250/ https://patchwork.ozlabs.org/patch/405251/ https://patchwork.ozlabs.org/patch/405252/
4. Apply this patchset
5. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- odroid-xu3_config
6. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
7. Now you can use u-boot-dtb.bin for your downloading
Note: If you use micro SD card for your test you have to apply the below patch additionally. This patch is needed, because micro sd card is recognized as MMC1 instead of MMC0. Additional work is needed to make it work regardless of device id.
include/configs/exynos5-common.h +1 -1
@@ -109,7 +109,7 @@#define CONFIG_SYS_MONITOR_BASE 0x00000000 -#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_DEV 1#define CONFIG_SECURE_BL1_ONLY
include/configs/odroid_xu3.h +4 -4
@@ -110,15 +110,15 @@"run kernel_args;" \"bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \"autoboot=" \ -"if test -e mmc 0 Image.itb; then; " \ +"if test -e mmc 1 Image.itb; then; " \"run boot_fit;" \ -"elif test -e mmc 0 zImage; then; " \ +"elif test -e mmc 1 zImage; then; " \"run boot_zimg;" \ -"elif test -e mmc 0 uImage; then; " \ +"elif test -e mmc 1 uImage; then; " \"run boot_uimg;" \"fi;\0" \"console=" CONFIG_DEFAULT_CONSOLE \ -"mmcbootdev=0\0" \ +"mmcbootdev=1\0" \"mmcbootpart=1\0" \"mmcrootdev=0\0" \"mmcrootpart=2\0" \
Changes for v2:
- Add a patch to add new common setup header file for Odroid X2/U3 and Odroid XU3
Changes for v3:
- Remove the patch which adds new common setup header file from v2
- Remove the wrong patch to fix GPIO information of Exynos 5800
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Add the specific build instruction
- Update the information of patchset by Akshay Saraswat
- Convert /include/ to #include in DT file
Hyungwon Hwang (2):
exynos5: fix GPIO information of exynos5420
Odroid-XU3: Add support for Odroid-XU3
arch/arm/cpu/armv7/exynos/Kconfig | 5 + arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 60 +++++++++ arch/arm/include/asm/arch-exynos/cpu.h | 11 +- arch/arm/include/asm/arch-exynos/gpio.h | 232 +++++++++++++++----------------- board/samsung/odroid-xu3/Kconfig | 12 ++ board/samsung/odroid-xu3/MAINTAINERS | 6 + board/samsung/odroid-xu3/Makefile | 7 + board/samsung/odroid-xu3/odroid-xu3.c | 131 ++++++++++++++++++ board/samsung/odroid-xu3/setup.h | 95 +++++++++++++ configs/odroid-xu3_defconfig | 4 + doc/README.odroid-xu3 | 134 ++++++++++++++++++ include/configs/odroid_xu3.h | 144 ++++++++++++++++++++ 13 files changed, 717 insertions(+), 127 deletions(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 board/samsung/odroid-xu3/Kconfig create mode 100644 board/samsung/odroid-xu3/MAINTAINERS create mode 100644 board/samsung/odroid-xu3/Makefile create mode 100644 board/samsung/odroid-xu3/odroid-xu3.c create mode 100644 board/samsung/odroid-xu3/setup.h create mode 100644 configs/odroid-xu3_defconfig create mode 100644 doc/README.odroid-xu3 create mode 100644 include/configs/odroid_xu3.h
Signature · 1 line
1.8.3.2
PATCH v5 1/2 exynos5: fix GPIO information of exynos5420
This patch fixes wrong GPIO information such as GPIO bank, table which is used to convert GPIO name to index, bank base address, and etc.
---
Changes for v4:
- None
Changes for v5:
- None
arch/arm/include/asm/arch-exynos/cpu.h | 11 +- arch/arm/include/asm/arch-exynos/gpio.h | 232 +++++++++++++++----------------- 2 files changed, 117 insertions(+), 126 deletions(-)
arch/arm/include/asm/arch-exynos/cpu.h +5 -6
@@ -148,7 +148,7 @@/* EXYNOS5420 */ #define EXYNOS5420_AUDIOSS_BASE 0x03810000 -#define EXYNOS5420_GPIO_PART6_BASE 0x03860000 +#define EXYNOS5420_GPIO_PART5_BASE 0x03860000#define EXYNOS5420_PRO_ID 0x10000000#define EXYNOS5420_CLOCK_BASE 0x10010000#define EXYNOS5420_POWER_BASE 0x10040000
@@ -170,11 +170,10 @@#define EXYNOS5420_I2S_BASE 0x12D60000#define EXYNOS5420_PWMTIMER_BASE 0x12DD0000#define EXYNOS5420_SPI_ISP_BASE 0x131A0000 -#define EXYNOS5420_GPIO_PART2_BASE 0x13400000 -#define EXYNOS5420_GPIO_PART3_BASE 0x13400C00 -#define EXYNOS5420_GPIO_PART4_BASE 0x13410000 -#define EXYNOS5420_GPIO_PART5_BASE 0x14000000 -#define EXYNOS5420_GPIO_PART1_BASE 0x14010000 +#define EXYNOS5420_GPIO_PART1_BASE 0x13400000 +#define EXYNOS5420_GPIO_PART2_BASE 0x13410000 +#define EXYNOS5420_GPIO_PART3_BASE 0x14000000 +#define EXYNOS5420_GPIO_PART4_BASE 0x14010000#define EXYNOS5420_MIPI_DSIM_BASE 0x14500000#define EXYNOS5420_DP_BASE 0x145B0000
arch/arm/include/asm/arch-exynos/gpio.h +112 -120
423 lines not on this page · raw message
Signature · 1 line
1.8.3.2
PATCH v5 2/2 Odroid-XU3: Add support for Odroid-XU3
In reply to Hyungwon HwangThis patch adds support for Odroid-XU3.
---
Changes for v3:
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Remove unnecessary macros from board-specific header file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- Make CONFIG_OF_CONTROL be set by the target information
- Add basic document to doc/README.odroid-xu3
- Add CONFIG_CMD_EXT4 to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Convert /include/ to #include in DT file
arch/arm/cpu/armv7/exynos/Kconfig | 5 ++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 60 ++++++++++++++ board/samsung/odroid-xu3/Kconfig | 12 +++ board/samsung/odroid-xu3/MAINTAINERS | 6 ++ board/samsung/odroid-xu3/Makefile | 7 ++ board/samsung/odroid-xu3/odroid-xu3.c | 131 +++++++++++++++++++++++++++++++ board/samsung/odroid-xu3/setup.h | 95 ++++++++++++++++++++++ configs/odroid-xu3_defconfig | 4 + doc/README.odroid-xu3 | 134 +++++++++++++++++++++++++++++++ include/configs/odroid_xu3.h | 144 ++++++++++++++++++++++++++++++++++ 11 files changed, 600 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 board/samsung/odroid-xu3/Kconfig create mode 100644 board/samsung/odroid-xu3/MAINTAINERS create mode 100644 board/samsung/odroid-xu3/Makefile create mode 100644 board/samsung/odroid-xu3/odroid-xu3.c create mode 100644 board/samsung/odroid-xu3/setup.h create mode 100644 configs/odroid-xu3_defconfig create mode 100644 doc/README.odroid-xu3 create mode 100644 include/configs/odroid_xu3.h
arch/arm/cpu/armv7/exynos/Kconfig +5 -0
@@ -24,6 +24,10 @@ config TARGET_TRATS2 config TARGET_ODROID bool "Exynos4412 Odroid board" +config TARGET_ODROID_XU3 + bool "Exynos5422 Odroid board" + select OF_CONTROL if !SPL_BUILD + config TARGET_ARNDALE bool "Exynos5250 Arndale board" select SUPPORT_SPL
@@ -65,6 +69,7 @@ source "board/samsung/universal_c210/Kconfig" source "board/samsung/origen/Kconfig" source "board/samsung/trats2/Kconfig" source "board/samsung/odroid/Kconfig" +source "board/samsung/odroid-xu3/Kconfig" source "board/samsung/arndale/Kconfig" source "board/samsung/smdk5250/Kconfig" source "board/samsung/smdk5420/Kconfig"
arch/arm/dts/Makefile +2 -1
@@ -12,7 +12,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5250-smdk5250.dtb \ exynos5420-smdk5420.dtb \ exynos5420-peach-pit.dtb \ - exynos5800-peach-pi.dtb + exynos5800-peach-pi.dtb \ + exynos5422-odroidxu3.dtb dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra20-medcom-wide.dtb \ tegra20-paz00.dtb \
arch/arm/dts/exynos5422-odroidxu3.dts new file +60 -0
60 lines not on this page · raw message
board/samsung/odroid-xu3/Kconfig new file +12 -0
@@ -0,0 +1,12 @@ +if TARGET_ODROID_XU3 + +config SYS_BOARD + default "odroid-xu3" + +config SYS_VENDOR + default "samsung" + +config SYS_CONFIG_NAME + default "odroid_xu3" + +endif
board/samsung/odroid-xu3/MAINTAINERS new file +6 -0
@@ -0,0 +1,6 @@ +ODROID-XU3 BOARD +M: Hyungwon Hwang <[email protected]> +S: Maintained +F: board/samsung/odroid-xu3/ +F: include/configs/odroid_xu3.h +F: configs/odroid-xu3_defconfig
board/samsung/odroid-xu3/Makefile new file +7 -0
@@ -0,0 +1,7 @@ +# +# Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y := odroid-xu3.o
board/samsung/odroid-xu3/odroid-xu3.c new file +131 -0
131 lines not on this page · raw message
board/samsung/odroid-xu3/setup.h new file +95 -0
95 lines not on this page · raw message
configs/odroid-xu3_defconfig new file +4 -0
@@ -0,0 +1,4 @@ +CONFIG_ARM=y +CONFIG_ARCH_EXYNOS=y +CONFIG_TARGET_ODROID_XU3=y +CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3"
doc/README.odroid-xu3 new file +134 -0
134 lines not on this page · raw message
include/configs/odroid_xu3.h new file +144 -0
144 lines not on this page · raw message
Signature · 1 line
1.8.3.2
PATCH v5 2/2 Odroid-XU3: Add support for Odroid-XU3
Hi,
Quoted 195 lines · Hyungwon Hwang
This patch adds support for Odroid-XU3.
Signed-off-by Hyungwon Hwang <[email protected]>Cc Minkyu Kang <[email protected]>Cc Lukasz Majewski <[email protected]>---
Changes for v3:
- Remove unnecessary node from DT file
- Remove unnecessary features from config file
- Remove unnecessary macros from board-specific header file
- Fix some trivial typos in comments
Changes for v4:
- Add MMC FIFO buffer's configuration to DT file
- MakeCONFIG_OF_CONTROLbe set by the target information
- Add basic document to doc/README.odroid-xu3
- AddCONFIG_CMD_EXT4to config file
- Add environment size and offset to config file
- Add extra default environment to make bootable without modification
- Remove unnecessary features from config file
Changes for v5:
- Convert /include/ to #include in DT filearch/arm/cpu/armv7/exynos/Kconfig | 5 ++ arch/arm/dts/Makefile | 3 +- arch/arm/dts/exynos5422-odroidxu3.dts | 60 ++++++++++++++ board/samsung/odroid-xu3/Kconfig | 12 +++ board/samsung/odroid-xu3/MAINTAINERS | 6 ++ board/samsung/odroid-xu3/Makefile | 7 ++ board/samsung/odroid-xu3/odroid-xu3.c | 131 +++++++++++++++++++++++++++++++ board/samsung/odroid-xu3/setup.h | 95 ++++++++++++++++++++++ configs/odroid-xu3_defconfig | 4 + doc/README.odroid-xu3 | 134 +++++++++++++++++++++++++++++++ include/configs/odroid_xu3.h | 144 ++++++++++++++++++++++++++++++++++ 11 files changed, 600 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/exynos5422-odroidxu3.dts create mode 100644 board/samsung/odroid-xu3/Kconfig create mode 100644 board/samsung/odroid-xu3/MAINTAINERS create mode 100644 board/samsung/odroid-xu3/Makefile create mode 100644 board/samsung/odroid-xu3/odroid-xu3.c create mode 100644 board/samsung/odroid-xu3/setup.h create mode 100644 configs/odroid-xu3_defconfig create mode 100644 doc/README.odroid-xu3 create mode 100644 include/configs/odroid_xu3.harch/arm/cpu/armv7/exynos/Kconfig +5
-0@@ -24,6 +24,10 @@ config TARGET_TRATS2 config TARGET_ODROID bool "Exynos4412 Odroid board" +config TARGET_ODROID_XU3 + bool "Exynos5422 Odroid board" + select OF_CONTROL if !SPL_BUILD + config TARGET_ARNDALE bool "Exynos5250 Arndale board" select SUPPORT_SPL@@ -65,6 +69,7 @@ source "board/samsung/universal_c210/Kconfig" source "board/samsung/origen/Kconfig" source "board/samsung/trats2/Kconfig" source "board/samsung/odroid/Kconfig" +source "board/samsung/odroid-xu3/Kconfig" source "board/samsung/arndale/Kconfig" source "board/samsung/smdk5250/Kconfig" source "board/samsung/smdk5420/Kconfig"arch/arm/dts/Makefile +2
-1@@ -12,7 +12,8 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5250-smdk5250.dtb \ exynos5420-smdk5420.dtb \ exynos5420-peach-pit.dtb \ - exynos5800-peach-pi.dtb + exynos5800-peach-pi.dtb \ + exynos5422-odroidxu3.dtb dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra20-medcom-wide.dtb \ tegra20-paz00.dtb \arch/arm/dts/exynos5422-odroidxu3.dts new file +60
-0@@ -0,0 +1,60 @@ +/* + * Odroid XU3 device tree source + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/; +#include "exynos54xx.dtsi" + +/ { + model = "Odroid XU3 based on EXYNOS5422"; + compatible = "samsung,odroidxu3", "samsung,exynos5"; + + aliases { + serial0 = "/serial at 12C00000"; + console = "/serial at 12C20000"; + }; + + memory { + device_type = "memory"; + reg = <0x40000000 0x10000000 + 0x50000000 0x10000000 + 0x60000000 0x10000000 + 0x70000000 0x10000000 + 0x80000000 0x10000000 + 0x90000000 0x10000000 + 0xa0000000 0x10000000 + 0xb0000000 0xea00000>; + }; + + serial at 12C20000 { + status="okay"; + }; + + mmc at 12200000 { + samsung,bus-width = <8>; + samsung,timing = <1 3 3>; + samsung,removable = <0>; + samsung,pre-init; + fifoth_val = <0x200f0020>; + }; + + mmc at 12210000 { + status = "disabled"; + }; + + mmc at 12220000 { + samsung,bus-width = <4>; + samsung,timing = <1 2 3>; + samsung,removable = <1>; + fifoth_val = <0x200f0020>; + }; + + mmc at 12230000 { + status = "disabled"; + }; +};board/samsung/odroid-xu3/Kconfig new file +12
-0@@ -0,0 +1,12 @@ +if TARGET_ODROID_XU3 + +config SYS_BOARD + default "odroid-xu3" + +config SYS_VENDOR + default "samsung" + +config SYS_CONFIG_NAME + default "odroid_xu3" + +endifboard/samsung/odroid-xu3/MAINTAINERS new file +6
-0@@ -0,0 +1,6 @@ +ODROID-XU3 BOARD +M: Hyungwon Hwang <[email protected]> +S: Maintained +F: board/samsung/odroid-xu3/ +F: include/configs/odroid_xu3.h +F: configs/odroid-xu3_defconfigboard/samsung/odroid-xu3/Makefile new file +7
-0@@ -0,0 +1,7 @@ +# +# Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y := odroid-xu3.oboard/samsung/odroid-xu3/odroid-xu3.c new file +0
-0
board/samsung/odroid-xu3/odroid-xu3.c line 10
Quoted 10 lines
board/samsung/odroid-xu3/odroid-xu3.c new file +10
-0@@ -0,0 +1,131 @@ +/* +* Copyright (C) 2014 Samsung Electronics +* Hyungwon Hwang <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <asm/io.h> +#include <netdev.h>
is netdev needed?
Quoted 5 lines
board/samsung/odroid-xu3/odroid-xu3.c new file +5
-0+#include <asm/arch/cpu.h> +#include <asm/arch/clock.h> +#include <asm/arch/power.h> +#include <asm/arch/gpio.h> +#include <asm/arch/mmc.h>
board/samsung/odroid-xu3/odroid-xu3.c line 25
Quoted 10 lines
board/samsung/odroid-xu3/odroid-xu3.c new file +10
-0+#include <asm/arch/pinmux.h> +#include <asm/arch/sromc.h> +#include "setup.h" + +DECLARE_GLOBAL_DATA_PTR ; + +unsigned int get_board_rev (void ) +{ +unsigned int rev =0 ; +return rev;
I think it's a meaningless.
just return 0;
board/samsung/odroid-xu3/odroid-xu3.c line 33
Quoted 8 lines
board/samsung/odroid-xu3/odroid-xu3.c new file +8
-0+} + +int exynos_init (void ) +{ +return 0 ; +} + +static int board_clock_init (void )
This function will be dead if CONFIG_BOARD_EARLY_INIT_F is not defined.
Quoted 88 lines
board/samsung/odroid-xu3/odroid-xu3.c new file +88
-0+{ +unsigned int set, clr, clr_src_cpu, clr_pll_con0; +struct exynos5420_clock *clk = (struct exynos5420_clock *) +samsung_get_base_clock (); +/* +* CMU_CPU clocks src to MPLL +* Bit values: 0 ; 1 +* MUX_APLL_SEL: FIN_PLL ; FOUT_APLL +* MUX_CORE_SEL: MOUT_APLL ; SCLK_MPLL +* MUX_HPM_SEL: MOUT_APLL ; SCLK_MPLL_USER_C +* MUX_MPLL_USER_SEL_C: FIN_PLL ; SCLK_MPLL +*/ + +/* Set CMU_CPU clocks src to OSCCLK */ + clr_src_cpu =MUX_APLL_SEL (1 ) |MUX_CORE_SEL (1 ); + set =MUX_APLL_SEL (0 ) |MUX_CORE_SEL (1 ); + +clrsetbits_le32 (&clk->src_cpu, clr_src_cpu, set); + +while (MUX_STAT_CPU_CHANGING (readl (&clk->mux_stat_cpu))) +continue ; + +/* Set APLL to 1200MHz */ + clr_pll_con0 =SDIV (7 ) |PDIV (63 ) |MDIV (1023 ) |FSEL (1 ) | +PLL_ENABLE (1 ); + set =SDIV (0 ) |PDIV (2 ) |MDIV (100 ) |PLL_ENABLE (1 ); + +clrsetbits_le32 (&clk->apll_con0, clr_pll_con0, set); + +while (!(readl (&clk->apll_con0) &PLL_LOCKED_BIT )) +continue ; + +/* Set CMU_CPU clocks src to APLL */ + set =MUX_APLL_SEL (1 ) |MUX_CORE_SEL (0 ); +clrsetbits_le32 (&clk->src_cpu, clr_src_cpu, set); + +while (MUX_STAT_CPU_CHANGING (readl (&clk->mux_stat_cpu))) +continue ; + + clr =ARM_RATIO (7 ) |CPUD_RATIO (7 ) |ATB_RATIO (7 ) | +PCLK_DBG_RATIO (7 ) |APLL_RATIO (7 ) |ARM2_RATIO (7 ); + set =ARM_RATIO (0 ) |CPUD_RATIO (2 ) |ATB_RATIO (5 ) | +PCLK_DBG_RATIO (5 ) |APLL_RATIO (0 ) |ARM2_RATIO (0 ); + +clrsetbits_le32 (&clk->div_cpu0, clr, set); + +while (readl (&clk->div_stat_cpu0) &DIV_STAT_CPU0_CHANGING ) +continue ; + +/* Set MPLL to 800MHz */ + set =SDIV (1 ) |PDIV (3 ) |MDIV (200 ) |PLL_ENABLE (1 ); + +clrsetbits_le32 (&clk->mpll_con0, clr_pll_con0, set); + +while (!(readl (&clk->mpll_con0) &PLL_LOCKED_BIT )) +continue ; + +/* Set CLKMUX_UART src to MPLL */ + clr =UART0_SEL (7 ) |UART1_SEL (7 ) |UART2_SEL (7 ) |UART3_SEL (7 ); + set =UART0_SEL (3 ) |UART1_SEL (3 ) |UART2_SEL (3 ) |UART3_SEL (3 ); + +clrsetbits_le32 (&clk->src_peric0, clr, set); + +/* Set SCLK_UART to 400 MHz (MPLL / 2) */ + clr =UART0_RATIO (15 ) |UART1_RATIO (15 ) |UART2_RATIO (15 ) | +UART3_RATIO (15 ); + set =UART0_RATIO (1 ) |UART1_RATIO (1 ) |UART2_RATIO (1 ) | +UART3_RATIO (1 ); + +clrsetbits_le32 (&clk->div_peric0, clr, set); + +while (readl (&clk->div_stat_peric0) &DIV_STAT_PERIC0_CHANGING ) +continue ; + +/* Set CLKMUX_MMC src to MPLL */ + clr =MUX_MMC0_SEL (7 ) |MUX_MMC1_SEL (7 ) |MUX_MMC2_SEL (7 ); + set =MUX_MMC0_SEL (3 ) |MUX_MMC1_SEL (3 ) |MUX_MMC2_SEL (3 ); + +clrsetbits_le32 (&clk->src_fsys, clr, set); + + clr =MMC0_RATIO (0x3ff ) |MMC1_RATIO (0x3ff ) |MMC2_RATIO (0x3ff ); + set =MMC0_RATIO (0 ) |MMC1_RATIO (0 ) |MMC2_RATIO (0 ); + +clrsetbits_le32 (&clk->div_fsys1, clr, set); + +/* Wait for divider ready status */ +while (readl (&clk->div_stat_fsys1) &DIV_STAT_FSYS1_CHANGING ) +continue ;
board/samsung/odroid-xu3/odroid-xu3.c line 131
Quoted 10 lines
board/samsung/odroid-xu3/odroid-xu3.c new file +10
-0+ +return 0 ; +} + +#ifdef CONFIG_BOARD_EARLY_INIT_F +int exynos_early_init_f (void ) +{ +return board_clock_init (); +} +#endif
Thanks,
Minkyu Kang.