Thread (98 messages) 98 messages, 13 authors, 2012-01-20

[RFC PATCH v3 2/5] pinctrl: add dt binding support for pinmux mappings

From: Dong Aisheng-B29396 <hidden>
Date: 2012-01-12 07:40:46
Also in: linux-devicetree, lkml

...
quoted
* The enumerations above should be purely at the level the HW exposes,
i.e. if a UART uses 4 signals (RX, TX, CTS, RTS), and the SoC
configures muxing at a per-pin level, and 6 pins exist which can have
various UART signals mux'd on to them, there should be a "muxable
entity" enumeration for each of the 6 pins, not an enumeration for
each possible combination of assignments of signals to pins, since in
general that number could be extremely large as Richard Zao points out
in his email that was sent right after yours.
Speaking of the model, yes, it's true.  But coming to the practical
implementation, we may need compromise on whether we need to do a full
enumeration.
quoted
* pinmux properties in device drivers should list the muxable entities
that they use, and the mux function for each of them.
Following on the example above, we will need something below in SD node to
specify each pin and corresponding function selection.

        usdhc at 02194000 { /* uSDHC2 */
                #pinmux-cells = <2>;
                // The second cell specify the index of the desired function of
given pin
                pinmux = < &sd2_dat1 0
                           &sd2_dat2 0
                           ...        >;
                status = "okay";
        };

IMO, it's not nice for pinctrl client devices.  Though it's true that the
muxable entity is pin, what the client device really cares is its pingroup.  We
should define the pingroup rather than pin for client device to refer to with a
phandle.  This is just like that pinctrl subsystem api pinmux_get/enable operate
on a pingroup as an interface to client device driver, no matter the muxable
entity at HW level is a pin or a group.
+1
It's just like what the current pinctrl subsystem does:
the device says "I'm using this function and this pin group, please enable!"
But no pins are specified.

Regards
Dong Aisheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help