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