On Thu, Oct 08, 2020 at 12:28:25PM +0200, Ricardo Cañuelo wrote: > Add missing properties that are currently used in the examples of > subnode bindings and in many DTs. > > Also updates the example in sound/google,cros-ec-codec.yaml to comply > with the google,cros-ec binding. > > Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@xxxxxxxxxxxxx> > --- > .../bindings/mfd/google,cros-ec.yaml | 42 +++++++++++++++++++ > .../bindings/sound/google,cros-ec-codec.yaml | 26 +++++++----- > 2 files changed, 58 insertions(+), 10 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > index 351bfb6d37ba..48929bb07d98 100644 > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > @@ -59,6 +59,14 @@ properties: > whether this nvram is present or not. > type: boolean > > + mtk,rpmsg-name: > + description: > + Must be defined if the cros-ec is a rpmsg device for a Mediatek > + ARM Cortex M4 Co-processor. Contains the name pf the rpmsg > + device. Used to match the subnode to the rpmsg device announced by > + the SCP. > + $ref: "/schemas/types.yaml#/definitions/string" > + > spi-max-frequency: > description: Maximum SPI frequency of the device in Hz. > > @@ -71,14 +79,48 @@ properties: > wakeup-source: > description: Button can wake-up the system. > > + typec: > + $ref: "/schemas/chrome/google,cros-ec-typec.yaml#" > + > + ec-pwm: > + $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#" > + > keyboard-controller: > $ref: "/schemas/input/google,cros-ec-keyb.yaml#" > > + codecs: Doesn't moving this require a driver change? If you only need 1 codec, then just drop the unit-address. > + type: object > + additionalProperties: false > + > + properties: > + '#address-cells': > + const: 2 > + > + '#size-cells': > + const: 1 > + > + patternProperties: > + "^ec-codec@[a-f0-9]+$": > + type: object > + $ref: "/schemas/sound/google,cros-ec-codec.yaml#" > + > + required: > + - "#address-cells" > + - "#size-cells" > + > patternProperties: > "^i2c-tunnel[0-9]*$": > type: object > $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#" > > + "^regulator@[0-9]+$": > + type: object > + $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#" > + > + "^extcon[0-9]*$": > + type: object > + $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#" > + > required: > - compatible > > diff --git a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml > index c84e656afb0a..acfb9db021dc 100644 > --- a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml > +++ b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml > @@ -11,9 +11,10 @@ maintainers: > > description: | > Google's ChromeOS EC codec is a digital mic codec provided by the > - Embedded Controller (EC) and is controlled via a host-command interface. > - An EC codec node should only be found as a sub-node of the EC node (see > - Documentation/devicetree/bindings/mfd/cros-ec.txt). > + Embedded Controller (EC) and is controlled via a host-command > + interface. An EC codec node should only be found inside the "codecs" > + subnode of a cros-ec node. > + (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml). > > properties: > compatible: > @@ -54,14 +55,19 @@ examples: > #size-cells = <0>; > cros-ec@0 { > compatible = "google,cros-ec-spi"; > - #address-cells = <2>; > - #size-cells = <1>; > reg = <0>; > - cros_ec_codec: ec-codec@10500000 { > - compatible = "google,cros-ec-codec"; > - #sound-dai-cells = <1>; > - reg = <0x0 0x10500000 0x80000>; > - memory-region = <&reserved_mem>; > + > + codecs { > + #address-cells = <2>; > + #size-cells = <1>; > + > + cros_ec_codec: ec-codec@10500000 { > + compatible = "google,cros-ec-codec"; > + #sound-dai-cells = <1>; > + reg = <0x0 0x10500000 0x80000>; > + memory-region = <&reserved_mem>; > + }; > + > }; > }; > }; > -- > 2.18.0 >