| # 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 <danny.kaehn@plexus.com> |
| |
| 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 <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/gpio/gpio.h> |
| |
| 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>; |
| }; |
| }; |
| }; |
| }; |