Hi, [On top of Andre's review]
On Mon, Jan 14, 2019 at 06:11:03PM +0530, Amit Singh Tomar wrote: > This adds common arch owl support that can drive, 64-bits SoCs > from Actions Semi. > Could be, "This commit adds common arch support for Actions Semi Owl series SoCs and removes the Bubblegum96 board files." > It also removes the Bubblegum specific board files. > > Signed-off-by: Amit Singh Tomar <amittome...@gmail.com> > --- > Changes since v1: > * Moved S700 specific changes to patch 4 of 9. > * Moved couple of symbols from defconfig to arch/arm/Kconfig > and platform owl Kconfig. > --- > arch/arm/Kconfig | 3 +- > arch/arm/mach-owl/Kconfig | 29 ++++++-------- > arch/arm/mach-owl/Makefile | 1 + > arch/arm/mach-owl/soc.c | 56 > ++++++++++++++++++++++++++++ > board/ucRobotics/bubblegum_96/Kconfig | 15 -------- > board/ucRobotics/bubblegum_96/MAINTAINERS | 6 --- > board/ucRobotics/bubblegum_96/Makefile | 3 -- > board/ucRobotics/bubblegum_96/bubblegum_96.c | 56 > ---------------------------- > configs/bubblegum_96_defconfig | 4 +- > include/configs/bubblegum_96.h | 42 --------------------- > include/configs/owl-common.h | 42 +++++++++++++++++++++ > include/configs/s900.h | 18 +++++++++ > 12 files changed, 131 insertions(+), 144 deletions(-) > create mode 100644 arch/arm/mach-owl/soc.c > delete mode 100644 board/ucRobotics/bubblegum_96/Kconfig > delete mode 100644 board/ucRobotics/bubblegum_96/MAINTAINERS > delete mode 100644 board/ucRobotics/bubblegum_96/Makefile > delete mode 100644 board/ucRobotics/bubblegum_96/bubblegum_96.c > delete mode 100644 include/configs/bubblegum_96.h > create mode 100644 include/configs/owl-common.h > create mode 100644 include/configs/s900.h > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index d6b1629..1a2e561 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -761,9 +761,9 @@ config ARCH_MX5 > > config ARCH_OWL > bool "Actions Semi OWL SoCs" > - select ARM64 > select DM > select DM_SERIAL > + select OWL_SERIAL > select OF_CONTROL > imply CMD_DM > > @@ -1555,7 +1555,6 @@ source "board/spear/spear600/Kconfig" > source "board/spear/x600/Kconfig" > source "board/st/stv0991/Kconfig" > source "board/tcl/sl50/Kconfig" > -source "board/ucRobotics/bubblegum_96/Kconfig" > source "board/birdland/bav335x/Kconfig" > source "board/toradex/colibri_pxa270/Kconfig" > source "board/vscom/baltos/Kconfig" > diff --git a/arch/arm/mach-owl/Kconfig b/arch/arm/mach-owl/Kconfig > index 199e772..5eb93c9 100644 > --- a/arch/arm/mach-owl/Kconfig > +++ b/arch/arm/mach-owl/Kconfig > @@ -1,27 +1,22 @@ > if ARCH_OWL > > -config SYS_SOC > - default "owl" > - > choice > - prompt "Actions Semi OWL SoCs board select" > + prompt "Actions Semi SoC Variant" We should explicitly say "Owl" series SoCs here. > optional > > -config TARGET_BUBBLEGUM_96 > - bool "96Boards Bubblegum-96" > - help > - Support for 96Boards Bubblegum-96. This board complies with > - 96Board Consumer Edition Specification. Features: > - - Actions Semi S900 SoC (4xCortex A53, Power VR G6230 GPU) > - - 2GiB RAM > - - 8GiB eMMC, uSD slot > - - WiFi, Bluetooth and GPS module > - - 2x Host, 1x Device USB port > - - HDMI > - - 20-pin low speed and 40-pin high speed expanders, 6 LED, 3 buttons > +config MACH_S900 > + bool "Actionss Semi S900" > + select ARM64 > > endchoice > > -source "board/ucRobotics/bubblegum_96/Kconfig" > +config SYS_CONFIG_NAME > + default "s900" if MACH_S900 > + > +config SYS_SOC > + default "s900" if MACH_S900 > + > +config SYS_TEXT_BASE > + default 0x11000000 > Move the above config symbols before MACH_S900. > endif > diff --git a/arch/arm/mach-owl/Makefile b/arch/arm/mach-owl/Makefile > index 1b43dc2..0b181c6 100644 > --- a/arch/arm/mach-owl/Makefile > +++ b/arch/arm/mach-owl/Makefile > @@ -1,3 +1,4 @@ > # SPDX-License-Identifier: GPL-2.0+ > > +obj-y += soc.o > obj-y += sysmap-s900.o > diff --git a/arch/arm/mach-owl/soc.c b/arch/arm/mach-owl/soc.c > new file mode 100644 > index 0000000..d0630d2 > --- /dev/null > +++ b/arch/arm/mach-owl/soc.c > @@ -0,0 +1,56 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Actions Semi SoCs Boards Support. Owl SoCs... > + * > + * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > + */ > + > +#include <linux/arm-smccc.h> > +#include <linux/psci.h> > +#include <common.h> > +#include <asm/io.h> > +#include <asm/mach-types.h> > +#include <asm/psci.h> > + > +DECLARE_GLOBAL_DATA_PTR; > + > +/* > + * dram_init - sets uboots idea of sdram size > + */ > +int dram_init(void) > +{ > + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; > + return 0; > +} > + > +/* This is called after dram_init() so use get_ram_size result */ > +int dram_init_banksize(void) > +{ > + gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; > + gd->bd->bi_dram[0].size = gd->ram_size; > + > + return 0; > +} > + > +static void show_psci_version(void) > +{ > + struct arm_smccc_res res; > + > + arm_smccc_smc(ARM_PSCI_0_2_FN_PSCI_VERSION, 0, 0, 0, 0, 0, 0, 0, &res); > + > + printf("PSCI: v%ld.%ld\n", > + PSCI_VERSION_MAJOR(res.a0), > + PSCI_VERSION_MINOR(res.a0)); > +} > + > +int board_init(void) > +{ > + show_psci_version(); > + > + return 0; > +} > + > +void reset_cpu(ulong addr) > +{ > + psci_system_reset(); > +} > diff --git a/board/ucRobotics/bubblegum_96/Kconfig > b/board/ucRobotics/bubblegum_96/Kconfig > deleted file mode 100644 > index 2dd40d9..0000000 > --- a/board/ucRobotics/bubblegum_96/Kconfig > +++ /dev/null > @@ -1,15 +0,0 @@ > -if TARGET_BUBBLEGUM_96 > - > -config SYS_BOARD > - default "bubblegum_96" > - > -config SYS_VENDOR > - default "ucRobotics" > - > -config SYS_SOC > - default "s900" > - > -config SYS_CONFIG_NAME > - default "bubblegum_96" > - > -endif > diff --git a/board/ucRobotics/bubblegum_96/MAINTAINERS > b/board/ucRobotics/bubblegum_96/MAINTAINERS > deleted file mode 100644 > index d0cb727..0000000 > --- a/board/ucRobotics/bubblegum_96/MAINTAINERS > +++ /dev/null > @@ -1,6 +0,0 @@ > -BUBBLEGUM_96 BOARD > -M: Manivannan Sadhasivam <manivannan.sadhasi...@linaro.org> > -S: Maintained > -F: board/ucRobotics/bubblegum_96/ > -F: include/configs/bubblegum_96.h > -F: configs/bubblegum_96_defconfig > diff --git a/board/ucRobotics/bubblegum_96/Makefile > b/board/ucRobotics/bubblegum_96/Makefile > deleted file mode 100644 > index c4b524d..0000000 > --- a/board/ucRobotics/bubblegum_96/Makefile > +++ /dev/null > @@ -1,3 +0,0 @@ > -# SPDX-License-Identifier: GPL-2.0+ > - > -obj-y := bubblegum_96.o > diff --git a/board/ucRobotics/bubblegum_96/bubblegum_96.c > b/board/ucRobotics/bubblegum_96/bubblegum_96.c > deleted file mode 100644 > index a4c202d..0000000 > --- a/board/ucRobotics/bubblegum_96/bubblegum_96.c > +++ /dev/null > @@ -1,56 +0,0 @@ > -// SPDX-License-Identifier: GPL-2.0+ > -/* > - * Bubblegum-96 Boards Support > - * > - * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > - */ > - > -#include <linux/arm-smccc.h> > -#include <linux/psci.h> > -#include <common.h> > -#include <asm/io.h> > -#include <asm/mach-types.h> > -#include <asm/psci.h> > - > -DECLARE_GLOBAL_DATA_PTR; > - > -/* > - * dram_init - sets uboots idea of sdram size > - */ > -int dram_init(void) > -{ > - gd->ram_size = CONFIG_SYS_SDRAM_SIZE; > - return 0; > -} > - > -/* This is called after dram_init() so use get_ram_size result */ > -int dram_init_banksize(void) > -{ > - gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; > - gd->bd->bi_dram[0].size = gd->ram_size; > - > - return 0; > -} > - > -static void show_psci_version(void) > -{ > - struct arm_smccc_res res; > - > - arm_smccc_smc(ARM_PSCI_0_2_FN_PSCI_VERSION, 0, 0, 0, 0, 0, 0, 0, &res); > - > - printf("PSCI: v%ld.%ld\n", > - PSCI_VERSION_MAJOR(res.a0), > - PSCI_VERSION_MINOR(res.a0)); > -} > - > -int board_init(void) > -{ > - show_psci_version(); > - > - return 0; > -} > - > -void reset_cpu(ulong addr) > -{ > - psci_system_reset(); > -} > diff --git a/configs/bubblegum_96_defconfig b/configs/bubblegum_96_defconfig > index 74a9121..d1f403f 100644 > --- a/configs/bubblegum_96_defconfig > +++ b/configs/bubblegum_96_defconfig > @@ -1,7 +1,6 @@ > CONFIG_ARM=y > CONFIG_ARCH_OWL=y > -CONFIG_SYS_TEXT_BASE=0x11000000 > -CONFIG_TARGET_BUBBLEGUM_96=y > +CONFIG_MACH_S900=y > CONFIG_IDENT_STRING="\nBubblegum-96" > CONFIG_DISTRO_DEFAULTS=y > CONFIG_NR_DRAM_BANKS=1 > @@ -19,4 +18,3 @@ CONFIG_DEFAULT_DEVICE_TREE="bubblegum_96" > CONFIG_CLK=y > CONFIG_CLK_OWL=y > CONFIG_CLK_S900=y > -CONFIG_OWL_SERIAL=y > diff --git a/include/configs/bubblegum_96.h b/include/configs/bubblegum_96.h > deleted file mode 100644 > index e1dc37b..0000000 > --- a/include/configs/bubblegum_96.h > +++ /dev/null > @@ -1,42 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0+ */ > -/* > - * Board configuration file for Bubblegum-96 > - * > - * Copyright (C) 2015 Actions Semi Co., Ltd. > - * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > - * > - */ > - > -#ifndef _BUBBLEGUM_96_H_ > -#define _BUGGLEGUM_96_H_ > - > -/* SDRAM Definitions */ > -#define CONFIG_SYS_SDRAM_BASE 0x0 > -#define CONFIG_SYS_SDRAM_SIZE 0x80000000 > - > -/* Generic Timer Definitions */ > -#define COUNTER_FREQUENCY (24000000) /* 24MHz */ > - > -#define CONFIG_SYS_MALLOC_LEN (32 * 1024 * 1024) > - > -/* Some commands use this as the default load address */ > -#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x7ffc0) > - > -/* > - * This is the initial SP which is used only briefly for relocating the > u-boot > - * image to the top of SDRAM. After relocation u-boot moves the stack to the > - * proper place. > - */ > -#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + 0x7ff00) > - > -/* UART Definitions */ > -#define CONFIG_BAUDRATE 115200 > - > -#define CONFIG_ENV_SIZE 0x2000 > - > -/* Console configuration */ > -#define CONFIG_SYS_CBSIZE 1024 /* Console buffer size */ > -#define CONFIG_SYS_MAXARGS 64 > -#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE > - > -#endif > diff --git a/include/configs/owl-common.h b/include/configs/owl-common.h > new file mode 100644 > index 0000000..42cd891 > --- /dev/null > +++ b/include/configs/owl-common.h > @@ -0,0 +1,42 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Board configuration file for Actions Semi SoCs. Owl SoCs... > + * > + * Copyright (C) 2015 Actions Semi Co., Ltd. > + * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > + * > + */ > + > +#ifndef _OWL_COMMON_CONFIG_H_ > +#define _OWL_COMMON_CONFIG_H_ > + > +/* SDRAM Definitions */ > +#define CONFIG_SYS_SDRAM_BASE 0x0 > +#define CONFIG_SYS_SDRAM_SIZE 0x80000000 > + > +/* Generic Timer Definitions */ > +#define COUNTER_FREQUENCY (24000000) /* 24MHz */ > + > +#define CONFIG_SYS_MALLOC_LEN (32 * 1024 * 1024) > + > +/* Some commands use this as the default load address */ > +#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x7ffc0) > + > +/* > + * This is the initial SP which is used only briefly for relocating the > u-boot > + * image to the top of SDRAM. After relocation u-boot moves the stack to the > + * proper place. > + */ > +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + 0x7ff00) > + > +/* UART Definitions */ > +#define CONFIG_BAUDRATE 115200 > + > +#define CONFIG_ENV_SIZE 0x2000 > + > +/* Console configuration */ > +#define CONFIG_SYS_CBSIZE 1024 /* Console buffer size */ > +#define CONFIG_SYS_MAXARGS 64 > +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE > + > +#endif > diff --git a/include/configs/s900.h b/include/configs/s900.h > new file mode 100644 > index 0000000..394925b > --- /dev/null > +++ b/include/configs/s900.h > @@ -0,0 +1,18 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Board configuration file for Bubblegum-96 based on S900 SoC. > + * "s900.h" is not a board configuration file. PS: I cannot verify this patchset on Bubblegum96 till Linaro Connect. But, I'll fix if any regression happens. Thanks, Mani > + * Copyright (C) 2015 Actions Semi Co., Ltd. > + * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > + * > + */ > + > +#ifndef _CONFIG_S900_H_ > +#define _CONFIG_S900_H_ > + > +/* > + * Include common owl configuration where most the settings are > + */ > +#include <configs/owl-common.h> > + > +#endif > -- > 2.7.4 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot