* [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10
@ 2013-04-05 6:12 Simon Horman
2013-04-05 6:12 ` [PATCH 1/3] ARM: shmobile: r8a7778: remove pointless PLATFORM_INFO() Simon Horman
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Simon Horman @ 2013-04-05 6:12 UTC (permalink / raw)
To: linux-arm-kernel
Hi Olof, Hi Arnd,
The following changes since commit 8585deb18580d04209a2986430aa0959ef38fce2:
ARM: shmobile: r8a7790 SoC 64-bit DT support (2013-04-02 11:02:21 +0900)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas tags/renesas-soc-r8a7778-for-v3.10
for you to fetch changes up to 524219146a89aee5366326c225ccd71231419d89:
ARM: shmobile: R8A7778: add Ether support (2013-04-05 10:57:05 +0900)
----------------------------------------------------------------
Renesas ARM r8a7778 SoC update for v3.10
Update to the r8a7778 SoC:
* Add SH Ethernet support
* Add r8a7778_init_irq_extpin() to allow configuration of IRQ0 - IRQ3
- This is a requirement for SMSC ethernet support
* Cleanup: remove PLATFORM_INFO macro
This pull request is based on:
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas renesas-soc2-for-v3.10
----------------------------------------------------------------
Kuninori Morimoto (2):
ARM: shmobile: r8a7778: remove pointless PLATFORM_INFO()
ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin()
Sergei Shtylyov (1):
ARM: shmobile: R8A7778: add Ether support
arch/arm/mach-shmobile/clock-r8a7778.c | 3 +
arch/arm/mach-shmobile/include/mach/r8a7778.h | 4 ++
arch/arm/mach-shmobile/setup-r8a7778.c | 83 ++++++++++++++++++++-----
3 files changed, 74 insertions(+), 16 deletions(-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: shmobile: r8a7778: remove pointless PLATFORM_INFO()
2013-04-05 6:12 [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Simon Horman
@ 2013-04-05 6:12 ` Simon Horman
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Simon Horman @ 2013-04-05 6:12 UTC (permalink / raw)
To: linux-arm-kernel
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
remove pointless PLATFORM_INFO() macro from setup-r8a7778,
and, used original platform_device_register_xxx()
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/setup-r8a7778.c | 26 +++++++++-----------------
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index 01c62be..57d6b0e 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -78,21 +78,13 @@ static struct sh_timer_config sh_tmu1_platform_data = {
.clocksource_rating = 200,
};
-#define PLATFORM_INFO(n, i) \
-{ \
- .parent = &platform_bus, \
- .name = #n, \
- .id = i, \
- .res = n ## i ## _resources, \
- .num_res = ARRAY_SIZE(n ## i ##_resources), \
- .data = &n ## i ##_platform_data, \
- .size_data = sizeof(n ## i ## _platform_data), \
-}
-
-struct platform_device_info platform_devinfo[] = {
- PLATFORM_INFO(sh_tmu, 0),
- PLATFORM_INFO(sh_tmu, 1),
-};
+#define r8a7778_register_tmu(idx) \
+ platform_device_register_resndata( \
+ &platform_bus, "sh_tmu", idx, \
+ sh_tmu##idx##_resources, \
+ ARRAY_SIZE(sh_tmu##idx##_resources), \
+ &sh_tmu##idx##_platform_data, \
+ sizeof(sh_tmu##idx##_platform_data))
void __init r8a7778_add_standard_devices(void)
{
@@ -114,8 +106,8 @@ void __init r8a7778_add_standard_devices(void)
&scif_platform_data[i],
sizeof(struct plat_sci_port));
- for (i = 0; i < ARRAY_SIZE(platform_devinfo); i++)
- platform_device_register_full(&platform_devinfo[i]);
+ r8a7778_register_tmu(0);
+ r8a7778_register_tmu(1);
}
#define INT2SMSKCR0 0x82288 /* 0xfe782288 */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin()
2013-04-05 6:12 [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Simon Horman
2013-04-05 6:12 ` [PATCH 1/3] ARM: shmobile: r8a7778: remove pointless PLATFORM_INFO() Simon Horman
@ 2013-04-05 6:12 ` Simon Horman
2013-10-02 6:13 ` [PATCH 2/3] ARM: shmobile: r8a7778: add renesas_intc_irqpin support on DT Kuninori Morimoto
` (3 more replies)
2013-04-05 6:12 ` [PATCH 3/3] ARM: shmobile: R8A7778: add Ether support Simon Horman
2013-04-09 12:53 ` [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Arnd Bergmann
3 siblings, 4 replies; 10+ messages in thread
From: Simon Horman @ 2013-04-05 6:12 UTC (permalink / raw)
To: linux-arm-kernel
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
This patch adds r8a7778_init_irq_extpin() for IRQ0 - IRQ3.
But this patch doesn't enable DT settings on r8a7778.dts,
because R8A7778 chip external IRQ depends on
IRQ0 - IRQ3 pin encoding which came from platform board
implementation.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/include/mach/r8a7778.h | 1 +
arch/arm/mach-shmobile/setup-r8a7778.c | 44 +++++++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h
index a755dca..e0c6205 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h
@@ -24,5 +24,6 @@ extern void r8a7778_init_delay(void);
extern void r8a7778_init_irq(void);
extern void r8a7778_init_irq_dt(void);
extern void r8a7778_clock_init(void);
+extern void r8a7778_init_irq_extpin(int irlm);
#endif /* __ASM_R8A7778_H__ */
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index 57d6b0e..2882305 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -23,6 +23,7 @@
#include <linux/irqchip/arm-gic.h>
#include <linux/of.h>
#include <linux/of_platform.h>
+#include <linux/platform_data/irq-renesas-intc-irqpin.h>
#include <linux/platform_device.h>
#include <linux/irqchip.h>
#include <linux/serial_sci.h>
@@ -110,6 +111,49 @@ void __init r8a7778_add_standard_devices(void)
r8a7778_register_tmu(1);
}
+static struct renesas_intc_irqpin_config irqpin_platform_data = {
+ .irq_base = irq_pin(0), /* IRQ0 -> IRQ3 */
+ .sense_bitfield_width = 2,
+};
+
+static struct resource irqpin_resources[] = {
+ DEFINE_RES_MEM(0xfe78001c, 4), /* ICR1 */
+ DEFINE_RES_MEM(0xfe780010, 4), /* INTPRI */
+ DEFINE_RES_MEM(0xfe780024, 4), /* INTREQ */
+ DEFINE_RES_MEM(0xfe780044, 4), /* INTMSK0 */
+ DEFINE_RES_MEM(0xfe780064, 4), /* INTMSKCLR0 */
+ DEFINE_RES_IRQ(gic_iid(0x3b)), /* IRQ0 */
+ DEFINE_RES_IRQ(gic_iid(0x3c)), /* IRQ1 */
+ DEFINE_RES_IRQ(gic_iid(0x3d)), /* IRQ2 */
+ DEFINE_RES_IRQ(gic_iid(0x3e)), /* IRQ3 */
+};
+
+void __init r8a7778_init_irq_extpin(int irlm)
+{
+ void __iomem *icr0 = ioremap_nocache(0xfe780000, PAGE_SIZE);
+ unsigned long tmp;
+
+ if (!icr0) {
+ pr_warn("r8a7778: unable to setup external irq pin mode\n");
+ return;
+ }
+
+ tmp = ioread32(icr0);
+ if (irlm)
+ tmp |= 1 << 23; /* IRQ0 -> IRQ3 as individual pins */
+ else
+ tmp &= ~(1 << 23); /* IRL mode - not supported */
+ tmp |= (1 << 21); /* LVLMODE = 1 */
+ iowrite32(tmp, icr0);
+ iounmap(icr0);
+
+ if (irlm)
+ platform_device_register_resndata(
+ &platform_bus, "renesas_intc_irqpin", -1,
+ irqpin_resources, ARRAY_SIZE(irqpin_resources),
+ &irqpin_platform_data, sizeof(irqpin_platform_data));
+}
+
#define INT2SMSKCR0 0x82288 /* 0xfe782288 */
#define INT2SMSKCR1 0x8228c /* 0xfe78228c */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] ARM: shmobile: R8A7778: add Ether support
2013-04-05 6:12 [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Simon Horman
2013-04-05 6:12 ` [PATCH 1/3] ARM: shmobile: r8a7778: remove pointless PLATFORM_INFO() Simon Horman
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
@ 2013-04-05 6:12 ` Simon Horman
2013-04-18 6:41 ` [PATCH 3/3] ARM: shmobile: r8a7778: add GPIO support Kuninori Morimoto
2013-04-09 12:53 ` [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Arnd Bergmann
3 siblings, 1 reply; 10+ messages in thread
From: Simon Horman @ 2013-04-05 6:12 UTC (permalink / raw)
To: linux-arm-kernel
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Add Ether clock and platform device for R8A7778 SoC; add a function to register
this device with board-specific platform data.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/clock-r8a7778.c | 3 +++
arch/arm/mach-shmobile/include/mach/r8a7778.h | 3 +++
arch/arm/mach-shmobile/setup-r8a7778.c | 15 +++++++++++++++
3 files changed, 21 insertions(+)
diff --git a/arch/arm/mach-shmobile/clock-r8a7778.c b/arch/arm/mach-shmobile/clock-r8a7778.c
index f1277f4..cd68552 100644
--- a/arch/arm/mach-shmobile/clock-r8a7778.c
+++ b/arch/arm/mach-shmobile/clock-r8a7778.c
@@ -58,11 +58,13 @@ static struct clk *main_clks[] = {
};
enum {
+ MSTP114,
MSTP026, MSTP025, MSTP024, MSTP023, MSTP022, MSTP021,
MSTP016, MSTP015,
MSTP_NR };
static struct clk mstp_clks[MSTP_NR] = {
+ [MSTP114] = SH_CLK_MSTP32(&clkp, MSTPCR1, 14, 0), /* Ether */
[MSTP026] = SH_CLK_MSTP32(&clkp, MSTPCR0, 26, 0), /* SCIF0 */
[MSTP025] = SH_CLK_MSTP32(&clkp, MSTPCR0, 25, 0), /* SCIF1 */
[MSTP024] = SH_CLK_MSTP32(&clkp, MSTPCR0, 24, 0), /* SCIF2 */
@@ -75,6 +77,7 @@ static struct clk mstp_clks[MSTP_NR] = {
static struct clk_lookup lookups[] = {
/* MSTP32 clocks */
+ CLKDEV_DEV_ID("sh-eth", &mstp_clks[MSTP114]), /* Ether */
CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP026]), /* SCIF0 */
CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP025]), /* SCIF1 */
CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP024]), /* SCIF2 */
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h
index e0c6205..951149e 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h
@@ -18,8 +18,11 @@
#ifndef __ASM_R8A7778_H__
#define __ASM_R8A7778_H__
+#include <linux/sh_eth.h>
+
extern void r8a7778_add_standard_devices(void);
extern void r8a7778_add_standard_devices_dt(void);
+extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata);
extern void r8a7778_init_delay(void);
extern void r8a7778_init_irq(void);
extern void r8a7778_init_irq_dt(void);
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index 2882305..30b4a33 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -3,6 +3,7 @@
*
* Copyright (C) 2013 Renesas Solutions Corp.
* Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+ * Copyright (C) 2013 Cogent Embedded, Inc.
*
* 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
@@ -79,6 +80,12 @@ static struct sh_timer_config sh_tmu1_platform_data = {
.clocksource_rating = 200,
};
+/* Ether */
+static struct resource ether_resources[] = {
+ DEFINE_RES_MEM(0xfde00000, 0x400),
+ DEFINE_RES_IRQ(gic_iid(0x89)),
+};
+
#define r8a7778_register_tmu(idx) \
platform_device_register_resndata( \
&platform_bus, "sh_tmu", idx, \
@@ -111,6 +118,14 @@ void __init r8a7778_add_standard_devices(void)
r8a7778_register_tmu(1);
}
+void __init r8a7778_add_ether_device(struct sh_eth_plat_data *pdata)
+{
+ platform_device_register_resndata(&platform_bus, "sh_eth", -1,
+ ether_resources,
+ ARRAY_SIZE(ether_resources),
+ pdata, sizeof(*pdata));
+}
+
static struct renesas_intc_irqpin_config irqpin_platform_data = {
.irq_base = irq_pin(0), /* IRQ0 -> IRQ3 */
.sense_bitfield_width = 2,
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10
2013-04-05 6:12 [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Simon Horman
` (2 preceding siblings ...)
2013-04-05 6:12 ` [PATCH 3/3] ARM: shmobile: R8A7778: add Ether support Simon Horman
@ 2013-04-09 12:53 ` Arnd Bergmann
3 siblings, 0 replies; 10+ messages in thread
From: Arnd Bergmann @ 2013-04-09 12:53 UTC (permalink / raw)
To: linux-arm-kernel
On Friday 05 April 2013, Simon Horman wrote:
> Hi Olof, Hi Arnd,
>
> The following changes since commit 8585deb18580d04209a2986430aa0959ef38fce2:
>
> ARM: shmobile: r8a7790 SoC 64-bit DT support (2013-04-02 11:02:21 +0900)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas tags/renesas-soc-r8a7778-for-v3.10
>
> for you to fetch changes up to 524219146a89aee5366326c225ccd71231419d89:
>
> ARM: shmobile: R8A7778: add Ether support (2013-04-05 10:57:05 +0900)
Pulled into next/soc2, thanks!
Arnd
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/3] ARM: shmobile: r8a7778: add GPIO support
2013-04-05 6:12 ` [PATCH 3/3] ARM: shmobile: R8A7778: add Ether support Simon Horman
@ 2013-04-18 6:41 ` Kuninori Morimoto
0 siblings, 0 replies; 10+ messages in thread
From: Kuninori Morimoto @ 2013-04-18 6:41 UTC (permalink / raw)
To: linux-sh
This patch was tested on Bock-W board
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
arch/arm/mach-shmobile/setup-r8a7778.c | 36 +++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index d82954b..1122618 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -24,6 +24,7 @@
#include <linux/irqchip/arm-gic.h>
#include <linux/of.h>
#include <linux/of_platform.h>
+#include <linux/platform_data/gpio-rcar.h>
#include <linux/platform_data/irq-renesas-intc-irqpin.h>
#include <linux/platform_device.h>
#include <linux/irqchip.h>
@@ -102,17 +103,50 @@ void __init r8a7778_add_ether_device(struct sh_eth_plat_data *pdata)
pdata, sizeof(*pdata));
}
-/* PFC */
+/* PFC/GPIO */
static struct resource pfc_resources[] = {
DEFINE_RES_MEM(0xfffc0000, 0x118),
};
+#define R8A7778_GPIO(idx) \
+static struct resource r8a7778_gpio##idx##_resources[] = { \
+ DEFINE_RES_MEM(0xffc40000 + 0x1000 * (idx), 0x30), \
+ DEFINE_RES_IRQ(gic_iid(0x87)), \
+}; \
+ \
+static struct gpio_rcar_config r8a7778_gpio##idx##_platform_data = { \
+ .gpio_base = 32 * (idx), \
+ .irq_base = GPIO_IRQ_BASE(idx), \
+ .number_of_pins = 32, \
+ .pctl_name = "pfc-r8a7778", \
+}
+
+R8A7778_GPIO(0);
+R8A7778_GPIO(1);
+R8A7778_GPIO(2);
+R8A7778_GPIO(3);
+R8A7778_GPIO(4);
+
+#define r8a7778_register_gpio(idx) \
+ platform_device_register_resndata( \
+ &platform_bus, "gpio_rcar", idx, \
+ r8a7778_gpio##idx##_resources, \
+ ARRAY_SIZE(r8a7778_gpio##idx##_resources), \
+ &r8a7778_gpio##idx##_platform_data, \
+ sizeof(r8a7778_gpio##idx##_platform_data))
+
void __init r8a7778_pinmux_init(void)
{
platform_device_register_simple(
"pfc-r8a7778", -1,
pfc_resources,
ARRAY_SIZE(pfc_resources));
+
+ r8a7778_register_gpio(0);
+ r8a7778_register_gpio(1);
+ r8a7778_register_gpio(2);
+ r8a7778_register_gpio(3);
+ r8a7778_register_gpio(4);
}
void __init r8a7778_add_standard_devices(void)
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] ARM: shmobile: r8a7778: add renesas_intc_irqpin support on DT
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
@ 2013-10-02 6:13 ` Kuninori Morimoto
2013-11-01 1:22 ` [PATCH 2/3] ARM: shmobile: r8a7778: add HSPI clock support for DT Kuninori Morimoto
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Kuninori Morimoto @ 2013-10-02 6:13 UTC (permalink / raw)
To: linux-sh
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
arch/arm/boot/dts/r8a7778.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm/boot/dts/r8a7778.dtsi b/arch/arm/boot/dts/r8a7778.dtsi
index 3577aba..a6308a3 100644
--- a/arch/arm/boot/dts/r8a7778.dtsi
+++ b/arch/arm/boot/dts/r8a7778.dtsi
@@ -33,6 +33,25 @@
<0xfe430000 0x100>;
};
+ /* irqpin: IRQ0 - IRQ3 */
+ irqpin: irqpin@fe78001c {
+ compatible = "renesas,intc-irqpin";
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ status = "disabled"; /* default off */
+ reg = <0xfe78001c 4>,
+ <0xfe780010 4>,
+ <0xfe780024 4>,
+ <0xfe780044 4>,
+ <0xfe780064 4>;
+ interrupt-parent = <&gic>;
+ interrupts = <0 27 0x4
+ 0 28 0x4
+ 0 29 0x4
+ 0 30 0x4>;
+ sense-bitfield-width = <2>;
+ };
+
gpio0: gpio@ffc40000 {
compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
reg = <0xffc40000 0x2c>;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] ARM: shmobile: r8a7778: add HSPI clock support for DT
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
2013-10-02 6:13 ` [PATCH 2/3] ARM: shmobile: r8a7778: add renesas_intc_irqpin support on DT Kuninori Morimoto
@ 2013-11-01 1:22 ` Kuninori Morimoto
2013-11-08 7:56 ` Simon Horman
2013-11-18 2:51 ` [PATCH 2/3] ARM: shmobile: r8a7778: add HPBIFx DMAEngine support Kuninori Morimoto
3 siblings, 0 replies; 10+ messages in thread
From: Kuninori Morimoto @ 2013-11-01 1:22 UTC (permalink / raw)
To: linux-sh
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
arch/arm/mach-shmobile/clock-r8a7778.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/mach-shmobile/clock-r8a7778.c b/arch/arm/mach-shmobile/clock-r8a7778.c
index 3c25282..4b601bf 100644
--- a/arch/arm/mach-shmobile/clock-r8a7778.c
+++ b/arch/arm/mach-shmobile/clock-r8a7778.c
@@ -203,8 +203,11 @@ static struct clk_lookup lookups[] = {
CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP016]), /* TMU00 */
CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP015]), /* TMU01 */
CLKDEV_DEV_ID("sh-hspi.0", &mstp_clks[MSTP007]), /* HSPI0 */
+ CLKDEV_DEV_ID("fffc7000.spi", &mstp_clks[MSTP007]), /* HSPI0 */
CLKDEV_DEV_ID("sh-hspi.1", &mstp_clks[MSTP007]), /* HSPI1 */
+ CLKDEV_DEV_ID("fffc8000.spi", &mstp_clks[MSTP007]), /* HSPI1 */
CLKDEV_DEV_ID("sh-hspi.2", &mstp_clks[MSTP007]), /* HSPI2 */
+ CLKDEV_DEV_ID("fffc6000.spi", &mstp_clks[MSTP007]), /* HSPI2 */
CLKDEV_DEV_ID("rcar_sound", &mstp_clks[MSTP008]), /* SRU */
CLKDEV_ICK_ID("ssi.0", "rcar_sound", &mstp_clks[MSTP012]),
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] ARM: shmobile: r8a7778: add HSPI clock support for DT
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
2013-10-02 6:13 ` [PATCH 2/3] ARM: shmobile: r8a7778: add renesas_intc_irqpin support on DT Kuninori Morimoto
2013-11-01 1:22 ` [PATCH 2/3] ARM: shmobile: r8a7778: add HSPI clock support for DT Kuninori Morimoto
@ 2013-11-08 7:56 ` Simon Horman
2013-11-18 2:51 ` [PATCH 2/3] ARM: shmobile: r8a7778: add HPBIFx DMAEngine support Kuninori Morimoto
3 siblings, 0 replies; 10+ messages in thread
From: Simon Horman @ 2013-11-08 7:56 UTC (permalink / raw)
To: linux-sh
On Thu, Oct 31, 2013 at 06:22:39PM -0700, Kuninori Morimoto wrote:
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thanks, I have queued this up.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/3] ARM: shmobile: r8a7778: add HPBIFx DMAEngine support
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
` (2 preceding siblings ...)
2013-11-08 7:56 ` Simon Horman
@ 2013-11-18 2:51 ` Kuninori Morimoto
3 siblings, 0 replies; 10+ messages in thread
From: Kuninori Morimoto @ 2013-11-18 2:51 UTC (permalink / raw)
To: linux-sh
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
arch/arm/mach-shmobile/include/mach/r8a7778.h | 18 +++++++++
arch/arm/mach-shmobile/setup-r8a7778.c | 51 +++++++++++++++++++++++++
2 files changed, 69 insertions(+)
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h
index 441886c..b497f93 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h
@@ -27,6 +27,24 @@ enum {
HPBDMA_SLAVE_DUMMY,
HPBDMA_SLAVE_SDHI0_TX,
HPBDMA_SLAVE_SDHI0_RX,
+ HPBDMA_SLAVE_HPBIF0_TX,
+ HPBDMA_SLAVE_HPBIF0_RX,
+ HPBDMA_SLAVE_HPBIF1_TX,
+ HPBDMA_SLAVE_HPBIF1_RX,
+ HPBDMA_SLAVE_HPBIF2_TX,
+ HPBDMA_SLAVE_HPBIF2_RX,
+ HPBDMA_SLAVE_HPBIF3_TX,
+ HPBDMA_SLAVE_HPBIF3_RX,
+ HPBDMA_SLAVE_HPBIF4_TX,
+ HPBDMA_SLAVE_HPBIF4_RX,
+ HPBDMA_SLAVE_HPBIF5_TX,
+ HPBDMA_SLAVE_HPBIF5_RX,
+ HPBDMA_SLAVE_HPBIF6_TX,
+ HPBDMA_SLAVE_HPBIF6_RX,
+ HPBDMA_SLAVE_HPBIF7_TX,
+ HPBDMA_SLAVE_HPBIF7_RX,
+ HPBDMA_SLAVE_HPBIF8_TX,
+ HPBDMA_SLAVE_HPBIF8_RX,
};
extern void r8a7778_add_standard_devices(void);
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index 03fcc59..81701cf 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -319,6 +319,29 @@ void __init r8a7778_add_dt_devices(void)
#define HPB_DMAE_ASYNCMDR_ASMD21_SINGLE BIT(1) /* SDHI0 */
#define HPB_DMAE_ASYNCMDR_ASMD21_MULTI 0 /* SDHI0 */
+#define HPBDMA_HPBIF(_id) \
+{ \
+ .id = HPBDMA_SLAVE_HPBIF## _id ##_TX, \
+ .addr = 0xffda0000 + (_id * 0x1000), \
+ .dcr = HPB_DMAE_DCR_CT | \
+ HPB_DMAE_DCR_DIP | \
+ HPB_DMAE_DCR_SPDS_32BIT | \
+ HPB_DMAE_DCR_DMDL | \
+ HPB_DMAE_DCR_DPDS_32BIT, \
+ .port = 0x1111, \
+ .dma_ch = (28 + _id), \
+}, { \
+ .id = HPBDMA_SLAVE_HPBIF## _id ##_RX, \
+ .addr = 0xffda0000 + (_id * 0x1000), \
+ .dcr = HPB_DMAE_DCR_CT | \
+ HPB_DMAE_DCR_DIP | \
+ HPB_DMAE_DCR_SMDL | \
+ HPB_DMAE_DCR_SPDS_32BIT | \
+ HPB_DMAE_DCR_DPDS_32BIT, \
+ .port = 0x1111, \
+ .dma_ch = (28 + _id), \
+}
+
static const struct hpb_dmae_slave_config hpb_dmae_slaves[] = {
{
.id = HPBDMA_SLAVE_SDHI0_TX,
@@ -349,11 +372,39 @@ static const struct hpb_dmae_slave_config hpb_dmae_slaves[] = {
.flags = HPB_DMAE_SET_ASYNC_RESET | HPB_DMAE_SET_ASYNC_MODE,
.dma_ch = 22,
},
+
+ HPBDMA_HPBIF(0),
+ HPBDMA_HPBIF(1),
+ HPBDMA_HPBIF(2),
+ HPBDMA_HPBIF(3),
+ HPBDMA_HPBIF(4),
+ HPBDMA_HPBIF(5),
+ HPBDMA_HPBIF(6),
+ HPBDMA_HPBIF(7),
+ HPBDMA_HPBIF(8),
};
static const struct hpb_dmae_channel hpb_dmae_channels[] = {
HPB_DMAE_CHANNEL(0x7e, HPBDMA_SLAVE_SDHI0_TX), /* ch. 21 */
HPB_DMAE_CHANNEL(0x7e, HPBDMA_SLAVE_SDHI0_RX), /* ch. 22 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF0_TX), /* ch. 28 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF0_RX), /* ch. 28 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF1_TX), /* ch. 29 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF1_RX), /* ch. 29 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF2_TX), /* ch. 30 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF2_RX), /* ch. 30 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF3_TX), /* ch. 31 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF3_RX), /* ch. 31 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF4_TX), /* ch. 32 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF4_RX), /* ch. 32 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF5_TX), /* ch. 33 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF5_RX), /* ch. 33 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF6_TX), /* ch. 34 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF6_RX), /* ch. 34 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF7_TX), /* ch. 35 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF7_RX), /* ch. 35 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF8_TX), /* ch. 36 */
+ HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF8_RX), /* ch. 36 */
};
static struct hpb_dmae_pdata dma_platform_data __initdata = {
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-11-18 2:51 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-05 6:12 [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Simon Horman
2013-04-05 6:12 ` [PATCH 1/3] ARM: shmobile: r8a7778: remove pointless PLATFORM_INFO() Simon Horman
2013-04-05 6:12 ` [PATCH 2/3] ARM: shmobile: r8a7778: add r8a7778_init_irq_extpin() Simon Horman
2013-10-02 6:13 ` [PATCH 2/3] ARM: shmobile: r8a7778: add renesas_intc_irqpin support on DT Kuninori Morimoto
2013-11-01 1:22 ` [PATCH 2/3] ARM: shmobile: r8a7778: add HSPI clock support for DT Kuninori Morimoto
2013-11-08 7:56 ` Simon Horman
2013-11-18 2:51 ` [PATCH 2/3] ARM: shmobile: r8a7778: add HPBIFx DMAEngine support Kuninori Morimoto
2013-04-05 6:12 ` [PATCH 3/3] ARM: shmobile: R8A7778: add Ether support Simon Horman
2013-04-18 6:41 ` [PATCH 3/3] ARM: shmobile: r8a7778: add GPIO support Kuninori Morimoto
2013-04-09 12:53 ` [GIT PULL] Renesas ARM r8a7778 SoC update for v3.10 Arnd Bergmann
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).