Re: [U-Boot] [U-Boot,06/13] rockchip: rk3066: add core support
Hi Phillip, W dniu 04.07.2017 o 19:35, Philipp Tomsich pisze: On Tue, 6 Jun 2017, Paweł Jarosz wrote: Add core skeleton for rk3066 Signed-off-by: Paweł Jarosz Acked-by: Philipp Tomsich --- arch/arm/mach-rockchip/Kconfig| 16 +++ arch/arm/mach-rockchip/Makefile | 4 + arch/arm/mach-rockchip/rk3066-board-spl.c | 173 + arch/arm/mach-rockchip/rk3066-board-tpl.c | 46 +++ arch/arm/mach-rockchip/rk3066-board.c | 180 ++ arch/arm/mach-rockchip/rk3066/Kconfig | 34 + arch/arm/mach-rockchip/rk3066/Makefile| 12 ++ arch/arm/mach-rockchip/rk3066/clk_rk3066.c| 33 + arch/arm/mach-rockchip/rk3066/syscon_rk3066.c | 54 include/configs/rk3066_common.h | 125 ++ 10 files changed, 677 insertions(+) create mode 100644 arch/arm/mach-rockchip/rk3066-board-spl.c create mode 100644 arch/arm/mach-rockchip/rk3066-board-tpl.c create mode 100644 arch/arm/mach-rockchip/rk3066-board.c create mode 100644 arch/arm/mach-rockchip/rk3066/Kconfig create mode 100644 arch/arm/mach-rockchip/rk3066/Makefile create mode 100644 arch/arm/mach-rockchip/rk3066/clk_rk3066.c create mode 100644 arch/arm/mach-rockchip/rk3066/syscon_rk3066.c create mode 100644 include/configs/rk3066_common.h diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index 6be2ab5..ad35e0a 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -11,6 +11,21 @@ config ROCKCHIP_RK3036 and video codec support. Peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. +config ROCKCHIP_RK3066 +bool "Support Rockchip RK3066" +select CPU_V7 +select SUPPORT_SPL +select SUPPORT_TPL +select SPL +select TPL +select BOARD_LATE_INIT +select ROCKCHIP_BROM_HELPER +help + The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A7 + including NEON and GPU, Mali-400 graphics, several DDR3 options + and video codec support. Peripherals include Gigabit Ethernet, + USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. + config ROCKCHIP_RK3188 bool "Support Rockchip RK3188" select CPU_V7 @@ -91,6 +106,7 @@ config SPL_MMC_SUPPORT default y if !ROCKCHIP_SPL_BACK_TO_BROM source "arch/arm/mach-rockchip/rk3036/Kconfig" +source "arch/arm/mach-rockchip/rk3066/Kconfig" source "arch/arm/mach-rockchip/rk3188/Kconfig" source "arch/arm/mach-rockchip/rk3288/Kconfig" source "arch/arm/mach-rockchip/rk3328/Kconfig" diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile index 327b267..1ebba0c 100644 --- a/arch/arm/mach-rockchip/Makefile +++ b/arch/arm/mach-rockchip/Makefile @@ -7,15 +7,18 @@ obj-$(CONFIG_ROCKCHIP_BROM_HELPER) += bootrom.o ifdef CONFIG_TPL_BUILD +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066-board-tpl.o obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-tpl.o obj-$(CONFIG_ROCKCHIP_BROM_HELPER) += save_boot_param.o else ifdef CONFIG_SPL_BUILD obj-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board-spl.o +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066-board-spl.o obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-spl.o obj-$(CONFIG_ROCKCHIP_RK3288) += rk3288-board-spl.o obj-$(CONFIG_ROCKCHIP_RK3399) += rk3399-board-spl.o obj-$(CONFIG_ROCKCHIP_BROM_HELPER) += save_boot_param.o else +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066-board.o obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board.o obj-$(CONFIG_ROCKCHIP_RK3288) += rk3288-board.o obj-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board.o @@ -29,6 +32,7 @@ ifndef CONFIG_TPL_BUILD obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188/ endif +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066/ obj-$(CONFIG_ROCKCHIP_RK3288) += rk3288/ obj-$(CONFIG_ROCKCHIP_RK3328) += rk3328/ obj-$(CONFIG_ROCKCHIP_RK3399) += rk3399/ diff --git a/arch/arm/mach-rockchip/rk3066-board-spl.c b/arch/arm/mach-rockchip/rk3066-board-spl.c new file mode 100644 index 000..6f7bfb0 --- /dev/null +++ b/arch/arm/mach-rockchip/rk3066-board-spl.c @@ -0,0 +1,173 @@ +/* + * (C) Copyright 2015 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +u32 spl_boot_device(void) +{ +#if !CONFIG_IS_ENABLED(OF_PLATDATA) +const void *blob = gd->fdt_blob; +struct udevice *dev; +const char *bootdev; +int node; +int ret; + +bootdev = fdtdec_get_config_string(blob, "u-boot,boot0"); +debug("Boot device %s\n", bootdev); +if (!bootdev) +goto fallback; + +node = fdt_path_offset(blob, bootdev); +if (node < 0) { +debug("node=%d\n", node); +goto fallback; +} +ret = device_get_global_by_of_offset(node, &dev); +if (ret) { +
Re: [U-Boot] [U-Boot,06/13] rockchip: rk3066: add core support
On Tue, 6 Jun 2017, Paweł Jarosz wrote: Add core skeleton for rk3066 Signed-off-by: Paweł Jarosz Acked-by: Philipp Tomsich --- arch/arm/mach-rockchip/Kconfig| 16 +++ arch/arm/mach-rockchip/Makefile | 4 + arch/arm/mach-rockchip/rk3066-board-spl.c | 173 + arch/arm/mach-rockchip/rk3066-board-tpl.c | 46 +++ arch/arm/mach-rockchip/rk3066-board.c | 180 ++ arch/arm/mach-rockchip/rk3066/Kconfig | 34 + arch/arm/mach-rockchip/rk3066/Makefile| 12 ++ arch/arm/mach-rockchip/rk3066/clk_rk3066.c| 33 + arch/arm/mach-rockchip/rk3066/syscon_rk3066.c | 54 include/configs/rk3066_common.h | 125 ++ 10 files changed, 677 insertions(+) create mode 100644 arch/arm/mach-rockchip/rk3066-board-spl.c create mode 100644 arch/arm/mach-rockchip/rk3066-board-tpl.c create mode 100644 arch/arm/mach-rockchip/rk3066-board.c create mode 100644 arch/arm/mach-rockchip/rk3066/Kconfig create mode 100644 arch/arm/mach-rockchip/rk3066/Makefile create mode 100644 arch/arm/mach-rockchip/rk3066/clk_rk3066.c create mode 100644 arch/arm/mach-rockchip/rk3066/syscon_rk3066.c create mode 100644 include/configs/rk3066_common.h diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index 6be2ab5..ad35e0a 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -11,6 +11,21 @@ config ROCKCHIP_RK3036 and video codec support. Peripherals include Gigabit Ethernet, USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. +config ROCKCHIP_RK3066 + bool "Support Rockchip RK3066" + select CPU_V7 + select SUPPORT_SPL + select SUPPORT_TPL + select SPL + select TPL + select BOARD_LATE_INIT + select ROCKCHIP_BROM_HELPER + help + The Rockchip RK3066 is a ARM-based SoC with a dual-core Cortex-A7 + including NEON and GPU, Mali-400 graphics, several DDR3 options + and video codec support. Peripherals include Gigabit Ethernet, + USB2 host and OTG, SDIO, I2S, UART, SPI, I2C and PWMs. + config ROCKCHIP_RK3188 bool "Support Rockchip RK3188" select CPU_V7 @@ -91,6 +106,7 @@ config SPL_MMC_SUPPORT default y if !ROCKCHIP_SPL_BACK_TO_BROM source "arch/arm/mach-rockchip/rk3036/Kconfig" +source "arch/arm/mach-rockchip/rk3066/Kconfig" source "arch/arm/mach-rockchip/rk3188/Kconfig" source "arch/arm/mach-rockchip/rk3288/Kconfig" source "arch/arm/mach-rockchip/rk3328/Kconfig" diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile index 327b267..1ebba0c 100644 --- a/arch/arm/mach-rockchip/Makefile +++ b/arch/arm/mach-rockchip/Makefile @@ -7,15 +7,18 @@ obj-$(CONFIG_ROCKCHIP_BROM_HELPER) += bootrom.o ifdef CONFIG_TPL_BUILD +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066-board-tpl.o obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-tpl.o obj-$(CONFIG_ROCKCHIP_BROM_HELPER) += save_boot_param.o else ifdef CONFIG_SPL_BUILD obj-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board-spl.o +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066-board-spl.o obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board-spl.o obj-$(CONFIG_ROCKCHIP_RK3288) += rk3288-board-spl.o obj-$(CONFIG_ROCKCHIP_RK3399) += rk3399-board-spl.o obj-$(CONFIG_ROCKCHIP_BROM_HELPER) += save_boot_param.o else +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066-board.o obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188-board.o obj-$(CONFIG_ROCKCHIP_RK3288) += rk3288-board.o obj-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board.o @@ -29,6 +32,7 @@ ifndef CONFIG_TPL_BUILD obj-$(CONFIG_ROCKCHIP_RK3188) += rk3188/ endif +obj-$(CONFIG_ROCKCHIP_RK3066) += rk3066/ obj-$(CONFIG_ROCKCHIP_RK3288) += rk3288/ obj-$(CONFIG_ROCKCHIP_RK3328) += rk3328/ obj-$(CONFIG_ROCKCHIP_RK3399) += rk3399/ diff --git a/arch/arm/mach-rockchip/rk3066-board-spl.c b/arch/arm/mach-rockchip/rk3066-board-spl.c new file mode 100644 index 000..6f7bfb0 --- /dev/null +++ b/arch/arm/mach-rockchip/rk3066-board-spl.c @@ -0,0 +1,173 @@ +/* + * (C) Copyright 2015 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +u32 spl_boot_device(void) +{ +#if !CONFIG_IS_ENABLED(OF_PLATDATA) + const void *blob = gd->fdt_blob; + struct udevice *dev; + const char *bootdev; + int node; + int ret; + + bootdev = fdtdec_get_config_string(blob, "u-boot,boot0"); + debug("Boot device %s\n", bootdev); + if (!bootdev) + goto fallback; + + node = fdt_path_offset(blob, bootdev); + if (node < 0) { + debug("node=%d\n", node); + goto fallback; + } + ret = device_get_global_by_of_o
Re: [U-Boot] [U-Boot,06/13] rockchip: rk3066: add core support
> Add core skeleton for rk3066 > > Signed-off-by: Paweł Jarosz > --- > arch/arm/mach-rockchip/Kconfig| 16 +++ > arch/arm/mach-rockchip/Makefile | 4 + > arch/arm/mach-rockchip/rk3066-board-spl.c | 173 + > arch/arm/mach-rockchip/rk3066-board-tpl.c | 46 +++ > arch/arm/mach-rockchip/rk3066-board.c | 180 > ++ > arch/arm/mach-rockchip/rk3066/Kconfig | 34 + > arch/arm/mach-rockchip/rk3066/Makefile| 12 ++ > arch/arm/mach-rockchip/rk3066/clk_rk3066.c| 33 + > arch/arm/mach-rockchip/rk3066/syscon_rk3066.c | 54 > include/configs/rk3066_common.h | 125 ++ > 10 files changed, 677 insertions(+) > create mode 100644 arch/arm/mach-rockchip/rk3066-board-spl.c > create mode 100644 arch/arm/mach-rockchip/rk3066-board-tpl.c > create mode 100644 arch/arm/mach-rockchip/rk3066-board.c > create mode 100644 arch/arm/mach-rockchip/rk3066/Kconfig > create mode 100644 arch/arm/mach-rockchip/rk3066/Makefile > create mode 100644 arch/arm/mach-rockchip/rk3066/clk_rk3066.c > create mode 100644 arch/arm/mach-rockchip/rk3066/syscon_rk3066.c > create mode 100644 include/configs/rk3066_common.h > Acked-by: Philipp Tomsich ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot