Message ID | 8f07fac854eaaea63e199fe0e80cf20004dffbdf.1542546735.git.mesihkilinc@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | initial support for "suniv" Allwinner new ARM9 SoC | expand |
On Sun, Nov 18, 2018 at 05:17:02PM +0300, Mesih Kilinc wrote: > Add option for Allwinner ARMv5 SoCs and SoC F1C100s (which has a die > used for many new F-series products, including F1C100A, F1C100s, F1C200s, > F1C500, F1C600). > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > Signed-off-by: Mesih Kilinc <mesihkilinc@gmail.com> > --- > arch/arm/mach-sunxi/Kconfig | 14 +++++++++++++- > arch/arm/mach-sunxi/Makefile | 1 + > arch/arm/mach-sunxi/sunxi_v5.c | 22 ++++++++++++++++++++++ > 3 files changed, 36 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/mach-sunxi/sunxi_v5.c > > diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig > index 5db17ec..066644c 100644 > --- a/arch/arm/mach-sunxi/Kconfig > +++ b/arch/arm/mach-sunxi/Kconfig > @@ -1,6 +1,6 @@ > menuconfig ARCH_SUNXI > bool "Allwinner SoCs" > - depends on ARCH_MULTI_V7 > + depends on ARCH_MULTI_V5 || ARCH_MULTI_V7 > select ARCH_HAS_RESET_CONTROLLER > select CLKSRC_MMIO > select GENERIC_IRQ_CHIP > @@ -64,4 +64,16 @@ config ARCH_SUNXI_MC_SMP > > endif > > +if ARCH_MULTI_V5 > + > +config ARCH_SUNXI_V5 > + bool > + select SUN4I_TIMER If SUN4I_TIMER is needed both by the armv5 and armv7 cores, why did we need to move it out of ARCH_SUNXI? > +config MACH_SUNIV > + bool "Allwinner new F-series (suniv) SoCs support" I would drop the "new" here. > +++ b/arch/arm/mach-sunxi/sunxi_v5.c > @@ -0,0 +1,22 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Device Tree support for Allwinner F series SoCs > + * > + * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> > + * Copyright (C) 2018 Mesih Kilinc <mesihkilinc@gmail.com> > + * > + * This file is licensed under the terms of the GNU General Public > + * License version 2. This program is licensed "as is" without any > + * warranty of any kind, whether express or implied. > + */ > + > +#include <asm/mach/arch.h> > + > +static const char * const suniv_board_dt_compat[] = { > + "allwinner,suniv-f1c100s", > + NULL, > +}; > + > +DT_MACHINE_START(SUNXI_DT, "Allwinner suniv Family") > + .dt_compat = suniv_board_dt_compat, > +MACHINE_END Do we really need a separate file for that? Maxime
于 2018年11月20日 GMT+08:00 下午4:42:45, Maxime Ripard <maxime.ripard@bootlin.com> 写到: >On Sun, Nov 18, 2018 at 05:17:02PM +0300, Mesih Kilinc wrote: >> Add option for Allwinner ARMv5 SoCs and SoC F1C100s (which has a die >> used for many new F-series products, including F1C100A, F1C100s, >F1C200s, >> F1C500, F1C600). >> >> Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >> Signed-off-by: Mesih Kilinc <mesihkilinc@gmail.com> >> --- >> arch/arm/mach-sunxi/Kconfig | 14 +++++++++++++- >> arch/arm/mach-sunxi/Makefile | 1 + >> arch/arm/mach-sunxi/sunxi_v5.c | 22 ++++++++++++++++++++++ >> 3 files changed, 36 insertions(+), 1 deletion(-) >> create mode 100644 arch/arm/mach-sunxi/sunxi_v5.c >> >> diff --git a/arch/arm/mach-sunxi/Kconfig >b/arch/arm/mach-sunxi/Kconfig >> index 5db17ec..066644c 100644 >> --- a/arch/arm/mach-sunxi/Kconfig >> +++ b/arch/arm/mach-sunxi/Kconfig >> @@ -1,6 +1,6 @@ >> menuconfig ARCH_SUNXI >> bool "Allwinner SoCs" >> - depends on ARCH_MULTI_V7 >> + depends on ARCH_MULTI_V5 || ARCH_MULTI_V7 >> select ARCH_HAS_RESET_CONTROLLER >> select CLKSRC_MMIO >> select GENERIC_IRQ_CHIP >> @@ -64,4 +64,16 @@ config ARCH_SUNXI_MC_SMP >> >> endif >> >> +if ARCH_MULTI_V5 >> + >> +config ARCH_SUNXI_V5 >> + bool >> + select SUN4I_TIMER > >If SUN4I_TIMER is needed both by the armv5 and armv7 cores, why did we >need to move it out of ARCH_SUNXI? > >> +config MACH_SUNIV >> + bool "Allwinner new F-series (suniv) SoCs support" > >I would drop the "new" here. Sorry, but old F-series SoCs are not suniv. They are sunii or sun3i. > >> +++ b/arch/arm/mach-sunxi/sunxi_v5.c >> @@ -0,0 +1,22 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * Device Tree support for Allwinner F series SoCs >> + * >> + * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> >> + * Copyright (C) 2018 Mesih Kilinc <mesihkilinc@gmail.com> >> + * >> + * This file is licensed under the terms of the GNU General Public >> + * License version 2. This program is licensed "as is" without any >> + * warranty of any kind, whether express or implied. >> + */ >> + >> +#include <asm/mach/arch.h> >> + >> +static const char * const suniv_board_dt_compat[] = { >> + "allwinner,suniv-f1c100s", >> + NULL, >> +}; >> + >> +DT_MACHINE_START(SUNXI_DT, "Allwinner suniv Family") >> + .dt_compat = suniv_board_dt_compat, >> +MACHINE_END > >Do we really need a separate file for that? > >Maxime
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index 5db17ec..066644c 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -1,6 +1,6 @@ menuconfig ARCH_SUNXI bool "Allwinner SoCs" - depends on ARCH_MULTI_V7 + depends on ARCH_MULTI_V5 || ARCH_MULTI_V7 select ARCH_HAS_RESET_CONTROLLER select CLKSRC_MMIO select GENERIC_IRQ_CHIP @@ -64,4 +64,16 @@ config ARCH_SUNXI_MC_SMP endif +if ARCH_MULTI_V5 + +config ARCH_SUNXI_V5 + bool + select SUN4I_TIMER + +config MACH_SUNIV + bool "Allwinner new F-series (suniv) SoCs support" + select ARCH_SUNXI_V5 + +endif + endif diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile index c9a83ab..fd17fdd 100644 --- a/arch/arm/mach-sunxi/Makefile +++ b/arch/arm/mach-sunxi/Makefile @@ -1,5 +1,6 @@ CFLAGS_mc_smp.o += -march=armv7-a obj-$(CONFIG_ARCH_SUNXI_V7) += sunxi.o +obj-$(CONFIG_ARCH_SUNXI_V5) += sunxi_v5.o obj-$(CONFIG_ARCH_SUNXI_MC_SMP) += mc_smp.o headsmp.o obj-$(CONFIG_SMP) += platsmp.o diff --git a/arch/arm/mach-sunxi/sunxi_v5.c b/arch/arm/mach-sunxi/sunxi_v5.c new file mode 100644 index 0000000..15f2d7a --- /dev/null +++ b/arch/arm/mach-sunxi/sunxi_v5.c @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Device Tree support for Allwinner F series SoCs + * + * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> + * Copyright (C) 2018 Mesih Kilinc <mesihkilinc@gmail.com> + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#include <asm/mach/arch.h> + +static const char * const suniv_board_dt_compat[] = { + "allwinner,suniv-f1c100s", + NULL, +}; + +DT_MACHINE_START(SUNXI_DT, "Allwinner suniv Family") + .dt_compat = suniv_board_dt_compat, +MACHINE_END