Thread (8 messages) 8 messages, 4 authors, 2016-01-17

mvsdio not working on OpenRD

flat view

From: Rick Thomas <hidden>
Date: 2016-01-10 21:19:51

On Jan 10, 2016, at 7:38 AM, Andrew Lunn [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On Sat, Jan 09, 2016 at 08:26:19PM -0800, Martin Michlmayr wrote:
quoted
Rick Thomas reported that MMC no longer works on his OpenRD Base.

With Debian's 3.16 kernel (using mach ID):

mvsdio mvsdio: no pins associated
mmc0: host does not support reading read-only switch.  assuming write-enable.
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 SD4GB 3.70 GiB?
mmcblk0: p1

With Debian's 4.3 and 4.4-rc8 kernels (using Device Tree):

kirkwood-pinctrl f1010000.pin-controller: pin PIN13 already requested by f1012100.serial; cannot claim for f1090000.mvsdio
kirkwood-pinctrl f1010000.pin-controller: pin-13 (f1090000.mvsdio) status -22
kirkwood-pinctrl f1010000.pin-controller: could not request pin 13 (PIN13) from group mpp13  on device f1010000.pin-controller
mvsdio f1090000.mvsdio: Error applying setting, reverse things back
mvsdio f1090000.mvsdio: Got CD GPIO
[and no mmc0 or mmcblk0]

-- 
Martin Michlmayr
http://www.cyrius.com/
Hi Rick, Martin

If i remember correctly, the OpenRD has some odd muxing going on with
MMC and the second serial port. This fits the error message:

                       pmx_uart1: pmx-uart1 {
                               marvell,pins = "mpp13", "mpp14";
                               marvell,function = "uart1";
                       };

and

                       pmx_sdio: pmx-sdio {
                               marvell,pins = "mpp12", "mpp13", "mpp14",
                                              "mpp15", "mpp16", "mpp17";
                               marvell,function = "sdio";
			};

Either you can have MMC, or you can have the RS-232/RS485 on a DB9 or
you can have MMC. You cannot have both.

It seems like older Debian kernels has defaulted to MMC, so we should
probably disable the serial port.

Please can you try the following patch. If this works, i can add it to
mainline. The issue we might run into is that somebody else wants
serial not MMC....

      Andrew
diff --git a/arch/arm/boot/dts/kirkwood-openrd-base.dts b/arch/arm/boot/dts/kirkwood-openrd-base.dts
index 8af58999606d..883bd416ba0b 100644
--- a/arch/arm/boot/dts/kirkwood-openrd-base.dts
+++ b/arch/arm/boot/dts/kirkwood-openrd-base.dts
@@ -18,11 +18,6 @@
/ {
       model = "OpenRD Base";
       compatible = "marvell,openrd-base", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
-
-       ocp at f1000000 {
-               serial at 12100 {
-                       status = "okay";
-               };
       };
};
OK, I understand the issue, and what the patch would mean.  Given that Debian releases up thru Jessie have chosen to support MMC rather than RS-232/RS485, I don?t think there will be many Debian users who would complain.

Unfortuntaely, I?m not set up to build kernels here.  If someone can apply this patch and send me a link to the resulting binary or .deb or .dts, or ? I?ll be happy to try it out on my test machine.

Thanks!
Rick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help