# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/phy/phy-rockchip-inno-usb2.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Rockchip USB2.0 phy with inno IP block maintainers: - Heiko Stuebner properties: compatible: enum: - rockchip,px30-usb2phy - rockchip,rk1808-usb2phy - rockchip,rk3128-usb2phy - rockchip,rk3228-usb2phy - rockchip,rk3308-usb2phy - rockchip,rk3328-usb2phy - rockchip,rk3366-usb2phy - rockchip,rk3368-usb2phy - rockchip,rk3399-usb2phy - rockchip,rk3568-usb2phy - rockchip,rk3588-usb2phy - rockchip,rv1106-usb2phy - rockchip,rv1108-usb2phy reg: maxItems: 1 clock-output-names: description: The usb 480m output clock name. "#clock-cells": const: 0 clocks: maxItems: 1 clock-names: const: phyclk assigned-clocks: description: Phandle of the usb 480m clock. assigned-clock-parents: description: Parent of the usb 480m clock. Select between usb-phy output 480m and xin24m. Refer to clk/clock-bindings.txt for generic clock consumer properties. extcon: description: Phandle to the extcon device providing the cable state for the otg phy. interrupts: description: Muxed interrupt for both ports maxItems: 1 wakeup-source: description: Enable USB irq wakeup when suspend. Only work when suspend wakeup-config is not work. rockchip,usbgrf: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to the syscon managing the 'usb general register files'. When set the driver will request its phandle as one companion-grf for some special SoCs (e.g rv1108). rockchip,usbctrl-grf: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to the syscon managing the 'usb ctrl general register files'. When set the driver will request its phandle as the usb controller grf for some SoCs (e.g rk3588). rockchip,u2phy-tuning: $ref: /schemas/types.yaml#/definitions/flag description: when set, tuning u2phy to improve usb2 SI. host-port: type: object additionalProperties: false properties: "#phy-cells": const: 0 interrupts: description: host linestate interrupt maxItems: 1 interrupt-names: const: linestate phy-supply: description: Phandle to a regulator that provides power to VBUS. See ./phy-bindings.txt for details. required: - "#phy-cells" otg-port: type: object additionalProperties: false properties: "#phy-cells": const: 0 interrupts: minItems: 1 maxItems: 3 interrupt-names: oneOf: - const: linestate - const: otg-mux - items: - const: otg-bvalid - const: otg-id - const: linestate phy-supply: description: Phandle to a regulator that provides power to VBUS. See ./phy-bindings.txt for details. vbus-supply: description: Phandle to a fixed-regulator that provides power to VBUS. rockchip,utmi-bypass-uart: $ref: /schemas/types.yaml#/definitions/flag description: when set, indicates that support usb to bypass uart feature. This property can only be added in debug stage. rockchip,utmi-avalid: $ref: /schemas/types.yaml#/definitions/flag description: when set, the usb2 phy will use avalid status bit to get vbus status. If not, it will use bvalid status bit to get vbus status by default. rockchip,vbus-always-on: $ref: /schemas/types.yaml#/definitions/flag description: when set, indicates that the otg vbus is always powered on. rockchip,low-power-mode: $ref: /schemas/types.yaml#/definitions/flag description: when set, the port will enter low power state when suspend. rockchip,typec-vbus-det: $ref: /schemas/types.yaml#/definitions/flag description: when set, check the vbus status from grf con for Type-C interface. It's used when the vbusdet pin is always pulled up. rockchip,gpio-vbus-det: $ref: /schemas/types.yaml#/definitions/flag description: when set, indicates that the otg port will use a gpio for USB vbus detection. rockchip,gpio-id-det: $ref: /schemas/types.yaml#/definitions/flag description: when set, indicates that the otg port will use a gpio for USB id detection. rockchip,sel-pipe-phystatus: $ref: /schemas/types.yaml#/definitions/flag description: when set, select the pipe phy status from grf for usb controller. It's used when the usb3 phy is disabled, and it needs to combine with the usbctrl-grf. rockchip,dis-u2-susphy: $ref: /schemas/types.yaml#/definitions/flag description: when set, disable the usb2 phy enter suspend automatically. required: - "#phy-cells" required: - compatible - reg - clock-output-names - "#clock-cells" - host-port - otg-port allOf: - if: properties: compatible: contains: const: rockchip,rk3568-usb2phy then: properties: host-port: properties: interrupts: false otg-port: properties: interrupts: false required: - interrupts else: properties: interrupts: false host-port: required: - interrupts - interrupt-names otg-port: required: - interrupts - interrupt-names additionalProperties: false examples: - | #include #include #include u2phy0: usb2phy@e450 { compatible = "rockchip,rk3399-usb2phy"; reg = <0xe450 0x10>; clocks = <&cru SCLK_USB2PHY0_REF>; clock-names = "phyclk"; clock-output-names = "clk_usbphy0_480m"; #clock-cells = <0>; u2phy0_host: host-port { interrupts = ; interrupt-names = "linestate"; #phy-cells = <0>; }; u2phy0_otg: otg-port { interrupts = , , ; interrupt-names = "otg-bvalid", "otg-id", "linestate"; #phy-cells = <0>; }; };