* [PATCH 01/11] ARM: shmobile: Lager: pass Ether PHY IRQ
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 02/11] ARM: shmobile: Koelsch: " Simon Horman
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Pass Ether's PHY IRQ (which is IRQC's IRQ0) to the 'sh_eth' driver. Set the IRQ
trigger type to be low-level as per the Micrel PHY driver's setup.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-lager.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
index fdcc868..30ebd08 100644
--- a/arch/arm/mach-shmobile/board-lager.c
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -22,6 +22,7 @@
#include <linux/gpio_keys.h>
#include <linux/input.h>
#include <linux/interrupt.h>
+#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/leds.h>
#include <linux/mmc/host.h>
@@ -233,6 +234,7 @@ static const struct resource mmcif1_resources[] __initconst = {
/* Ether */
static const struct sh_eth_plat_data ether_pdata __initconst = {
.phy = 0x1,
+ .phy_irq = irq_pin(0),
.edmac_endian = EDMAC_LITTLE_ENDIAN,
.phy_interface = PHY_INTERFACE_MODE_RMII,
.ether_link_active_low = 1,
@@ -618,6 +620,8 @@ static void __init lager_init(void)
{
lager_add_standard_devices();
+ irq_set_irq_type(irq_pin(0), IRQ_TYPE_LEVEL_LOW);
+
if (IS_ENABLED(CONFIG_PHYLIB))
phy_register_fixup_for_id("r8a7790-ether-ff:01",
lager_ksz8041_fixup);
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 02/11] ARM: shmobile: Koelsch: pass Ether PHY IRQ
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
2014-02-13 8:03 ` [PATCH 01/11] ARM: shmobile: Lager: pass Ether PHY IRQ Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 03/11] ARM: shmobile: koelsch: Add I2C support Simon Horman
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Pass Ether's PHY IRQ (which is IRQC's IRQ0) to the 'sh_eth' driver. Set the IRQ
trigger type to be low-level as per the Micrel PHY driver's setup.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-koelsch.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/mach-shmobile/board-koelsch.c b/arch/arm/mach-shmobile/board-koelsch.c
index 2ab5c75..1ec3b91 100644
--- a/arch/arm/mach-shmobile/board-koelsch.c
+++ b/arch/arm/mach-shmobile/board-koelsch.c
@@ -23,6 +23,7 @@
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
#include <linux/input.h>
+#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/leds.h>
#include <linux/phy.h>
@@ -92,6 +93,7 @@ static void __init koelsch_add_du_device(void)
/* Ether */
static const struct sh_eth_plat_data ether_pdata __initconst = {
.phy = 0x1,
+ .phy_irq = irq_pin(0),
.edmac_endian = EDMAC_LITTLE_ENDIAN,
.phy_interface = PHY_INTERFACE_MODE_RMII,
.ether_link_active_low = 1,
@@ -232,6 +234,8 @@ static void __init koelsch_init(void)
{
koelsch_add_standard_devices();
+ irq_set_irq_type(irq_pin(0), IRQ_TYPE_LEVEL_LOW);
+
if (IS_ENABLED(CONFIG_PHYLIB))
phy_register_fixup_for_id("r8a7791-ether-ff:01",
koelsch_ksz8041_fixup);
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 03/11] ARM: shmobile: koelsch: Add I2C support
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
2014-02-13 8:03 ` [PATCH 01/11] ARM: shmobile: Lager: pass Ether PHY IRQ Simon Horman
2014-02-13 8:03 ` [PATCH 02/11] ARM: shmobile: Koelsch: " Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 04/11] ARM: shmobile: bockw: use wp-gpios instead of WP pin Simon Horman
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Valentine Barshak <valentine.barshak@cogentembedded.com>
This adds I2C[1245] busses support to Koelsch board.
I2C[03] do not have any slave devices connected and
are not used because of the following:
* I2C0 pins are multiplexed with LBSC pins;
* I2C3 pins are multiplexed with EtherMAC and VIN0 pins.
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-koelsch.c | 46 ++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/arch/arm/mach-shmobile/board-koelsch.c b/arch/arm/mach-shmobile/board-koelsch.c
index 1ec3b91..2741dba 100644
--- a/arch/arm/mach-shmobile/board-koelsch.c
+++ b/arch/arm/mach-shmobile/board-koelsch.c
@@ -165,6 +165,38 @@ static const struct platform_device_info sata0_info __initconst = {
.dma_mask = DMA_BIT_MASK(32),
};
+/* I2C */
+static const struct resource i2c_resources[] __initconst = {
+ /* I2C0 */
+ DEFINE_RES_MEM(0xE6508000, 0x40),
+ DEFINE_RES_IRQ(gic_spi(287)),
+ /* I2C1 */
+ DEFINE_RES_MEM(0xE6518000, 0x40),
+ DEFINE_RES_IRQ(gic_spi(288)),
+ /* I2C2 */
+ DEFINE_RES_MEM(0xE6530000, 0x40),
+ DEFINE_RES_IRQ(gic_spi(286)),
+ /* I2C3 */
+ DEFINE_RES_MEM(0xE6540000, 0x40),
+ DEFINE_RES_IRQ(gic_spi(290)),
+ /* I2C4 */
+ DEFINE_RES_MEM(0xE6520000, 0x40),
+ DEFINE_RES_IRQ(gic_spi(19)),
+ /* I2C5 */
+ DEFINE_RES_MEM(0xE6528000, 0x40),
+ DEFINE_RES_IRQ(gic_spi(20)),
+};
+
+static void __init koelsch_add_i2c(unsigned idx)
+{
+ unsigned res_idx = idx * 2;
+
+ BUG_ON(res_idx >= ARRAY_SIZE(i2c_resources));
+
+ platform_device_register_simple("i2c-rcar_gen2", idx,
+ i2c_resources + res_idx, 2);
+}
+
static const struct pinctrl_map koelsch_pinctrl_map[] = {
/* DU */
PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7791", "pfc-r8a7791",
@@ -188,6 +220,15 @@ static const struct pinctrl_map koelsch_pinctrl_map[] = {
/* SCIF1 (CN20: DEBUG SERIAL1) */
PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7791",
"scif1_data_d", "scif1"),
+ /* I2C1 */
+ PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar_gen2.1", "pfc-r8a7791",
+ "i2c1_e", "i2c1"),
+ /* I2C2 */
+ PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar_gen2.2", "pfc-r8a7791",
+ "i2c2", "i2c2"),
+ /* I2C4 */
+ PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar_gen2.4", "pfc-r8a7791",
+ "i2c4_c", "i2c4"),
};
static void __init koelsch_add_standard_devices(void)
@@ -211,6 +252,11 @@ static void __init koelsch_add_standard_devices(void)
koelsch_add_du_device();
platform_device_register_full(&sata0_info);
+
+ koelsch_add_i2c(1);
+ koelsch_add_i2c(2);
+ koelsch_add_i2c(4);
+ koelsch_add_i2c(5);
}
/*
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 04/11] ARM: shmobile: bockw: use wp-gpios instead of WP pin
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (2 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 03/11] ARM: shmobile: koelsch: Add I2C support Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 05/11] ARM: shmobile: Lager USB0 cable detection workaround Simon Horman
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Latest Renesas Chip has some SDHI channels and the WP pin
availability depends on its channel or HW implementation.
Thus, this patch decides new policy whch indicates
WP is disabled as default.
But, we can use wp-gpios property to enable it as
other method.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/boot/dts/r8a7778-bockw-reference.dts | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/r8a7778-bockw-reference.dts b/arch/arm/boot/dts/r8a7778-bockw-reference.dts
index bb62c7a..06cda19 100644
--- a/arch/arm/boot/dts/r8a7778-bockw-reference.dts
+++ b/arch/arm/boot/dts/r8a7778-bockw-reference.dts
@@ -17,6 +17,7 @@
/dts-v1/;
#include "r8a7778.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
/ {
model = "bockw";
@@ -84,7 +85,7 @@
sdhi0_pins: sd0 {
renesas,groups = "sdhi0_data4", "sdhi0_ctrl",
- "sdhi0_cd", "sdhi0_wp";
+ "sdhi0_cd";
renesas,function = "sdhi0";
};
@@ -101,6 +102,7 @@
vmmc-supply = <&fixedregulator3v3>;
bus-width = <4>;
status = "okay";
+ wp-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
};
&hspi0 {
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15
@ 2014-02-13 8:03 Simon Horman
2014-02-13 8:03 ` [PATCH 01/11] ARM: shmobile: Lager: pass Ether PHY IRQ Simon Horman
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
Hi Olof, Hi Kevin, Hi Arnd,
please consider this second round of Renesas ARM based SoC board updates
for v3.15.
This pull-request is based on the first round of such updates,
tagged as renesas-boards-for-v3.15, which I have previously sent a
pull-request for.
The following changes since commit 235cda29e4d5047622ff9b82b1f0b4cb6cf95f6c:
ARM: shmobile: Remove Lager USBHS UDC ifdefs (2014-02-04 14:28:33 +0900)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-boards2-for-v3.15
for you to fetch changes up to 03fec7dee502d43114f384a1588ce84a3c9bf38d:
ARM: shmobile: genmai: Enable r7s72100-ether (2014-02-07 09:20:03 +0900)
----------------------------------------------------------------
Second Round of Renesas ARM Based SoC Board Updates for v3.15
* r7s72100 (RZ/A1H) based Genmai board
- Enable SH ethernet
- Add RSPI support
* r8a7791 (R-Car M2) based Koelsch board
- Add QSPI support
- Add I2C support
- Pass SH ethernet PHY IRQ
* r8a7790 (R-Car H2) based Lager board
- Switch QSPI to named IRQs
- Add sound support
- Add USB0 cable detection workaround
- Pass SH ethernet PHY IRQ
* r8a7779 (R-Car H1) based Marzen board
- Revert conditional selection of SMSC_PHY
* r8a7778 (R-Car M1) based Bock-W board
- Use wp-gpios instead of WP pin
----------------------------------------------------------------
Geert Uytterhoeven (3):
ARM: shmobile: genmai legacy: Add RSPI support
ARM: shmobile: koelsch legacy: Add QSPI support
ARM: shmobile: lager legacy: Switch QSPI to named IRQs
Kuninori Morimoto (2):
ARM: shmobile: bockw: use wp-gpios instead of WP pin
ARM: shmobile: lager: add sound support
Magnus Damm (1):
ARM: shmobile: Lager USB0 cable detection workaround
Sergei Shtylyov (2):
ARM: shmobile: Lager: pass Ether PHY IRQ
ARM: shmobile: Koelsch: pass Ether PHY IRQ
Simon Horman (2):
Revert "ARM: shmobile: marzen: Conditionally select SMSC_PHY"
ARM: shmobile: genmai: Enable r7s72100-ether
Valentine Barshak (1):
ARM: shmobile: koelsch: Add I2C support
arch/arm/boot/dts/r8a7778-bockw-reference.dts | 4 +-
arch/arm/mach-shmobile/Kconfig | 3 +-
arch/arm/mach-shmobile/board-genmai.c | 64 +++++++++++++
arch/arm/mach-shmobile/board-koelsch.c | 114 ++++++++++++++++++++++
arch/arm/mach-shmobile/board-lager.c | 131 +++++++++++++++++++++++++-
5 files changed, 309 insertions(+), 7 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 05/11] ARM: shmobile: Lager USB0 cable detection workaround
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (3 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 04/11] ARM: shmobile: bockw: use wp-gpios instead of WP pin Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 06/11] ARM: shmobile: lager: add sound support Simon Horman
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Magnus Damm <damm@opensource.se>
Add Lager board code to check the PWEN GPIO signal and refuse to
allow probe of the USBHS driver in case of DIP misconfiguration.
For correct operation Lager DIP switches SW5 and SW6 shall be
configured in 2-3 position to enable USB Function support.
If the DIP switch is configured incorrectly then the user can
simply adjust the hardware and either reboot or use the bind interface
to try to probe again:
# echo renesas_usbhs > /sys/bus/platform/drivers/renesas_usbhs/bind
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-lager.c | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
index 30ebd08..6a7041f 100644
--- a/arch/arm/mach-shmobile/board-lager.c
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -408,13 +408,30 @@ static int usbhs_hardware_init(struct platform_device *pdev)
{
struct usbhs_private *priv = usbhs_get_priv(pdev);
struct usb_phy *phy;
+ int ret;
+
+ /* USB0 Function - use PWEN as GPIO input to detect DIP Switch SW5
+ * setting to avoid VBUS short circuit due to wrong cable.
+ * PWEN should be pulled up high if USB Function is selected by SW5
+ */
+ gpio_request_one(RCAR_GP_PIN(5, 18), GPIOF_IN, NULL); /* USB0_PWEN */
+ if (!gpio_get_value(RCAR_GP_PIN(5, 18))) {
+ pr_warn("Error: USB Function not selected - check SW5 + SW6\n");
+ ret = -ENOTSUPP;
+ goto error;
+ }
phy = usb_get_phy_dev(&pdev->dev, 0);
- if (IS_ERR(phy))
- return PTR_ERR(phy);
+ if (IS_ERR(phy)) {
+ ret = PTR_ERR(phy);
+ goto error;
+ }
priv->phy = phy;
return 0;
+ error:
+ gpio_free(RCAR_GP_PIN(5, 18));
+ return ret;
}
static int usbhs_hardware_exit(struct platform_device *pdev)
@@ -426,6 +443,8 @@ static int usbhs_hardware_exit(struct platform_device *pdev)
usb_put_phy(priv->phy);
priv->phy = NULL;
+
+ gpio_free(RCAR_GP_PIN(5, 18));
return 0;
}
@@ -536,7 +555,7 @@ static const struct pinctrl_map lager_pinctrl_map[] = {
"vin1_clk", "vin1"),
/* USB0 */
PIN_MAP_MUX_GROUP_DEFAULT("renesas_usbhs", "pfc-r8a7790",
- "usb0", "usb0"),
+ "usb0_ovc_vbus", "usb0"),
};
static void __init lager_add_standard_devices(void)
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 06/11] ARM: shmobile: lager: add sound support
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (4 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 05/11] ARM: shmobile: Lager USB0 cable detection workaround Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 07/11] Revert "ARM: shmobile: marzen: Conditionally select SMSC_PHY" Simon Horman
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
This patch adds sound support for Lager board.
But, it is using PIO transfer at this point.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
[horms+renesas at verge.net.au: resolved conflicts]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/Kconfig | 1 +
arch/arm/mach-shmobile/board-lager.c | 100 +++++++++++++++++++++++++++++++++++
2 files changed, 101 insertions(+)
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 7e3f42b..bcbd74c 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -272,6 +272,7 @@ config MACH_LAGER
depends on ARCH_R8A7790
select USE_OF
select MICREL_PHY if SH_ETH
+ select SND_SOC_AK4642 if SND_SIMPLE_CARD
config MACH_KOELSCH
bool "Koelsch board"
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
index 6a7041f..e8242c5 100644
--- a/arch/arm/mach-shmobile/board-lager.c
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -20,6 +20,7 @@
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
+#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
@@ -52,6 +53,20 @@
#include <linux/spi/flash.h>
#include <linux/spi/rspi.h>
#include <linux/spi/spi.h>
+#include <sound/rcar_snd.h>
+#include <sound/simple_card.h>
+
+/*
+ * SSI-AK4643
+ *
+ * SW1: 1: AK4643
+ * 2: CN22
+ * 3: ADV7511
+ *
+ * this command is required when playback.
+ *
+ * # amixer set "LINEOUT Mixer DACL" on
+ */
/* DU */
static struct rcar_du_encoder_data lager_du_encoders[] = {
@@ -509,6 +524,77 @@ static const struct resource usbhs_phy_resources[] __initconst = {
DEFINE_RES_MEM(0xe6590100, 0x100),
};
+/* I2C */
+static struct i2c_board_info i2c2_devices[] = {
+ {
+ I2C_BOARD_INFO("ak4643", 0x12),
+ }
+};
+
+/* Sound */
+static struct resource rsnd_resources[] __initdata = {
+ [RSND_GEN2_SCU] = DEFINE_RES_MEM(0xec500000, 0x1000),
+ [RSND_GEN2_ADG] = DEFINE_RES_MEM(0xec5a0000, 0x100),
+ [RSND_GEN2_SSIU] = DEFINE_RES_MEM(0xec540000, 0x1000),
+ [RSND_GEN2_SSI] = DEFINE_RES_MEM(0xec541000, 0x1280),
+};
+
+static struct rsnd_ssi_platform_info rsnd_ssi[] = {
+ RSND_SSI_SET(0, 0, gic_spi(370), RSND_SSI_PLAY),
+ RSND_SSI_SET(0, 0, gic_spi(371), RSND_SSI_CLK_PIN_SHARE),
+};
+
+static struct rsnd_scu_platform_info rsnd_scu[2] = {
+ /* no member at this point */
+};
+
+static struct rcar_snd_info rsnd_info = {
+ .flags = RSND_GEN2,
+ .ssi_info = rsnd_ssi,
+ .ssi_info_nr = ARRAY_SIZE(rsnd_ssi),
+ .scu_info = rsnd_scu,
+ .scu_info_nr = ARRAY_SIZE(rsnd_scu),
+};
+
+static struct asoc_simple_card_info rsnd_card_info = {
+ .name = "AK4643",
+ .card = "SSI01-AK4643",
+ .codec = "ak4642-codec.2-0012",
+ .platform = "rcar_sound",
+ .daifmt = SND_SOC_DAIFMT_LEFT_J,
+ .cpu_dai = {
+ .name = "rcar_sound",
+ .fmt = SND_SOC_DAIFMT_CBS_CFS,
+ },
+ .codec_dai = {
+ .name = "ak4642-hifi",
+ .fmt = SND_SOC_DAIFMT_CBM_CFM,
+ .sysclk = 11289600,
+ },
+};
+
+static void __init lager_add_rsnd_device(void)
+{
+ struct platform_device_info cardinfo = {
+ .parent = &platform_bus,
+ .name = "asoc-simple-card",
+ .id = -1,
+ .data = &rsnd_card_info,
+ .size_data = sizeof(struct asoc_simple_card_info),
+ .dma_mask = DMA_BIT_MASK(32),
+ };
+
+ i2c_register_board_info(2, i2c2_devices,
+ ARRAY_SIZE(i2c2_devices));
+
+ platform_device_register_resndata(
+ &platform_bus, "rcar_sound", -1,
+ rsnd_resources, ARRAY_SIZE(rsnd_resources),
+ &rsnd_info, sizeof(rsnd_info));
+
+ platform_device_register_full(&cardinfo);
+}
+
static const struct pinctrl_map lager_pinctrl_map[] = {
/* DU (CN10: ARGB0, CN13: LVDS) */
PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790",
@@ -517,12 +603,24 @@ static const struct pinctrl_map lager_pinctrl_map[] = {
"du_sync_1", "du"),
PIN_MAP_MUX_GROUP_DEFAULT("rcar-du-r8a7790", "pfc-r8a7790",
"du_clk_out_0", "du"),
+ /* I2C2 */
+ PIN_MAP_MUX_GROUP_DEFAULT("i2c-rcar.2", "pfc-r8a7790",
+ "i2c2", "i2c2"),
/* SCIF0 (CN19: DEBUG SERIAL0) */
PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7790",
"scif0_data", "scif0"),
/* SCIF1 (CN20: DEBUG SERIAL1) */
PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.7", "pfc-r8a7790",
"scif1_data", "scif1"),
+ /* SSI (CN17: sound) */
+ PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790",
+ "ssi0129_ctrl", "ssi"),
+ PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790",
+ "ssi0_data", "ssi"),
+ PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790",
+ "ssi1_data", "ssi"),
+ PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7790",
+ "audio_clk_a", "audio_clk"),
/* MMCIF1 */
PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.1", "pfc-r8a7790",
"mmc1_data8", "mmc1"),
@@ -616,6 +714,8 @@ static void __init lager_add_standard_devices(void)
&usbhs_phy_pdata,
sizeof(usbhs_phy_pdata));
lager_register_usbhs();
+
+ lager_add_rsnd_device();
}
/*
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 07/11] Revert "ARM: shmobile: marzen: Conditionally select SMSC_PHY"
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (5 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 06/11] ARM: shmobile: lager: add sound support Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 08/11] ARM: shmobile: genmai legacy: Add RSPI support Simon Horman
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
This reverts commit 317af6612ee29dfcb5ae04df9c58e9f79fc8d4ff.
This seems to prevent the board from booting now that the tree has been
rebased on v3.14-rc1.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/Kconfig | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index bcbd74c..c431114 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -250,7 +250,6 @@ config MACH_MARZEN
depends on ARCH_R8A7779
select ARCH_REQUIRE_GPIOLIB
select REGULATOR_FIXED_VOLTAGE if REGULATOR
- select SMSC_PHY if SMSC911X
select USE_OF
config MACH_MARZEN_REFERENCE
@@ -258,7 +257,6 @@ config MACH_MARZEN_REFERENCE
depends on ARCH_R8A7779
select ARCH_REQUIRE_GPIOLIB
select REGULATOR_FIXED_VOLTAGE if REGULATOR
- select SMSC_PHY if SMSC911X
select USE_OF
---help---
Use reference implementation of Marzen board support
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 08/11] ARM: shmobile: genmai legacy: Add RSPI support
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (6 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 07/11] Revert "ARM: shmobile: marzen: Conditionally select SMSC_PHY" Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 09/11] ARM: shmobile: koelsch legacy: Add QSPI support Simon Horman
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Add RSPI platform device, resources, platform data, and SPI child.
On this board, only rspi4 is in use. Its bus contains a single device
(a wm8978 audio codec).
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-genmai.c | 44 +++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
index 3e92e3c..c406461 100644
--- a/arch/arm/mach-shmobile/board-genmai.c
+++ b/arch/arm/mach-shmobile/board-genmai.c
@@ -20,15 +20,59 @@
#include <linux/kernel.h>
#include <linux/platform_device.h>
+#include <linux/spi/rspi.h>
+#include <linux/spi/spi.h>
#include <mach/common.h>
+#include <mach/irqs.h>
#include <mach/r7s72100.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
+/* RSPI */
+#define RSPI_RESOURCE(idx, baseaddr, irq) \
+static const struct resource rspi##idx##_resources[] __initconst = { \
+ DEFINE_RES_MEM(baseaddr, 0x24), \
+ DEFINE_RES_IRQ_NAMED(irq, "error"), \
+ DEFINE_RES_IRQ_NAMED(irq + 1, "rx"), \
+ DEFINE_RES_IRQ_NAMED(irq + 2, "tx"), \
+}
+
+RSPI_RESOURCE(0, 0xe800c800, gic_iid(270));
+RSPI_RESOURCE(1, 0xe800d000, gic_iid(273));
+RSPI_RESOURCE(2, 0xe800d800, gic_iid(276));
+RSPI_RESOURCE(3, 0xe800e000, gic_iid(279));
+RSPI_RESOURCE(4, 0xe800e800, gic_iid(282));
+
+static const struct rspi_plat_data rspi_pdata __initconst = {
+ .num_chipselect = 1,
+};
+
+#define r7s72100_register_rspi(idx) \
+ platform_device_register_resndata(&platform_bus, "rspi-rz", idx, \
+ rspi##idx##_resources, \
+ ARRAY_SIZE(rspi##idx##_resources), \
+ &rspi_pdata, sizeof(rspi_pdata))
+
+static const struct spi_board_info spi_info[] __initconst = {
+ {
+ .modalias = "wm8978",
+ .max_speed_hz = 5000000,
+ .bus_num = 4,
+ .chip_select = 0,
+ },
+};
+
static void __init genmai_add_standard_devices(void)
{
r7s72100_clock_init();
r7s72100_add_dt_devices();
+
+ r7s72100_register_rspi(0);
+ r7s72100_register_rspi(1);
+ r7s72100_register_rspi(2);
+ r7s72100_register_rspi(3);
+ r7s72100_register_rspi(4);
+ spi_register_board_info(spi_info, ARRAY_SIZE(spi_info));
}
static const char * const genmai_boards_compat_dt[] __initconst = {
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 09/11] ARM: shmobile: koelsch legacy: Add QSPI support
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (7 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 08/11] ARM: shmobile: genmai legacy: Add RSPI support Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 10/11] ARM: shmobile: lager legacy: Switch QSPI to named IRQs Simon Horman
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Enable support for the Spansion s25fl512s SPI FLASH on the Koelsch board:
- Add QSPI platform device, resources, platform data, and pinmux,
- Add FLASH data and MTD partitions.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-koelsch.c | 64 ++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/arch/arm/mach-shmobile/board-koelsch.c b/arch/arm/mach-shmobile/board-koelsch.c
index 2741dba..d42637d 100644
--- a/arch/arm/mach-shmobile/board-koelsch.c
+++ b/arch/arm/mach-shmobile/board-koelsch.c
@@ -26,12 +26,17 @@
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/leds.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
#include <linux/phy.h>
#include <linux/pinctrl/machine.h>
#include <linux/platform_data/gpio-rcar.h>
#include <linux/platform_data/rcar-du.h>
#include <linux/platform_device.h>
#include <linux/sh_eth.h>
+#include <linux/spi/flash.h>
+#include <linux/spi/rspi.h>
+#include <linux/spi/spi.h>
#include <mach/common.h>
#include <mach/irqs.h>
#include <mach/r8a7791.h>
@@ -150,6 +155,55 @@ static const struct gpio_keys_platform_data koelsch_keys_pdata __initconst = {
.nbuttons = ARRAY_SIZE(gpio_buttons),
};
+/* QSPI */
+static const struct resource qspi_resources[] __initconst = {
+ DEFINE_RES_MEM(0xe6b10000, 0x1000),
+ DEFINE_RES_IRQ_NAMED(gic_spi(184), "mux"),
+};
+
+static const struct rspi_plat_data qspi_pdata __initconst = {
+ .num_chipselect = 1,
+};
+
+/* SPI Flash memory (Spansion S25FL512SAGMFIG11 64 MiB) */
+static struct mtd_partition spi_flash_part[] = {
+ {
+ .name = "loader",
+ .offset = 0x00000000,
+ .size = 512 * 1024,
+ .mask_flags = MTD_WRITEABLE,
+ },
+ {
+ .name = "bootenv",
+ .offset = MTDPART_OFS_APPEND,
+ .size = 512 * 1024,
+ .mask_flags = MTD_WRITEABLE,
+ },
+ {
+ .name = "data",
+ .offset = MTDPART_OFS_APPEND,
+ .size = MTDPART_SIZ_FULL,
+ },
+};
+
+static const struct flash_platform_data spi_flash_data = {
+ .name = "m25p80",
+ .parts = spi_flash_part,
+ .nr_parts = ARRAY_SIZE(spi_flash_part),
+ .type = "s25fl512s",
+};
+
+static const struct spi_board_info spi_info[] __initconst = {
+ {
+ .modalias = "m25p80",
+ .platform_data = &spi_flash_data,
+ .mode = SPI_MODE_0,
+ .max_speed_hz = 30000000,
+ .bus_num = 0,
+ .chip_select = 0,
+ },
+};
+
/* SATA0 */
static const struct resource sata0_resources[] __initconst = {
DEFINE_RES_MEM(0xee300000, 0x2000),
@@ -214,6 +268,11 @@ static const struct pinctrl_map koelsch_pinctrl_map[] = {
"eth_rmii", "eth"),
PIN_MAP_MUX_GROUP_DEFAULT("r8a7791-ether", "pfc-r8a7791",
"intc_irq0", "intc"),
+ /* QSPI */
+ PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
+ "qspi_ctrl", "qspi"),
+ PIN_MAP_MUX_GROUP_DEFAULT("qspi.0", "pfc-r8a7791",
+ "qspi_data4", "qspi"),
/* SCIF0 (CN19: DEBUG SERIAL0) */
PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.6", "pfc-r8a7791",
"scif0_data_d", "scif0"),
@@ -248,6 +307,11 @@ static void __init koelsch_add_standard_devices(void)
platform_device_register_data(&platform_bus, "gpio-keys", -1,
&koelsch_keys_pdata,
sizeof(koelsch_keys_pdata));
+ platform_device_register_resndata(&platform_bus, "qspi", 0,
+ qspi_resources,
+ ARRAY_SIZE(qspi_resources),
+ &qspi_pdata, sizeof(qspi_pdata));
+ spi_register_board_info(spi_info, ARRAY_SIZE(spi_info));
koelsch_add_du_device();
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 10/11] ARM: shmobile: lager legacy: Switch QSPI to named IRQs
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (8 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 09/11] ARM: shmobile: koelsch legacy: Add QSPI support Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-13 8:03 ` [PATCH 11/11] ARM: shmobile: genmai: Enable r7s72100-ether Simon Horman
2014-02-20 9:26 ` [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Olof Johansson
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
From: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
arch/arm/mach-shmobile/board-lager.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
index e8242c5..3175748 100644
--- a/arch/arm/mach-shmobile/board-lager.c
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -310,7 +310,7 @@ static const struct spi_board_info spi_info[] __initconst = {
/* QSPI resource */
static const struct resource qspi_resources[] __initconst = {
DEFINE_RES_MEM(0xe6b10000, 0x1000),
- DEFINE_RES_IRQ(gic_spi(184)),
+ DEFINE_RES_IRQ_NAMED(gic_spi(184), "mux"),
};
/* VIN */
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 11/11] ARM: shmobile: genmai: Enable r7s72100-ether
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (9 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 10/11] ARM: shmobile: lager legacy: Switch QSPI to named IRQs Simon Horman
@ 2014-02-13 8:03 ` Simon Horman
2014-02-20 9:26 ` [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Olof Johansson
11 siblings, 0 replies; 13+ messages in thread
From: Simon Horman @ 2014-02-13 8:03 UTC (permalink / raw)
To: linux-arm-kernel
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
---
arch/arm/mach-shmobile/board-genmai.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/mach-shmobile/board-genmai.c b/arch/arm/mach-shmobile/board-genmai.c
index c406461..e240980 100644
--- a/arch/arm/mach-shmobile/board-genmai.c
+++ b/arch/arm/mach-shmobile/board-genmai.c
@@ -20,6 +20,7 @@
#include <linux/kernel.h>
#include <linux/platform_device.h>
+#include <linux/sh_eth.h>
#include <linux/spi/rspi.h>
#include <linux/spi/spi.h>
#include <mach/common.h>
@@ -28,6 +29,20 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
+/* Ether */
+static const struct sh_eth_plat_data ether_pdata __initconst = {
+ .phy = 0x00, /* PD60610 */
+ .edmac_endian = EDMAC_LITTLE_ENDIAN,
+ .phy_interface = PHY_INTERFACE_MODE_MII,
+ .no_ether_link = 1
+};
+
+static const struct resource ether_resources[] __initconst = {
+ DEFINE_RES_MEM(0xe8203000, 0x800),
+ DEFINE_RES_MEM(0xe8204800, 0x200),
+ DEFINE_RES_IRQ(gic_iid(359)),
+};
+
/* RSPI */
#define RSPI_RESOURCE(idx, baseaddr, irq) \
static const struct resource rspi##idx##_resources[] __initconst = { \
@@ -67,6 +82,11 @@ static void __init genmai_add_standard_devices(void)
r7s72100_clock_init();
r7s72100_add_dt_devices();
+ platform_device_register_resndata(&platform_bus, "r7s72100-ether", -1,
+ ether_resources,
+ ARRAY_SIZE(ether_resources),
+ ðer_pdata, sizeof(ether_pdata));
+
r7s72100_register_rspi(0);
r7s72100_register_rspi(1);
r7s72100_register_rspi(2);
--
1.8.5.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
` (10 preceding siblings ...)
2014-02-13 8:03 ` [PATCH 11/11] ARM: shmobile: genmai: Enable r7s72100-ether Simon Horman
@ 2014-02-20 9:26 ` Olof Johansson
11 siblings, 0 replies; 13+ messages in thread
From: Olof Johansson @ 2014-02-20 9:26 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Feb 13, 2014 at 05:03:52PM +0900, Simon Horman wrote:
> Hi Olof, Hi Kevin, Hi Arnd,
>
> please consider this second round of Renesas ARM based SoC board updates
> for v3.15.
>
> This pull-request is based on the first round of such updates,
> tagged as renesas-boards-for-v3.15, which I have previously sent a
> pull-request for.
>
>
> The following changes since commit 235cda29e4d5047622ff9b82b1f0b4cb6cf95f6c:
>
> ARM: shmobile: Remove Lager USBHS UDC ifdefs (2014-02-04 14:28:33 +0900)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-boards2-for-v3.15
>
> for you to fetch changes up to 03fec7dee502d43114f384a1588ce84a3c9bf38d:
>
> ARM: shmobile: genmai: Enable r7s72100-ether (2014-02-07 09:20:03 +0900)
Merged, thanks. Same comment as last board pull request reply though. :)
-Olof
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-02-20 9:26 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-13 8:03 [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Simon Horman
2014-02-13 8:03 ` [PATCH 01/11] ARM: shmobile: Lager: pass Ether PHY IRQ Simon Horman
2014-02-13 8:03 ` [PATCH 02/11] ARM: shmobile: Koelsch: " Simon Horman
2014-02-13 8:03 ` [PATCH 03/11] ARM: shmobile: koelsch: Add I2C support Simon Horman
2014-02-13 8:03 ` [PATCH 04/11] ARM: shmobile: bockw: use wp-gpios instead of WP pin Simon Horman
2014-02-13 8:03 ` [PATCH 05/11] ARM: shmobile: Lager USB0 cable detection workaround Simon Horman
2014-02-13 8:03 ` [PATCH 06/11] ARM: shmobile: lager: add sound support Simon Horman
2014-02-13 8:03 ` [PATCH 07/11] Revert "ARM: shmobile: marzen: Conditionally select SMSC_PHY" Simon Horman
2014-02-13 8:03 ` [PATCH 08/11] ARM: shmobile: genmai legacy: Add RSPI support Simon Horman
2014-02-13 8:03 ` [PATCH 09/11] ARM: shmobile: koelsch legacy: Add QSPI support Simon Horman
2014-02-13 8:03 ` [PATCH 10/11] ARM: shmobile: lager legacy: Switch QSPI to named IRQs Simon Horman
2014-02-13 8:03 ` [PATCH 11/11] ARM: shmobile: genmai: Enable r7s72100-ether Simon Horman
2014-02-20 9:26 ` [GIT PULL 00/11] Second Round of Renesas ARM Based SoC Board Updates for v3.15 Olof Johansson
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).