Thread (1 message) 1 message, 1 author, 2013-03-07

Re: doubt about where to put pin-mux in MX28 based platform DT

From: Maxime Ripard <hidden>
Date: 2013-03-07 13:06:27
Also in: linux-arm-kernel

Hi Hector,

Le 06/03/2013 18:02, Hector Palacios a écrit :
quoted hunk
I'm creating the DT for a custom platform based on Freescale MX28 CPU
and I have some doubts about where to add some pin mux configurations:
whether in imx28.dtsi or in my platform dts.

A pair of examples folow:

Example #1. My platform is using a valid IOMUX for DUART TX/RX lines
which is not covered in imx28.dtsi, namely the I2C0 pins. Since this is
a valid IOMUX that can be used by other platforms, I'd say I should
included it in imx28.dtsi:
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 3fa6d19..8928b7b 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -186,6 +186,17 @@
                                        fsl,pull-up = <0>;
                                };

+                               duart_pins_c: duart@2 {
+                                       reg = <2>;
+                                       fsl,pinmux-ids = <
+                                               0x3182 /*
MX28_PAD_I2C0_SCL__DUART_RX */
+                                               0x3192 /*
MX28_PAD_I2C0_SDA__DUART_TX */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
                                duart_4pins_a: duart-4pins@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
That's right.
Example #2. My platform assembles a NAND chip which is powered at 1.8V.
The imx28.dtsi has a configuration 'gpmi_pins_a: gpmi-nand@0' that
configures the pins at 3.3V.
Should I create another entry here 'gpmi_pins_b: gpmi-nand@1' with
fsl,voltage = <0>; or should I create a specific entry in my platform's
DT instead?
What is the convention?
Since it's the same pinset, I'd rather go for using gpmi_pins_a in your
NAND chip node, but also overload the fsl,voltage property of
gpmi_pins_a in your board device tree.

That would give something like

pinctrl@80018000 {
	gpmi_pins_a: gpmi-nand@0 {
		fsl,voltage = <0>;
	};
};

nand@deadbeef {
	pinctrl-names = "default";
	pinctrl-0 = <&gpmi_pins_a>;
}

But maybe Sascha will have a different view on this.

Maxime

-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help