Re: [PATCHv2 1/2] dt-bindings: usb: typec: anx7688: start a binding document

Pavel Machek
2024-03-11T21:22:17Z

[-- Attachment #1: Type: text/plain, Size: 4387 bytes --]

Hi!

> Add binding for anx7688 usb type-c bridge. I don't have a datasheet,
> but I did best I could.
>
> Signed-off-by: Pavel Machek <pavel@ucw.cz>

Any more comments here? Automatic system told me I need to replace one
character...

Best regards,
Pavel

> ---
>
> v2: implement review feedback
>
> diff --git a/Documentation/devicetree/bindings/usb/analogix,anx7688.yaml b/Documentation/devicetree/bindings/usb/analogix,anx7688.yaml
> new file mode 100644
> index 000000000000..9e887eafb5fc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/analogix,anx7688.yaml
> @@ -0,0 +1,127 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/analogix,anx7688.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +# Pin names can be deduced from
> +# https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf
> +
> +title: Analogix ANX7688 Type-C controller
> +
> +maintainers:
> + - Pavel Machek <pavel@ucw.cz>
> +
> +properties:
> + compatible:
> + enum:
> + - analogix,anx7688
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + reset-gpios:
> + maxItems: 1
> + description: GPIO controlling RESET_N (B7) pin.
> +
> + enable-gpios:
> + maxItems: 1
> + description: GPIO controlling POWER_EN (D2) pin.
> +
> + cabledet-gpios:
> + maxItems: 1
> + description: GPIO controlling CABLE_DET (C3) pin.
> +
> + avdd10-supply:
> + description: 1.0V power supply going to AVDD10 (A4, ...) pins
> +
> + dvdd10-supply:
> + description: 1.0V power supply going to DVDD10 (D6, ...) pins
> +
> + avdd18-supply:
> + description: 1.8V power supply going to AVDD18 (E3, ...) pins
> +
> + dvdd18-supply:
> + description: 1.8V power supply going to DVDD18 (G4, ...) pins
> +
> + avdd33-supply:
> + description: 3.3V power supply going to AVDD33 (C4, ...) pins
> +
> + i2c-supply: true
> + vconn-supply: true
> + hdmi-vt-supply: true
> + vbus-supply: true
> + vbus-in-supply: true
> +
> + connector:
> + type: object
> + $ref: /schemas/connector/usb-connector.yaml
> +
> + description:
> + Properties for usb c connector.
> +
> + properties:
> + compatible:
> + const: usb-c-connector
> +
> +required:
> + - compatible
> + - reg
> + - connector
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + #include <dt-bindings/gpio/gpio.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + typec@2c {
> + compatible = "analogix,anx7688";
> + reg = <0x2c>;
> + interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
> + interrupt-parent = <&gpio0>;
> +
> + enable-gpios = <&pio 3 10 GPIO_ACTIVE_LOW>; /* PD10 */
> + reset-gpios = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
> + cabledet-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
> +
> + avdd10-supply = <&reg_anx1v0>;
> + dvdd10-supply = <&reg_anx1v0>;
> + avdd18-supply = <&reg_ldo_io1>;
> + dvdd18-supply = <&reg_ldo_io1>;
> + avdd33-supply = <&reg_dcdc1>;
> + i2c-supply = <&reg_ldo_io0>;
> + vconn-supply = <&reg_vconn5v0>;
> + hdmi_vt-supply = <&reg_dldo1>;
> +
> + vbus-supply = <&reg_usb_5v>;
> + vbus-in-supply = <&usb_power_supply>;
> +
> + typec_con: connector {
> + compatible = "usb-c-connector";
> + power-role = "dual";
> + data-role = "dual";
> + try-power-role = "source";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + typec_con_ep: endpoint {
> + remote-endpoint = <&usbotg_hs_ep>;
> + };
> + };
> + };
> + };
> + };
> + };
> +...