On Wed, Apr 01, 2020 at 12:49:24PM +0530, Amit Singh Tomar wrote: > This commit adds common arch support for Actions Semi Owl > series SoCs and removes the Bubblegum96 board files. > > Reviewed-by: Andre Przywara <andre.przyw...@arm.com> > Signed-off-by: Amit Singh Tomar <amittome...@gmail.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasi...@linaro.org> Thanks, Mani > --- > Changes since v8: > * Added Reviewed-by tag. > Changes since v7: > * Removed S900 specific include file. > * Removed the file list entry in MAINTAINERS file. > Changes since v6: > * No change. > Changes since v5: > * No change. > Changes since v4: > * No change. > Changes since v3: > * Corrected the file list entry in MAINTAINERS file. > Changes since v2: > * Moved the file list details to root MAINTAINERS file. > * Updated the commit message as suggested by Mani. > * Used the "Owl" keyword to describe SoC family. > 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. > --- > MAINTAINERS | 3 +- > arch/arm/Kconfig | 3 +- > arch/arm/mach-owl/Kconfig | 29 ++++++-------- > arch/arm/mach-owl/Makefile | 1 + > arch/arm/mach-owl/soc.c | 57 > ++++++++++++++++++++++++++++ > 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 | 57 > ---------------------------- > configs/bubblegum_96_defconfig | 4 +- > include/configs/bubblegum_96.h | 40 ------------------- > include/configs/owl-common.h | 40 +++++++++++++++++++ > 12 files changed, 114 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 > > diff --git a/MAINTAINERS b/MAINTAINERS > index b50652b..2eaacb7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -272,9 +272,10 @@ M: Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > S: Maintained > F: arch/arm/include/asm/arch-owl/ > F: arch/arm/mach-owl/ > -F: board/ucRobotics/ > F: drivers/clk/owl/ > F: drivers/serial/serial_owl.c > +F: include/configs/owl-common.h > +F: configs/bubblegum_96_defconfig > > ARM RENESAS RMOBILE/R-CAR > M: Nobuhiro Iwamatsu <iwama...@nigauri.org> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index bbb1e27..de6b7f9 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -873,9 +873,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 > > @@ -1868,7 +1868,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/variscite/dart_6ul/Kconfig" > diff --git a/arch/arm/mach-owl/Kconfig b/arch/arm/mach-owl/Kconfig > index 199e772..28984c1 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 Owl SoC Variant" > 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 "Actions Semi S900 SoC" > + select ARM64 > > endchoice > > -source "board/ucRobotics/bubblegum_96/Kconfig" > +config SYS_TEXT_BASE > + default 0x11000000 > + > +config SYS_CONFIG_NAME > + default "owl-common" > + > +config SYS_SOC > + default "s900" if 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..409cbd3 > --- /dev/null > +++ b/arch/arm/mach-owl/soc.c > @@ -0,0 +1,57 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Actions Semi Owl SoCs platform support. > + * > + * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > + */ > + > +#include <cpu_func.h> > +#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 c16f117..0000000 > --- a/board/ucRobotics/bubblegum_96/bubblegum_96.c > +++ /dev/null > @@ -1,57 +0,0 @@ > -// SPDX-License-Identifier: GPL-2.0+ > -/* > - * Bubblegum-96 Boards Support > - * > - * Copyright (C) 2018 Manivannan Sadhasivam > <manivannan.sadhasi...@linaro.org> > - */ > - > -#include <cpu_func.h> > -#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 ae44ce1..8c94def 100644 > --- a/configs/bubblegum_96_defconfig > +++ b/configs/bubblegum_96_defconfig > @@ -1,9 +1,8 @@ > CONFIG_ARM=y > CONFIG_ARCH_OWL=y > -CONFIG_SYS_TEXT_BASE=0x11000000 > CONFIG_ENV_SIZE=0x2000 > -CONFIG_TARGET_BUBBLEGUM_96=y > CONFIG_NR_DRAM_BANKS=1 > +CONFIG_MACH_S900=y > CONFIG_IDENT_STRING="\nBubblegum-96" > CONFIG_DISTRO_DEFAULTS=y > CONFIG_BOOTDELAY=5 > @@ -21,4 +20,3 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y > 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 c739d66..0000000 > --- a/include/configs/bubblegum_96.h > +++ /dev/null > @@ -1,40 +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 > - > -/* 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..f77a5fa > --- /dev/null > +++ b/include/configs/owl-common.h > @@ -0,0 +1,40 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Board configuration file for Actions Semi 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 > + > +/* Console configuration */ > +#define CONFIG_SYS_CBSIZE 1024 /* Console buffer size */ > +#define CONFIG_SYS_MAXARGS 64 > +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE > + > +#endif > -- > 2.7.4 >