mvsdio not working on OpenRD
Rick Thomas
rbthomas at pobox.com
Sun Jan 10 13:19:51 PST 2016
On Jan 10, 2016, at 7:38 AM, Andrew Lunn <andrew at lunn.ch> wrote:
> On Sat, Jan 09, 2016 at 08:26:19PM -0800, Martin Michlmayr wrote:
>> 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
More information about the linux-arm-kernel
mailing list