Re: [RFC 05/11] dt-bindings: soc: realtek: rtd1195-chip: Extend reg property

From: Rob Herring
Date: Tue Nov 05 2019 - 23:46:09 EST


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
>