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

André Przywara andre.przywara at arm.com
Thu Jan 17 21:16:26 UTC 2019


On Thu, 17 Jan 2019 21:09:45 +0530
Manivannan Sadhasivam <manivannan.sadhasivam at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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
> >   



More information about the U-Boot mailing list