On Fri, Feb 10, 2023 at 04:36:36PM -0600, Danny Kaehn wrote: > This is a USB HID device which includes an I2C controller and 8 GPIO pins. > > The binding allows describing the chip's gpio and i2c controller in DT > using the subnodes named "gpio" and "i2c", respectively. This is > intended to be used in configurations where the CP2112 is permanently > connected in hardware. > > Signed-off-by: Danny Kaehn <kaehndan@xxxxxxxxx> > --- > .../bindings/i2c/silabs,cp2112.yaml | 113 ++++++++++++++++++ > 1 file changed, 113 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml > > diff --git a/Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml b/Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml > new file mode 100644 > index 000000000000..81eda01ebda5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml > @@ -0,0 +1,113 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/silabs,cp2112.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: CP2112 HID USB to SMBus/I2C Bridge > + > +maintainers: > + - Danny Kaehn <kaehndan@xxxxxxxxx> > + > +description: > + The CP2112 is a USB HID device which includes an integrated I2C controller > + and 8 GPIO pins. Its GPIO pins can each be configured as inputs, open-drain > + outputs, or push-pull outputs. > + > +properties: > + compatible: > + const: usb10c4,ea90 > + > + reg: > + maxItems: 1 > + description: The USB port number on the host controller > + > + i2c: > + description: The SMBus/I2C controller node for the CP2112 > + $ref: /schemas/i2c/i2c-controller.yaml# > + unevaluatedProperties: false > + > + properties: > + sda-gpios: > + maxItems: 1 > + > + scl-gpios: > + maxItems: 1 > + > + clock-frequency: > + minimum: 10000 > + default: 100000 > + maximum: 400000 > + > + gpio: > + description: The GPIO controller node for the CP2112 > + type: object > + unevaluatedProperties: false > + > + properties: > + interrupt-controller: true > + "#interrupt-cells": > + const: 2 > + > + gpio-controller: true > + "#gpio-cells": > + const: 2 > + > + gpio-line-names: > + minItems: 1 > + maxItems: 8 > + > + patternProperties: > + "^(.+-hog(-[0-9]+)?)$": This can be simplified to: '-hog(-[0-9]+)?$' Otherwise, Reviewed-by: Rob Herring <robh@xxxxxxxxxx>