[PATCH 1/7] ARM: add mach-asm9260
Jason Cooper
jason at lakedaemon.net
Sun Sep 14 00:12:06 PDT 2014
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 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
More information about the linux-arm-kernel
mailing list