[PATCH 0/1] ARM: kirkwood: Convert the mplcec4 board to pinctrl
Andrew Lunn
andrew at lunn.ch
Mon Nov 19 06:18:38 EST 2012
On Mon, Nov 19, 2012 at 11:26:44AM +0100, Stefan Peter wrote:
> Hello Andrew
>
> This is my try to convert the mplcec4 board to your pinctrl patches. The
> only problem I see is that I get an uart1 using mpp13 and mpp14 which
> are used by the mvsdio driver
Hi Stefan
Interesting.
If you convert the dtb back to a dtc:
dtc -o mplcec4.dts -O dts arch/arm/boot/kirkwood-mplcec4.dtb
you see:
pinctrl at 10000 {
compatible = "marvell,88f6281-pinctrl";
reg = <0x10000 0x20>;
pinctrl-0 = <0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd>;
pinctrl-names = "default";
pmx-nand {
marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", "mpp4", "mpp5", "mpp18", "mpp19";
marvell,function = "nand";
linux,phandle = <0x2>;
phandle = <0x2>;
};
pmx-sata0 {
marvell,pins = "mpp35";
marvell,function = "sata0";
linux,phandle = <0x6>;
phandle = <0x6>;
};
pmx-sata1 {
marvell,pins = "mpp34";
marvell,function = "sata1";
linux,phandle = <0x7>;
phandle = <0x7>;
};
pmx-spi {
marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3";
marvell,function = "spi";
};
pmx-twsi0 {
marvell,pins = "mpp8", "mpp9";
marvell,function = "twsi0";
};
pmx-uart0 {
marvell,pins = "mpp10", "mpp11";
marvell,function = "uart0";
linux,phandle = <0x3>;
phandle = <0x3>;
};
pmx-uart1 {
marvell,pins = "mpp13", "mpp14";
marvell,function = "uart1";
};
pmx-led-health {
marvell,pins = "mpp7";
marvell,function = "gpo";
linux,phandle = <0x4>;
phandle = <0x4>;
};
pmx-sdio {
marvell,pins = "mpp12", "mmp13", "mpp14", "mpp15", "mpp16", "mpp17";
marvell,function = "sdio";
linux,phandle = <0x5>;
phandle = <0x5>;
};
pmx-led-user1o {
marvell,pins = "mpp40";
marvell,function = "gpio";
linux,phandle = <0x8>;
phandle = <0x8>;
};
pmx-led-user1g {
marvell,pins = "mpp41";
marvell,function = "gpio";
linux,phandle = <0x9>;
phandle = <0x9>;
};
pmx-led-user0o {
marvell,pins = "mpp44";
marvell,function = "gpio";
linux,phandle = <0xa>;
phandle = <0xa>;
};
pmx-led-user0g {
marvell,pins = "mpp45";
marvell,function = "gpio";
linux,phandle = <0xb>;
phandle = <0xb>;
};
pmx-led-misc {
marvell,pins = "mpp46";
marvell,function = "gpio";
linux,phandle = <0xc>;
phandle = <0xc>;
};
pmx-sdio-cd {
marvell,pins = "mpp47";
marvell,function = "gpio";
linux,phandle = <0xd>;
phandle = <0xd>;
};
};
};
pmx-uart1 has no linux.phandle, and its not listed in
pinctrl-0 = <0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd>;
so it should not be used as a pin hog.
So, during boot do you see:
f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 34) is a 16550A
I expect 'no', since:
serial at 12100 {
compatible = "ns16550a";
reg = <0x12100 0x100>;
reg-shift = <0x2>;
interrupts = <0x22>;
status = "disabled";
};
What do you see in /debug/pinctrl/f1010000.pinctrl/pinmux-pins contain?
Since i have a second UART on my board i have:
pin 13 (PIN13): f1010000.pinctrl (GPIO UNCLAIMED) (HOG) function uart1 group mpp13
pin 14 (PIN14): f1010000.pinctrl (GPIO UNCLAIMED) (HOG) function uart1 group mpp14
but i would expect to see function sdio.
Thanks
Andrew
More information about the linux-arm-kernel
mailing list