public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [v3, 0/5] eSDHC patches introduction
@ 2015-11-27  3:20 Yangbo Lu
  2015-11-27  3:20 ` [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux Yangbo Lu
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Yangbo Lu @ 2015-11-27  3:20 UTC (permalink / raw)
  To: linux-mmc, ulf.hansson; +Cc: scottwood, X.Xie, LeoLi, Yangbo Lu

This patchset is used to fix host version in eSDHC_HOSTVER for T4240-R1.0-R2.0.
To get the SoC version and revision, it's needed to add syscon support to access
the SVR(system version register) of global utilities registers through regmap.

So, the first three patches are to add syscon support to access SVR.
The following two patches are to fix host version for T4240.

Yangbo Lu (5):
  powerpc/fsl: move mpc85xx.h to include/linux
  mmc: sdhci-of-esdhc: get SVR from global utilities registers
  mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC
  powerpc: dts: t4240: add syscon support for DCFG node
  mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0

 arch/powerpc/boot/dts/fsl/t4240si-post.dtsi |  4 +-
 arch/powerpc/include/asm/mpc85xx.h          | 95 ----------------------------
 drivers/clk/clk-qoriq.c                     |  2 +-
 drivers/i2c/busses/i2c-mpc.c                |  2 +-
 drivers/iommu/fsl_pamu.c                    |  2 +-
 drivers/mmc/host/Kconfig                    |  1 +
 drivers/mmc/host/sdhci-of-esdhc.c           | 28 ++++++++-
 drivers/net/ethernet/freescale/gianfar.c    |  2 +-
 include/linux/fsl-svr.h                     | 97 +++++++++++++++++++++++++++++
 9 files changed, 131 insertions(+), 102 deletions(-)
 delete mode 100644 arch/powerpc/include/asm/mpc85xx.h
 create mode 100644 include/linux/fsl-svr.h

-- 
2.1.0.27.g96db324


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux
  2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
@ 2015-11-27  3:20 ` Yangbo Lu
  2015-12-08 13:49   ` Ulf Hansson
  2015-12-08 17:44   ` Scott Wood
  2015-11-27  3:20 ` [v3, 2/5] mmc: sdhci-of-esdhc: get SVR from global utilities registers Yangbo Lu
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 19+ messages in thread
From: Yangbo Lu @ 2015-11-27  3:20 UTC (permalink / raw)
  To: linux-mmc, ulf.hansson; +Cc: scottwood, X.Xie, LeoLi, Yangbo Lu

Move mpc85xx.h to include/linux and rename it to fsl-svr.h as
a common header file. It has been used for mpc85xx and it will
be used for ARM-based SoC as well.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
Changes for v2:
	- None
Changes for v3:
	- Added this patch
---
 arch/powerpc/include/asm/mpc85xx.h       | 95 -------------------------------
 drivers/clk/clk-qoriq.c                  |  2 +-
 drivers/i2c/busses/i2c-mpc.c             |  2 +-
 drivers/iommu/fsl_pamu.c                 |  2 +-
 drivers/net/ethernet/freescale/gianfar.c |  2 +-
 include/linux/fsl-svr.h                  | 97 ++++++++++++++++++++++++++++++++
 6 files changed, 101 insertions(+), 99 deletions(-)
 delete mode 100644 arch/powerpc/include/asm/mpc85xx.h
 create mode 100644 include/linux/fsl-svr.h

diff --git a/arch/powerpc/include/asm/mpc85xx.h b/arch/powerpc/include/asm/mpc85xx.h
deleted file mode 100644
index 213f3a8..0000000
--- a/arch/powerpc/include/asm/mpc85xx.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * MPC85xx cpu type detection
- *
- * Copyright 2011-2012 Freescale Semiconductor, Inc.
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef __ASM_PPC_MPC85XX_H
-#define __ASM_PPC_MPC85XX_H
-
-#define SVR_REV(svr)	((svr) & 0xFF)		/* SOC design resision */
-#define SVR_MAJ(svr)	(((svr) >>  4) & 0xF)	/* Major revision field*/
-#define SVR_MIN(svr)	(((svr) >>  0) & 0xF)	/* Minor revision field*/
-
-/* Some parts define SVR[0:23] as the SOC version */
-#define SVR_SOC_VER(svr) (((svr) >> 8) & 0xFFF7FF)	/* SOC Version fields */
-
-#define SVR_8533	0x803400
-#define SVR_8535	0x803701
-#define SVR_8536	0x803700
-#define SVR_8540	0x803000
-#define SVR_8541	0x807200
-#define SVR_8543	0x803200
-#define SVR_8544	0x803401
-#define SVR_8545	0x803102
-#define SVR_8547	0x803101
-#define SVR_8548	0x803100
-#define SVR_8555	0x807100
-#define SVR_8560	0x807000
-#define SVR_8567	0x807501
-#define SVR_8568	0x807500
-#define SVR_8569	0x808000
-#define SVR_8572	0x80E000
-#define SVR_P1010	0x80F100
-#define SVR_P1011	0x80E500
-#define SVR_P1012	0x80E501
-#define SVR_P1013	0x80E700
-#define SVR_P1014	0x80F101
-#define SVR_P1017	0x80F700
-#define SVR_P1020	0x80E400
-#define SVR_P1021	0x80E401
-#define SVR_P1022	0x80E600
-#define SVR_P1023	0x80F600
-#define SVR_P1024	0x80E402
-#define SVR_P1025	0x80E403
-#define SVR_P2010	0x80E300
-#define SVR_P2020	0x80E200
-#define SVR_P2040	0x821000
-#define SVR_P2041	0x821001
-#define SVR_P3041	0x821103
-#define SVR_P4040	0x820100
-#define SVR_P4080	0x820000
-#define SVR_P5010	0x822100
-#define SVR_P5020	0x822000
-#define SVR_P5021	0X820500
-#define SVR_P5040	0x820400
-#define SVR_T4240	0x824000
-#define SVR_T4120	0x824001
-#define SVR_T4160	0x824100
-#define SVR_T4080	0x824102
-#define SVR_C291	0x850000
-#define SVR_C292	0x850020
-#define SVR_C293	0x850030
-#define SVR_B4860	0X868000
-#define SVR_G4860	0x868001
-#define SVR_G4060	0x868003
-#define SVR_B4440	0x868100
-#define SVR_G4440	0x868101
-#define SVR_B4420	0x868102
-#define SVR_B4220	0x868103
-#define SVR_T1040	0x852000
-#define SVR_T1041	0x852001
-#define SVR_T1042	0x852002
-#define SVR_T1020	0x852100
-#define SVR_T1021	0x852101
-#define SVR_T1022	0x852102
-#define SVR_T2080	0x853000
-#define SVR_T2081	0x853100
-
-#define SVR_8610	0x80A000
-#define SVR_8641	0x809000
-#define SVR_8641D	0x809001
-
-#define SVR_9130	0x860001
-#define SVR_9131	0x860000
-#define SVR_9132	0x861000
-#define SVR_9232	0x861400
-
-#define SVR_Unknown	0xFFFFFF
-
-#endif
diff --git a/drivers/clk/clk-qoriq.c b/drivers/clk/clk-qoriq.c
index 1ab0fb8..f883ed0 100644
--- a/drivers/clk/clk-qoriq.c
+++ b/drivers/clk/clk-qoriq.c
@@ -1146,7 +1146,7 @@ bad_args:
 }
 
 #ifdef CONFIG_PPC
-#include <asm/mpc85xx.h>
+#include <linux/fsl-svr.h>
 
 static const u32 a4510_svrs[] __initconst = {
 	(SVR_P2040 << 8) | 0x10,	/* P2040 1.0 */
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index 48ecffe..a8153dd 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -27,9 +27,9 @@
 #include <linux/i2c.h>
 #include <linux/interrupt.h>
 #include <linux/delay.h>
+#include <linux/fsl-svr.h>
 
 #include <asm/mpc52xx.h>
-#include <asm/mpc85xx.h>
 #include <sysdev/fsl_soc.h>
 
 #define DRV_NAME "mpc-i2c"
diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c
index a34355f..abbfd9d 100644
--- a/drivers/iommu/fsl_pamu.c
+++ b/drivers/iommu/fsl_pamu.c
@@ -24,7 +24,7 @@
 #include <linux/interrupt.h>
 #include <linux/genalloc.h>
 
-#include <asm/mpc85xx.h>
+#include <linux/fsl-svr.h>
 
 /* define indexes for each operation mapping scenario */
 #define OMI_QMAN        0x00
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 3e6b9b4..130cc90 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -90,7 +90,7 @@
 #include <asm/io.h>
 #ifdef CONFIG_PPC
 #include <asm/reg.h>
-#include <asm/mpc85xx.h>
+#include <linux/fsl-svr.h>
 #endif
 #include <asm/irq.h>
 #include <asm/uaccess.h>
diff --git a/include/linux/fsl-svr.h b/include/linux/fsl-svr.h
new file mode 100644
index 0000000..fc8fcc2
--- /dev/null
+++ b/include/linux/fsl-svr.h
@@ -0,0 +1,97 @@
+/*
+ * MPC85xx cpu type detection
+ *
+ * Copyright 2011-2012 Freescale Semiconductor, Inc.
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef __FSL_SVR_H__
+#define __FSL_SVR_H__
+
+#define SVR_OFFSET	0xA4
+
+#define SVR_REV(svr)	((svr) & 0xFF)		/* SOC design resision */
+#define SVR_MAJ(svr)	(((svr) >>  4) & 0xF)	/* Major revision field*/
+#define SVR_MIN(svr)	(((svr) >>  0) & 0xF)	/* Minor revision field*/
+
+/* Some parts define SVR[0:23] as the SOC version */
+#define SVR_SOC_VER(svr) (((svr) >> 8) & 0xFFF7FF)	/* SOC Version fields */
+
+#define SVR_8533	0x803400
+#define SVR_8535	0x803701
+#define SVR_8536	0x803700
+#define SVR_8540	0x803000
+#define SVR_8541	0x807200
+#define SVR_8543	0x803200
+#define SVR_8544	0x803401
+#define SVR_8545	0x803102
+#define SVR_8547	0x803101
+#define SVR_8548	0x803100
+#define SVR_8555	0x807100
+#define SVR_8560	0x807000
+#define SVR_8567	0x807501
+#define SVR_8568	0x807500
+#define SVR_8569	0x808000
+#define SVR_8572	0x80E000
+#define SVR_P1010	0x80F100
+#define SVR_P1011	0x80E500
+#define SVR_P1012	0x80E501
+#define SVR_P1013	0x80E700
+#define SVR_P1014	0x80F101
+#define SVR_P1017	0x80F700
+#define SVR_P1020	0x80E400
+#define SVR_P1021	0x80E401
+#define SVR_P1022	0x80E600
+#define SVR_P1023	0x80F600
+#define SVR_P1024	0x80E402
+#define SVR_P1025	0x80E403
+#define SVR_P2010	0x80E300
+#define SVR_P2020	0x80E200
+#define SVR_P2040	0x821000
+#define SVR_P2041	0x821001
+#define SVR_P3041	0x821103
+#define SVR_P4040	0x820100
+#define SVR_P4080	0x820000
+#define SVR_P5010	0x822100
+#define SVR_P5020	0x822000
+#define SVR_P5021	0X820500
+#define SVR_P5040	0x820400
+#define SVR_T4240	0x824000
+#define SVR_T4120	0x824001
+#define SVR_T4160	0x824100
+#define SVR_T4080	0x824102
+#define SVR_C291	0x850000
+#define SVR_C292	0x850020
+#define SVR_C293	0x850030
+#define SVR_B4860	0X868000
+#define SVR_G4860	0x868001
+#define SVR_G4060	0x868003
+#define SVR_B4440	0x868100
+#define SVR_G4440	0x868101
+#define SVR_B4420	0x868102
+#define SVR_B4220	0x868103
+#define SVR_T1040	0x852000
+#define SVR_T1041	0x852001
+#define SVR_T1042	0x852002
+#define SVR_T1020	0x852100
+#define SVR_T1021	0x852101
+#define SVR_T1022	0x852102
+#define SVR_T2080	0x853000
+#define SVR_T2081	0x853100
+
+#define SVR_8610	0x80A000
+#define SVR_8641	0x809000
+#define SVR_8641D	0x809001
+
+#define SVR_9130	0x860001
+#define SVR_9131	0x860000
+#define SVR_9132	0x861000
+#define SVR_9232	0x861400
+
+#define SVR_Unknown	0xFFFFFF
+
+#endif
-- 
2.1.0.27.g96db324


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [v3, 2/5] mmc: sdhci-of-esdhc: get SVR from global utilities registers
  2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
  2015-11-27  3:20 ` [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux Yangbo Lu
@ 2015-11-27  3:20 ` Yangbo Lu
  2015-12-08 17:45   ` Scott Wood
  2015-11-27  3:20 ` [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC Yangbo Lu
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Yangbo Lu @ 2015-11-27  3:20 UTC (permalink / raw)
  To: linux-mmc, ulf.hansson; +Cc: scottwood, X.Xie, LeoLi, Yangbo Lu

Most of silicon errata about the eSDHC need to be identified through
the SoC version/revision. This patch makes the driver get these
information from SVR(system version register) of global utilities
registers.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
Changes for v2:
	- Got SVR through iomap instead of dts
Changes for v3:
	- Managed GUTS through syscon instead of iomap in eSDHC driver
---
 drivers/mmc/host/sdhci-of-esdhc.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
index 83b1226..fce24b7 100644
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -19,6 +19,9 @@
 #include <linux/delay.h>
 #include <linux/module.h>
 #include <linux/mmc/host.h>
+#include <linux/mfd/syscon.h>
+#include <linux/regmap.h>
+#include <linux/fsl-svr.h>
 #include "sdhci-pltfm.h"
 #include "sdhci-esdhc.h"
 
@@ -28,6 +31,8 @@
 struct sdhci_esdhc {
 	u8 vendor_ver;
 	u8 spec_ver;
+	u32 soc_ver;
+	u8 soc_rev;
 };
 
 /**
@@ -566,18 +571,28 @@ static void esdhc_init(struct platform_device *pdev, struct sdhci_host *host)
 {
 	struct sdhci_pltfm_host *pltfm_host;
 	struct sdhci_esdhc *esdhc;
+	struct regmap *guts_regmap;
+	u32 svr;
 	u16 host_ver;
 
 	pltfm_host = sdhci_priv(host);
 	esdhc = devm_kzalloc(&pdev->dev, sizeof(struct sdhci_esdhc),
 			     GFP_KERNEL);
+	pltfm_host->priv = esdhc;
+
+	guts_regmap = syscon_regmap_lookup_by_compatible("syscon");
+	if (IS_ERR(guts_regmap)) {
+		dev_err(&pdev->dev, "unable to find global utilities registers\n");
+	} else {
+		regmap_read(guts_regmap, SVR_OFFSET, &svr);
+		esdhc->soc_ver = SVR_SOC_VER(svr);
+		esdhc->soc_rev = SVR_REV(svr);
+	}
 
 	host_ver = sdhci_readw(host, SDHCI_HOST_VERSION);
 	esdhc->vendor_ver = (host_ver & SDHCI_VENDOR_VER_MASK) >>
 			     SDHCI_VENDOR_VER_SHIFT;
 	esdhc->spec_ver = host_ver & SDHCI_SPEC_VER_MASK;
-
-	pltfm_host->priv = esdhc;
 }
 
 static int sdhci_esdhc_probe(struct platform_device *pdev)
-- 
2.1.0.27.g96db324


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC
  2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
  2015-11-27  3:20 ` [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux Yangbo Lu
  2015-11-27  3:20 ` [v3, 2/5] mmc: sdhci-of-esdhc: get SVR from global utilities registers Yangbo Lu
@ 2015-11-27  3:20 ` Yangbo Lu
  2015-12-08 13:49   ` Ulf Hansson
  2015-11-27  3:20 ` [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node Yangbo Lu
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Yangbo Lu @ 2015-11-27  3:20 UTC (permalink / raw)
  To: linux-mmc, ulf.hansson; +Cc: scottwood, X.Xie, LeoLi, Yangbo Lu

The sdhci-of-esdhc driver needs the syscon support to do
regmap and access the global utilities registers. So we
select MFD_SYSCON for MMC_SDHCI_OF_ESDHC here.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
Changes for v2:
	- None
Changes for v3:
	- Added this patch
---
 drivers/mmc/host/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 1526b8a..4fb88ba 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -142,6 +142,7 @@ config MMC_SDHCI_OF_ESDHC
 	depends on MMC_SDHCI_PLTFM
 	depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE
 	select MMC_SDHCI_IO_ACCESSORS
+	select MFD_SYSCON
 	help
 	  This selects the Freescale eSDHC controller support.
 
-- 
2.1.0.27.g96db324


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
  2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
                   ` (2 preceding siblings ...)
  2015-11-27  3:20 ` [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC Yangbo Lu
@ 2015-11-27  3:20 ` Yangbo Lu
  2015-12-08 17:46   ` Scott Wood
  2015-11-27  3:20 ` [v3, 5/5] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu
  2015-12-08 13:59 ` [v3, 0/5] eSDHC patches introduction Ulf Hansson
  5 siblings, 1 reply; 19+ messages in thread
From: Yangbo Lu @ 2015-11-27  3:20 UTC (permalink / raw)
  To: linux-mmc, ulf.hansson; +Cc: scottwood, X.Xie, LeoLi, Yangbo Lu

Add syscon support for DCFG node, so that the driver could use
syscon regmap interface to access the device config module registers.
And the CONFIG_MFD_SYSCON should be enabled for this.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
Changes for v2:
	- None
Changes for v3:
	- Added this patch
---
 arch/powerpc/boot/dts/fsl/t4240si-post.dtsi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
index 68c4ead..5f148b2 100644
--- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
@@ -941,7 +941,9 @@
 /include/ "qoriq-mpic4.3.dtsi"
 
 	guts: global-utilities@e0000 {
-		compatible = "fsl,t4240-device-config", "fsl,qoriq-device-config-2.0";
+		compatible = "fsl,t4240-device-config",
+				"fsl,qoriq-device-config-2.0",
+				"syscon";
 		reg = <0xe0000 0xe00>;
 		fsl,has-rstcr;
 		fsl,liodn-bits = <12>;
-- 
2.1.0.27.g96db324


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [v3, 5/5] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0
  2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
                   ` (3 preceding siblings ...)
  2015-11-27  3:20 ` [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node Yangbo Lu
@ 2015-11-27  3:20 ` Yangbo Lu
  2015-12-08 13:59 ` [v3, 0/5] eSDHC patches introduction Ulf Hansson
  5 siblings, 0 replies; 19+ messages in thread
From: Yangbo Lu @ 2015-11-27  3:20 UTC (permalink / raw)
  To: linux-mmc, ulf.hansson; +Cc: scottwood, X.Xie, LeoLi, Yangbo Lu

The eSDHC of T4240-R1.0-R2.0 has incorrect vender version and spec version.
Acturally, the right version numbers should be VVN=0x13 and SVN = 0x1.
So, fix it in driver to avoid that incorrect version numbers break down the
ADMA data transfer.

Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
---
Changes for v2:
	- None
Changes for v3:
	- Got SoC version/revision from struct sdhci_esdhc instead of global variables
---
 drivers/mmc/host/sdhci-of-esdhc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
index fce24b7..3a47243 100644
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -78,6 +78,8 @@ static u32 esdhc_readl_fixup(struct sdhci_host *host,
 static u16 esdhc_readw_fixup(struct sdhci_host *host,
 				     int spec_reg, u32 value)
 {
+	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
+	struct sdhci_esdhc *esdhc = pltfm_host->priv;
 	u16 ret;
 	int shift = (spec_reg & 0x2) * 8;
 
@@ -85,6 +87,13 @@ static u16 esdhc_readw_fixup(struct sdhci_host *host,
 		ret = value & 0xffff;
 	else
 		ret = (value >> shift) & 0xffff;
+
+	/* Workaround for T4240-R1.0-R2.0 eSDHC which has incorrect
+	 * vendor version and spec version information.
+	 */
+	if ((spec_reg == SDHCI_HOST_VERSION) &&
+	    (esdhc->soc_ver == SVR_T4240) && (esdhc->soc_rev <= 0x20))
+		ret = (VENDOR_V_23 << SDHCI_VENDOR_VER_SHIFT) | SDHCI_SPEC_200;
 	return ret;
 }
 
-- 
2.1.0.27.g96db324


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux
  2015-11-27  3:20 ` [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux Yangbo Lu
@ 2015-12-08 13:49   ` Ulf Hansson
  2015-12-08 17:38     ` Scott Wood
  2015-12-08 17:44   ` Scott Wood
  1 sibling, 1 reply; 19+ messages in thread
From: Ulf Hansson @ 2015-12-08 13:49 UTC (permalink / raw)
  To: Yangbo Lu, Lee Jones; +Cc: linux-mmc, Scott Wood, X.Xie, Li Leo

+Lee Jones

On 27 November 2015 at 04:20, Yangbo Lu <yangbo.lu@freescale.com> wrote:
> Move mpc85xx.h to include/linux and rename it to fsl-svr.h as
> a common header file. It has been used for mpc85xx and it will
> be used for ARM-based SoC as well.
>
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> ---
> Changes for v2:
>         - None
> Changes for v3:
>         - Added this patch
> ---
>  arch/powerpc/include/asm/mpc85xx.h       | 95 -------------------------------
>  drivers/clk/clk-qoriq.c                  |  2 +-
>  drivers/i2c/busses/i2c-mpc.c             |  2 +-
>  drivers/iommu/fsl_pamu.c                 |  2 +-
>  drivers/net/ethernet/freescale/gianfar.c |  2 +-
>  include/linux/fsl-svr.h                  | 97 ++++++++++++++++++++++++++++++++
>  6 files changed, 101 insertions(+), 99 deletions(-)
>  delete mode 100644 arch/powerpc/include/asm/mpc85xx.h
>  create mode 100644 include/linux/fsl-svr.h

I am not sure, but perhaps the more proper location is:

include/linux/mfd/fsl-svr.h

...or maybe even better:

include/linux/mfd/syscon/fsl-svr.h

I have added Lee (as the mfd maintainer) to see if he has any advise here.

Kind regards
Uffe

>
> diff --git a/arch/powerpc/include/asm/mpc85xx.h b/arch/powerpc/include/asm/mpc85xx.h
> deleted file mode 100644
> index 213f3a8..0000000
> --- a/arch/powerpc/include/asm/mpc85xx.h
> +++ /dev/null
> @@ -1,95 +0,0 @@
> -/*
> - * MPC85xx cpu type detection
> - *
> - * Copyright 2011-2012 Freescale Semiconductor, Inc.
> - *
> - * This is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - */
> -
> -#ifndef __ASM_PPC_MPC85XX_H
> -#define __ASM_PPC_MPC85XX_H
> -
> -#define SVR_REV(svr)   ((svr) & 0xFF)          /* SOC design resision */
> -#define SVR_MAJ(svr)   (((svr) >>  4) & 0xF)   /* Major revision field*/
> -#define SVR_MIN(svr)   (((svr) >>  0) & 0xF)   /* Minor revision field*/
> -
> -/* Some parts define SVR[0:23] as the SOC version */
> -#define SVR_SOC_VER(svr) (((svr) >> 8) & 0xFFF7FF)     /* SOC Version fields */
> -
> -#define SVR_8533       0x803400
> -#define SVR_8535       0x803701
> -#define SVR_8536       0x803700
> -#define SVR_8540       0x803000
> -#define SVR_8541       0x807200
> -#define SVR_8543       0x803200
> -#define SVR_8544       0x803401
> -#define SVR_8545       0x803102
> -#define SVR_8547       0x803101
> -#define SVR_8548       0x803100
> -#define SVR_8555       0x807100
> -#define SVR_8560       0x807000
> -#define SVR_8567       0x807501
> -#define SVR_8568       0x807500
> -#define SVR_8569       0x808000
> -#define SVR_8572       0x80E000
> -#define SVR_P1010      0x80F100
> -#define SVR_P1011      0x80E500
> -#define SVR_P1012      0x80E501
> -#define SVR_P1013      0x80E700
> -#define SVR_P1014      0x80F101
> -#define SVR_P1017      0x80F700
> -#define SVR_P1020      0x80E400
> -#define SVR_P1021      0x80E401
> -#define SVR_P1022      0x80E600
> -#define SVR_P1023      0x80F600
> -#define SVR_P1024      0x80E402
> -#define SVR_P1025      0x80E403
> -#define SVR_P2010      0x80E300
> -#define SVR_P2020      0x80E200
> -#define SVR_P2040      0x821000
> -#define SVR_P2041      0x821001
> -#define SVR_P3041      0x821103
> -#define SVR_P4040      0x820100
> -#define SVR_P4080      0x820000
> -#define SVR_P5010      0x822100
> -#define SVR_P5020      0x822000
> -#define SVR_P5021      0X820500
> -#define SVR_P5040      0x820400
> -#define SVR_T4240      0x824000
> -#define SVR_T4120      0x824001
> -#define SVR_T4160      0x824100
> -#define SVR_T4080      0x824102
> -#define SVR_C291       0x850000
> -#define SVR_C292       0x850020
> -#define SVR_C293       0x850030
> -#define SVR_B4860      0X868000
> -#define SVR_G4860      0x868001
> -#define SVR_G4060      0x868003
> -#define SVR_B4440      0x868100
> -#define SVR_G4440      0x868101
> -#define SVR_B4420      0x868102
> -#define SVR_B4220      0x868103
> -#define SVR_T1040      0x852000
> -#define SVR_T1041      0x852001
> -#define SVR_T1042      0x852002
> -#define SVR_T1020      0x852100
> -#define SVR_T1021      0x852101
> -#define SVR_T1022      0x852102
> -#define SVR_T2080      0x853000
> -#define SVR_T2081      0x853100
> -
> -#define SVR_8610       0x80A000
> -#define SVR_8641       0x809000
> -#define SVR_8641D      0x809001
> -
> -#define SVR_9130       0x860001
> -#define SVR_9131       0x860000
> -#define SVR_9132       0x861000
> -#define SVR_9232       0x861400
> -
> -#define SVR_Unknown    0xFFFFFF
> -
> -#endif
> diff --git a/drivers/clk/clk-qoriq.c b/drivers/clk/clk-qoriq.c
> index 1ab0fb8..f883ed0 100644
> --- a/drivers/clk/clk-qoriq.c
> +++ b/drivers/clk/clk-qoriq.c
> @@ -1146,7 +1146,7 @@ bad_args:
>  }
>
>  #ifdef CONFIG_PPC
> -#include <asm/mpc85xx.h>
> +#include <linux/fsl-svr.h>
>
>  static const u32 a4510_svrs[] __initconst = {
>         (SVR_P2040 << 8) | 0x10,        /* P2040 1.0 */
> diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
> index 48ecffe..a8153dd 100644
> --- a/drivers/i2c/busses/i2c-mpc.c
> +++ b/drivers/i2c/busses/i2c-mpc.c
> @@ -27,9 +27,9 @@
>  #include <linux/i2c.h>
>  #include <linux/interrupt.h>
>  #include <linux/delay.h>
> +#include <linux/fsl-svr.h>
>
>  #include <asm/mpc52xx.h>
> -#include <asm/mpc85xx.h>
>  #include <sysdev/fsl_soc.h>
>
>  #define DRV_NAME "mpc-i2c"
> diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c
> index a34355f..abbfd9d 100644
> --- a/drivers/iommu/fsl_pamu.c
> +++ b/drivers/iommu/fsl_pamu.c
> @@ -24,7 +24,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/genalloc.h>
>
> -#include <asm/mpc85xx.h>
> +#include <linux/fsl-svr.h>
>
>  /* define indexes for each operation mapping scenario */
>  #define OMI_QMAN        0x00
> diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
> index 3e6b9b4..130cc90 100644
> --- a/drivers/net/ethernet/freescale/gianfar.c
> +++ b/drivers/net/ethernet/freescale/gianfar.c
> @@ -90,7 +90,7 @@
>  #include <asm/io.h>
>  #ifdef CONFIG_PPC
>  #include <asm/reg.h>
> -#include <asm/mpc85xx.h>
> +#include <linux/fsl-svr.h>
>  #endif
>  #include <asm/irq.h>
>  #include <asm/uaccess.h>
> diff --git a/include/linux/fsl-svr.h b/include/linux/fsl-svr.h
> new file mode 100644
> index 0000000..fc8fcc2
> --- /dev/null
> +++ b/include/linux/fsl-svr.h
> @@ -0,0 +1,97 @@
> +/*
> + * MPC85xx cpu type detection
> + *
> + * Copyright 2011-2012 Freescale Semiconductor, Inc.
> + *
> + * This is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#ifndef __FSL_SVR_H__
> +#define __FSL_SVR_H__
> +
> +#define SVR_OFFSET     0xA4
> +
> +#define SVR_REV(svr)   ((svr) & 0xFF)          /* SOC design resision */
> +#define SVR_MAJ(svr)   (((svr) >>  4) & 0xF)   /* Major revision field*/
> +#define SVR_MIN(svr)   (((svr) >>  0) & 0xF)   /* Minor revision field*/
> +
> +/* Some parts define SVR[0:23] as the SOC version */
> +#define SVR_SOC_VER(svr) (((svr) >> 8) & 0xFFF7FF)     /* SOC Version fields */
> +
> +#define SVR_8533       0x803400
> +#define SVR_8535       0x803701
> +#define SVR_8536       0x803700
> +#define SVR_8540       0x803000
> +#define SVR_8541       0x807200
> +#define SVR_8543       0x803200
> +#define SVR_8544       0x803401
> +#define SVR_8545       0x803102
> +#define SVR_8547       0x803101
> +#define SVR_8548       0x803100
> +#define SVR_8555       0x807100
> +#define SVR_8560       0x807000
> +#define SVR_8567       0x807501
> +#define SVR_8568       0x807500
> +#define SVR_8569       0x808000
> +#define SVR_8572       0x80E000
> +#define SVR_P1010      0x80F100
> +#define SVR_P1011      0x80E500
> +#define SVR_P1012      0x80E501
> +#define SVR_P1013      0x80E700
> +#define SVR_P1014      0x80F101
> +#define SVR_P1017      0x80F700
> +#define SVR_P1020      0x80E400
> +#define SVR_P1021      0x80E401
> +#define SVR_P1022      0x80E600
> +#define SVR_P1023      0x80F600
> +#define SVR_P1024      0x80E402
> +#define SVR_P1025      0x80E403
> +#define SVR_P2010      0x80E300
> +#define SVR_P2020      0x80E200
> +#define SVR_P2040      0x821000
> +#define SVR_P2041      0x821001
> +#define SVR_P3041      0x821103
> +#define SVR_P4040      0x820100
> +#define SVR_P4080      0x820000
> +#define SVR_P5010      0x822100
> +#define SVR_P5020      0x822000
> +#define SVR_P5021      0X820500
> +#define SVR_P5040      0x820400
> +#define SVR_T4240      0x824000
> +#define SVR_T4120      0x824001
> +#define SVR_T4160      0x824100
> +#define SVR_T4080      0x824102
> +#define SVR_C291       0x850000
> +#define SVR_C292       0x850020
> +#define SVR_C293       0x850030
> +#define SVR_B4860      0X868000
> +#define SVR_G4860      0x868001
> +#define SVR_G4060      0x868003
> +#define SVR_B4440      0x868100
> +#define SVR_G4440      0x868101
> +#define SVR_B4420      0x868102
> +#define SVR_B4220      0x868103
> +#define SVR_T1040      0x852000
> +#define SVR_T1041      0x852001
> +#define SVR_T1042      0x852002
> +#define SVR_T1020      0x852100
> +#define SVR_T1021      0x852101
> +#define SVR_T1022      0x852102
> +#define SVR_T2080      0x853000
> +#define SVR_T2081      0x853100
> +
> +#define SVR_8610       0x80A000
> +#define SVR_8641       0x809000
> +#define SVR_8641D      0x809001
> +
> +#define SVR_9130       0x860001
> +#define SVR_9131       0x860000
> +#define SVR_9132       0x861000
> +#define SVR_9232       0x861400
> +
> +#define SVR_Unknown    0xFFFFFF
> +
> +#endif
> --
> 2.1.0.27.g96db324
>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC
  2015-11-27  3:20 ` [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC Yangbo Lu
@ 2015-12-08 13:49   ` Ulf Hansson
  2015-12-08 17:40     ` Scott Wood
  0 siblings, 1 reply; 19+ messages in thread
From: Ulf Hansson @ 2015-12-08 13:49 UTC (permalink / raw)
  To: Yangbo Lu; +Cc: linux-mmc, Scott Wood, X.Xie, Li Leo

On 27 November 2015 at 04:20, Yangbo Lu <yangbo.lu@freescale.com> wrote:
> The sdhci-of-esdhc driver needs the syscon support to do
> regmap and access the global utilities registers. So we
> select MFD_SYSCON for MMC_SDHCI_OF_ESDHC here.
>
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> ---
> Changes for v2:
>         - None
> Changes for v3:
>         - Added this patch
> ---
>  drivers/mmc/host/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 1526b8a..4fb88ba 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -142,6 +142,7 @@ config MMC_SDHCI_OF_ESDHC
>         depends on MMC_SDHCI_PLTFM
>         depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE
>         select MMC_SDHCI_IO_ACCESSORS
> +       select MFD_SYSCON

Perhaps "depends on" is better to use here.

>         help
>           This selects the Freescale eSDHC controller support.
>
> --
> 2.1.0.27.g96db324
>

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 0/5] eSDHC patches introduction
  2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
                   ` (4 preceding siblings ...)
  2015-11-27  3:20 ` [v3, 5/5] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu
@ 2015-12-08 13:59 ` Ulf Hansson
  5 siblings, 0 replies; 19+ messages in thread
From: Ulf Hansson @ 2015-12-08 13:59 UTC (permalink / raw)
  To: Yangbo Lu; +Cc: linux-mmc, Scott Wood, X.Xie, Li Leo

On 27 November 2015 at 04:20, Yangbo Lu <yangbo.lu@freescale.com> wrote:
> This patchset is used to fix host version in eSDHC_HOSTVER for T4240-R1.0-R2.0.
> To get the SoC version and revision, it's needed to add syscon support to access
> the SVR(system version register) of global utilities registers through regmap.
>
> So, the first three patches are to add syscon support to access SVR.
> The following two patches are to fix host version for T4240.
>
> Yangbo Lu (5):
>   powerpc/fsl: move mpc85xx.h to include/linux
>   mmc: sdhci-of-esdhc: get SVR from global utilities registers
>   mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC
>   powerpc: dts: t4240: add syscon support for DCFG node
>   mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0
>
>  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi |  4 +-
>  arch/powerpc/include/asm/mpc85xx.h          | 95 ----------------------------
>  drivers/clk/clk-qoriq.c                     |  2 +-
>  drivers/i2c/busses/i2c-mpc.c                |  2 +-
>  drivers/iommu/fsl_pamu.c                    |  2 +-
>  drivers/mmc/host/Kconfig                    |  1 +
>  drivers/mmc/host/sdhci-of-esdhc.c           | 28 ++++++++-
>  drivers/net/ethernet/freescale/gianfar.c    |  2 +-
>  include/linux/fsl-svr.h                     | 97 +++++++++++++++++++++++++++++
>  9 files changed, 131 insertions(+), 102 deletions(-)
>  delete mode 100644 arch/powerpc/include/asm/mpc85xx.h
>  create mode 100644 include/linux/fsl-svr.h
>
> --
> 2.1.0.27.g96db324
>

Overall it looks good. I just posted some minor comments for two of the patches.

I assume it's easiest if I queue this via my mmc tree, but that
requires the non-mmc parts to be acked. Or you have another
suggestion?

Regarding the DT changes, normally SOC maintainers wants them to go
separately via their SOC trees. Although, I can pick them also, if
those are acked.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux
  2015-12-08 13:49   ` Ulf Hansson
@ 2015-12-08 17:38     ` Scott Wood
  0 siblings, 0 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-08 17:38 UTC (permalink / raw)
  To: Ulf Hansson, Yangbo Lu, Lee Jones; +Cc: linux-mmc, X.Xie, Li Leo

On Tue, 2015-12-08 at 14:49 +0100, Ulf Hansson wrote:
> +Lee Jones
> 
> On 27 November 2015 at 04:20, Yangbo Lu <yangbo.lu@freescale.com> wrote:
> > Move mpc85xx.h to include/linux and rename it to fsl-svr.h as
> > a common header file. It has been used for mpc85xx and it will
> > be used for ARM-based SoC as well.
> > 
> > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> > ---
> > Changes for v2:
> >         - None
> > Changes for v3:
> >         - Added this patch
> > ---
> >  arch/powerpc/include/asm/mpc85xx.h       | 95 ---------------------------
> > ----
> >  drivers/clk/clk-qoriq.c                  |  2 +-
> >  drivers/i2c/busses/i2c-mpc.c             |  2 +-
> >  drivers/iommu/fsl_pamu.c                 |  2 +-
> >  drivers/net/ethernet/freescale/gianfar.c |  2 +-
> >  include/linux/fsl-svr.h                  | 97
> > ++++++++++++++++++++++++++++++++
> >  6 files changed, 101 insertions(+), 99 deletions(-)
> >  delete mode 100644 arch/powerpc/include/asm/mpc85xx.h
> >  create mode 100644 include/linux/fsl-svr.h
> 
> I am not sure, but perhaps the more proper location is:
> 
> include/linux/mfd/fsl-svr.h
> 
> ...or maybe even better:
> 
> include/linux/mfd/syscon/fsl-svr.h

There is nothing mfd or syscon specific about this data (and in fact I'm a bit
skeptical about using syscon for this, especially since it seems to require a
device tree modification); it's already used in other places that read the SVR
via the PPC SPR.

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC
  2015-12-08 13:49   ` Ulf Hansson
@ 2015-12-08 17:40     ` Scott Wood
  0 siblings, 0 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-08 17:40 UTC (permalink / raw)
  To: Ulf Hansson, Yangbo Lu; +Cc: linux-mmc, X.Xie, Li Leo

On Tue, 2015-12-08 at 14:49 +0100, Ulf Hansson wrote:
> On 27 November 2015 at 04:20, Yangbo Lu <yangbo.lu@freescale.com> wrote:
> > The sdhci-of-esdhc driver needs the syscon support to do
> > regmap and access the global utilities registers. So we
> > select MFD_SYSCON for MMC_SDHCI_OF_ESDHC here.
> > 
> > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> > ---
> > Changes for v2:
> >         - None
> > Changes for v3:
> >         - Added this patch
> > ---
> >  drivers/mmc/host/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> > index 1526b8a..4fb88ba 100644
> > --- a/drivers/mmc/host/Kconfig
> > +++ b/drivers/mmc/host/Kconfig
> > @@ -142,6 +142,7 @@ config MMC_SDHCI_OF_ESDHC
> >         depends on MMC_SDHCI_PLTFM
> >         depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE
> >         select MMC_SDHCI_IO_ACCESSORS
> > +       select MFD_SYSCON
> 
> Perhaps "depends on" is better to use here.

Plenty of other thing select MFD_SYSCON, and MFD_SYSCON doesn't have any
dependencies.  Why would you torment a user by making them somehow guess (or
dig around to find out) that they need to enable MFD_SYSCON before seeing a
random other driver appear?

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux
  2015-11-27  3:20 ` [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux Yangbo Lu
  2015-12-08 13:49   ` Ulf Hansson
@ 2015-12-08 17:44   ` Scott Wood
  1 sibling, 0 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-08 17:44 UTC (permalink / raw)
  To: Yangbo Lu, linux-mmc, ulf.hansson; +Cc: X.Xie, LeoLi

On Fri, 2015-11-27 at 11:20 +0800, Yangbo Lu wrote:
> Move mpc85xx.h to include/linux and rename it to fsl-svr.h as
> a common header file. It has been used for mpc85xx and it will
> be used for ARM-based SoC as well.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> ---
> Changes for v2:
> 	- None
> Changes for v3:
> 	- Added this patch
> ---
>  arch/powerpc/include/asm/mpc85xx.h       | 95 -----------------------------
> --
>  drivers/clk/clk-qoriq.c                  |  2 +-
>  drivers/i2c/busses/i2c-mpc.c             |  2 +-
>  drivers/iommu/fsl_pamu.c                 |  2 +-
>  drivers/net/ethernet/freescale/gianfar.c |  2 +-
>  include/linux/fsl-svr.h                  | 97
> ++++++++++++++++++++++++++++++++
>  6 files changed, 101 insertions(+), 99 deletions(-)
>  delete mode 100644 arch/powerpc/include/asm/mpc85xx.h
>  create mode 100644 include/linux/fsl-svr.h

Pass -M -C to git format-patch so it detects moves and copies, and shows what
changed during the move/copy.

Could you make it include/linux/fsl/svr.h instead?

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 2/5] mmc: sdhci-of-esdhc: get SVR from global utilities registers
  2015-11-27  3:20 ` [v3, 2/5] mmc: sdhci-of-esdhc: get SVR from global utilities registers Yangbo Lu
@ 2015-12-08 17:45   ` Scott Wood
  0 siblings, 0 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-08 17:45 UTC (permalink / raw)
  To: Yangbo Lu, linux-mmc, ulf.hansson; +Cc: X.Xie, LeoLi

On Fri, 2015-11-27 at 11:20 +0800, Yangbo Lu wrote:
> Most of silicon errata about the eSDHC need to be identified through
> the SoC version/revision. This patch makes the driver get these
> information from SVR(system version register) of global utilities
> registers.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> ---
> Changes for v2:
> 	- Got SVR through iomap instead of dts
> Changes for v3:
> 	- Managed GUTS through syscon instead of iomap in eSDHC driver
> ---
>  drivers/mmc/host/sdhci-of-esdhc.c | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of
> -esdhc.c
> index 83b1226..fce24b7 100644
> --- a/drivers/mmc/host/sdhci-of-esdhc.c
> +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> @@ -19,6 +19,9 @@
>  #include <linux/delay.h>
>  #include <linux/module.h>
>  #include <linux/mmc/host.h>
> +#include <linux/mfd/syscon.h>
> +#include <linux/regmap.h>
> +#include <linux/fsl-svr.h>
>  #include "sdhci-pltfm.h"
>  #include "sdhci-esdhc.h"
>  
> @@ -28,6 +31,8 @@
>  struct sdhci_esdhc {
>  	u8 vendor_ver;
>  	u8 spec_ver;
> +	u32 soc_ver;
> +	u8 soc_rev;
>  };
>  
>  /**
> @@ -566,18 +571,28 @@ static void esdhc_init(struct platform_device *pdev,
> struct sdhci_host *host)
>  {
>  	struct sdhci_pltfm_host *pltfm_host;
>  	struct sdhci_esdhc *esdhc;
> +	struct regmap *guts_regmap;
> +	u32 svr;
>  	u16 host_ver;
>  
>  	pltfm_host = sdhci_priv(host);
>  	esdhc = devm_kzalloc(&pdev->dev, sizeof(struct sdhci_esdhc),
>  			     GFP_KERNEL);
> +	pltfm_host->priv = esdhc;
> +
> +	guts_regmap = syscon_regmap_lookup_by_compatible("syscon");
> +	if (IS_ERR(guts_regmap)) {
> +		dev_err(&pdev->dev, "unable to find global utilities
> registers\n");
> +	} else {
> +		regmap_read(guts_regmap, SVR_OFFSET, &svr);
> +		esdhc->soc_ver = SVR_SOC_VER(svr);
> +		esdhc->soc_rev = SVR_REV(svr);
> +	}

As this patchset stands you're going to be spitting out that error message on
everything that isn't t4240...

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
  2015-11-27  3:20 ` [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node Yangbo Lu
@ 2015-12-08 17:46   ` Scott Wood
       [not found]     ` <BLUPR0301MB2065B5878A43F66982D6B30BF2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
  0 siblings, 1 reply; 19+ messages in thread
From: Scott Wood @ 2015-12-08 17:46 UTC (permalink / raw)
  To: Yangbo Lu, linux-mmc, ulf.hansson; +Cc: X.Xie, LeoLi

On Fri, 2015-11-27 at 11:20 +0800, Yangbo Lu wrote:
> Add syscon support for DCFG node, so that the driver could use
> syscon regmap interface to access the device config module registers.
> And the CONFIG_MFD_SYSCON should be enabled for this.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> ---
> Changes for v2:
> 	- None
> Changes for v3:
> 	- Added this patch
> ---
>  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> index 68c4ead..5f148b2 100644
> --- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> +++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> @@ -941,7 +941,9 @@
>  /include/ "qoriq-mpic4.3.dtsi"
>  
>  	guts: global-utilities@e0000 {
> -		compatible = "fsl,t4240-device-config", "fsl,qoriq-device
> -config-2.0";
> +		compatible = "fsl,t4240-device-config",
> +				"fsl,qoriq-device-config-2.0",
> +				"syscon";


I really don't like changing the device tree based on Linux internals.  It
also means that the workaround wouldn't work for users that don't upgrade
their device tree.  I definitely don't like one QorIQ chip having "syscon" on
the dcfg node but others not having it.

The guts driver should just maintain a list of compatibles to match.  Why do
we need to use syscon, rather than a guts driver that exports an fsl_get_svr()
function?

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
       [not found]     ` <BLUPR0301MB2065B5878A43F66982D6B30BF2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
@ 2015-12-09  4:33       ` Scott Wood
       [not found]         ` <BLUPR0301MB206558CB317D48AC5CEF3642F2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
       [not found]         ` <BLUPR0301MB2065A179DCAF428EB79785B7F2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
  0 siblings, 2 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-09  4:33 UTC (permalink / raw)
  To: Lu Yangbo-B47093, linux-mmc@vger.kernel.org,
	ulf.hansson@linaro.org
  Cc: Xie Xiaobo-R63061, Li Yang-Leo-R58472

On Tue, 2015-12-08 at 22:30 -0600, Lu Yangbo-B47093 wrote:
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, December 09, 2015 1:46 AM
> > To: Lu Yangbo-B47093; linux-mmc@vger.kernel.org; ulf.hansson@linaro.org
> > Cc: Xie Xiaobo-R63061; Li Yang-Leo-R58472
> > Subject: Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG
> > node
> > 
> > On Fri, 2015-11-27 at 11:20 +0800, Yangbo Lu wrote:
> > > Add syscon support for DCFG node, so that the driver could use syscon
> > > regmap interface to access the device config module registers.
> > > And the CONFIG_MFD_SYSCON should be enabled for this.
> > > 
> > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> > > ---
> > > Changes for v2:
> > > 	- None
> > > Changes for v3:
> > > 	- Added this patch
> > > ---
> > >  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > index 68c4ead..5f148b2 100644
> > > --- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > +++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > @@ -941,7 +941,9 @@
> > >  /include/ "qoriq-mpic4.3.dtsi"
> > > 
> > >  	guts: global-utilities@e0000 {
> > > -		compatible = "fsl,t4240-device-config", "fsl,qoriq
> > > -device
> > > -config-2.0";
> > > +		compatible = "fsl,t4240-device-config",
> > > +				"fsl,qoriq-device-config-2.0",
> > > +				"syscon";
> > 
> > 
> > I really don't like changing the device tree based on Linux internals.
> > It also means that the workaround wouldn't work for users that don't
> > upgrade their device tree.  I definitely don't like one QorIQ chip having
> > "syscon" on the dcfg node but others not having it.
> > 
> > The guts driver should just maintain a list of compatibles to match.  Why
> > do we need to use syscon, rather than a guts driver that exports an
> > fsl_get_svr() function?
> > 
> > -Scott
> 
> [Lu Yangbo-B47093] I think the only difference between fsl_get_svr() and
> syscon is that we don’t need to change dts with fsl_get_svr(), right?

That is one difference.  It also would simplify callers, and avoid the need to
depend on the overcomplicated and difficult-to-follow regmap code in order to
accomplish something very simple.

> The syscon has considered the endianess, and we don’t need to add more code
> to use it and only add 'syscon' in the node.

Dealing with the endianess in a common guts driver would be trivial.

> This patchset only enables syscon in T4240 DFCG node since it has an erratum
> to use it.

The device tree describes the hardware, not what you want to use it for.  The
existence of an erratum in the esdhc block says nothing about what the dcfg
node is.

> The fsl_get_svr() you suggested is also an idea for this.
> Then, may I know is there a guts driver in kernel?
> Thanks a lot. 

There isn't, but there should be.

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
       [not found]         ` <BLUPR0301MB206558CB317D48AC5CEF3642F2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
@ 2015-12-09 17:00           ` Scott Wood
  2015-12-11  8:26             ` Ulf Hansson
  0 siblings, 1 reply; 19+ messages in thread
From: Scott Wood @ 2015-12-09 17:00 UTC (permalink / raw)
  To: Lu Yangbo-B47093, linux-mmc@vger.kernel.org,
	ulf.hansson@linaro.org
  Cc: Xie Xiaobo-R63061, Li Yang-Leo-R58472

On Wed, 2015-12-09 at 03:05 -0600, Lu Yangbo-B47093 wrote:
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, December 09, 2015 12:33 PM
> > To: Lu Yangbo-B47093; linux-mmc@vger.kernel.org; ulf.hansson@linaro.org
> > Cc: Xie Xiaobo-R63061; Li Yang-Leo-R58472
> > Subject: Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG
> > node
> > 
> > On Tue, 2015-12-08 at 22:30 -0600, Lu Yangbo-B47093 wrote:
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Wednesday, December 09, 2015 1:46 AM
> > > > To: Lu Yangbo-B47093; linux-mmc@vger.kernel.org;
> > > > ulf.hansson@linaro.org
> > > > Cc: Xie Xiaobo-R63061; Li Yang-Leo-R58472
> > > > Subject: Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for
> > > > DCFG node
> > > > 
> > > > On Fri, 2015-11-27 at 11:20 +0800, Yangbo Lu wrote:
> > > > > Add syscon support for DCFG node, so that the driver could use
> > > > > syscon regmap interface to access the device config module
> > registers.
> > > > > And the CONFIG_MFD_SYSCON should be enabled for this.
> > > > > 
> > > > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> > > > > ---
> > > > > Changes for v2:
> > > > > 	- None
> > > > > Changes for v3:
> > > > > 	- Added this patch
> > > > > ---
> > > > >  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi | 4 +++-
> > > > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > index 68c4ead..5f148b2 100644
> > > > > --- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > +++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > @@ -941,7 +941,9 @@
> > > > >  /include/ "qoriq-mpic4.3.dtsi"
> > > > > 
> > > > >  	guts: global-utilities@e0000 {
> > > > > -		compatible = "fsl,t4240-device-config", "fsl,qoriq
> > > > > -device
> > > > > -config-2.0";
> > > > > +		compatible = "fsl,t4240-device-config",
> > > > > +				"fsl,qoriq-device-config-2.0",
> > > > > +				"syscon";
> > > > 
> > > > 
> > > > I really don't like changing the device tree based on Linux internals.
> > > > It also means that the workaround wouldn't work for users that don't
> > > > upgrade their device tree.  I definitely don't like one QorIQ chip
> > > > having "syscon" on the dcfg node but others not having it.
> > > > 
> > > > The guts driver should just maintain a list of compatibles to match.
> > > > Why do we need to use syscon, rather than a guts driver that exports
> > > > an
> > > > fsl_get_svr() function?
> > > > 
> > > > -Scott
> > > 
> > > [Lu Yangbo-B47093] I think the only difference between fsl_get_svr()
> > > and syscon is that we don’t need to change dts with fsl_get_svr(),
> > right?
> > 
> > That is one difference.  It also would simplify callers, and avoid the
> > need to depend on the overcomplicated and difficult-to-follow regmap code
> > in order to accomplish something very simple.
> > 
> > > The syscon has considered the endianess, and we don’t need to add more
> > > code to use it and only add 'syscon' in the node.
> > 
> > Dealing with the endianess in a common guts driver would be trivial.
> > 
> > > This patchset only enables syscon in T4240 DFCG node since it has an
> > > erratum to use it.
> > 
> > The device tree describes the hardware, not what you want to use it for.
> > The existence of an erratum in the esdhc block says nothing about what
> > the dcfg node is.
> > 
> > > The fsl_get_svr() you suggested is also an idea for this.
> > > Then, may I know is there a guts driver in kernel?
> > > Thanks a lot.
> > 
> > There isn't, but there should be.
> > 
> > -Scott
> 
> [Lu Yangbo-B47093] Ok, I'd like to try. But can you suggest where we should
> put the guts driver in kernel?
> Thanks.

drivers/soc/fsl/

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
       [not found]         ` <BLUPR0301MB2065A179DCAF428EB79785B7F2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
@ 2015-12-09 17:01           ` Scott Wood
  0 siblings, 0 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-09 17:01 UTC (permalink / raw)
  To: Lu Yangbo-B47093, linux-mmc@vger.kernel.org,
	ulf.hansson@linaro.org
  Cc: Xie Xiaobo-R63061, Li Yang-Leo-R58472

On Wed, 2015-12-09 at 03:29 -0600, Lu Yangbo-B47093 wrote:
> > -----Original Message-----
> > From: Lu Yangbo-B47093
> > Sent: Wednesday, December 09, 2015 5:05 PM
> > To: Wood Scott-B07421; linux-mmc@vger.kernel.org; ulf.hansson@linaro.org
> > Cc: Xie Xiaobo-R63061; Li Yang-Leo-R58472
> > Subject: RE: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG
> > node
> > 
> > > -----Original Message-----
> > > From: Wood Scott-B07421
> > > Sent: Wednesday, December 09, 2015 12:33 PM
> > > To: Lu Yangbo-B47093; linux-mmc@vger.kernel.org;
> > > ulf.hansson@linaro.org
> > > Cc: Xie Xiaobo-R63061; Li Yang-Leo-R58472
> > > Subject: Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for
> > > DCFG node
> > > 
> > > On Tue, 2015-12-08 at 22:30 -0600, Lu Yangbo-B47093 wrote:
> > > > > -----Original Message-----
> > > > > From: Wood Scott-B07421
> > > > > Sent: Wednesday, December 09, 2015 1:46 AM
> > > > > To: Lu Yangbo-B47093; linux-mmc@vger.kernel.org;
> > > > > ulf.hansson@linaro.org
> > > > > Cc: Xie Xiaobo-R63061; Li Yang-Leo-R58472
> > > > > Subject: Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for
> > > > > DCFG node
> > > > > 
> > > > > On Fri, 2015-11-27 at 11:20 +0800, Yangbo Lu wrote:
> > > > > > Add syscon support for DCFG node, so that the driver could use
> > > > > > syscon regmap interface to access the device config module
> > > registers.
> > > > > > And the CONFIG_MFD_SYSCON should be enabled for this.
> > > > > > 
> > > > > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
> > > > > > ---
> > > > > > Changes for v2:
> > > > > > 	- None
> > > > > > Changes for v3:
> > > > > > 	- Added this patch
> > > > > > ---
> > > > > >  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi | 4 +++-
> > > > > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > 
> > > > > > diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > > b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > > index 68c4ead..5f148b2 100644
> > > > > > --- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > > +++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
> > > > > > @@ -941,7 +941,9 @@
> > > > > >  /include/ "qoriq-mpic4.3.dtsi"
> > > > > > 
> > > > > >  	guts: global-utilities@e0000 {
> > > > > > -		compatible = "fsl,t4240-device-config",
> > > > > > "fsl,qoriq
> > > > > > -device
> > > > > > -config-2.0";
> > > > > > +		compatible = "fsl,t4240-device-config",
> > > > > > +				"fsl,qoriq-device-config-2.0",
> > > > > > +				"syscon";
> > > > > 
> > > > > 
> > > > > I really don't like changing the device tree based on Linux
> > internals.
> > > > > It also means that the workaround wouldn't work for users that
> > > > > don't upgrade their device tree.  I definitely don't like one
> > > > > QorIQ chip having "syscon" on the dcfg node but others not having
> > it.
> > > > > 
> > > > > The guts driver should just maintain a list of compatibles to match.
> > > > > Why do we need to use syscon, rather than a guts driver that
> > > > > exports an
> > > > > fsl_get_svr() function?
> > > > > 
> > > > > -Scott
> > > > 
> > > > [Lu Yangbo-B47093] I think the only difference between fsl_get_svr()
> > > > and syscon is that we don’t need to change dts with fsl_get_svr(),
> > > right?
> > > 
> > > That is one difference.  It also would simplify callers, and avoid the
> > > need to depend on the overcomplicated and difficult-to-follow regmap
> > > code in order to accomplish something very simple.
> > > 
> > > > The syscon has considered the endianess, and we don’t need to add
> > > > more code to use it and only add 'syscon' in the node.
> > > 
> > > Dealing with the endianess in a common guts driver would be trivial.
> > > 
> > > > This patchset only enables syscon in T4240 DFCG node since it has an
> > > > erratum to use it.
> > > 
> > > The device tree describes the hardware, not what you want to use it for.
> > > The existence of an erratum in the esdhc block says nothing about what
> > > the dcfg node is.
> > > 
> > > > The fsl_get_svr() you suggested is also an idea for this.
> > > > Then, may I know is there a guts driver in kernel?
> > > > Thanks a lot.
> > > 
> > > There isn't, but there should be.
> > > 
> > > -Scott
> > 
> > [Lu Yangbo-B47093] Ok, I'd like to try. But can you suggest where we
> > should put the guts driver in kernel?
> > Thanks.
> > 
> [Lu Yangbo-B47093] Actually, most platforms would need to be added 'syscon'
> compatible in DFCG node later if we use SYSCON in eSDHC.
> Because most of eSDHC errata only could be identified by SVR.
> But for this patchset, for this T4240 eSDHC erratum, I only add 'syscon' for
> T4240.
> 
> What about adding 'syscon' in all platforms although there is some workload?

Please just add a guts driver.

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
  2015-12-09 17:00           ` Scott Wood
@ 2015-12-11  8:26             ` Ulf Hansson
  2015-12-11  8:29               ` Scott Wood
  0 siblings, 1 reply; 19+ messages in thread
From: Ulf Hansson @ 2015-12-11  8:26 UTC (permalink / raw)
  To: Scott Wood, Lu Yangbo-B47093
  Cc: linux-mmc@vger.kernel.org, Xie Xiaobo-R63061, Li Yang-Leo-R58472

[...]

>> > > The fsl_get_svr() you suggested is also an idea for this.
>> > > Then, may I know is there a guts driver in kernel?
>> > > Thanks a lot.
>> >
>> > There isn't, but there should be.
>> >
>> > -Scott
>>
>> [Lu Yangbo-B47093] Ok, I'd like to try. But can you suggest where we should
>> put the guts driver in kernel?
>> Thanks.
>
> drivers/soc/fsl/
>

Okay, go ahead and have a try.

BTW, there is actually also a corresponding include directory to use

/include/linux/soc/..

Please keep me posted.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node
  2015-12-11  8:26             ` Ulf Hansson
@ 2015-12-11  8:29               ` Scott Wood
  0 siblings, 0 replies; 19+ messages in thread
From: Scott Wood @ 2015-12-11  8:29 UTC (permalink / raw)
  To: Ulf Hansson, Lu Yangbo-B47093
  Cc: linux-mmc@vger.kernel.org, Xie Xiaobo-R63061, Li Yang-Leo-R58472

On Fri, 2015-12-11 at 09:26 +0100, Ulf Hansson wrote:
> [...]
> 
> > > > > The fsl_get_svr() you suggested is also an idea for this.
> > > > > Then, may I know is there a guts driver in kernel?
> > > > > Thanks a lot.
> > > > 
> > > > There isn't, but there should be.
> > > > 
> > > > -Scott
> > > 
> > > [Lu Yangbo-B47093] Ok, I'd like to try. But can you suggest where we
> > > should
> > > put the guts driver in kernel?
> > > Thanks.
> > 
> > drivers/soc/fsl/
> > 
> 
> Okay, go ahead and have a try.
> 
> BTW, there is actually also a corresponding include directory to use
> 
> /include/linux/soc/..

OK, but we already have an include/linux/fsl and not an include/linux/soc/fsl.

-Scott


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-12-11  8:29 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-27  3:20 [v3, 0/5] eSDHC patches introduction Yangbo Lu
2015-11-27  3:20 ` [v3, 1/5] powerpc/fsl: move mpc85xx.h to include/linux Yangbo Lu
2015-12-08 13:49   ` Ulf Hansson
2015-12-08 17:38     ` Scott Wood
2015-12-08 17:44   ` Scott Wood
2015-11-27  3:20 ` [v3, 2/5] mmc: sdhci-of-esdhc: get SVR from global utilities registers Yangbo Lu
2015-12-08 17:45   ` Scott Wood
2015-11-27  3:20 ` [v3, 3/5] mmc: kconfig: select MFD_SYSCON for MMC_SDHCI_OF_ESDHC Yangbo Lu
2015-12-08 13:49   ` Ulf Hansson
2015-12-08 17:40     ` Scott Wood
2015-11-27  3:20 ` [v3, 4/5] powerpc: dts: t4240: add syscon support for DCFG node Yangbo Lu
2015-12-08 17:46   ` Scott Wood
     [not found]     ` <BLUPR0301MB2065B5878A43F66982D6B30BF2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
2015-12-09  4:33       ` Scott Wood
     [not found]         ` <BLUPR0301MB206558CB317D48AC5CEF3642F2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
2015-12-09 17:00           ` Scott Wood
2015-12-11  8:26             ` Ulf Hansson
2015-12-11  8:29               ` Scott Wood
     [not found]         ` <BLUPR0301MB2065A179DCAF428EB79785B7F2E80@BLUPR0301MB2065.namprd03.prod.outlook.com>
2015-12-09 17:01           ` Scott Wood
2015-11-27  3:20 ` [v3, 5/5] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu
2015-12-08 13:59 ` [v3, 0/5] eSDHC patches introduction Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox