diff mbox series

[U-Boot,v2,1/9] arm: actions: Add common framework for Actions Semi SoCs

Message ID 1547469671-1487-1-git-send-email-amittomer25@gmail.com
State Changes Requested
Delegated to: Tom Rini
Headers show
Series [U-Boot,v2,1/9] arm: actions: Add common framework for Actions Semi SoCs | expand

Commit Message

Amit Tomer Jan. 14, 2019, 12:41 p.m. UTC
This adds common arch owl support that can drive, 64-bits SoCs
from Actions Semi.

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

Comments

Andre Przywara Jan. 14, 2019, 11:33 p.m. UTC | #1
On 14/01/2019 12:41, Amit Singh Tomar wrote:

Hi,

> This adds common arch owl support that can drive, 64-bits SoCs
> from Actions Semi.
> 
> 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"
>          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"

One s at the end is enough.

> +        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
>  
>  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.
> + *
> + * 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

Please merge those two lines (adapted to the renaming in this patch)
into the owl entry of the root MAINTAINERS file. And remove
board/ucRobotics on the way.

The rest seems to look fine, but it changes quite a bit. It would be
good if Mani could have a look, also to confirm that the Bubblegum still
boots.

Cheers,
Andre.

> 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.
> + *
> + * 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.
> + *
> + * 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
>
Manivannan Sadhasivam Jan. 17, 2019, 3:39 p.m. UTC | #2
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
>
Andre Przywara Jan. 17, 2019, 9:16 p.m. UTC | #3
On Thu, 17 Jan 2019 21:09:45 +0530
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> wrote:

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...

Good point, but to avoid misunderstandings, you mean:
 * Actions Semi Owl SoCs boards support
right? I just want to make sure that we keep "Actions Semi" somewhere,
as many people might not know that "Owl" is the family name from that
company and just "Owl" sounds rather generic.

Cheers,
Andre.

> 
> > + *
> > + * 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
> >
Manivannan Sadhasivam Jan. 18, 2019, 3:30 a.m. UTC | #4
On Thu, Jan 17, 2019 at 09:16:26PM +0000, André Przywara wrote:
> On Thu, 17 Jan 2019 21:09:45 +0530
> Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> wrote:
> 
> 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...
> 
> Good point, but to avoid misunderstandings, you mean:
>  * Actions Semi Owl SoCs boards support
> right? I just want to make sure that we keep "Actions Semi" somewhere,
> as many people might not know that "Owl" is the family name from that
> company and just "Owl" sounds rather generic.
> 

Yes, I meant "Actions Semi Owl SoCs boards support" but I was lazy
enough to type the whole ;-) In Linux kernel, we finalized to use
"Actions Semi Owl" prefix everywhere.

Thanks,
Mani

> Cheers,
> Andre.
> 
> > 
> > > + *
> > > + * 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
> > >   
>
diff mbox series

Patch

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"
         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
 
 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.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * 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