[PATCH 9/9] ARM: Kirkwood: Convert IX2-200 to pinctrl.
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Oct 24 16:29:58 EDT 2012
Andrew,
On Wed, 24 Oct 2012 22:20:10 +0200, Andrew Lunn wrote:
> The reg maybe. Compatibility not. We need to tell pinctrl which of the
> 5 different variants of kirkwood this particular kirkwood is. See
Agreed.
> drivers/pinctrl/pinctrl-kirkwood.c
>
> enum kirkwood_variant {
> VARIANT_MV88F6180 = V(1, 0, 0, 0, 0),
> VARIANT_MV88F6190 = V(0, 1, 0, 0, 0),
> VARIANT_MV88F6192 = V(0, 0, 1, 0, 0),
> VARIANT_MV88F6281 = V(0, 0, 0, 1, 0),
> VARIANT_MV88F6282 = V(0, 0, 0, 0, 1),
> };
>
> static struct of_device_id kirkwood_pinctrl_of_match[] __devinitdata = {
> { .compatible = "marvell,88f6180-pinctrl", .data = &mv88f6180_info },
> { .compatible = "marvell,88f6190-pinctrl", .data = &mv88f6190_info },
> { .compatible = "marvell,88f6192-pinctrl", .data = &mv88f6192_info },
> { .compatible = "marvell,88f6281-pinctrl", .data = &mv88f6281_info },
> { .compatible = "marvell,88f6282-pinctrl", .data = &mv88f6282_info },
> { }
> };
>
> What SoC is mounted on a board is a property of the board....
The way we solved that on Armada XP is that we have a common
armada-xp.dtsi file with definitions common to all SoCs in the family.
Then, we have sub .dtsi files named armada-xp-mv78230.dtsi,
armada-xp-mv78260.dtsi and armada-xp-mv78460.dtsi that handle the
differences between specific SoCs in the family. For example, the
differences are: different compatible string for the pinctrl driver,
different number of CPUs, different number of pins and
therefore different number of GPIOs, different number of PCIe ports,
etc. But besides those differences, most units have a lot of common
definitions, that we factor out in armada-xp.dtsi.
So we have the following hierarchy:
+ armada-xp.dtsi
+ armada-xp-mv78230.dtsi
+ someboard-here.dts
+ armada-xp-mv78260.dtsi
+ openblocks-ax3-4.dts
+ armada-xp-mv78460.dtsi
+ armada-xp-db.dts
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list