From: linux@rempel-privat.de (Oleksij Rempel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/8] ARM: add mach-asm9260
Date: Sun, 21 Sep 2014 20:41:37 +0200 [thread overview]
Message-ID: <1411324904-14881-2-git-send-email-linux@rempel-privat.de> (raw)
In-Reply-To: <1411324904-14881-1-git-send-email-linux@rempel-privat.de>
it is low cost (?) SoC targeted for market in China and India which
trying to compete with 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
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
arch/arm/Kconfig | 14 +++++++
arch/arm/Makefile | 1 +
arch/arm/mach-asm9260/Makefile | 11 ++++++
arch/arm/mach-asm9260/Makefile.boot | 2 +
arch/arm/mach-asm9260/core.c | 77 +++++++++++++++++++++++++++++++++++++
5 files changed, 105 insertions(+)
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 5918d40..1a71feb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -379,6 +379,20 @@ config ARCH_AT91
This enables support for systems based on Atmel
AT91RM9200 and AT91SAM9* processors.
+config MACH_ASM9260
+ bool "Alphascale 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 Alpascale ASM9260 based platform.
+
config ARCH_CLPS711X
bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
select ARCH_REQUIRE_GPIOLIB
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 0ce9d0f..dda8f6d 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -146,6 +146,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/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..331af96
--- /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 Alphascale
+ *
+ * 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 = {
+ "alphascale,asm9260",
+ NULL
+};
+
+DT_MACHINE_START(ASM9260, "Alphascale ASM9260 (Device Tree Support)")
+ .map_io = asm9260_map_io,
+ .init_machine = asm9260_init,
+ .dt_compat = asm9260_dt_board_compat,
+MACHINE_END
--
1.9.1
next prev parent reply other threads:[~2014-09-21 18:41 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-21 18:41 [PATCH v2 0/8] initial suport for Alpscale ASM9260 Oleksij Rempel
2014-09-21 18:41 ` Oleksij Rempel [this message]
2014-09-22 15:08 ` [PATCH v2 1/8] ARM: add mach-asm9260 Arnd Bergmann
2014-09-23 9:00 ` Oleksij Rempel
2014-09-23 10:19 ` Arnd Bergmann
2014-09-24 8:00 ` Oleksij Rempel
2014-09-24 9:43 ` Russell King - ARM Linux
2014-09-24 9:56 ` Oleksij Rempel
2014-09-24 10:25 ` Russell King - ARM Linux
2014-09-24 10:33 ` Arnd Bergmann
2014-09-24 11:30 ` Oleksij Rempel
2014-09-21 18:41 ` [PATCH v2 2/8] add include/debug/asm9260.S Oleksij Rempel
2014-09-21 18:45 ` Oleksij Rempel
2014-09-21 18:45 ` [PATCH v2 3/8] add alphascale,asm9260.h binding Oleksij Rempel
2014-09-24 10:15 ` Mark Rutland
2014-09-21 18:45 ` [PATCH v2 4/8] ARM: dts: add DT for Alphascale ASM9260 SoC Oleksij Rempel
2014-09-22 15:14 ` Arnd Bergmann
2014-09-24 10:11 ` Mark Rutland
2014-09-21 18:45 ` [PATCH v2 5/8] clk: add clk-asm9260 driver Oleksij Rempel
2014-09-21 18:45 ` [PATCH v2 6/8] clocksource: add asm9260_timer driver Oleksij Rempel
2014-09-21 18:45 ` [PATCH v2 7/8] irqchip: add irq-asm9260 driver Oleksij Rempel
2014-09-22 15:22 ` Arnd Bergmann
2014-09-21 18:45 ` [PATCH v2 8/8] tty/serial: add asm9260-serial driver Oleksij Rempel
2014-09-22 15:26 ` Arnd Bergmann
2014-09-22 16:04 ` Oleksij Rempel
2014-09-24 9:24 ` Oleksij Rempel
2014-09-24 10:20 ` Arnd Bergmann
2014-09-23 11:32 ` [PATCH v2 0/8] initial suport for Alpscale ASM9260 Arnd Bergmann
2014-09-24 10:13 ` Mark Rutland
2014-10-07 8:55 ` [PATCH v3 0/9] initial suport for Alphascale ASM9260 Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 1/9] ARM: add mach-asm9260 Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 2/9] arm: add lolevel debug support for asm9260 Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 3/9] ARM: dts: add DT for Alphascale ASM9260 SoC Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 4/9] ARM: add alphascale,acc.txt bindings documentation Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 5/9] ARM: clk: add clk-asm9260 driver Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 6/9] clocksource: add asm9260_timer driver Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 7/9] irqchip/irq-mxs.c: add asm9260 support Oleksij Rempel
2014-10-08 7:45 ` Thomas Gleixner
2014-10-08 12:11 ` [PATCH v4 1/2] irqchip: mxs: prepare driver for HW with different offsets Oleksij Rempel
2014-10-08 12:11 ` [PATCH v4 2/2] irqchip: mxs: add Alpascale ASM9260 support Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 8/9] tty/serial/mxs-auart.c: add initial Alphascale " Oleksij Rempel
2014-10-07 8:55 ` [PATCH v3 9/9] add Alphascale to vendor-prefixes.txt Oleksij Rempel
2014-10-10 5:38 ` [PATCH v3 0/9] initial suport for Alphascale ASM9260 Oleksij Rempel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1411324904-14881-2-git-send-email-linux@rempel-privat.de \
--to=linux@rempel-privat.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).