Skip to contentSkip to conversation

ARM: shmobile: Lager DT reference MMCIF DMAC prototype

PATCH New Magnus Damm 1 participant 1 message Jun 3, 2014

Subsystems (4)
lore
Share & tools
lore

Magnus Damm

author maintainer
#0 lore raw

PATCH 3/3 ARM: shmobile: Lager DT reference MMCIF DMAC prototype

From: Magnus Damm <[email protected]>

Use AUXDATA to tie in the SYS-DMAC for MMCIF1 on Lager. Only the DT reference case is covered. Not for upstream merge.

---

Written on top of renesas-devel-v3.15-rc7-20140530 and [PATCH 01/03] ARM: shmobile: r8a7790: SYS-DMAC prototype [PATCH 02/03] ARM: shmobile: r8a7790: SYS-DMAC and MMCIF prototype

 arch/arm/mach-shmobile/board-lager-reference.c |   20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
arch/arm/mach-shmobile/board-lager-reference.c +19 -1
@@ -20,6 +20,8 @@
 
 #include <linux/dma-mapping.h>
 #include <linux/init.h>
+#include <linux/mmc/host.h>
+#include <linux/mmc/sh_mmcif.h>
 #include <linux/of_platform.h>
 #include <linux/platform_data/rcar-du.h>
 #include <mach/clock.h>
@@ -98,11 +100,27 @@ static const struct clk_name clk_names[]
 	{ "lvds1", "lvds.1", "rcar-du-r8a7790" },
 };
 
+static struct sh_mmcif_plat_data mmcif1_pdata = {
+	.caps		= MMC_CAP_4_BIT_DATA |
+			  MMC_CAP_8_BIT_DATA |
+			  MMC_CAP_NONREMOVABLE,
+	.ccs_unsupported = true,
+	.slave_id_tx	= SYS_DMAC_SLAVE_MMCIF1_TX,
+	.slave_id_rx	= SYS_DMAC_SLAVE_MMCIF1_RX,
+};
+
+static struct of_dev_auxdata lager_auxdata_lookup[] __initdata = {
+	OF_DEV_AUXDATA("renesas,mmcif-r8a7790", 0xee220000, "sh_mmcif",
+			&mmcif1_pdata),
+	{},
+};
+
 static void __init lager_add_standard_devices(void)
 {
 	shmobile_clk_workaround(clk_names, ARRAY_SIZE(clk_names), false);
 	r8a7790_add_dt_devices();
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+	of_platform_populate(NULL, of_default_bus_match_table,
+			     lager_auxdata_lookup, NULL);
 
 	lager_add_du_device();
 }