* [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