Thread (27 messages) flat view 27 messages, 9 authors, 2014-10-21

[PATCH v2 4/4] ARM: dts: mt8135: Add pinctrl node for mt8135.

From: Linus Walleij <hidden>
Date: 2014-10-21 09:02:14
Also in: linux-devicetree, lkml

On Mon, Oct 6, 2014 at 9:18 AM, Sascha Hauer [off-list ref] wrote:
On Thu, Oct 02, 2014 at 04:02:58PM +0200, Linus Walleij wrote:
quoted
What is the alternative? Device Tree is very much about strings,
as is shown by the pin config bindings.
The alternative is to use numbers. The majority of SoCs have a bit field
per pad which is used for muxing the pad to different functions. The
natural way to describe this is a pair of numbers: <pad-number>
<function-number>.  The pad number can normally be directly translated
into a register offset and the function number to a value written to
that register. This is true for most SoCs I know of and makes it very
easy to generate code for and to prove for correctness of both the code
and the device tree.
To me this sounds more like a discussion on how to set up a good
firmware (BIOS) that the kernel can call into.

We have had many times the discussion whether DT should contain
"jam tables" and such things, i.e. stuff that basically translate
DT directly to register writes.

The one exception we have for this is pinctrl-single.c which uses a
single word to configure a pin. I'm even not sure that was a good
idea but it was a compromise.

If someone wants the above, they should use pinctrl-single.c
(OMAP and HiSilicon uses it already), if they need another necessarily
different driver I'm very reluctant.

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help