Pin control mappings for DT

Linus Walleij linus.walleij at linaro.org
Tue Nov 29 18:42:11 EST 2011


Greetings,

can we have some initial idea about DT support for pin control
devices and how these will look? Since pin control seems to be
a cruicial piece for people to get board data out of their kernels
we'd better have a common understanding.

The way I've understood it, we will need three pieces of
DT data:

1) Per-driver info, includes the pin controller base, its pins, their
 (optional) names and their specific presets like bias etc.

2) Board pin group definitions, saying "these three pins
  belong to the group "i2c0-pins"

3) Board function mapping definitions saying "the pin group
  'i2c0-pins' is to be used with device i2c0" which can map
  several groups to a single device.

(1) should be read out by each pin controller driver and
(2)+(3) by the pin controller, specifically  pinmux core.

I'm tentatively also thinking about:

(4) Pin group state map - as in "group 'i2c0-pins' have
  the states 'active', 'sleeping' and 'idle' "

Since this last piece needs to be connected to say
bias settings etc it's currently unclear to me how that
would work. But (1) thro (3) seem pretty solid.

Does this agree with others' idea about this?

(Feaing this thread will run on for a while, DT issues seem
pretty discussable.)

Yours,
Linus Walleij


More information about the devicetree-discuss mailing list