From: netz.kernel@gmail.com (Marty Plummer)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 4/5] ARM: hisi: enable devicetree support for hi3520
Date: Thu, 15 Sep 2016 16:05:04 -0500 [thread overview]
Message-ID: <20160915210505.21878-5-netz.kernel@gmail.com> (raw)
In-Reply-To: <20160915210505.21878-1-netz.kernel@gmail.com>
GIC removed from the ARCH_HISI namespace and placed in individual SoC as
hi3520 uses a VIC instead and doesn't require a GIC
Signed-off-by: Marty Plummer <netz.kernel@gmail.com>
---
arch/arm/mach-hisi/Kconfig | 28 +++++++++++++++++++---------
arch/arm/mach-hisi/hisilicon.c | 28 ++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig
index 8a552c3..ea4e5b1 100644
--- a/arch/arm/mach-hisi/Kconfig
+++ b/arch/arm/mach-hisi/Kconfig
@@ -1,8 +1,7 @@
config ARCH_HISI
bool "Hisilicon SoC Support"
- depends on ARCH_MULTI_V7
+ depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
select ARM_AMBA
- select ARM_GIC
select ARM_TIMER_SP804
select POWER_RESET
select POWER_RESET_HISI
@@ -12,9 +11,17 @@ if ARCH_HISI
menu "Hisilicon platform type"
+config ARCH_HI3520_1176
+ bool "Hisilicon Hi3520 family"
+ depends on ARCH_MULTI_V6
+ select ARM_VIC
+ help
+ Support for Hisilicon Hi3520 SoC family
+
config ARCH_HI3620
bool "Hisilicon Hi3620 family"
depends on ARCH_MULTI_V7
+ select ARM_GIC
select CACHE_L2X0
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
@@ -24,17 +31,19 @@ config ARCH_HI3620
Support for Hisilicon Hi36xx SoC family
config ARCH_HIP01
- bool "Hisilicon HIP01 family"
- depends on ARCH_MULTI_V7
- select HAVE_ARM_SCU if SMP
- select HAVE_ARM_TWD if SMP
- select ARM_GLOBAL_TIMER
- help
- Support for Hisilicon HIP01 SoC family
+ bool "Hisilicon HIP01 family"
+ depends on ARCH_MULTI_V7
+ select ARM_GIC
+ select HAVE_ARM_SCU if SMP
+ select HAVE_ARM_TWD if SMP
+ select ARM_GLOBAL_TIMER
+ help
+ Support for Hisilicon HIP01 SoC family
config ARCH_HIP04
bool "Hisilicon HiP04 Cortex A15 family"
depends on ARCH_MULTI_V7
+ select ARM_GIC
select ARM_ERRATA_798181 if SMP
select HAVE_ARM_ARCH_TIMER
select MCPM if SMP
@@ -45,6 +54,7 @@ config ARCH_HIP04
config ARCH_HIX5HD2
bool "Hisilicon X5HD2 family"
depends on ARCH_MULTI_V7
+ select ARM_GIC
select CACHE_L2X0
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
diff --git a/arch/arm/mach-hisi/hisilicon.c b/arch/arm/mach-hisi/hisilicon.c
index dfa1ee8..7a15936 100644
--- a/arch/arm/mach-hisi/hisilicon.c
+++ b/arch/arm/mach-hisi/hisilicon.c
@@ -17,6 +17,8 @@
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
+#define HI3520_1176_SYSCTRL_PHYS_BASE 0x20050000
+#define HI3520_1176_SYSCTRL_VIRT_BASE 0xfe350000
#define HI3620_SYSCTRL_PHYS_BASE 0xfc802000
#define HI3620_SYSCTRL_VIRT_BASE 0xfe802000
@@ -28,6 +30,16 @@
* spaces wasted since ioremap() may be called multi times for the same
* IO space.
*/
+static struct map_desc hi3520_1176_io_desc[] __initdata = {
+ {
+ /* sysctrl */
+ .virtual = HI3520_1176_SYSCTRL_VIRT_BASE,
+ .pfn = __phys_to_pfn(HI3520_1176_SYSCTRL_PHYS_BASE),
+ .length = 0x10000,
+ .type = MT_DEVICE,
+ },
+};
+
static struct map_desc hi3620_io_desc[] __initdata = {
{
/* sysctrl */
@@ -38,17 +50,33 @@ static struct map_desc hi3620_io_desc[] __initdata = {
},
};
+static void __init hi3520_1176_map_io(void)
+{
+ debug_ll_io_init();
+ iotable_init(hi3520_1176_io_desc, ARRAY_SIZE(hi3520_1176_io_desc));
+}
+
static void __init hi3620_map_io(void)
{
debug_ll_io_init();
iotable_init(hi3620_io_desc, ARRAY_SIZE(hi3620_io_desc));
}
+static const char *const hi3520_1176_compat[] __initconst = {
+ "hisilicon,hi3520-1176",
+ NULL,
+};
+
static const char *const hi3620_compat[] __initconst = {
"hisilicon,hi3620-hi4511",
NULL,
};
+DT_MACHINE_START(HI3520_1176, "Hisilicon Hi3520-1176 (Flattened Device Tree)")
+ .map_io = hi3520_1176_map_io,
+ .dt_compat = hi3520_1176_compat,
+MACHINE_END
+
DT_MACHINE_START(HI3620, "Hisilicon Hi3620 (Flattened Device Tree)")
.map_io = hi3620_map_io,
.dt_compat = hi3620_compat,
--
2.9.3
next prev parent reply other threads:[~2016-09-15 21:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-15 21:05 [RFC PATCH v2 0/5] Add support for hi3520 Marty Plummer
2016-09-15 21:05 ` [RFC PATCH v2 1/5] ARM: hisi: Make 3620 explicit, remove wildcards Marty Plummer
2016-09-16 7:54 ` Arnd Bergmann
2016-09-15 21:05 ` [RFC PATCH v2 2/5] clk: hi3620: Make 3620 explicit, remove wildcard Marty Plummer
2016-09-16 8:05 ` Arnd Bergmann
2016-09-15 21:05 ` [RFC PATCH v2 3/5] dmaengine: hi3620: Make hi3620 " Marty Plummer
2016-09-16 8:04 ` Arnd Bergmann
2016-09-15 21:05 ` Marty Plummer [this message]
2016-09-16 7:56 ` [RFC PATCH v2 4/5] ARM: hisi: enable devicetree support for hi3520 Arnd Bergmann
2016-09-15 21:05 ` [RFC PATCH v2 5/5] ARM: hisi: add devicetree " Marty Plummer
2016-09-16 8:02 ` Arnd Bergmann
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=20160915210505.21878-5-netz.kernel@gmail.com \
--to=netz.kernel@gmail.com \
--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).