Message ID | 1410646408-28901-2-git-send-email-linux@rempel-privat.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, Sep 14, 2014 at 12:13:22AM +0200, Oleksij Rempel wrote: Could you please add a description of the SoC? Perhaps a link to documentation, or at least a slick sheet? Also, are there any products on the market with this SoC, which ones? thx, Jason. > Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> > --- > arch/arm/Kconfig | 16 ++++++++ > arch/arm/Makefile | 1 + > arch/arm/mach-asm9260/Kconfig | 66 +++++++++++++++++++++++++++++++ > arch/arm/mach-asm9260/Makefile | 11 ++++++ > arch/arm/mach-asm9260/Makefile.boot | 2 + > arch/arm/mach-asm9260/core.c | 77 +++++++++++++++++++++++++++++++++++++ > 6 files changed, 173 insertions(+) > create mode 100644 arch/arm/mach-asm9260/Kconfig > create mode 100644 arch/arm/mach-asm9260/Makefile > create mode 100644 arch/arm/mach-asm9260/Makefile.boot > create mode 100644 arch/arm/mach-asm9260/core.c > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 245058b..fb56189 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -373,6 +373,20 @@ config ARCH_AT91 > This enables support for systems based on Atmel > AT91RM9200 and AT91SAM9* processors. > > +config MACH_ASM9260 > + bool "Alpscale ASM9260" > + select ARCH_REQUIRE_GPIOLIB > + select COMMON_CLK > + select IRQ_DOMAIN > + select SPARSE_IRQ > + select MULTI_IRQ_HANDLER > + select GENERIC_IRQ_CHIP > + select GENERIC_CLOCKEVENTS > + select CLKSRC_MMIO > + select CPU_ARM926T > + help > + Support for Alpscale ASM9260 based platform. > + > config ARCH_CLPS711X > bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" > select ARCH_REQUIRE_GPIOLIB > @@ -915,6 +929,8 @@ source "arch/arm/mach-mvebu/Kconfig" > > source "arch/arm/mach-at91/Kconfig" > > +source "arch/arm/mach-asm9260/Kconfig" > + > source "arch/arm/mach-axxia/Kconfig" > > source "arch/arm/mach-bcm/Kconfig" > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > index 6721fab..c383d02 100644 > --- a/arch/arm/Makefile > +++ b/arch/arm/Makefile > @@ -143,6 +143,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000 > # Machine directory name. This list is sorted alphanumerically > # by CONFIG_* macro name. > machine-$(CONFIG_ARCH_AT91) += at91 > +machine-$(CONFIG_MACH_ASM9260) += asm9260 > machine-$(CONFIG_ARCH_AXXIA) += axxia > machine-$(CONFIG_ARCH_BCM) += bcm > machine-$(CONFIG_ARCH_BERLIN) += berlin > diff --git a/arch/arm/mach-asm9260/Kconfig b/arch/arm/mach-asm9260/Kconfig > new file mode 100644 > index 0000000..f7240d8 > --- /dev/null > +++ b/arch/arm/mach-asm9260/Kconfig > @@ -0,0 +1,66 @@ > +if MACH_ASM9260 > + > +menu "ASM9260T EVK Uart Enable" > + > +config ENABLE_UART0 > + bool "Enable UART0" > + depends on SERIAL_ASM9260 > + default n > + > +config ENABLE_UART1 > + bool "Enable UART1" > + depends on SERIAL_ASM9260 > + default n > + > +config ENABLE_UART2 > + bool "Enable UART2" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART3 > + bool "Enable UART3" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART4 > + bool "Enable UART4" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART5 > + bool "Enable UART5" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART6 > + bool "Enable UART6" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART7 > + bool "Enable UART7" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART8 > + bool "Enable UART8" > + depends on SERIAL_ASM9260 > + default n > + > + > +config ENABLE_UART9 > + bool "Enable UART9" > + depends on SERIAL_ASM9260 > + default n > + > +endmenu > + > + > +endif > + > diff --git a/arch/arm/mach-asm9260/Makefile b/arch/arm/mach-asm9260/Makefile > new file mode 100644 > index 0000000..4bd8ebd > --- /dev/null > +++ b/arch/arm/mach-asm9260/Makefile > @@ -0,0 +1,11 @@ > +# > +# Makefile for the linux kernel. > +# > + > +# Object file lists. > + > +obj-y := core.o > +obj-m := > +obj-n := > +obj- := > + > diff --git a/arch/arm/mach-asm9260/Makefile.boot b/arch/arm/mach-asm9260/Makefile.boot > new file mode 100644 > index 0000000..c57b3b4 > --- /dev/null > +++ b/arch/arm/mach-asm9260/Makefile.boot > @@ -0,0 +1,2 @@ > +zreladdr-y := 0x20008000 > + > diff --git a/arch/arm/mach-asm9260/core.c b/arch/arm/mach-asm9260/core.c > new file mode 100644 > index 0000000..eee7a9d > --- /dev/null > +++ b/arch/arm/mach-asm9260/core.c > @@ -0,0 +1,77 @@ > +/* > + * Copyright (C) 2014 Oleksij Rempel <linux@rempel-privat.de> > + * Co-author: Du Huanpeng <u74147@gmail.com> > + * map_desc based on: > + * linux/arch/arm/mach-asm9260/core.c > + * Copyright (C) 2011-2014 Alpscale > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License along > + * with this program; if not, write to the Free Software Foundation, Inc., > + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > + */ > + > +#include <linux/of_platform.h> > +#include <asm/mach/arch.h> > +#include <asm/mach/map.h> > + > +static struct map_desc asm9260_io_desc[] __initdata = { > + { /* IO space */ > + .virtual = (unsigned long)0xf0000000, > + .pfn = __phys_to_pfn(0x80000000), > + .length = 0x00800000, > + .type = MT_DEVICE > + }, > + { /* LCD IO space */ > + .virtual = (unsigned long)0xf0a00000, > + .pfn = __phys_to_pfn(0x80800000), > + .length = 0x00009000, > + .type = MT_DEVICE > + }, > + { /* GPIO IO space */ > + .virtual = (unsigned long)0xf0800000, > + .pfn = __phys_to_pfn(0x50000000), > + .length = 0x00100000, > + .type = MT_DEVICE > + }, > + { /* SRAM space Cacheable */ > + .virtual = (unsigned long)0xd0000000, > + .pfn = __phys_to_pfn(0x40000000), > + .length = 0x00100000, > +#ifdef CONFIG_SRAM_MEM_CACHED > + .type = MT_MEMORY > +#else > + .type = MT_DEVICE > +#endif > + }, > +}; > + > +static void __init asm9260_map_io(void) > +{ > + iotable_init(asm9260_io_desc, ARRAY_SIZE(asm9260_io_desc)); > +} > + > +static void __init asm9260_init(void) > +{ > + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); > +} > + > +static const char * const asm9260_dt_board_compat[] __initconst = { > + "alpscale,asm9260", > + NULL > +}; > + > +DT_MACHINE_START(ASM9260, "Alpscale ASM9260 (Device Tree Support)") > + .map_io = asm9260_map_io, > + .init_machine = asm9260_init, > + .dt_compat = asm9260_dt_board_compat, > +MACHINE_END > -- > 1.9.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Am 14.09.2014 um 09:12 schrieb Jason Cooper: > On Sun, Sep 14, 2014 at 12:13:22AM +0200, Oleksij Rempel wrote: > > Could you please add a description of the SoC? Perhaps a link to > documentation, or at least a slick sheet? Also, are there any products > on the market with this SoC, which ones? > > thx, Hi, it is low cost (?) SoC targeted for market in China and India which trying to "replace" AT91SAM9G25. Here is some info: http://www.alphascale.com/index.asp?ics/615.html One of products: http://www.aliexpress.com/store/product/2014-hot-sales-FREE-SHIPPING-new-Purple-core-ARM9-development-board-ASM9260T-SDRAM-power-line/433637_1931495721.html > > Jason. > >> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> >> --- >> arch/arm/Kconfig | 16 ++++++++ >> arch/arm/Makefile | 1 + >> arch/arm/mach-asm9260/Kconfig | 66 +++++++++++++++++++++++++++++++ >> arch/arm/mach-asm9260/Makefile | 11 ++++++ >> arch/arm/mach-asm9260/Makefile.boot | 2 + >> arch/arm/mach-asm9260/core.c | 77 +++++++++++++++++++++++++++++++++++++ >> 6 files changed, 173 insertions(+) >> create mode 100644 arch/arm/mach-asm9260/Kconfig >> create mode 100644 arch/arm/mach-asm9260/Makefile >> create mode 100644 arch/arm/mach-asm9260/Makefile.boot >> create mode 100644 arch/arm/mach-asm9260/core.c >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index 245058b..fb56189 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -373,6 +373,20 @@ config ARCH_AT91 >> This enables support for systems based on Atmel >> AT91RM9200 and AT91SAM9* processors. >> >> +config MACH_ASM9260 >> + bool "Alpscale ASM9260" >> + select ARCH_REQUIRE_GPIOLIB >> + select COMMON_CLK >> + select IRQ_DOMAIN >> + select SPARSE_IRQ >> + select MULTI_IRQ_HANDLER >> + select GENERIC_IRQ_CHIP >> + select GENERIC_CLOCKEVENTS >> + select CLKSRC_MMIO >> + select CPU_ARM926T >> + help >> + Support for Alpscale ASM9260 based platform. >> + >> config ARCH_CLPS711X >> bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" >> select ARCH_REQUIRE_GPIOLIB >> @@ -915,6 +929,8 @@ source "arch/arm/mach-mvebu/Kconfig" >> >> source "arch/arm/mach-at91/Kconfig" >> >> +source "arch/arm/mach-asm9260/Kconfig" >> + >> source "arch/arm/mach-axxia/Kconfig" >> >> source "arch/arm/mach-bcm/Kconfig" >> diff --git a/arch/arm/Makefile b/arch/arm/Makefile >> index 6721fab..c383d02 100644 >> --- a/arch/arm/Makefile >> +++ b/arch/arm/Makefile >> @@ -143,6 +143,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000 >> # Machine directory name. This list is sorted alphanumerically >> # by CONFIG_* macro name. >> machine-$(CONFIG_ARCH_AT91) += at91 >> +machine-$(CONFIG_MACH_ASM9260) += asm9260 >> machine-$(CONFIG_ARCH_AXXIA) += axxia >> machine-$(CONFIG_ARCH_BCM) += bcm >> machine-$(CONFIG_ARCH_BERLIN) += berlin >> diff --git a/arch/arm/mach-asm9260/Kconfig b/arch/arm/mach-asm9260/Kconfig >> new file mode 100644 >> index 0000000..f7240d8 >> --- /dev/null >> +++ b/arch/arm/mach-asm9260/Kconfig >> @@ -0,0 +1,66 @@ >> +if MACH_ASM9260 >> + >> +menu "ASM9260T EVK Uart Enable" >> + >> +config ENABLE_UART0 >> + bool "Enable UART0" >> + depends on SERIAL_ASM9260 >> + default n >> + >> +config ENABLE_UART1 >> + bool "Enable UART1" >> + depends on SERIAL_ASM9260 >> + default n >> + >> +config ENABLE_UART2 >> + bool "Enable UART2" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART3 >> + bool "Enable UART3" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART4 >> + bool "Enable UART4" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART5 >> + bool "Enable UART5" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART6 >> + bool "Enable UART6" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART7 >> + bool "Enable UART7" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART8 >> + bool "Enable UART8" >> + depends on SERIAL_ASM9260 >> + default n >> + >> + >> +config ENABLE_UART9 >> + bool "Enable UART9" >> + depends on SERIAL_ASM9260 >> + default n >> + >> +endmenu >> + >> + >> +endif >> + >> diff --git a/arch/arm/mach-asm9260/Makefile b/arch/arm/mach-asm9260/Makefile >> new file mode 100644 >> index 0000000..4bd8ebd >> --- /dev/null >> +++ b/arch/arm/mach-asm9260/Makefile >> @@ -0,0 +1,11 @@ >> +# >> +# Makefile for the linux kernel. >> +# >> + >> +# Object file lists. >> + >> +obj-y := core.o >> +obj-m := >> +obj-n := >> +obj- := >> + >> diff --git a/arch/arm/mach-asm9260/Makefile.boot b/arch/arm/mach-asm9260/Makefile.boot >> new file mode 100644 >> index 0000000..c57b3b4 >> --- /dev/null >> +++ b/arch/arm/mach-asm9260/Makefile.boot >> @@ -0,0 +1,2 @@ >> +zreladdr-y := 0x20008000 >> + >> diff --git a/arch/arm/mach-asm9260/core.c b/arch/arm/mach-asm9260/core.c >> new file mode 100644 >> index 0000000..eee7a9d >> --- /dev/null >> +++ b/arch/arm/mach-asm9260/core.c >> @@ -0,0 +1,77 @@ >> +/* >> + * Copyright (C) 2014 Oleksij Rempel <linux@rempel-privat.de> >> + * Co-author: Du Huanpeng <u74147@gmail.com> >> + * map_desc based on: >> + * linux/arch/arm/mach-asm9260/core.c >> + * Copyright (C) 2011-2014 Alpscale >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published by >> + * the Free Software Foundation; either version 2 of the License, or >> + * (at your option) any later version. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + * >> + * You should have received a copy of the GNU General Public License along >> + * with this program; if not, write to the Free Software Foundation, Inc., >> + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >> + */ >> + >> +#include <linux/of_platform.h> >> +#include <asm/mach/arch.h> >> +#include <asm/mach/map.h> >> + >> +static struct map_desc asm9260_io_desc[] __initdata = { >> + { /* IO space */ >> + .virtual = (unsigned long)0xf0000000, >> + .pfn = __phys_to_pfn(0x80000000), >> + .length = 0x00800000, >> + .type = MT_DEVICE >> + }, >> + { /* LCD IO space */ >> + .virtual = (unsigned long)0xf0a00000, >> + .pfn = __phys_to_pfn(0x80800000), >> + .length = 0x00009000, >> + .type = MT_DEVICE >> + }, >> + { /* GPIO IO space */ >> + .virtual = (unsigned long)0xf0800000, >> + .pfn = __phys_to_pfn(0x50000000), >> + .length = 0x00100000, >> + .type = MT_DEVICE >> + }, >> + { /* SRAM space Cacheable */ >> + .virtual = (unsigned long)0xd0000000, >> + .pfn = __phys_to_pfn(0x40000000), >> + .length = 0x00100000, >> +#ifdef CONFIG_SRAM_MEM_CACHED >> + .type = MT_MEMORY >> +#else >> + .type = MT_DEVICE >> +#endif >> + }, >> +}; >> + >> +static void __init asm9260_map_io(void) >> +{ >> + iotable_init(asm9260_io_desc, ARRAY_SIZE(asm9260_io_desc)); >> +} >> + >> +static void __init asm9260_init(void) >> +{ >> + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); >> +} >> + >> +static const char * const asm9260_dt_board_compat[] __initconst = { >> + "alpscale,asm9260", >> + NULL >> +}; >> + >> +DT_MACHINE_START(ASM9260, "Alpscale ASM9260 (Device Tree Support)") >> + .map_io = asm9260_map_io, >> + .init_machine = asm9260_init, >> + .dt_compat = asm9260_dt_board_compat, >> +MACHINE_END >> -- >> 1.9.1 >> >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Sun, Sep 14, 2014 at 09:45:04AM +0200, Oleksij Rempel wrote: > Am 14.09.2014 um 09:12 schrieb Jason Cooper: > > On Sun, Sep 14, 2014 at 12:13:22AM +0200, Oleksij Rempel wrote: > > > > Could you please add a description of the SoC? Perhaps a link to > > documentation, or at least a slick sheet? Also, are there any products > > on the market with this SoC, which ones? > > > > thx, > > Hi, > > it is low cost (?) SoC targeted for market in China and India which > trying to "replace" AT91SAM9G25. > > Here is some info: > http://www.alphascale.com/index.asp?ics/615.html > > One of products: > http://www.aliexpress.com/store/product/2014-hot-sales-FREE-SHIPPING-new-Purple-core-ARM9-development-board-ASM9260T-SDRAM-power-line/433637_1931495721.html Ok, please include this information is the commit log of the next version of this patch. thx, Jason.
Hi, On 14/09/2014 at 05:05:45 -0400, Jason Cooper wrote : > On Sun, Sep 14, 2014 at 09:45:04AM +0200, Oleksij Rempel wrote: > > Am 14.09.2014 um 09:12 schrieb Jason Cooper: > > > On Sun, Sep 14, 2014 at 12:13:22AM +0200, Oleksij Rempel wrote: > > > > > > Could you please add a description of the SoC? Perhaps a link to > > > documentation, or at least a slick sheet? Also, are there any products > > > on the market with this SoC, which ones? > > > > > > thx, > > > > Hi, > > > > it is low cost (?) SoC targeted for market in China and India which > > trying to "replace" AT91SAM9G25. > > > > Here is some info: > > http://www.alphascale.com/index.asp?ics/615.html > > > > One of products: > > http://www.aliexpress.com/store/product/2014-hot-sales-FREE-SHIPPING-new-Purple-core-ARM9-development-board-ASM9260T-SDRAM-power-line/433637_1931495721.html > > Ok, please include this information is the commit log of the next > version of this patch. > I would also suggest to call it AlphaScale instead of Alpscale as it allows to get more useful information when searching the web.
On 17/09/2014 15:46, Alexandre Belloni : > Hi, > > On 14/09/2014 at 05:05:45 -0400, Jason Cooper wrote : >> On Sun, Sep 14, 2014 at 09:45:04AM +0200, Oleksij Rempel wrote: >>> Am 14.09.2014 um 09:12 schrieb Jason Cooper: >>>> On Sun, Sep 14, 2014 at 12:13:22AM +0200, Oleksij Rempel wrote: >>>> >>>> Could you please add a description of the SoC? Perhaps a link to >>>> documentation, or at least a slick sheet? Also, are there any products >>>> on the market with this SoC, which ones? >>>> >>>> thx, >>> >>> Hi, >>> >>> it is low cost (?) SoC targeted for market in China and India which >>> trying to "replace" AT91SAM9G25. Well, I won't say "replace" but "compete with" Atmel AT91SAM9G25. AT91SAM9G25 is here to stay ;-) >>> Here is some info: >>> http://www.alphascale.com/index.asp?ics/615.html >>> >>> One of products: >>> http://www.aliexpress.com/store/product/2014-hot-sales-FREE-SHIPPING-new-Purple-core-ARM9-development-board-ASM9260T-SDRAM-power-line/433637_1931495721.html >> >> Ok, please include this information is the commit log of the next >> version of this patch. >> > > I would also suggest to call it AlphaScale instead of Alpscale as it > allows to get more useful information when searching the web. >
Am 17.09.2014 um 15:53 schrieb Nicolas Ferre: > On 17/09/2014 15:46, Alexandre Belloni : >> Hi, >> >> On 14/09/2014 at 05:05:45 -0400, Jason Cooper wrote : >>> On Sun, Sep 14, 2014 at 09:45:04AM +0200, Oleksij Rempel wrote: >>>> Am 14.09.2014 um 09:12 schrieb Jason Cooper: >>>>> On Sun, Sep 14, 2014 at 12:13:22AM +0200, Oleksij Rempel wrote: >>>>> >>>>> Could you please add a description of the SoC? Perhaps a link to >>>>> documentation, or at least a slick sheet? Also, are there any products >>>>> on the market with this SoC, which ones? >>>>> >>>>> thx, >>>> >>>> Hi, >>>> >>>> it is low cost (?) SoC targeted for market in China and India which >>>> trying to "replace" AT91SAM9G25. > > Well, I won't say "replace" but "compete with" Atmel AT91SAM9G25. > AT91SAM9G25 is here to stay ;-) Hehe.. :D sure. I like this version. >>>> Here is some info: >>>> http://www.alphascale.com/index.asp?ics/615.html >>>> >>>> One of products: >>>> http://www.aliexpress.com/store/product/2014-hot-sales-FREE-SHIPPING-new-Purple-core-ARM9-development-board-ASM9260T-SDRAM-power-line/433637_1931495721.html >>> >>> Ok, please include this information is the commit log of the next >>> version of this patch. >>> >> >> I would also suggest to call it AlphaScale instead of Alpscale as it >> allows to get more useful information when searching the web. Ok will fix it. Seems like they had this name confusion for some time. There is even www.alpscale.cn website mirrored with www.alphascale.com.
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 245058b..fb56189 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -373,6 +373,20 @@ config ARCH_AT91 This enables support for systems based on Atmel AT91RM9200 and AT91SAM9* processors. +config MACH_ASM9260 + bool "Alpscale ASM9260" + select ARCH_REQUIRE_GPIOLIB + select COMMON_CLK + select IRQ_DOMAIN + select SPARSE_IRQ + select MULTI_IRQ_HANDLER + select GENERIC_IRQ_CHIP + select GENERIC_CLOCKEVENTS + select CLKSRC_MMIO + select CPU_ARM926T + help + Support for Alpscale ASM9260 based platform. + config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" select ARCH_REQUIRE_GPIOLIB @@ -915,6 +929,8 @@ source "arch/arm/mach-mvebu/Kconfig" source "arch/arm/mach-at91/Kconfig" +source "arch/arm/mach-asm9260/Kconfig" + source "arch/arm/mach-axxia/Kconfig" source "arch/arm/mach-bcm/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 6721fab..c383d02 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -143,6 +143,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000 # Machine directory name. This list is sorted alphanumerically # by CONFIG_* macro name. machine-$(CONFIG_ARCH_AT91) += at91 +machine-$(CONFIG_MACH_ASM9260) += asm9260 machine-$(CONFIG_ARCH_AXXIA) += axxia machine-$(CONFIG_ARCH_BCM) += bcm machine-$(CONFIG_ARCH_BERLIN) += berlin diff --git a/arch/arm/mach-asm9260/Kconfig b/arch/arm/mach-asm9260/Kconfig new file mode 100644 index 0000000..f7240d8 --- /dev/null +++ b/arch/arm/mach-asm9260/Kconfig @@ -0,0 +1,66 @@ +if MACH_ASM9260 + +menu "ASM9260T EVK Uart Enable" + +config ENABLE_UART0 + bool "Enable UART0" + depends on SERIAL_ASM9260 + default n + +config ENABLE_UART1 + bool "Enable UART1" + depends on SERIAL_ASM9260 + default n + +config ENABLE_UART2 + bool "Enable UART2" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART3 + bool "Enable UART3" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART4 + bool "Enable UART4" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART5 + bool "Enable UART5" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART6 + bool "Enable UART6" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART7 + bool "Enable UART7" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART8 + bool "Enable UART8" + depends on SERIAL_ASM9260 + default n + + +config ENABLE_UART9 + bool "Enable UART9" + depends on SERIAL_ASM9260 + default n + +endmenu + + +endif + diff --git a/arch/arm/mach-asm9260/Makefile b/arch/arm/mach-asm9260/Makefile new file mode 100644 index 0000000..4bd8ebd --- /dev/null +++ b/arch/arm/mach-asm9260/Makefile @@ -0,0 +1,11 @@ +# +# Makefile for the linux kernel. +# + +# Object file lists. + +obj-y := core.o +obj-m := +obj-n := +obj- := + diff --git a/arch/arm/mach-asm9260/Makefile.boot b/arch/arm/mach-asm9260/Makefile.boot new file mode 100644 index 0000000..c57b3b4 --- /dev/null +++ b/arch/arm/mach-asm9260/Makefile.boot @@ -0,0 +1,2 @@ +zreladdr-y := 0x20008000 + diff --git a/arch/arm/mach-asm9260/core.c b/arch/arm/mach-asm9260/core.c new file mode 100644 index 0000000..eee7a9d --- /dev/null +++ b/arch/arm/mach-asm9260/core.c @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2014 Oleksij Rempel <linux@rempel-privat.de> + * Co-author: Du Huanpeng <u74147@gmail.com> + * map_desc based on: + * linux/arch/arm/mach-asm9260/core.c + * Copyright (C) 2011-2014 Alpscale + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include <linux/of_platform.h> +#include <asm/mach/arch.h> +#include <asm/mach/map.h> + +static struct map_desc asm9260_io_desc[] __initdata = { + { /* IO space */ + .virtual = (unsigned long)0xf0000000, + .pfn = __phys_to_pfn(0x80000000), + .length = 0x00800000, + .type = MT_DEVICE + }, + { /* LCD IO space */ + .virtual = (unsigned long)0xf0a00000, + .pfn = __phys_to_pfn(0x80800000), + .length = 0x00009000, + .type = MT_DEVICE + }, + { /* GPIO IO space */ + .virtual = (unsigned long)0xf0800000, + .pfn = __phys_to_pfn(0x50000000), + .length = 0x00100000, + .type = MT_DEVICE + }, + { /* SRAM space Cacheable */ + .virtual = (unsigned long)0xd0000000, + .pfn = __phys_to_pfn(0x40000000), + .length = 0x00100000, +#ifdef CONFIG_SRAM_MEM_CACHED + .type = MT_MEMORY +#else + .type = MT_DEVICE +#endif + }, +}; + +static void __init asm9260_map_io(void) +{ + iotable_init(asm9260_io_desc, ARRAY_SIZE(asm9260_io_desc)); +} + +static void __init asm9260_init(void) +{ + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +} + +static const char * const asm9260_dt_board_compat[] __initconst = { + "alpscale,asm9260", + NULL +}; + +DT_MACHINE_START(ASM9260, "Alpscale ASM9260 (Device Tree Support)") + .map_io = asm9260_map_io, + .init_machine = asm9260_init, + .dt_compat = asm9260_dt_board_compat, +MACHINE_END
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> --- arch/arm/Kconfig | 16 ++++++++ arch/arm/Makefile | 1 + arch/arm/mach-asm9260/Kconfig | 66 +++++++++++++++++++++++++++++++ arch/arm/mach-asm9260/Makefile | 11 ++++++ arch/arm/mach-asm9260/Makefile.boot | 2 + arch/arm/mach-asm9260/core.c | 77 +++++++++++++++++++++++++++++++++++++ 6 files changed, 173 insertions(+) create mode 100644 arch/arm/mach-asm9260/Kconfig create mode 100644 arch/arm/mach-asm9260/Makefile create mode 100644 arch/arm/mach-asm9260/Makefile.boot create mode 100644 arch/arm/mach-asm9260/core.c