Re: [PATCH 0/4] mmc: add a cap and a quirk

2012-03-13 Thread Adrian Hunter
On 07/02/12 14:48, Adrian Hunter wrote:
 Hi
 
 Here are patches for Medfield to allow the use of high-capacity erase size
 and to allow the SDIO host controller to be off when the card is kept on
 during suspend - replacing the earlier patch mmc: sdhci: always reset all
 during resume
 
 
 Adrian Hunter (4):
   mmc: core: add high-capacity erase size capability flag
   mmc: sdhci-pci: select HC erase size for Medfield eMMC
   mmc: sdhci: add quirk for keeping card power during suspend
   mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO
 
  drivers/mmc/core/mmc.c   |3 ++-
  drivers/mmc/host/sdhci-pci.c |8 +++-
  drivers/mmc/host/sdhci.c |   13 +++--
  include/linux/mmc/host.h |1 +
  include/linux/mmc/sdhci.h|2 ++
  5 files changed, 23 insertions(+), 4 deletions(-)

Chris can you take these?

MMC_CAP2_HC_ERASE_SZ needs to move to bit9 but otherwise they apply.
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v1 0/5] dt: add basic imx28 support

2012-03-13 Thread Dong Aisheng
This patch series adds basic imx28 dt support including fec, mmc and dma.

Tested on mx28evk.

TODO:
Convert the remaining devices to support dt.
mxs-auart, mxs-gpio, i2c, flexcan, saif, rtc, pwm, fb.

Dong Aisheng (5):
  ARM: imx28: add basic dt support
  mmc: mxs-mmc: add dt probe support
  ARM: imx28evk: add mmc dt support
  dma: mxs-dma: add dt probe support
  ARM: mxs: add mxs dma dt support

 Documentation/devicetree/bindings/arm/fsl.txt  |4 +
 .../devicetree/bindings/dma/fsl-mxs-dma.txt|   17 +++
 .../devicetree/bindings/mmc/fsl-mxs-mmc.txt|   23 
 arch/arm/boot/dts/imx28-evk.dts|   45 +++
 arch/arm/boot/dts/imx28.dtsi   |  131 
 arch/arm/mach-mxs/Kconfig  |9 ++
 arch/arm/mach-mxs/Makefile |1 +
 arch/arm/mach-mxs/devices-mx23.h   |2 +
 arch/arm/mach-mxs/devices-mx28.h   |2 +
 arch/arm/mach-mxs/devices/platform-dma.c   |3 +-
 arch/arm/mach-mxs/imx28-dt.c   |   71 +++
 arch/arm/mach-mxs/include/mach/devices-common.h|3 +
 arch/arm/mach-mxs/mach-apx4devkit.c|1 +
 arch/arm/mach-mxs/mach-m28evk.c|1 +
 arch/arm/mach-mxs/mach-mx23evk.c   |1 +
 arch/arm/mach-mxs/mach-mx28evk.c   |1 +
 arch/arm/mach-mxs/mach-stmp378x_devb.c |1 +
 arch/arm/mach-mxs/mach-tx28.c  |1 +
 drivers/dma/mxs-dma.c  |   44 +--
 drivers/mmc/host/mxs-mmc.c |   82 -
 20 files changed, 424 insertions(+), 19 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
 create mode 100644 Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt
 create mode 100644 arch/arm/boot/dts/imx28-evk.dts
 create mode 100644 arch/arm/boot/dts/imx28.dtsi
 create mode 100644 arch/arm/mach-mxs/imx28-dt.c


--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v1 2/5] mmc: mxs-mmc: add dt probe support

2012-03-13 Thread Dong Aisheng
From: Dong Aisheng dong.aish...@linaro.org

Signed-off-by: Dong Aisheng dong.aish...@linaro.org

---
The patch is still using a private way for dma part binding
since the common dma binding is still under discussion.
http://www.spinics.net/lists/linux-omap/msg65528.html

Will update to use common dma binding when it hits mainline.
---
 .../devicetree/bindings/mmc/fsl-mxs-mmc.txt|   23 ++
 drivers/mmc/host/mxs-mmc.c |   82 +++-
 2 files changed, 102 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt 
b/Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt
new file mode 100644
index 000..adc1142
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt
@@ -0,0 +1,23 @@
+* FREESCALE MXS MMC peripheral
+
+Required properties:
+- compatible : Should be fsl,chip-mmc
+- reg : Should contain registers location and length
+- interrupts : Should contain interrupt.
+  The format is irq_err irq_dma.
+- dma_channel: Should contain the dma channel it uses
+
+Optional properties:
+- wp-gpios : Specify GPIOs for write protection
+- slot-4bit: Specify 4 bit mode support
+- slot-8bit: Specify 8 bit and 4 bit mode support
+
+Examples:
+mmc1: ssp@8001 {
+   compatible = fsl,imx28-mmc;
+   reg = 0x8001 2000;
+   /* irq_err irq_dma */
+   interrupts = 96 82;
+   dma_channel = 0;
+   slot-8bit;
+};
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
index 382c835..6cf2d17 100644
--- a/drivers/mmc/host/mxs-mmc.c
+++ b/drivers/mmc/host/mxs-mmc.c
@@ -38,6 +38,10 @@
 #include linux/gpio.h
 #include linux/regulator/consumer.h
 #include linux/module.h
+#include linux/of.h
+#include linux/of_device.h
+#include linux/of_gpio.h
+#include linux/slab.h
 
 #include mach/mxs.h
 #include mach/common.h
@@ -673,17 +677,79 @@ static bool mxs_mmc_dma_filter(struct dma_chan *chan, 
void *param)
return true;
 }
 
+#ifdef CONFIG_OF
+static struct resource * __devinit mxs_mmc_get_of_dmares(
+   struct platform_device *pdev)
+{
+   struct device_node *np = pdev-dev.of_node;
+   struct resource *dmares;
+   int ret;
+
+   if (!np)
+   return NULL;
+
+   dmares = kzalloc(sizeof(*dmares), GFP_KERNEL);
+   dmares-flags = IORESOURCE_DMA;
+   ret = of_property_read_u32(np, dma_channel, dmares-start);
+   if (ret) {
+   dev_err(pdev-dev, unable to get dmares from dt\n);
+   return NULL;
+   }
+   dmares-end = dmares-start;
+
+   return dmares;
+}
+
+static int __devinit mxs_mmc_get_of_property(struct platform_device *pdev,
+   struct mxs_mmc_platform_data **ppdata)
+{
+   struct device_node *np = pdev-dev.of_node;
+   struct mxs_mmc_platform_data *pdata = *ppdata;
+
+   if (!np)
+   return -ENODEV;
+
+   pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
+
+   if (of_get_property(np, slot-8bit, NULL))
+   pdata-flags |= SLOTF_8_BIT_CAPABLE;
+
+   if (of_get_property(np, slot-4bit, NULL))
+   pdata-flags |= SLOTF_4_BIT_CAPABLE;
+
+   pdata-wp_gpio = of_get_named_gpio(np, wp-gpios, 0);
+
+   dev_dbg(pdev-dev, wp-gpios %d flags %d\n, pdata-wp_gpio,
+   pdata-flags);
+
+   return 0;
+}
+#else
+static struct resource * __devinit mxs_mmc_get_of_dmares(
+   struct platform_device *pdev)
+{
+   return NULL;
+}
+static inline int mxs_mmc_get_of_property(struct platform_device *pdev,
+   struct mxs_mmc_platform_data *pdata)
+{
+   return -ENODEV;
+}
+#endif
+
 static int mxs_mmc_probe(struct platform_device *pdev)
 {
struct mxs_mmc_host *host;
struct mmc_host *mmc;
struct resource *iores, *dmares, *r;
-   struct mxs_mmc_platform_data *pdata;
+   struct mxs_mmc_platform_data *pdata = NULL;
int ret = 0, irq_err, irq_dma;
dma_cap_mask_t mask;
 
iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-   dmares = platform_get_resource(pdev, IORESOURCE_DMA, 0);
+   dmares = mxs_mmc_get_of_dmares(pdev);
+   if (dmares == NULL)
+   dmares = platform_get_resource(pdev, IORESOURCE_DMA, 0);
irq_err = platform_get_irq(pdev, 0);
irq_dma = platform_get_irq(pdev, 1);
if (!iores || !dmares || irq_err  0 || irq_dma  0)
@@ -740,7 +806,9 @@ static int mxs_mmc_probe(struct platform_device *pdev)
mmc-caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED |
MMC_CAP_SDIO_IRQ | MMC_CAP_NEEDS_POLL;
 
-   pdata = mmc_dev(host-mmc)-platform_data;
+   mxs_mmc_get_of_property(pdev, pdata);
+   if (pdata == NULL)
+   pdata = mmc_dev(host-mmc)-platform_data;
if (pdata) {
if (pdata-flags  SLOTF_8_BIT_CAPABLE)
mmc-caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;

[PATCH v1 1/5] ARM: imx28: add basic dt support

2012-03-13 Thread Dong Aisheng
From: Dong Aisheng dong.aish...@linaro.org

This patch includes basic dt support which can boot via nfs rootfs.

Signed-off-by: Dong Aisheng dong.aish...@linaro.org
---
 Documentation/devicetree/bindings/arm/fsl.txt |4 +
 arch/arm/boot/dts/imx28-evk.dts   |   31 +
 arch/arm/boot/dts/imx28.dtsi  |   88 +
 arch/arm/mach-mxs/Kconfig |9 +++
 arch/arm/mach-mxs/Makefile|1 +
 arch/arm/mach-mxs/imx28-dt.c  |   67 +++
 6 files changed, 200 insertions(+), 0 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/fsl.txt 
b/Documentation/devicetree/bindings/arm/fsl.txt
index 54bddda..9f21faf 100644
--- a/Documentation/devicetree/bindings/arm/fsl.txt
+++ b/Documentation/devicetree/bindings/arm/fsl.txt
@@ -1,6 +1,10 @@
 Freescale i.MX Platforms Device Tree Bindings
 ---
 
+i.MX28 Evaluation Kit
+Required root node properties:
+- compatible = fsl,imx28-evk, fsl,imx28;
+
 i.MX51 Babbage Board
 Required root node properties:
 - compatible = fsl,imx51-babbage, fsl,imx51;
diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts
new file mode 100644
index 000..9758dc4
--- /dev/null
+++ b/arch/arm/boot/dts/imx28-evk.dts
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2012 Freescale Semiconductor, Inc.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ imx28.dtsi
+
+/ {
+   model = Freescale i.MX28 Evaluation Kit;
+   compatible = fsl,imx28-evk, fsl,imx28;
+
+   memory {
+   device_type = memory;
+   reg = 0x4000 0x0800;
+   };
+
+   ahb@8008 {
+   fec@800f {
+   phy-mode = rmii;
+   local-mac-address = [00 04 9F 01 7D 5B];
+   status = okay;
+   };
+   };
+};
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
new file mode 100644
index 000..acf0dab
--- /dev/null
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2012 Freescale Semiconductor, Inc.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ skeleton.dtsi
+
+/ {
+   #address-cells = 1;
+   #size-cells = 1;
+   interrupt-parent = icoll;
+
+   aliases {
+   serial0 = uart1;
+   };
+
+   cpus {
+   cpu@0 {
+   compatible = arm,arm926ejs;
+   };
+   };
+
+   apb@8000 {
+   compatible = simple-bus;
+   #address-cells = 1;
+   #size-cells = 1;
+   reg = 0x8000 0x8;
+   ranges;
+
+   apbh@8000 {
+   compatible = simple-bus;
+   #address-cells = 1;
+   #size-cells = 1;
+   reg = 0x8000 0x3c900;
+   ranges;
+
+   icoll: interrupt-controller@8000 {
+   compatible = fsl,imx28-icoll;
+   interrupt-controller;
+   #interrupt-cells = 1;
+   reg = 0x8000 0x2000;
+   };
+   };
+
+   apbx@8004 {
+   compatible = simple-bus;
+   #address-cells = 1;
+   #size-cells = 1;
+   reg = 0x8004 0x4;
+   ranges;
+
+   uart1: uart@80074000 {
+   compatible = arm,pl011, arm,primecell;
+   reg = 0x80074000 0x2000;
+   interrupts = 47;
+   };
+   };
+   };
+
+   ahb@8008 {
+   compatible = simple-bus;
+   #address-cells = 1;
+   #size-cells = 1;
+   reg = 0x8008 0x8;
+   ranges;
+
+   fec@800f {
+   compatible = fsl,imx28-fec;
+   reg = 0x800f 0x4000;
+   interrupts = 101;
+   status = disabled;
+   };
+
+   fec@800f4000 {
+   compatible = fsl,imx28-fec;
+   reg = 0x800f4000 0x4000;
+   interrupts = 102;
+  

[PATCH v1 3/5] ARM: imx28evk: add mmc dt support

2012-03-13 Thread Dong Aisheng
From: Dong Aisheng dong.aish...@linaro.org

Signed-off-by: Dong Aisheng dong.aish...@linaro.org
---
 arch/arm/boot/dts/imx28-evk.dts |   14 ++
 arch/arm/boot/dts/imx28.dtsi|   33 +
 arch/arm/mach-mxs/imx28-dt.c|2 ++
 3 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts
index 9758dc4..61350ab 100644
--- a/arch/arm/boot/dts/imx28-evk.dts
+++ b/arch/arm/boot/dts/imx28-evk.dts
@@ -21,6 +21,20 @@
reg = 0x4000 0x0800;
};
 
+apb@8000 {
+apbh@8000 {
+   mmc1: ssp@8001 {
+   slot-8bit;
+   status = okay;
+   };
+
+   mmc2: ssp@80012000 {
+   slot-8bit;
+   status = okay;
+   };
+   };
+   };
+
ahb@8008 {
fec@800f {
phy-mode = rmii;
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index acf0dab..71c7bfb 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -46,6 +46,39 @@
#interrupt-cells = 1;
reg = 0x8000 0x2000;
};
+
+   ssp@8001 {
+   compatible = fsl,imx28-mmc;
+   reg = 0x8001 2000;
+   /* irq_err irq_dma */
+   interrupts = 96 82;
+   dma_channel = 0;
+   status = disabled;
+   };
+
+   ssp@80012000 {
+   compatible = fsl,imx28-mmc;
+   reg = 0x80012000 2000;
+   interrupts = 97 83;
+   dma_channel = 1;
+   status = disabled;
+   };
+
+   ssp@80014000 {
+   compatible = fsl,imx28-mmc;
+   reg = 0x80014000 2000;
+   interrupts = 98 84;
+   dma_channel = 2;
+   status = disabled;
+   };
+
+   ssp@80016000 {
+   compatible = fsl,imx28-mmc;
+   reg = 0x80016000 2000;
+   interrupts = 99 85;
+   dma_channel = 3;
+   status = disabled;
+   };
};
 
apbx@8004 {
diff --git a/arch/arm/mach-mxs/imx28-dt.c b/arch/arm/mach-mxs/imx28-dt.c
index 78d1129..429b88e 100644
--- a/arch/arm/mach-mxs/imx28-dt.c
+++ b/arch/arm/mach-mxs/imx28-dt.c
@@ -23,6 +23,8 @@ static const struct of_dev_auxdata imx28_auxdata_lookup[] 
__initconst = {
OF_DEV_AUXDATA(arm,pl011, MX28_DUART_BASE_ADDR, duart, NULL),
OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC0_BASE_ADDR, 
imx28-fec.0, NULL),
OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC1_BASE_ADDR, 
imx28-fec.1, NULL),
+   OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP0_BASE_ADDR, mxs-mmc.0, NULL),
+   OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP1_BASE_ADDR, mxs-mmc.1, NULL),
{ /* sentinel */ }
 };
 
-- 
1.7.0.4


--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v1 4/5] dma: mxs-dma: add dt probe support

2012-03-13 Thread Dong Aisheng
From: Dong Aisheng dong.aish...@linaro.org

Signed-off-by: Dong Aisheng dong.aish...@linaro.org
---
 .../devicetree/bindings/dma/fsl-mxs-dma.txt|   17 
 drivers/dma/mxs-dma.c  |   44 +--
 2 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt 
b/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
new file mode 100644
index 000..cfa1730
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
@@ -0,0 +1,17 @@
+* Freescale MXS DMA
+
+Required properties:
+- compatible : Should be fsl,mxs-dma-apbh or fsl,mxs-dma-apbx
+- reg : Should contain registers location and length
+
+Examples:
+
+dma-apbh@80004000 {
+   compatible = fsl,mxs-dma-apbh;
+   reg = 0x80004000 2000;
+};
+
+dma-apbx@80024000 {
+   compatible = fsl,mxs-dma-apbx;
+   reg = 0x80024000 2000;
+};
diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
index b06cd4c..45e8d46 100644
--- a/drivers/dma/mxs-dma.c
+++ b/drivers/dma/mxs-dma.c
@@ -22,6 +22,9 @@
 #include linux/platform_device.h
 #include linux/dmaengine.h
 #include linux/delay.h
+#include linux/module.h
+#include linux/of.h
+#include linux/of_device.h
 
 #include asm/irq.h
 #include mach/mxs.h
@@ -130,6 +133,25 @@ struct mxs_dma_engine {
struct mxs_dma_chan mxs_chans[MXS_DMA_CHANNELS];
 };
 
+static struct platform_device_id mxs_dma_type[] = {
+   {
+   .name = mxs-dma-apbh,
+   .driver_data = MXS_DMA_APBH,
+   }, {
+   .name = mxs-dma-apbx,
+   .driver_data = MXS_DMA_APBX,
+   }, {
+   /* end of list */
+   }
+};
+
+static const struct of_device_id mxs_dma_dt_ids[] = {
+   { .compatible = fsl,mxs-dma-apbh, .data = mxs_dma_type[0], },
+   { .compatible = fsl,mxs-dma-apbx, .data = mxs_dma_type[1], },
+   { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, mxs_dma_dt_ids);
+
 static void mxs_dma_reset_chan(struct mxs_dma_chan *mxs_chan)
 {
struct mxs_dma_engine *mxs_dma = mxs_chan-mxs_dma;
@@ -587,8 +609,8 @@ err_out:
 
 static int __init mxs_dma_probe(struct platform_device *pdev)
 {
-   const struct platform_device_id *id_entry =
-   platform_get_device_id(pdev);
+   const struct platform_device_id *id_entry;
+   const struct of_device_id *of_id;
struct mxs_dma_engine *mxs_dma;
struct resource *iores;
int ret, i;
@@ -597,6 +619,11 @@ static int __init mxs_dma_probe(struct platform_device 
*pdev)
if (!mxs_dma)
return -ENOMEM;
 
+   of_id = of_match_device(mxs_dma_dt_ids, pdev-dev);
+   if (of_id)
+   id_entry = of_id-data;
+   else
+   id_entry = platform_get_device_id(pdev);
mxs_dma-dev_id = id_entry-driver_data;
 
iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -679,21 +706,10 @@ err_request_region:
return ret;
 }
 
-static struct platform_device_id mxs_dma_type[] = {
-   {
-   .name = mxs-dma-apbh,
-   .driver_data = MXS_DMA_APBH,
-   }, {
-   .name = mxs-dma-apbx,
-   .driver_data = MXS_DMA_APBX,
-   }, {
-   /* end of list */
-   }
-};
-
 static struct platform_driver mxs_dma_driver = {
.driver = {
.name   = mxs-dma,
+   .of_match_table = mxs_dma_dt_ids,
},
.id_table   = mxs_dma_type,
 };
-- 
1.7.0.4


--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v1 5/5] ARM: mxs: add mxs dma dt support

2012-03-13 Thread Dong Aisheng
From: Dong Aisheng dong.aish...@linaro.org

Originally the dma device will be added by default via
arch_initcall(mxs_add_mxs_dma);

Now change to call it explicitly in board file to avoid conflict
with device tree support.

Signed-off-by: Dong Aisheng dong.aish...@linaro.org
---
 arch/arm/boot/dts/imx28.dtsi|   12 +++-
 arch/arm/mach-mxs/devices-mx23.h|2 ++
 arch/arm/mach-mxs/devices-mx28.h|2 ++
 arch/arm/mach-mxs/devices/platform-dma.c|3 +--
 arch/arm/mach-mxs/imx28-dt.c|2 ++
 arch/arm/mach-mxs/include/mach/devices-common.h |3 +++
 arch/arm/mach-mxs/mach-apx4devkit.c |1 +
 arch/arm/mach-mxs/mach-m28evk.c |1 +
 arch/arm/mach-mxs/mach-mx23evk.c|1 +
 arch/arm/mach-mxs/mach-mx28evk.c|1 +
 arch/arm/mach-mxs/mach-stmp378x_devb.c  |1 +
 arch/arm/mach-mxs/mach-tx28.c   |1 +
 12 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 71c7bfb..f0322e9 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -47,6 +47,11 @@
reg = 0x8000 0x2000;
};
 
+   dma-apbh@80004000 {
+   compatible = fsl,mxs-dma-apbh;
+   reg = 0x80004000 2000;
+   };
+
ssp@8001 {
compatible = fsl,imx28-mmc;
reg = 0x8001 2000;
@@ -79,7 +84,12 @@
dma_channel = 3;
status = disabled;
};
-   };
+
+   dma-apbx@80024000 {
+   compatible = fsl,mxs-dma-apbx;
+   reg = 0x80024000 2000;
+   };
+};
 
apbx@8004 {
compatible = simple-bus;
diff --git a/arch/arm/mach-mxs/devices-mx23.h b/arch/arm/mach-mxs/devices-mx23.h
index 3fa651d..721c91a 100644
--- a/arch/arm/mach-mxs/devices-mx23.h
+++ b/arch/arm/mach-mxs/devices-mx23.h
@@ -31,3 +31,5 @@ struct platform_device *__init mx23_add_mxsfb(
const struct mxsfb_platform_data *pdata);
 
 struct platform_device *__init mx23_add_rtc_stmp3xxx(void);
+
+#define mx23_add_dma() mxs_add_mxs_dma()
diff --git a/arch/arm/mach-mxs/devices-mx28.h b/arch/arm/mach-mxs/devices-mx28.h
index 4f50094..c0cfd4e 100644
--- a/arch/arm/mach-mxs/devices-mx28.h
+++ b/arch/arm/mach-mxs/devices-mx28.h
@@ -51,3 +51,5 @@ extern const struct mxs_saif_data mx28_saif_data[] 
__initconst;
mxs_add_saif(mx28_saif_data[id], pdata)
 
 struct platform_device *__init mx28_add_rtc_stmp3xxx(void);
+
+#define mx28_add_dma() mxs_add_mxs_dma()
diff --git a/arch/arm/mach-mxs/devices/platform-dma.c 
b/arch/arm/mach-mxs/devices/platform-dma.c
index 6a0202b..57f851e 100644
--- a/arch/arm/mach-mxs/devices/platform-dma.c
+++ b/arch/arm/mach-mxs/devices/platform-dma.c
@@ -30,7 +30,7 @@ static struct platform_device *__init mxs_add_dma(const char 
*devid,
DMA_BIT_MASK(32));
 }
 
-static int __init mxs_add_mxs_dma(void)
+int __init mxs_add_mxs_dma(void)
 {
char *apbh = mxs-dma-apbh;
char *apbx = mxs-dma-apbx;
@@ -47,4 +47,3 @@ static int __init mxs_add_mxs_dma(void)
 
return 0;
 }
-arch_initcall(mxs_add_mxs_dma);
diff --git a/arch/arm/mach-mxs/imx28-dt.c b/arch/arm/mach-mxs/imx28-dt.c
index 429b88e..1c4d317 100644
--- a/arch/arm/mach-mxs/imx28-dt.c
+++ b/arch/arm/mach-mxs/imx28-dt.c
@@ -25,6 +25,8 @@ static const struct of_dev_auxdata imx28_auxdata_lookup[] 
__initconst = {
OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC1_BASE_ADDR, 
imx28-fec.1, NULL),
OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP0_BASE_ADDR, mxs-mmc.0, NULL),
OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP1_BASE_ADDR, mxs-mmc.1, NULL),
+   OF_DEV_AUXDATA(fsl,mxs-dma-apbh, MX28_APBH_DMA_BASE_ADDR, 
mxs-dma-apbh, NULL),
+   OF_DEV_AUXDATA(fsl,mxs-dma-apbx, MX28_APBX_DMA_BASE_ADDR, 
mxs-dma-apbx, NULL),
{ /* sentinel */ }
 };
 
diff --git a/arch/arm/mach-mxs/include/mach/devices-common.h 
b/arch/arm/mach-mxs/include/mach/devices-common.h
index dc369c1..87939a2 100644
--- a/arch/arm/mach-mxs/include/mach/devices-common.h
+++ b/arch/arm/mach-mxs/include/mach/devices-common.h
@@ -106,3 +106,6 @@ struct mxs_saif_data {
 struct platform_device *__init mxs_add_saif(
const struct mxs_saif_data *data,
const struct mxs_saif_platform_data *pdata);
+
+/* dma */
+int __init mxs_add_mxs_dma(void);
diff --git a/arch/arm/mach-mxs/mach-apx4devkit.c 
b/arch/arm/mach-mxs/mach-apx4devkit.c
index 48a7fab..92f47e9 100644
--- a/arch/arm/mach-mxs/mach-apx4devkit.c
+++ 

Re: [PATCH 0/4] mmc: add a cap and a quirk

2012-03-13 Thread Chris Ball
Hi Adrian,

On Tue, Mar 13 2012, Adrian Hunter wrote:
 On 07/02/12 14:48, Adrian Hunter wrote:
 Hi
 
 Here are patches for Medfield to allow the use of high-capacity erase size
 and to allow the SDIO host controller to be off when the card is kept on
 during suspend - replacing the earlier patch mmc: sdhci: always reset all
 during resume
 
 
 Adrian Hunter (4):
   mmc: core: add high-capacity erase size capability flag
   mmc: sdhci-pci: select HC erase size for Medfield eMMC
   mmc: sdhci: add quirk for keeping card power during suspend
   mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO
 
  drivers/mmc/core/mmc.c   |3 ++-
  drivers/mmc/host/sdhci-pci.c |8 +++-
  drivers/mmc/host/sdhci.c |   13 +++--
  include/linux/mmc/host.h |1 +
  include/linux/mmc/sdhci.h|2 ++
  5 files changed, 23 insertions(+), 4 deletions(-)

 Chris can you take these?

 MMC_CAP2_HC_ERASE_SZ needs to move to bit9 but otherwise they apply.

Thanks for the reminder, moved MMC_CAP2_HC_ERASE_SZ to bit9 and pushed
to mmc-next for 3.4.

- Chris.
-- 
Chris Ball   c...@laptop.org   http://printf.net/
One Laptop Per Child
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [MX25][MMC] mmc esdhc failure in 3.3-rc5

2012-03-13 Thread joancarles

I'd recommend:

git log v2.6.39.. drivers/mmc/host/sdhci-esdhc-imx.c

I have been staring at those commits, however with very little
domain knowledge it's a shot in the dark.


Have you tried copying sdhci-esdhc-imx.c from 2.6.39 to the current 
kernel
(might need some build fixes)? If that doesn't work, there might be 
something

wrong in the sdhci-driver itself, and not the esdhc-extension.


I have now, and it results in a bigger mess than I believe is worth 
pursuing for.


Therefore, I will create a stashing tree next to linux.git with our 
device specific changes (minimal setup for the PCB to boot up) that 
should theoretically apply to any kernel tree between 2.6.x and 3.3-rcX 
to subsequently bisect the biest.


Thanks for your help and best regards
--
Joan C. Abelaira

--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 1/5] ARM: imx28: add basic dt support

2012-03-13 Thread Rob Herring
On 03/13/2012 03:47 AM, Dong Aisheng wrote:
 From: Dong Aisheng dong.aish...@linaro.org
 
 This patch includes basic dt support which can boot via nfs rootfs.
 
 Signed-off-by: Dong Aisheng dong.aish...@linaro.org
 ---
  Documentation/devicetree/bindings/arm/fsl.txt |4 +
  arch/arm/boot/dts/imx28-evk.dts   |   31 +
  arch/arm/boot/dts/imx28.dtsi  |   88 
 +
  arch/arm/mach-mxs/Kconfig |9 +++
  arch/arm/mach-mxs/Makefile|1 +
  arch/arm/mach-mxs/imx28-dt.c  |   67 +++
  6 files changed, 200 insertions(+), 0 deletions(-)
 
 diff --git a/Documentation/devicetree/bindings/arm/fsl.txt 
 b/Documentation/devicetree/bindings/arm/fsl.txt
 index 54bddda..9f21faf 100644
 --- a/Documentation/devicetree/bindings/arm/fsl.txt
 +++ b/Documentation/devicetree/bindings/arm/fsl.txt
 @@ -1,6 +1,10 @@
  Freescale i.MX Platforms Device Tree Bindings
  ---
  
 +i.MX28 Evaluation Kit
 +Required root node properties:
 +- compatible = fsl,imx28-evk, fsl,imx28;
 +
  i.MX51 Babbage Board
  Required root node properties:
  - compatible = fsl,imx51-babbage, fsl,imx51;
 diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts
 new file mode 100644
 index 000..9758dc4
 --- /dev/null
 +++ b/arch/arm/boot/dts/imx28-evk.dts
 @@ -0,0 +1,31 @@
 +/*
 + * Copyright 2012 Freescale Semiconductor, Inc.
 + *
 + * The code contained herein is licensed under the GNU General Public
 + * License. You may obtain a copy of the GNU General Public License
 + * Version 2 or later at the following locations:
 + *
 + * http://www.opensource.org/licenses/gpl-license.html
 + * http://www.gnu.org/copyleft/gpl.html
 + */
 +
 +/dts-v1/;
 +/include/ imx28.dtsi
 +
 +/ {
 + model = Freescale i.MX28 Evaluation Kit;
 + compatible = fsl,imx28-evk, fsl,imx28;
 +
 + memory {
 + device_type = memory;
 + reg = 0x4000 0x0800;
 + };
 +
 + ahb@8008 {
 + fec@800f {

Use generic names: ethernet@800f

 + phy-mode = rmii;
 + local-mac-address = [00 04 9F 01 7D 5B];
 + status = okay;
 + };
 + };
 +};
 diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
 new file mode 100644
 index 000..acf0dab
 --- /dev/null
 +++ b/arch/arm/boot/dts/imx28.dtsi
 @@ -0,0 +1,88 @@
 +/*
 + * Copyright 2012 Freescale Semiconductor, Inc.
 + *
 + * The code contained herein is licensed under the GNU General Public
 + * License. You may obtain a copy of the GNU General Public License
 + * Version 2 or later at the following locations:
 + *
 + * http://www.opensource.org/licenses/gpl-license.html
 + * http://www.gnu.org/copyleft/gpl.html
 + */
 +
 +/include/ skeleton.dtsi
 +
 +/ {
 + #address-cells = 1;
 + #size-cells = 1;
 + interrupt-parent = icoll;
 +
 + aliases {
 + serial0 = uart1;
 + };
 +
 + cpus {
 + cpu@0 {
 + compatible = arm,arm926ejs;
 + };
 + };
 +
 + apb@8000 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8000 0x8;
 + ranges;
 +
 + apbh@8000 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8000 0x3c900;
 + ranges;
 +
 + icoll: interrupt-controller@8000 {
 + compatible = fsl,imx28-icoll;
 + interrupt-controller;
 + #interrupt-cells = 1;
 + reg = 0x8000 0x2000;
 + };
 + };
 +
 + apbx@8004 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8004 0x4;
 + ranges;
 +
 + uart1: uart@80074000 {

Use generic names: uart1: serial@...

 + compatible = arm,pl011, arm,primecell;
 + reg = 0x80074000 0x2000;

This is really only 0x1000 in length.

 + interrupts = 47;
 + };
 + };
 + };
 +
 + ahb@8008 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8008 0x8;
 + ranges;
 +
 + fec@800f {
 + compatible = fsl,imx28-fec;
 + reg = 0x800f 0x4000;

This too IIRC.

 + interrupts = 101;
 + status = disabled;
 +   

Re: [PATCH v1 3/5] ARM: imx28evk: add mmc dt support

2012-03-13 Thread Rob Herring
On 03/13/2012 03:47 AM, Dong Aisheng wrote:
 From: Dong Aisheng dong.aish...@linaro.org
 
 Signed-off-by: Dong Aisheng dong.aish...@linaro.org
 ---
  arch/arm/boot/dts/imx28-evk.dts |   14 ++
  arch/arm/boot/dts/imx28.dtsi|   33 +
  arch/arm/mach-mxs/imx28-dt.c|2 ++
  3 files changed, 49 insertions(+), 0 deletions(-)

snip

 diff --git a/arch/arm/mach-mxs/imx28-dt.c b/arch/arm/mach-mxs/imx28-dt.c
 index 78d1129..429b88e 100644
 --- a/arch/arm/mach-mxs/imx28-dt.c
 +++ b/arch/arm/mach-mxs/imx28-dt.c
 @@ -23,6 +23,8 @@ static const struct of_dev_auxdata imx28_auxdata_lookup[] 
 __initconst = {
   OF_DEV_AUXDATA(arm,pl011, MX28_DUART_BASE_ADDR, duart, NULL),
   OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC0_BASE_ADDR, 
 imx28-fec.0, NULL),
   OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC1_BASE_ADDR, 
 imx28-fec.1, NULL),
 + OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP0_BASE_ADDR, mxs-mmc.0, NULL),
 + OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP1_BASE_ADDR, mxs-mmc.1, NULL),

Why is this needed?

   { /* sentinel */ }
  };
  

--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 1/5] ARM: imx28: add basic dt support

2012-03-13 Thread Zach Sadecki

On 03/13/2012 09:35 AM, Rob Herring wrote:

+   ahb@8008 {
+   fec@800f {
Use generic names: ethernet@800f
Generic is good, but consistency is better, IMHO.  grepping existing dts 
files in 3.2.9 finds 6 instances of fec@ and 0 instances of ethernet@

+   uart1: uart@80074000 {

Use generic names: uart1: serial@...
Same comment here, but unfortunately there is already inconsistency in 
existing files...  25 instances of serial@ and 35 instances of uart@


--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/4] omap hsmmc device tree support

2012-03-13 Thread T Krishnamoorthy, Balaji
On Mon, Mar 12, 2012 at 8:32 PM, Rajendra Nayak rna...@ti.com wrote:
 The series adds device tree support for OMAP hsmmc
 driver.

 Changes in V2:
 -1- Minor fixes based on comments from Grant.
 -2- Added a seperate compatible for omap3.
 -3- Added a new binding ti,needs-special-reset
 to handle some mmc modules which need special
 softreset sequence.
 -4- Updated board dts files with status = disable;
 for unused mmc modules.

 Rob,
 I retained your ack on patch 1 despite the additional
 binding that I added to handle the special softreset
 sequence. Let me know if you have any issues with it.

 Chris.
 Patch 1 and Patch 2 apply cleanly on mmc-next and can
 be taken in from the mmc tree after relevent acks from
 DT folks.
 Patch 3 and Patch 4 which update dts files, I plan to
 push via linux-omap/Tony's tree.
Hi Rajendra,

Tested this series on omap4sdp, so feel free to add
Tested-by: Balaji T K balaj...@ti.com


 The series is tested on omap4sdp (both external and emmc),
 omap4panda amd omap3beagle boards.

 Things to do:
 -1- Card detect isn't functional and needs twl4030 gpio
 to be DT converted.
 -2- pbias cell programming is missing and needs an OMAP
 control module driver.

 Rajendra Nayak (4):
  mmc: omap_hsmmc: Convert hsmmc driver to use device tree
  mmc: omap_hsmmc: Avoid a regulator voltage change with dt
  arm/dts: OMAP4: Add mmc controller nodes and board data
  arm/dts: OMAP3: Add mmc controller nodes and board data

  .../devicetree/bindings/mmc/ti-omap-hsmmc.txt      |   33 +++
  arch/arm/boot/dts/omap3-beagle.dts                 |   14 +++
  arch/arm/boot/dts/omap3.dtsi                       |   16 
  arch/arm/boot/dts/omap4-panda.dts                  |   22 +
  arch/arm/boot/dts/omap4-sdp.dts                    |   24 ++
  arch/arm/boot/dts/omap4.dtsi                       |   31 +++
  drivers/mmc/host/omap_hsmmc.c                      |   88 
 +++-
  7 files changed, 227 insertions(+), 1 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 3/5] ARM: imx28evk: add mmc dt support

2012-03-13 Thread Sascha Hauer
On Tue, Mar 13, 2012 at 09:39:30AM -0500, Rob Herring wrote:
 On 03/13/2012 03:47 AM, Dong Aisheng wrote:
  From: Dong Aisheng dong.aish...@linaro.org
  
  Signed-off-by: Dong Aisheng dong.aish...@linaro.org
  ---
   arch/arm/boot/dts/imx28-evk.dts |   14 ++
   arch/arm/boot/dts/imx28.dtsi|   33 +
   arch/arm/mach-mxs/imx28-dt.c|2 ++
   3 files changed, 49 insertions(+), 0 deletions(-)
 
 snip
 
  diff --git a/arch/arm/mach-mxs/imx28-dt.c b/arch/arm/mach-mxs/imx28-dt.c
  index 78d1129..429b88e 100644
  --- a/arch/arm/mach-mxs/imx28-dt.c
  +++ b/arch/arm/mach-mxs/imx28-dt.c
  @@ -23,6 +23,8 @@ static const struct of_dev_auxdata imx28_auxdata_lookup[] 
  __initconst = {
  OF_DEV_AUXDATA(arm,pl011, MX28_DUART_BASE_ADDR, duart, NULL),
  OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC0_BASE_ADDR, 
  imx28-fec.0, NULL),
  OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC1_BASE_ADDR, 
  imx28-fec.1, NULL),
  +   OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP0_BASE_ADDR, mxs-mmc.0, NULL),
  +   OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP1_BASE_ADDR, mxs-mmc.1, NULL),
 
 Why is this needed?

These are needed for the drivers which have still the mxs-mmc.* names
to find their clocks. Alternatively we could also add the appropriate
clocks to the clock file. Don't know if that's better though.

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/3] mmc: sdhci-pci: Add MSI support

2012-03-13 Thread Alexander Stein
Signed-off-by: Alexander Stein alexander.st...@systec-electronic.com
---
 drivers/mmc/host/sdhci-pci.c |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index 7165e6a..9382f27 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -1379,6 +1379,8 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,
 
slots = chip-num_slots;/* Quirk may have changed this */
 
+   pci_enable_msi(pdev);
+
for (i = 0; i  slots; i++) {
slot = sdhci_pci_probe_slot(pdev, chip, first_bar, i);
if (IS_ERR(slot)) {
@@ -1397,6 +1399,8 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,
return 0;
 
 free:
+   pci_disable_msi(pdev);
+
pci_set_drvdata(pdev, NULL);
kfree(chip);
 
@@ -1419,6 +1423,8 @@ static void __devexit sdhci_pci_remove(struct pci_dev 
*pdev)
for (i = 0; i  chip-num_slots; i++)
sdhci_pci_remove_slot(chip-slots[i]);
 
+   pci_disable_msi(pdev);
+
pci_set_drvdata(pdev, NULL);
kfree(chip);
}
-- 
1.7.3.4

--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/3] mmc: sdhci-pci: allow 8-bit bus width for Intel PCH

2012-03-13 Thread Alexander Stein
Signed-off-by: Alexander Stein alexander.st...@systec-electronic.com
---
 drivers/mmc/host/sdhci-pci.c |   27 +++
 include/linux/pci_ids.h  |2 ++
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index 9382f27..0218cb2 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -172,6 +172,12 @@ static int mrst_hc_probe(struct sdhci_pci_chip *chip)
return 0;
 }
 
+static int pch_hc_probe_slot(struct sdhci_pci_slot *slot)
+{
+   slot-host-mmc-caps |= MMC_CAP_8_BIT_DATA;
+   return 0;
+}
+
 #ifdef CONFIG_PM_RUNTIME
 
 static irqreturn_t sdhci_pci_sd_cd(int irq, void *dev_id)
@@ -281,6 +287,11 @@ static const struct sdhci_pci_fixes sdhci_intel_mfd_emmc = 
{
.probe_slot = mfd_emmc_probe_slot,
 };
 
+static const struct sdhci_pci_fixes sdhci_intel_pch_sdio = {
+   .quirks = SDHCI_QUIRK_BROKEN_ADMA,
+   .probe_slot = pch_hc_probe_slot,
+};
+
 /* O2Micro extra registers */
 #define O2_SD_LOCK_WP  0xD3
 #define O2_SD_MULTI_VCC3V  0xEE
@@ -817,6 +828,22 @@ static const struct pci_device_id pci_ids[] __devinitdata 
= {
},
 
{
+   .vendor = PCI_VENDOR_ID_INTEL,
+   .device = PCI_DEVICE_ID_INTEL_PCH_SDIO0,
+   .subvendor  = PCI_ANY_ID,
+   .subdevice  = PCI_ANY_ID,
+   .driver_data= (kernel_ulong_t)sdhci_intel_pch_sdio,
+   },
+
+   {
+   .vendor = PCI_VENDOR_ID_INTEL,
+   .device = PCI_DEVICE_ID_INTEL_PCH_SDIO1,
+   .subvendor  = PCI_ANY_ID,
+   .subdevice  = PCI_ANY_ID,
+   .driver_data= (kernel_ulong_t)sdhci_intel_pch_sdio,
+   },
+
+   {
.vendor = PCI_VENDOR_ID_O2,
.device = PCI_DEVICE_ID_O2_8120,
.subvendor  = PCI_ANY_ID,
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 31d77af..28cd019 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -2800,6 +2800,8 @@
 #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb
 #define PCI_DEVICE_ID_INTEL_84460GX0x84ea
 #define PCI_DEVICE_ID_INTEL_IXP4XX 0x8500
+#define PCI_DEVICE_ID_INTEL_PCH_SDIO0  0x8809
+#define PCI_DEVICE_ID_INTEL_PCH_SDIO1  0x880a
 #define PCI_DEVICE_ID_INTEL_IXP28000x9004
 #define PCI_DEVICE_ID_INTEL_S21152BB   0xb152
 
-- 
1.7.3.4

--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/3] mmc: sdhci: check interrupt flags in ISR again

2012-03-13 Thread Alexander Stein
When using MSI it is possible that a new MSI is sent while an earlier
MSI is currently handled. In this case SDHCI_INT_STATUS only contains
SDHCI_INT_RESPONSE and the ISR would not be called again. But at the end
of the ISR SDHCI_INT_DATA_END is now also pending which would be ignored.

Fix this by rereading the interrupt flags in the ISR until no interrupt
we care is pending.

Signed-off-by: Alexander Stein alexander.st...@systec-electronic.com
---
 drivers/mmc/host/sdhci.c |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 8d66706..654ab32 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2268,6 +2268,7 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
irqreturn_t result;
struct sdhci_host *host = dev_id;
u32 intmask;
+   u32 intmask_unhandled;
int cardint = 0;
 
spin_lock(host-lock);
@@ -2286,6 +2287,7 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
goto out;
}
 
+again:
DBG(*** %s got interrupt: 0x%08x\n,
mmc_hostname(host-mmc), intmask);
 
@@ -2336,6 +2338,14 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
sdhci_writel(host, SDHCI_INT_BUS_POWER, SDHCI_INT_STATUS);
}
 
+   intmask_unhandled = intmask;
+
+   intmask = sdhci_readl(host, SDHCI_INT_STATUS);
+
+   /* Do interrupt handling again if we got new flags */
+   if (intmask  ~intmask_unhandled)
+   goto again;
+
intmask = ~SDHCI_INT_BUS_POWER;
 
if (intmask  SDHCI_INT_CARD_INT)
-- 
1.7.3.4

--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 1/5] ARM: imx28: add basic dt support

2012-03-13 Thread Grant Likely
On Tue, 13 Mar 2012 16:47:04 +0800, Dong Aisheng b29...@freescale.com wrote:
 From: Dong Aisheng dong.aish...@linaro.org
 
 This patch includes basic dt support which can boot via nfs rootfs.
 
 Signed-off-by: Dong Aisheng dong.aish...@linaro.org
 ---
  Documentation/devicetree/bindings/arm/fsl.txt |4 +
  arch/arm/boot/dts/imx28-evk.dts   |   31 +
  arch/arm/boot/dts/imx28.dtsi  |   88 
 +
  arch/arm/mach-mxs/Kconfig |9 +++
  arch/arm/mach-mxs/Makefile|1 +
  arch/arm/mach-mxs/imx28-dt.c  |   67 +++
  6 files changed, 200 insertions(+), 0 deletions(-)
 
 diff --git a/Documentation/devicetree/bindings/arm/fsl.txt 
 b/Documentation/devicetree/bindings/arm/fsl.txt
 index 54bddda..9f21faf 100644
 --- a/Documentation/devicetree/bindings/arm/fsl.txt
 +++ b/Documentation/devicetree/bindings/arm/fsl.txt
 @@ -1,6 +1,10 @@
  Freescale i.MX Platforms Device Tree Bindings
  ---
  
 +i.MX28 Evaluation Kit
 +Required root node properties:
 +- compatible = fsl,imx28-evk, fsl,imx28;
 +
  i.MX51 Babbage Board
  Required root node properties:
  - compatible = fsl,imx51-babbage, fsl,imx51;
 diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts
 new file mode 100644
 index 000..9758dc4
 --- /dev/null
 +++ b/arch/arm/boot/dts/imx28-evk.dts
 @@ -0,0 +1,31 @@
 +/*
 + * Copyright 2012 Freescale Semiconductor, Inc.
 + *
 + * The code contained herein is licensed under the GNU General Public
 + * License. You may obtain a copy of the GNU General Public License
 + * Version 2 or later at the following locations:
 + *
 + * http://www.opensource.org/licenses/gpl-license.html
 + * http://www.gnu.org/copyleft/gpl.html
 + */
 +
 +/dts-v1/;
 +/include/ imx28.dtsi
 +
 +/ {
 + model = Freescale i.MX28 Evaluation Kit;
 + compatible = fsl,imx28-evk, fsl,imx28;
 +
 + memory {
 + device_type = memory;
 + reg = 0x4000 0x0800;
 + };
 +
 + ahb@8008 {
 + fec@800f {
 + phy-mode = rmii;
 + local-mac-address = [00 04 9F 01 7D 5B];

Generally a bad idea to put a specific mac address into the device tree.
Better to fill it with zeros.  Otherwise all the dev boards will end up using
the same value.

 + status = okay;
 + };
 + };
 +};
 diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
 new file mode 100644
 index 000..acf0dab
 --- /dev/null
 +++ b/arch/arm/boot/dts/imx28.dtsi
 @@ -0,0 +1,88 @@
 +/*
 + * Copyright 2012 Freescale Semiconductor, Inc.
 + *
 + * The code contained herein is licensed under the GNU General Public
 + * License. You may obtain a copy of the GNU General Public License
 + * Version 2 or later at the following locations:
 + *
 + * http://www.opensource.org/licenses/gpl-license.html
 + * http://www.gnu.org/copyleft/gpl.html
 + */
 +
 +/include/ skeleton.dtsi
 +
 +/ {
 + #address-cells = 1;
 + #size-cells = 1;
 + interrupt-parent = icoll;
 +
 + aliases {
 + serial0 = uart1;
 + };
 +
 + cpus {
 + cpu@0 {
 + compatible = arm,arm926ejs;
 + };
 + };
 +
 + apb@8000 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8000 0x8;
 + ranges;
 +
 + apbh@8000 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8000 0x3c900;
 + ranges;
 +
 + icoll: interrupt-controller@8000 {
 + compatible = fsl,imx28-icoll;
 + interrupt-controller;
 + #interrupt-cells = 1;
 + reg = 0x8000 0x2000;
 + };
 + };
 +
 + apbx@8004 {
 + compatible = simple-bus;
 + #address-cells = 1;
 + #size-cells = 1;
 + reg = 0x8004 0x4;
 + ranges;
 +
 + uart1: uart@80074000 {
 + compatible = arm,pl011, arm,primecell;
 + reg = 0x80074000 0x2000;
 + interrupts = 47;
 + };
 + };

What is the purpose of the apbh and apbx busses?  Will more device nodes
get added to them later, or does each only contain a single device?

g.
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/3] mmc: sdhci-pci: allow 8-bit bus width for Intel PCH

2012-03-13 Thread Greg KH
On Tue, Mar 13, 2012 at 06:16:42PM +0100, Alexander Stein wrote:
 --- a/include/linux/pci_ids.h
 +++ b/include/linux/pci_ids.h
 @@ -2800,6 +2800,8 @@
  #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb
  #define PCI_DEVICE_ID_INTEL_84460GX  0x84ea
  #define PCI_DEVICE_ID_INTEL_IXP4XX   0x8500
 +#define PCI_DEVICE_ID_INTEL_PCH_SDIO00x8809
 +#define PCI_DEVICE_ID_INTEL_PCH_SDIO10x880a
  #define PCI_DEVICE_ID_INTEL_IXP2800  0x9004
  #define PCI_DEVICE_ID_INTEL_S21152BB 0xb152

Did you read the comment at the top of this file before adding your new
device ids?

If not, please do so, and redo your patch.

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 1/5] ARM: imx28: add basic dt support

2012-03-13 Thread Grant Likely
On Tue, 13 Mar 2012 09:59:39 -0500, Zach Sadecki zsade...@itwatchdogs.com 
wrote:
 On 03/13/2012 09:35 AM, Rob Herring wrote:
  +   ahb@8008 {
  +   fec@800f {
  Use generic names: ethernet@800f
 Generic is good, but consistency is better, IMHO.  grepping existing dts 
 files in 3.2.9 finds 6 instances of fec@ and 0 instances of ethernet@
  +  uart1: uart@80074000 {
  Use generic names: uart1: serial@...
 Same comment here, but unfortunately there is already inconsistency in 
 existing files...  25 instances of serial@ and 35 instances of uart@

No, Rob is correct.  The generic names recommended practice is well
established and documented.  Expand your grep search to include
arch/powerpc/bot/dts/*.

See section 2.2.2 of ePAPR[1]

[1]https://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.1.pdf

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 2/5] mmc: mxs-mmc: add dt probe support

2012-03-13 Thread Grant Likely
On Tue, 13 Mar 2012 16:47:05 +0800, Dong Aisheng b29...@freescale.com wrote:
 From: Dong Aisheng dong.aish...@linaro.org
 
 Signed-off-by: Dong Aisheng dong.aish...@linaro.org
 
 ---
 The patch is still using a private way for dma part binding
 since the common dma binding is still under discussion.
 http://www.spinics.net/lists/linux-omap/msg65528.html
 
 Will update to use common dma binding when it hits mainline.
 ---
  .../devicetree/bindings/mmc/fsl-mxs-mmc.txt|   23 ++
  drivers/mmc/host/mxs-mmc.c |   82 
 +++-
  2 files changed, 102 insertions(+), 3 deletions(-)
 
 diff --git a/Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt 
 b/Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt
 new file mode 100644
 index 000..adc1142
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/mmc/fsl-mxs-mmc.txt
 @@ -0,0 +1,23 @@
 +* FREESCALE MXS MMC peripheral
 +
 +Required properties:
 +- compatible : Should be fsl,chip-mmc
 +- reg : Should contain registers location and length
 +- interrupts : Should contain interrupt.
 +  The format is irq_err irq_dma.
 +- dma_channel: Should contain the dma channel it uses

Don't use '_' in property names.

The is a generic dma binding being drafted that uses a phandle to the dma
controller and the ability to encode channel numbers.  You may want to take
a look at it.

 +
 +Optional properties:
 +- wp-gpios : Specify GPIOs for write protection
 +- slot-4bit: Specify 4 bit mode support
 +- slot-8bit: Specify 8 bit and 4 bit mode support
 +
 +Examples:
 +mmc1: ssp@8001 {
 + compatible = fsl,imx28-mmc;
 + reg = 0x8001 2000;
 + /* irq_err irq_dma */
 + interrupts = 96 82;
 + dma_channel = 0;
 + slot-8bit;
 +};
 diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
 index 382c835..6cf2d17 100644
 --- a/drivers/mmc/host/mxs-mmc.c
 +++ b/drivers/mmc/host/mxs-mmc.c
 @@ -38,6 +38,10 @@
  #include linux/gpio.h
  #include linux/regulator/consumer.h
  #include linux/module.h
 +#include linux/of.h
 +#include linux/of_device.h
 +#include linux/of_gpio.h
 +#include linux/slab.h
  
  #include mach/mxs.h
  #include mach/common.h
 @@ -673,17 +677,79 @@ static bool mxs_mmc_dma_filter(struct dma_chan *chan, 
 void *param)
   return true;
  }
  
 +#ifdef CONFIG_OF
 +static struct resource * __devinit mxs_mmc_get_of_dmares(
 + struct platform_device *pdev)
 +{
 + struct device_node *np = pdev-dev.of_node;
 + struct resource *dmares;
 + int ret;
 +
 + if (!np)
 + return NULL;
 +
 + dmares = kzalloc(sizeof(*dmares), GFP_KERNEL);

devm_kzalloc()

 + dmares-flags = IORESOURCE_DMA;
 + ret = of_property_read_u32(np, dma_channel, dmares-start);
 + if (ret) {
 + dev_err(pdev-dev, unable to get dmares from dt\n);
 + return NULL;
 + }
 + dmares-end = dmares-start;
 +
 + return dmares;
 +}
 +
 +static int __devinit mxs_mmc_get_of_property(struct platform_device *pdev,
 + struct mxs_mmc_platform_data **ppdata)
 +{
 + struct device_node *np = pdev-dev.of_node;
 + struct mxs_mmc_platform_data *pdata = *ppdata;
 +
 + if (!np)
 + return -ENODEV;
 +
 + pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);

Ditto

Fix up those comments and you can add my:

Acked-by: Grant Likely grant.lik...@secretlab.ca

 +
 + if (of_get_property(np, slot-8bit, NULL))
 + pdata-flags |= SLOTF_8_BIT_CAPABLE;
 +
 + if (of_get_property(np, slot-4bit, NULL))
 + pdata-flags |= SLOTF_4_BIT_CAPABLE;
 +
 + pdata-wp_gpio = of_get_named_gpio(np, wp-gpios, 0);
 +
 + dev_dbg(pdev-dev, wp-gpios %d flags %d\n, pdata-wp_gpio,
 + pdata-flags);
 +
 + return 0;
 +}
 +#else
 +static struct resource * __devinit mxs_mmc_get_of_dmares(
 + struct platform_device *pdev)
 +{
 + return NULL;
 +}
 +static inline int mxs_mmc_get_of_property(struct platform_device *pdev,
 + struct mxs_mmc_platform_data *pdata)
 +{
 + return -ENODEV;
 +}
 +#endif
 +
  static int mxs_mmc_probe(struct platform_device *pdev)
  {
   struct mxs_mmc_host *host;
   struct mmc_host *mmc;
   struct resource *iores, *dmares, *r;
 - struct mxs_mmc_platform_data *pdata;
 + struct mxs_mmc_platform_data *pdata = NULL;
   int ret = 0, irq_err, irq_dma;
   dma_cap_mask_t mask;
  
   iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 - dmares = platform_get_resource(pdev, IORESOURCE_DMA, 0);
 + dmares = mxs_mmc_get_of_dmares(pdev);
 + if (dmares == NULL)
 + dmares = platform_get_resource(pdev, IORESOURCE_DMA, 0);
   irq_err = platform_get_irq(pdev, 0);
   irq_dma = platform_get_irq(pdev, 1);
   if (!iores || !dmares || irq_err  0 || irq_dma  0)
 @@ -740,7 +806,9 @@ static int mxs_mmc_probe(struct platform_device *pdev)
   mmc-caps = 

Re: [PATCH v1 3/5] ARM: imx28evk: add mmc dt support

2012-03-13 Thread Rob Herring
On 03/13/2012 11:52 AM, Sascha Hauer wrote:
 On Tue, Mar 13, 2012 at 09:39:30AM -0500, Rob Herring wrote:
 On 03/13/2012 03:47 AM, Dong Aisheng wrote:
 From: Dong Aisheng dong.aish...@linaro.org

 Signed-off-by: Dong Aisheng dong.aish...@linaro.org
 ---
  arch/arm/boot/dts/imx28-evk.dts |   14 ++
  arch/arm/boot/dts/imx28.dtsi|   33 +
  arch/arm/mach-mxs/imx28-dt.c|2 ++
  3 files changed, 49 insertions(+), 0 deletions(-)

 snip

 diff --git a/arch/arm/mach-mxs/imx28-dt.c b/arch/arm/mach-mxs/imx28-dt.c
 index 78d1129..429b88e 100644
 --- a/arch/arm/mach-mxs/imx28-dt.c
 +++ b/arch/arm/mach-mxs/imx28-dt.c
 @@ -23,6 +23,8 @@ static const struct of_dev_auxdata imx28_auxdata_lookup[] 
 __initconst = {
 OF_DEV_AUXDATA(arm,pl011, MX28_DUART_BASE_ADDR, duart, NULL),
 OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC0_BASE_ADDR, 
 imx28-fec.0, NULL),
 OF_DEV_AUXDATA(fsl,imx28-fec, MX28_ENET_MAC1_BASE_ADDR, 
 imx28-fec.1, NULL),
 +   OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP0_BASE_ADDR, mxs-mmc.0, NULL),
 +   OF_DEV_AUXDATA(fsl,imx28-mmc, MX28_SSP1_BASE_ADDR, mxs-mmc.1, NULL),

 Why is this needed?
 
 These are needed for the drivers which have still the mxs-mmc.* names
 to find their clocks. Alternatively we could also add the appropriate
 clocks to the clock file. Don't know if that's better though.

Ah, yes I should have known that... If clk lookup is all that's needed,
I'd suggest adding the necessary clk lookups either here or in the clock
code. Not much difference, but at least it removes the use of
*_BASE_ADDR defines.

Rob
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/3] mmc: sdhci-pci: allow 8-bit bus width for Intel PCH

2012-03-13 Thread Tomoya MORINAGA
Hi Alexander

As a matter of interest,
do you mean that current MMC of eg20t on Linux doesn't support 8-bit access?

thanks,
-- 
ROHM Co., Ltd.
tomoya


On Wed, Mar 14, 2012 at 2:16 AM, Alexander Stein
alexander.st...@systec-electronic.com wrote:
 Signed-off-by: Alexander Stein alexander.st...@systec-electronic.com
 ---
  drivers/mmc/host/sdhci-pci.c |   27 +++
  include/linux/pci_ids.h      |    2 ++
  2 files changed, 29 insertions(+), 0 deletions(-)

 diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
 index 9382f27..0218cb2 100644
 --- a/drivers/mmc/host/sdhci-pci.c
 +++ b/drivers/mmc/host/sdhci-pci.c
 @@ -172,6 +172,12 @@ static int mrst_hc_probe(struct sdhci_pci_chip *chip)
        return 0;
  }

 +static int pch_hc_probe_slot(struct sdhci_pci_slot *slot)
 +{
 +       slot-host-mmc-caps |= MMC_CAP_8_BIT_DATA;
 +       return 0;
 +}
 +
  #ifdef CONFIG_PM_RUNTIME

  static irqreturn_t sdhci_pci_sd_cd(int irq, void *dev_id)
 @@ -281,6 +287,11 @@ static const struct sdhci_pci_fixes sdhci_intel_mfd_emmc 
 = {
        .probe_slot     = mfd_emmc_probe_slot,
  };

 +static const struct sdhci_pci_fixes sdhci_intel_pch_sdio = {
 +       .quirks         = SDHCI_QUIRK_BROKEN_ADMA,
 +       .probe_slot     = pch_hc_probe_slot,
 +};
 +
  /* O2Micro extra registers */
  #define O2_SD_LOCK_WP          0xD3
  #define O2_SD_MULTI_VCC3V      0xEE
 @@ -817,6 +828,22 @@ static const struct pci_device_id pci_ids[] 
 __devinitdata = {
        },

        {
 +               .vendor         = PCI_VENDOR_ID_INTEL,
 +               .device         = PCI_DEVICE_ID_INTEL_PCH_SDIO0,
 +               .subvendor      = PCI_ANY_ID,
 +               .subdevice      = PCI_ANY_ID,
 +               .driver_data    = (kernel_ulong_t)sdhci_intel_pch_sdio,
 +       },
 +
 +       {
 +               .vendor         = PCI_VENDOR_ID_INTEL,
 +               .device         = PCI_DEVICE_ID_INTEL_PCH_SDIO1,
 +               .subvendor      = PCI_ANY_ID,
 +               .subdevice      = PCI_ANY_ID,
 +               .driver_data    = (kernel_ulong_t)sdhci_intel_pch_sdio,
 +       },
 +
 +       {
                .vendor         = PCI_VENDOR_ID_O2,
                .device         = PCI_DEVICE_ID_O2_8120,
                .subvendor      = PCI_ANY_ID,
 diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
 index 31d77af..28cd019 100644
 --- a/include/linux/pci_ids.h
 +++ b/include/linux/pci_ids.h
 @@ -2800,6 +2800,8 @@
  #define PCI_DEVICE_ID_INTEL_82454NX     0x84cb
  #define PCI_DEVICE_ID_INTEL_84460GX    0x84ea
  #define PCI_DEVICE_ID_INTEL_IXP4XX     0x8500
 +#define PCI_DEVICE_ID_INTEL_PCH_SDIO0  0x8809
 +#define PCI_DEVICE_ID_INTEL_PCH_SDIO1  0x880a
  #define PCI_DEVICE_ID_INTEL_IXP2800    0x9004
  #define PCI_DEVICE_ID_INTEL_S21152BB   0xb152

 --
 1.7.3.4
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 1/5] ARM: imx28: add basic dt support

2012-03-13 Thread Shawn Guo
On Tue, Mar 13, 2012 at 11:28:07AM -0600, Grant Likely wrote:
 On Tue, 13 Mar 2012 09:59:39 -0500, Zach Sadecki zsade...@itwatchdogs.com 
 wrote:
  On 03/13/2012 09:35 AM, Rob Herring wrote:
   + ahb@8008 {
   + fec@800f {
   Use generic names: ethernet@800f
  Generic is good, but consistency is better, IMHO.  grepping existing dts 
  files in 3.2.9 finds 6 instances of fec@ and 0 instances of ethernet@
   +uart1: uart@80074000 {
   Use generic names: uart1: serial@...
  Same comment here, but unfortunately there is already inconsistency in 
  existing files...  25 instances of serial@ and 35 instances of uart@
 
 No, Rob is correct.  The generic names recommended practice is well
 established and documented.  Expand your grep search to include
 arch/powerpc/bot/dts/*.
 
 See section 2.2.2 of ePAPR[1]
 
 [1]https://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.1.pdf
 
I will probably need to patch imx5 and imx6 dts files with the
inconsistency fixed.

-- 
Regards,
Shawn
--
To unsubscribe from this list: send the line unsubscribe linux-mmc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html