Skip to contentSkip to conversation

arm64: dts: marvell: mcbin: add sdhci

PATCH In review Russell King 4 participants 6 messages May 16, 2017 – May 23, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm64: dts: marvell: mcbin: add sdhci

Add sdhci support for MACCHIATOBin boards. This uses the AP806 SDHCI for eMMC and CP110 master for the SD card slot.

---

This version labels up the uSD connector, adds the vqmmc regulator for the uSD (the regulator itself already present in the DT), and supports the card detect signal.

For eMMC, this version adds the vqmmc regulator, which again is already present in the DT, marks it as not supporting SD or SDIO, and also includes "slow mode" since testing with previous versions of the driver have shown that selecting faster speeds results in errors.

 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts |   23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +23 -0
index cc167e05941a..60111ed3234a 100644
@@ -95,6 +95,21 @@
 	status = "okay";
 };
 
+&ap_sdhci0 {
+	bus-width = <8>;
+	/*
+	 * Not stable in HS modes - phy needs "more calibration", so add
+	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+	 */
+	marvell,xenon-phy-slow-mode;
+	no-1-8-v;
+	no-sd;
+	no-sdio;
+	non-removable;
+	status = "okay";
+	vqmmc-supply = <&v_vddo_h>;
+};
+
 &cpm_i2c0 {
 	clock-frequency = <100000>;
 	status = "okay";
@@ -105,6 +120,14 @@
 	status = "okay";
 };
 
+&cpm_sdhci0 {
+	/* U6 */
+	broken-cd;
+	bus-width = <4>;
+	status = "okay";
+	vqmmc-supply = <&v_3_3>;
+};
+
 &cpm_usb3_0 {
 	/* J38? - USB2.0 only */
 	status = "okay";
Signature · 1 line
2.7.4
#1 lore raw

Russel,

2017-05-16 15:45 GMT+02:00 Russell King <[email protected]>:

Quoted 26 lines

Add sdhci support for MACCHIATOBin boards. This uses the AP806 SDHCI for eMMC and CP110 master for the SD card slot.

---

This version labels up the uSD connector, adds the vqmmc regulator for the uSD (the regulator itself already present in the DT), and supports the card detect signal.

For eMMC, this version adds the vqmmc regulator, which again is already present in the DT, marks it as not supporting SD or SDIO, and also includes "slow mode" since testing with previous versions of the driver have shown that selecting faster speeds results in errors.

 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts |   23
++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +0 -0
index cc167e05941a..60111ed3234a 100644
@@ -95,6 +95,21 @@
        status = "okay";

arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts line 105

Quoted 10 lines
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +7 -0
 };
 
+&ap_sdhci0 {
+       bus-width = <8>;
+       /*
+        * Not stable in HS modes - phy needs "more calibration", so add
+        * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+        */
+       marvell,xenon-phy-slow-mode;
 

FYI, this property is by default present in armada-ap806.dtsi.

Marcin

Quoted 35 lines
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +8 -0
+       no-1-8-v;
+       no-sd;
+       no-sdio;
+       non-removable;
+       status = "okay";
+       vqmmc-supply = <&v_vddo_h>;
+};
+
 &cpm_i2c0 {
        clock-frequency = <100000>;
        status = "okay";
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +8 -1
@@ -105,6 +120,14 @@
        status = "okay";
 };
 
+&cpm_sdhci0 {
+       /* U6 */
+       broken-cd;
+       bus-width = <4>;
+       status = "okay";
+       vqmmc-supply = <&v_3_3>;
+};
+
 &cpm_usb3_0 {
        /* J38? - USB2.0 only */
        status = "okay";
--

2.7.4

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#2 lore raw

PATCH 1/1 arm64: dts: marvell: mcbin: add sdhci

Re-send in plain text.

2017-05-16 17:40 GMT+02:00 Marcin Wojtas <[email protected]>:

Quoted 82 lines

Russel,

2017-05-16 15:45 GMT+02:00 Russell King <[email protected]>:

Quoted 26 lines

Add sdhci support for MACCHIATOBin boards. This uses the AP806 SDHCI for eMMC and CP110 master for the SD card slot.

---

This version labels up the uSD connector, adds the vqmmc regulator for the uSD (the regulator itself already present in the DT), and supports the card detect signal.

For eMMC, this version adds the vqmmc regulator, which again is already present in the DT, marks it as not supporting SD or SDIO, and also includes "slow mode" since testing with previous versions of the driver have shown that selecting faster speeds results in errors.

 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts |   23
++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +0 -0
index cc167e05941a..60111ed3234a 100644

arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts line 104

Quoted 10 lines
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +7 -0
@@ -95,6 +95,21 @@
        status = "okay";
 };
 
+&ap_sdhci0 {
+       bus-width = <8>;
+       /*
+        * Not stable in HS modes - phy needs "more calibration", so add
+        * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+        */
+       marvell,xenon-phy-slow-mode;

FYI, this property is by default present in armada-ap806.dtsi.

Marcin

Quoted 35 lines
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +16 -1
+       no-1-8-v;
+       no-sd;
+       no-sdio;
+       non-removable;
+       status = "okay";
+       vqmmc-supply = <&v_vddo_h>;
+};
+
 &cpm_i2c0 {
        clock-frequency = <100000>;
        status = "okay";
@@ -105,6 +120,14 @@
        status = "okay";
 };
 
+&cpm_sdhci0 {
+       /* U6 */
+       broken-cd;
+       bus-width = <4>;
+       status = "okay";
+       vqmmc-supply = <&v_3_3>;
+};
+
 &cpm_usb3_0 {
        /* J38? - USB2.0 only */
        status = "okay";
--

2.7.4

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#3 lore raw

PATCH 1/1 arm64: dts: marvell: mcbin: add sdhci

Quoted 45 lines · Marcin Wojtas

Re-send in plain text.

2017-05-16 17:40 GMT+02:00 Marcin Wojtas <[email protected]>:

Quoted 42 lines

Russel,

2017-05-16 15:45 GMT+02:00 Russell King <[email protected]>:

Quoted 26 lines

Add sdhci support for MACCHIATOBin boards. This uses the AP806 SDHCI for eMMC and CP110 master for the SD card slot.

---

This version labels up the uSD connector, adds the vqmmc regulator for the uSD (the regulator itself already present in the DT), and supports the card detect signal.

For eMMC, this version adds the vqmmc regulator, which again is already present in the DT, marks it as not supporting SD or SDIO, and also includes "slow mode" since testing with previous versions of the driver have shown that selecting faster speeds results in errors.

 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts |   23
++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +0 -0
index cc167e05941a..60111ed3234a 100644

arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts line 104

Quoted 10 lines
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +7 -0
@@ -95,6 +95,21 @@
        status = "okay";
 };
 
+&ap_sdhci0 {
+       bus-width = <8>;
+       /*
+        * Not stable in HS modes - phy needs "more calibration", so add
+        * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+        */
+       marvell,xenon-phy-slow-mode;

FYI, this property is by default present in armada-ap806.dtsi.

Yes, it may be, it's unclear (at least to me) whether this is a board problem or a SoC problem. Given that it's at the SoC layer, it suggests there's a SoC/driver problem that needs resolving.

However, given that the board is tested only in non-HS mode at the moment, having the property in place is the sensible thing, even though the SoC level currently has the property. If we can prove that the board is capable of HS modes, then I'd be happy to remove it, but not before. It could be that even if the SoC level is capable of HS modes, the board may not support them.

Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
#4 lore raw

PATCH 1/1 arm64: dts: marvell: mcbin: add sdhci

Hi Russell King,

Quoted 10 lines · Russell King - ARM Linux
Quoted 10 lines
Quoted 10 lines
Quoted 8 lines

+&ap_sdhci0 {

arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +6 -0
+       bus-width = <8>;
+       /*
+        * Not stable in HS modes - phy needs "more calibration", so add
+        * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+        */
+       marvell,xenon-phy-slow-mode;
Quoted 5 lines
Quoted 1 line
Quoted 1 line

FYI, this property is by default present in armada-ap806.dtsi.

Yes, it may be, it's unclear (at least to me) whether this is a board problem or a SoC problem. Given that it's at the SoC layer, it suggests there's a SoC/driver problem that needs resolving.

According to the feedback I got from Marvell the issue is at SoC level, it seemed there was a integration problem of the Xenon IP inside the AP806 so I don't expect it will ever work.

Gregory

Quoted 12 lines

However, given that the board is tested only in non-HS mode at the moment, having the property in place is the sensible thing, even though the SoC level currently has the property. If we can prove that the board is capable of HS modes, then I'd be happy to remove it, but not before. It could be that even if the SoC level is capable of HS modes, the board may not support them.

Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#5 lore raw

PATCH 1/1 arm64: dts: marvell: mcbin: add sdhci

In reply to Russell King

Hi Russell,

Quoted 2 lines · Russell King

Add sdhci support for MACCHIATOBin boards. This uses the AP806 SDHCI for eMMC and CP110 master for the SD card slot.

Applied on mvebu/dt64

Thanks,

Gregory

Quoted 60 lines

---

This version labels up the uSD connector, adds the vqmmc regulator for the uSD (the regulator itself already present in the DT), and supports the card detect signal.

For eMMC, this version adds the vqmmc regulator, which again is already present in the DT, marks it as not supporting SD or SDIO, and also includes "slow mode" since testing with previous versions of the driver have shown that selecting faster speeds results in errors.

 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts |   23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +23 -0
index cc167e05941a..60111ed3234a 100644
@@ -95,6 +95,21 @@
 	status = "okay";
 };
 
+&ap_sdhci0 {
+	bus-width = <8>;
+	/*
+	 * Not stable in HS modes - phy needs "more calibration", so add
+	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+	 */
+	marvell,xenon-phy-slow-mode;
+	no-1-8-v;
+	no-sd;
+	no-sdio;
+	non-removable;
+	status = "okay";
+	vqmmc-supply = <&v_vddo_h>;
+};
+
 &cpm_i2c0 {
 	clock-frequency = <100000>;
 	status = "okay";
@@ -105,6 +120,14 @@
 	status = "okay";
 };
 
+&cpm_sdhci0 {
+	/* U6 */
+	broken-cd;
+	bus-width = <4>;
+	status = "okay";
+	vqmmc-supply = <&v_3_3>;
+};
+
 &cpm_usb3_0 {
 	/* J38? - USB2.0 only */
 	status = "okay";
Signature · 1 line
2.7.4
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com