[PATCH 1/7] ARM: add mach-asm9260
Oleksij Rempel
linux at rempel-privat.de
Sun Sep 14 00:45:04 PDT 2014
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 at 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 at rempel-privat.de>
>> + * Co-author: Du Huanpeng <u74147 at 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 at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Regards,
Oleksij
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140914/e58968e1/attachment.sig>
More information about the linux-arm-kernel
mailing list