On Sun, Nov 03, 2019 at 02:36:39AM +0100, Andreas Färber wrote: > Allow to optionally specify a second register to identify the chip. > Whether needed and which register to specify depends on the family; > RTD1295 family will want the CHIP_INFO1 register. > > Signed-off-by: Andreas Färber <afaerber@xxxxxxx> > --- > A SoC specific binding would defeat the purpose of the generic Linux driver; Why? You can map any number of compatibles to a generic driver. > is it possible to check the root node's compatible in an if: expression > to prohibit using more than one reg on "realtek,rtd1195"? The "rule" is different programming model, different compatible string for the block. But this looks simple enough, I don't really care. > > .../devicetree/bindings/soc/realtek/realtek,rtd1195-chip.yaml | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/soc/realtek/realtek,rtd1195-chip.yaml b/Documentation/devicetree/bindings/soc/realtek/realtek,rtd1195-chip.yaml > index 565ad2419553..e431cf559b66 100644 > --- a/Documentation/devicetree/bindings/soc/realtek/realtek,rtd1195-chip.yaml > +++ b/Documentation/devicetree/bindings/soc/realtek/realtek,rtd1195-chip.yaml > @@ -11,13 +11,15 @@ maintainers: > > description: | > The Realtek SoCs have some registers to identify the chip and revision. > + To identify the exact model within a family, further registers are needed. > > properties: > compatible: > const: "realtek,rtd1195-chip" > > reg: > - maxItems: 1 > + minItems: 1 > + maxItems: 2 > > required: > - compatible > @@ -29,4 +31,10 @@ examples: > compatible = "realtek,rtd1195-chip"; > reg = <0x1801a200 0x8>; > }; > + - | > + chip-info@9801a200 { > + compatible = "realtek,rtd1195-chip"; > + reg = <0x9801a200 0x8>, > + <0x98007028 0x4>; > + }; > ... > -- > 2.16.4 >