
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 amittomer25@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.sadhasivam@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.sadhasivam@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.sadhasivam@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.sadhasivam@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.sadhasivam@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.sadhasivam@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