# 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 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 interrupt-controller: true "#interrupt-cells": const: 2 gpio-controller: true "#gpio-cells": const: 2 gpio-line-names: minItems: 1 maxItems: 8 i2c: description: The SMBus/I2C controller node for the CP2112 $ref: /schemas/i2c/i2c-controller.yaml# unevaluatedProperties: false properties: clock-frequency: minimum: 10000 default: 100000 maximum: 400000 patternProperties: "-hog(-[0-9]+)?$": type: object required: - gpio-hog required: - compatible - reg additionalProperties: false examples: - | #include #include usb { #address-cells = <1>; #size-cells = <0>; cp2112: device@1 { compatible = "usb10c4,ea90"; reg = <1>; gpio-controller; interrupt-controller; #interrupt-cells = <2>; #gpio-cells = <2>; gpio-line-names = "CP2112_SDA", "CP2112_SCL", "TEST2", "TEST3","TEST4", "TEST5", "TEST6"; fan-rst-hog { gpio-hog; gpios = <7 GPIO_ACTIVE_HIGH>; output-high; line-name = "FAN_RST"; }; i2c { #address-cells = <1>; #size-cells = <0>; sda-gpios = <&cp2112 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; scl-gpios = <&cp2112 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; temp@48 { compatible = "national,lm75"; reg = <0x48>; }; }; }; };