Message ID | 1460544222-5342-10-git-send-email-ta.omasab@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | Minkyu Kang |
Headers | show |
Hi Thomas, On 13 April 2016 at 04:43, Thomas Abraham <ta.omasab@gmail.com> wrote: > From: Thomas Abraham <thomas.ab@samsung.com> > > Espresso7420 is a development/evaluation board for Exynos7420 SoC. It > includes multiple onboard compoments (EMMC/Codec) and various > interconnects (USB/HDMI). > > Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> > --- > arch/arm/dts/Makefile | 1 + > arch/arm/dts/exynos7420-espresso7420.dts | 24 ++++++++++++++++++++++++ > board/samsung/common/board.c | 18 ++++++++++++++++-- > board/samsung/espresso7420/Kconfig | 12 ++++++++++++ > board/samsung/espresso7420/MAINTAINERS | 5 +++++ > board/samsung/espresso7420/Makefile | 16 ++++++++++++++++ > board/samsung/espresso7420/espresso7420.c | 16 ++++++++++++++++ > configs/espresso7420_defconfig | 8 ++++++++ > 8 files changed, 98 insertions(+), 2 deletions(-) > create mode 100644 arch/arm/dts/exynos7420-espresso7420.dts > create mode 100644 board/samsung/espresso7420/Kconfig > create mode 100644 board/samsung/espresso7420/MAINTAINERS > create mode 100644 board/samsung/espresso7420/Makefile > create mode 100644 board/samsung/espresso7420/espresso7420.c > create mode 100644 configs/espresso7420_defconfig > Reviewed-by: Simon Glass <sjg@chromium.org> See below. > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile > index ea635e4..a61bbff 100644 > --- a/arch/arm/dts/Makefile > +++ b/arch/arm/dts/Makefile > @@ -19,6 +19,7 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ > exynos5420-peach-pit.dtb \ > exynos5800-peach-pi.dtb \ > exynos5422-odroidxu3.dtb > +dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += \ > rk3288-firefly.dtb \ > rk3288-jerry.dtb \ > diff --git a/arch/arm/dts/exynos7420-espresso7420.dts b/arch/arm/dts/exynos7420-espresso7420.dts > new file mode 100644 > index 0000000..f17a848 > --- /dev/null > +++ b/arch/arm/dts/exynos7420-espresso7420.dts > @@ -0,0 +1,24 @@ > +/* > + * Samsung Espresso7420 board device tree source > + * > + * Copyright (c) 2016 Samsung Electronics Co., Ltd. > + * http://www.samsung.com > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include "exynos7420.dtsi" > +/ { > + model = "Samsung Espresso7420 board based on Exynos7420"; > + compatible = "samsung,espresso7420", "samsung,exynos7420"; > + > + aliases { > + serial2 = "/serial@14C30000"; > + console = "/serial@14C30000"; > + pinctrl0 = "/pinctrl@13470000"; > + }; > +}; > + > +&fin_pll { > + clock-frequency = <24000000>; > +}; > diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c > index 1334c22..e4f189c 100644 > --- a/board/samsung/common/board.c > +++ b/board/samsung/common/board.c > @@ -27,6 +27,8 @@ > #include <usb.h> > #include <dwc3-uboot.h> > #include <samsung/misc.h> > +#include <dm/pinctrl.h> > +#include <dm.h> > > DECLARE_GLOBAL_DATA_PTR; > > @@ -97,7 +99,7 @@ int board_init(void) > int dram_init(void) > { > unsigned int i; > - u32 addr; > + unsigned long addr; > > for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { > addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); > @@ -109,7 +111,7 @@ int dram_init(void) > void dram_init_banksize(void) > { > unsigned int i; > - u32 addr, size; > + unsigned long addr, size; > > for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { > addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); > @@ -122,6 +124,17 @@ void dram_init_banksize(void) > > static int board_uart_init(void) > { > +#if CONFIG_PINCTRL_EXYNOS > + struct udevice *pinctrl; > + int ret; > + > + ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); > + if (ret) > + return ret; > + > + ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART2); Does this not happen automatically when the UART is probed? It should call pinctrl_select_state(dev, "default"); > + return ret; > +#else > int err, uart_id, ret = 0; > > for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) { > @@ -133,6 +146,7 @@ static int board_uart_init(void) > } > } > return ret; > +#endif > } > > #ifdef CONFIG_BOARD_EARLY_INIT_F > diff --git a/board/samsung/espresso7420/Kconfig b/board/samsung/espresso7420/Kconfig > new file mode 100644 > index 0000000..6cfead0 > --- /dev/null > +++ b/board/samsung/espresso7420/Kconfig > @@ -0,0 +1,12 @@ > +if TARGET_ESPRESSO7420 > + > +config SYS_BOARD > + default "espresso7420" Please add a description of the board in help. > + > +config SYS_VENDOR > + default "samsung" > + > +config SYS_CONFIG_NAME > + default "espresso7420" > + > +endif > diff --git a/board/samsung/espresso7420/MAINTAINERS b/board/samsung/espresso7420/MAINTAINERS > new file mode 100644 > index 0000000..aaebc4c > --- /dev/null > +++ b/board/samsung/espresso7420/MAINTAINERS > @@ -0,0 +1,5 @@ > +ESPRESSO7420 Board > +M: Thomas Abraham <thomas.ab@samsung.com> > +S: Maintained > +F: board/samsung/espresso7420/ > +F: include/configs/espresso7420.h > diff --git a/board/samsung/espresso7420/Makefile b/board/samsung/espresso7420/Makefile > new file mode 100644 > index 0000000..53d90fd > --- /dev/null > +++ b/board/samsung/espresso7420/Makefile > @@ -0,0 +1,16 @@ > +# > +# Copyright (C) 2015 Samsung Electronics > +# > +# SPDX-License-Identifier: GPL-2.0+ > +# > + > +#obj-y += espresso7420_spl.o > +#obj-y += clk-boot_evt1.o > +#obj-y += lpddr4_evt1.o > +#obj-y += dmc_init_lpddr4.o > +#obj-y += dmc.o > +#obj-y += clock.o clock_init.o Why the commented-out files? > + > +ifndef CONFIG_SPL_BUILD > +obj-y += espresso7420.o > +endif > diff --git a/board/samsung/espresso7420/espresso7420.c b/board/samsung/espresso7420/espresso7420.c > new file mode 100644 > index 0000000..04a83bc > --- /dev/null > +++ b/board/samsung/espresso7420/espresso7420.c > @@ -0,0 +1,16 @@ > +/* > + * Espresso7420 board file > + * Copyright (C) 2016 Samsung Electronics > + * Thomas Abraham <thomas.ab@samsung.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include <common.h> > + > +DECLARE_GLOBAL_DATA_PTR; > + > +int exynos_init(void) > +{ > + return 0; > +} > diff --git a/configs/espresso7420_defconfig b/configs/espresso7420_defconfig > new file mode 100644 > index 0000000..604921f > --- /dev/null > +++ b/configs/espresso7420_defconfig > @@ -0,0 +1,8 @@ > +CONFIG_ARM=y > +CONFIG_ARCH_EXYNOS=y > +CONFIG_TARGET_ESPRESSO7420=y > +CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420" > +CONFIG_SYS_MALLOC_F_LEN=0x2000 > +CONFIG_SYS_PROMPT="ESPRESSO7420 # " > +# CONFIG_CMD_IMLS is not set > +# CONFIG_CMD_SETEXPR is not set > -- > 1.6.6.rc2 > Regards, Simon
Hi Simon, On Wed, Apr 20, 2016 at 8:11 PM, Simon Glass <sjg@chromium.org> wrote: > Hi Thomas, > > On 13 April 2016 at 04:43, Thomas Abraham <ta.omasab@gmail.com> wrote: >> From: Thomas Abraham <thomas.ab@samsung.com> >> >> Espresso7420 is a development/evaluation board for Exynos7420 SoC. It >> includes multiple onboard compoments (EMMC/Codec) and various >> interconnects (USB/HDMI). >> >> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> >> --- >> arch/arm/dts/Makefile | 1 + >> arch/arm/dts/exynos7420-espresso7420.dts | 24 ++++++++++++++++++++++++ >> board/samsung/common/board.c | 18 ++++++++++++++++-- >> board/samsung/espresso7420/Kconfig | 12 ++++++++++++ >> board/samsung/espresso7420/MAINTAINERS | 5 +++++ >> board/samsung/espresso7420/Makefile | 16 ++++++++++++++++ >> board/samsung/espresso7420/espresso7420.c | 16 ++++++++++++++++ >> configs/espresso7420_defconfig | 8 ++++++++ >> 8 files changed, 98 insertions(+), 2 deletions(-) >> create mode 100644 arch/arm/dts/exynos7420-espresso7420.dts >> create mode 100644 board/samsung/espresso7420/Kconfig >> create mode 100644 board/samsung/espresso7420/MAINTAINERS >> create mode 100644 board/samsung/espresso7420/Makefile >> create mode 100644 board/samsung/espresso7420/espresso7420.c >> create mode 100644 configs/espresso7420_defconfig >> > > Reviewed-by: Simon Glass <sjg@chromium.org> > > See below. > >> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile >> index ea635e4..a61bbff 100644 >> --- a/arch/arm/dts/Makefile >> +++ b/arch/arm/dts/Makefile >> @@ -19,6 +19,7 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ >> exynos5420-peach-pit.dtb \ >> exynos5800-peach-pi.dtb \ >> exynos5422-odroidxu3.dtb >> +dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb >> dtb-$(CONFIG_ARCH_ROCKCHIP) += \ >> rk3288-firefly.dtb \ >> rk3288-jerry.dtb \ >> diff --git a/arch/arm/dts/exynos7420-espresso7420.dts b/arch/arm/dts/exynos7420-espresso7420.dts >> new file mode 100644 >> index 0000000..f17a848 >> --- /dev/null >> +++ b/arch/arm/dts/exynos7420-espresso7420.dts >> @@ -0,0 +1,24 @@ >> +/* >> + * Samsung Espresso7420 board device tree source >> + * >> + * Copyright (c) 2016 Samsung Electronics Co., Ltd. >> + * http://www.samsung.com >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + */ >> + >> +#include "exynos7420.dtsi" >> +/ { >> + model = "Samsung Espresso7420 board based on Exynos7420"; >> + compatible = "samsung,espresso7420", "samsung,exynos7420"; >> + >> + aliases { >> + serial2 = "/serial@14C30000"; >> + console = "/serial@14C30000"; >> + pinctrl0 = "/pinctrl@13470000"; >> + }; >> +}; >> + >> +&fin_pll { >> + clock-frequency = <24000000>; >> +}; >> diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c >> index 1334c22..e4f189c 100644 >> --- a/board/samsung/common/board.c >> +++ b/board/samsung/common/board.c >> @@ -27,6 +27,8 @@ >> #include <usb.h> >> #include <dwc3-uboot.h> >> #include <samsung/misc.h> >> +#include <dm/pinctrl.h> >> +#include <dm.h> >> >> DECLARE_GLOBAL_DATA_PTR; >> >> @@ -97,7 +99,7 @@ int board_init(void) >> int dram_init(void) >> { >> unsigned int i; >> - u32 addr; >> + unsigned long addr; >> >> for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { >> addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); >> @@ -109,7 +111,7 @@ int dram_init(void) >> void dram_init_banksize(void) >> { >> unsigned int i; >> - u32 addr, size; >> + unsigned long addr, size; >> >> for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { >> addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); >> @@ -122,6 +124,17 @@ void dram_init_banksize(void) >> >> static int board_uart_init(void) >> { >> +#if CONFIG_PINCTRL_EXYNOS >> + struct udevice *pinctrl; >> + int ret; >> + >> + ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); >> + if (ret) >> + return ret; >> + >> + ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART2); > > Does this not happen automatically when the UART is probed? It should > call pinctrl_select_state(dev, "default"); Right, this was not required. With the "u-boot,dm-pre-reloc" property added to the pin configuration node, this change is not required. This change will be remove in the next version. Thanks, Thomas. > >> + return ret; >> +#else >> int err, uart_id, ret = 0; >> >> for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) { >> @@ -133,6 +146,7 @@ static int board_uart_init(void) >> } >> } >> return ret; >> +#endif >> } >> >> #ifdef CONFIG_BOARD_EARLY_INIT_F >> diff --git a/board/samsung/espresso7420/Kconfig b/board/samsung/espresso7420/Kconfig >> new file mode 100644 >> index 0000000..6cfead0 >> --- /dev/null >> +++ b/board/samsung/espresso7420/Kconfig >> @@ -0,0 +1,12 @@ >> +if TARGET_ESPRESSO7420 >> + >> +config SYS_BOARD >> + default "espresso7420" > > Please add a description of the board in help. > >> + >> +config SYS_VENDOR >> + default "samsung" >> + >> +config SYS_CONFIG_NAME >> + default "espresso7420" >> + >> +endif >> diff --git a/board/samsung/espresso7420/MAINTAINERS b/board/samsung/espresso7420/MAINTAINERS >> new file mode 100644 >> index 0000000..aaebc4c >> --- /dev/null >> +++ b/board/samsung/espresso7420/MAINTAINERS >> @@ -0,0 +1,5 @@ >> +ESPRESSO7420 Board >> +M: Thomas Abraham <thomas.ab@samsung.com> >> +S: Maintained >> +F: board/samsung/espresso7420/ >> +F: include/configs/espresso7420.h >> diff --git a/board/samsung/espresso7420/Makefile b/board/samsung/espresso7420/Makefile >> new file mode 100644 >> index 0000000..53d90fd >> --- /dev/null >> +++ b/board/samsung/espresso7420/Makefile >> @@ -0,0 +1,16 @@ >> +# >> +# Copyright (C) 2015 Samsung Electronics >> +# >> +# SPDX-License-Identifier: GPL-2.0+ >> +# >> + >> +#obj-y += espresso7420_spl.o >> +#obj-y += clk-boot_evt1.o >> +#obj-y += lpddr4_evt1.o >> +#obj-y += dmc_init_lpddr4.o >> +#obj-y += dmc.o >> +#obj-y += clock.o clock_init.o > > Why the commented-out files? > >> + >> +ifndef CONFIG_SPL_BUILD >> +obj-y += espresso7420.o >> +endif >> diff --git a/board/samsung/espresso7420/espresso7420.c b/board/samsung/espresso7420/espresso7420.c >> new file mode 100644 >> index 0000000..04a83bc >> --- /dev/null >> +++ b/board/samsung/espresso7420/espresso7420.c >> @@ -0,0 +1,16 @@ >> +/* >> + * Espresso7420 board file >> + * Copyright (C) 2016 Samsung Electronics >> + * Thomas Abraham <thomas.ab@samsung.com> >> + * >> + * SPDX-License-Identifier: GPL-2.0+ >> + */ >> + >> +#include <common.h> >> + >> +DECLARE_GLOBAL_DATA_PTR; >> + >> +int exynos_init(void) >> +{ >> + return 0; >> +} >> diff --git a/configs/espresso7420_defconfig b/configs/espresso7420_defconfig >> new file mode 100644 >> index 0000000..604921f >> --- /dev/null >> +++ b/configs/espresso7420_defconfig >> @@ -0,0 +1,8 @@ >> +CONFIG_ARM=y >> +CONFIG_ARCH_EXYNOS=y >> +CONFIG_TARGET_ESPRESSO7420=y >> +CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420" >> +CONFIG_SYS_MALLOC_F_LEN=0x2000 >> +CONFIG_SYS_PROMPT="ESPRESSO7420 # " >> +# CONFIG_CMD_IMLS is not set >> +# CONFIG_CMD_SETEXPR is not set >> -- >> 1.6.6.rc2 >> > > Regards, > Simon
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index ea635e4..a61bbff 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -19,6 +19,7 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5420-peach-pit.dtb \ exynos5800-peach-pi.dtb \ exynos5422-odroidxu3.dtb +dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3288-firefly.dtb \ rk3288-jerry.dtb \ diff --git a/arch/arm/dts/exynos7420-espresso7420.dts b/arch/arm/dts/exynos7420-espresso7420.dts new file mode 100644 index 0000000..f17a848 --- /dev/null +++ b/arch/arm/dts/exynos7420-espresso7420.dts @@ -0,0 +1,24 @@ +/* + * Samsung Espresso7420 board device tree source + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include "exynos7420.dtsi" +/ { + model = "Samsung Espresso7420 board based on Exynos7420"; + compatible = "samsung,espresso7420", "samsung,exynos7420"; + + aliases { + serial2 = "/serial@14C30000"; + console = "/serial@14C30000"; + pinctrl0 = "/pinctrl@13470000"; + }; +}; + +&fin_pll { + clock-frequency = <24000000>; +}; diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index 1334c22..e4f189c 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -27,6 +27,8 @@ #include <usb.h> #include <dwc3-uboot.h> #include <samsung/misc.h> +#include <dm/pinctrl.h> +#include <dm.h> DECLARE_GLOBAL_DATA_PTR; @@ -97,7 +99,7 @@ int board_init(void) int dram_init(void) { unsigned int i; - u32 addr; + unsigned long addr; for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); @@ -109,7 +111,7 @@ int dram_init(void) void dram_init_banksize(void) { unsigned int i; - u32 addr, size; + unsigned long addr, size; for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE); @@ -122,6 +124,17 @@ void dram_init_banksize(void) static int board_uart_init(void) { +#if CONFIG_PINCTRL_EXYNOS + struct udevice *pinctrl; + int ret; + + ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); + if (ret) + return ret; + + ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART2); + return ret; +#else int err, uart_id, ret = 0; for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) { @@ -133,6 +146,7 @@ static int board_uart_init(void) } } return ret; +#endif } #ifdef CONFIG_BOARD_EARLY_INIT_F diff --git a/board/samsung/espresso7420/Kconfig b/board/samsung/espresso7420/Kconfig new file mode 100644 index 0000000..6cfead0 --- /dev/null +++ b/board/samsung/espresso7420/Kconfig @@ -0,0 +1,12 @@ +if TARGET_ESPRESSO7420 + +config SYS_BOARD + default "espresso7420" + +config SYS_VENDOR + default "samsung" + +config SYS_CONFIG_NAME + default "espresso7420" + +endif diff --git a/board/samsung/espresso7420/MAINTAINERS b/board/samsung/espresso7420/MAINTAINERS new file mode 100644 index 0000000..aaebc4c --- /dev/null +++ b/board/samsung/espresso7420/MAINTAINERS @@ -0,0 +1,5 @@ +ESPRESSO7420 Board +M: Thomas Abraham <thomas.ab@samsung.com> +S: Maintained +F: board/samsung/espresso7420/ +F: include/configs/espresso7420.h diff --git a/board/samsung/espresso7420/Makefile b/board/samsung/espresso7420/Makefile new file mode 100644 index 0000000..53d90fd --- /dev/null +++ b/board/samsung/espresso7420/Makefile @@ -0,0 +1,16 @@ +# +# Copyright (C) 2015 Samsung Electronics +# +# SPDX-License-Identifier: GPL-2.0+ +# + +#obj-y += espresso7420_spl.o +#obj-y += clk-boot_evt1.o +#obj-y += lpddr4_evt1.o +#obj-y += dmc_init_lpddr4.o +#obj-y += dmc.o +#obj-y += clock.o clock_init.o + +ifndef CONFIG_SPL_BUILD +obj-y += espresso7420.o +endif diff --git a/board/samsung/espresso7420/espresso7420.c b/board/samsung/espresso7420/espresso7420.c new file mode 100644 index 0000000..04a83bc --- /dev/null +++ b/board/samsung/espresso7420/espresso7420.c @@ -0,0 +1,16 @@ +/* + * Espresso7420 board file + * Copyright (C) 2016 Samsung Electronics + * Thomas Abraham <thomas.ab@samsung.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> + +DECLARE_GLOBAL_DATA_PTR; + +int exynos_init(void) +{ + return 0; +} diff --git a/configs/espresso7420_defconfig b/configs/espresso7420_defconfig new file mode 100644 index 0000000..604921f --- /dev/null +++ b/configs/espresso7420_defconfig @@ -0,0 +1,8 @@ +CONFIG_ARM=y +CONFIG_ARCH_EXYNOS=y +CONFIG_TARGET_ESPRESSO7420=y +CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420" +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_SYS_PROMPT="ESPRESSO7420 # " +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_SETEXPR is not set