Re: [PATCH v2 01/14] Documentation: dt/bindings: Document pinctrl-ingenic

From: Linus Walleij
Date: Fri Jan 27 2017 - 06:51:29 EST


On Sun, Jan 22, 2017 at 3:49 PM, Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote:


> +Required properties:
> +- compatible: One of:
> + - "ingenic,jz4740-pinctrl"
> + - "ingenic,jz4780-pinctrl"
> +
> +Optional properties:
> +- ingenic,pull-ups: A list of 32-bit bit fields, where each bit set tells the
> + driver that a pull-up resistor is available for this pin.
> + By default, the driver considers that all pins feature a pull-up resistor.
> +- ingenic,pull-downs: A list of 32-bit bit fields, where each bit set tells
> + the driver that a pull-down resistor is available for this pin.
> + By default, the driver considers that all pins feature a pull-down
> + resistor.

So I still don't understand these properties.

Does this mean that there is a pull-up *inside* the SoC or *outside*
on the board where it is mounted?

If it is *outside* the SoC, on the board, the pulls should be set on
the consumers, not on the controller.

In the former case, if this pertains to the *inside* of the SoC:
is it just different between jz4740 and jz4780?
In that case, just code this into the driver as .data to the .compatible
in the DT match. No special DT properties needed.

If it is different between e.g. different versions of jz4740, why not
make different compatible-properties? If there are different versions
of the circuit, with different hard-wired hardware configuration, they
are different devices and should have different compatible strings.

> + /* CLK, CMD, D0 */
> + ingenic,pins = <0x69 0 0x68 0 0x6a 0>;

Standard bindings use just "pins". Why the custom ingenic,
prefix?

Yours,
Linus Walleij