On Mon, Nov 18, 2024 at 05:33:47PM +0800, Sung-Chi, Li wrote: > Add new dt bindings for charge chip control. The charge chip control > dt configuration is used by the driver 'cros-ec-charge-state', which is > added in the commit "platform/chrome: cros_ec_charge_state: add new > driver to control charge". > > As these charge chip controls are connected under the ChromeOS Embedded > Controller (EC), also add the patternProperties to the > mfd/google,cros-ec bindings. > > Signed-off-by: Sung-Chi, Li <lschyi@xxxxxxxxxxxx> > --- > .../bindings/chrome/google,cros-charge-state.yaml | 62 ++++++++++++++++++++++ > .../devicetree/bindings/mfd/google,cros-ec.yaml | 4 ++ > 2 files changed, 66 insertions(+) > > diff --git a/Documentation/devicetree/bindings/chrome/google,cros-charge-state.yaml b/Documentation/devicetree/bindings/chrome/google,cros-charge-state.yaml > new file mode 100644 > index 000000000000..40e8f6988769 > --- /dev/null > +++ b/Documentation/devicetree/bindings/chrome/google,cros-charge-state.yaml > @@ -0,0 +1,62 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/chrome/google,cros-charge-state.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Google Chrome OS EC(Embedded Controller) charge state driver. > + > +maintainers: > + - Sung-Chi, Li <lschyi@xxxxxxxxxxxx> > + > +description: > + Chrome OS devices have an Embedded Controller(EC) which has access to > + battery charger IC. This node is intended to allow the host to read and > + control the charger current. The node for this device should be under a > + cros-ec node like google,cros-ec-spi. > + > +properties: > + compatible: > + const: google,cros-ec-charge-state > + > + min-milliamp: > + description: min current in milliamp. > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + max-milliamp: > + description: max current in milliamp. > + $ref: /schemas/types.yaml#/definitions/uint32 Use standard units defined in property-units.yaml. No constraints? 4000000 amps is okay? > + > + type: Too generic. Property types are global. You need a vendor prefix for starters. > + description: current limit type. > + enum: > + - charge > + - input What if you need to describe both? > + > +required: > + - compatible > + - min-milliamp > + - man-milliamp > + - type > + > +additionalProperties: false > + > +examples: > + - |+ > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cros_ec: ec@0 { > + compatible = "google,cros-ec-spi"; > + reg = <0>; > + interrupts = <35 0>; > + > + charge_chip_battery_current: charge-chip-battery { > + compatible = "google,cros-ec-charge"; > + type = "charge"; > + min-milliamp = <150>; > + max-milliamp = <5000>; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > index aac8819bd00b..3db4a48d5176 100644 > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > @@ -166,6 +166,10 @@ patternProperties: > type: object > $ref: /schemas/extcon/extcon-usbc-cros-ec.yaml# > > + "^charge-chip-*": > + type: object > + $ref: /schemas/chrome/google,cros-charge-state.yaml# > + > required: > - compatible > > > -- > 2.47.0.338.g60cca15819-goog >