All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Danny Kaehn <danny.kaehn@plexus.com>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Benjamin Tissoires <bentiss@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Jiri Kosina <jikos@kernel.org>,
	devicetree@vger.kernel.org, linux-input@vger.kernel.org,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Bartosz Golaszewski <bartosz.golaszewski@linaro.org>,
	Ethan Twardy <ethan.twardy@plexus.com>
Subject: Re: [PATCH v11 1/4] dt-bindings: i2c: Add CP2112 HID USB to SMBus Bridge
Date: Thu, 6 Jun 2024 09:18:59 -0600	[thread overview]
Message-ID: <20240606151859.GA3605325-robh@kernel.org> (raw)
In-Reply-To: <20240605-cp2112-dt-v11-1-d55f0f945a62@plexus.com>

On Wed, Jun 05, 2024 at 06:12:44PM -0500, 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

There's no more gpio subnode.

> intended to be used in configurations where the CP2112 is permanently
> connected in hardware.
> 
> Signed-off-by: Danny Kaehn <danny.kaehn@plexus.com>
> ---
>  .../devicetree/bindings/i2c/silabs,cp2112.yaml     | 105 +++++++++++++++++++++
>  1 file changed, 105 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml b/Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml
> new file mode 100644
> index 000000000000..0108f2e43c8c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/silabs,cp2112.yaml
> @@ -0,0 +1,105 @@
> +# 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 on the host controller

Or hub ports. Just drop '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

These are because I2C can be on any of the pins? It's a bit odd if they 
aren't used as gpios. Probably should be pinmux, but that's overkill for 
2 pins.

> +
> +      clock-frequency:
> +        minimum: 10000
> +        default: 100000
> +        maximum: 400000
> +
> +  interrupt-controller: true
> +  "#interrupt-cells":
> +    const: 2

Where does the 
> +
> +  gpio-controller: true
> +  "#gpio-cells":
> +    const: 2
> +
> +  gpio-line-names:
> +    minItems: 1
> +    maxItems: 8
> +
> +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>;
> +
> +        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>;
> +          };
> +        };
> +
> +        gpio-controller;
> +        interrupt-controller;
> +        #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";
> +        };
> +      };
> +    };
> 
> -- 
> 2.25.1
> 

  parent reply	other threads:[~2024-06-06 15:19 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-05 23:12 [PATCH v11 0/4] Firmware Support for USB-HID Devices and CP2112 Danny Kaehn
2024-06-05 23:12 ` [PATCH v11 1/4] dt-bindings: i2c: Add CP2112 HID USB to SMBus Bridge Danny Kaehn
2024-06-06  0:18   ` Rob Herring (Arm)
2024-06-06  6:28   ` Krzysztof Kozlowski
2024-06-06 15:12     ` Danny Kaehn
2024-06-06 15:18   ` Rob Herring [this message]
2024-06-06 16:24     ` Danny Kaehn
2024-06-06 19:49       ` Andy Shevchenko
2024-06-07 18:38         ` Danny Kaehn
2024-06-05 23:12 ` [PATCH v11 2/4] HID: usbhid: Share USB device firmware node with child HID device Danny Kaehn
2024-06-05 23:43   ` Andy Shevchenko
2024-06-06  7:31     ` Benjamin Tissoires
2024-06-05 23:12 ` [PATCH v11 3/4] HID: cp2112: Fwnode Support Danny Kaehn
2024-06-05 23:39   ` Andy Shevchenko
2024-06-05 23:12 ` [PATCH v11 4/4] HID: cp2112: Configure I2C Bus Speed from Firmware Danny Kaehn
2024-06-05 23:42 ` [PATCH v11 0/4] Firmware Support for USB-HID Devices and CP2112 Andy Shevchenko
2024-06-06 15:54   ` Danny Kaehn
2024-06-06 19:47     ` Andy Shevchenko
2024-06-07 17:20       ` Danny Kaehn
2024-06-06  7:30 ` (subset) " Benjamin Tissoires
2025-07-29 14:53 ` Re " Willie Thai
2025-07-29 17:49   ` Danny Kaehn
2025-08-05 21:32     ` Andy Shevchenko
2025-08-06 11:07     ` Willie Thai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240606151859.GA3605325-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bartosz.golaszewski@linaro.org \
    --cc=bentiss@kernel.org \
    --cc=danny.kaehn@plexus.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=ethan.twardy@plexus.com \
    --cc=jikos@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-input@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.