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.... Andrewdiff --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