1978e9c3bSJohan Jonker# SPDX-License-Identifier: GPL-2.0 2978e9c3bSJohan Jonker%YAML 1.2 3978e9c3bSJohan Jonker--- 40f48b0edSJohan Jonker$id: http://devicetree.org/schemas/phy/rockchip,inno-usb2phy.yaml# 5978e9c3bSJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml# 6978e9c3bSJohan Jonker 7978e9c3bSJohan Jonkertitle: Rockchip USB2.0 phy with inno IP block 8978e9c3bSJohan Jonker 9978e9c3bSJohan Jonkermaintainers: 10978e9c3bSJohan Jonker - Heiko Stuebner <heiko@sntech.de> 11978e9c3bSJohan Jonker 12978e9c3bSJohan Jonkerproperties: 13978e9c3bSJohan Jonker compatible: 14978e9c3bSJohan Jonker enum: 15978e9c3bSJohan Jonker - rockchip,px30-usb2phy 16d78b5653SHeiko Stuebner - rockchip,rk3036-usb2phy 1711683cecSJohan Jonker - rockchip,rk3128-usb2phy 18978e9c3bSJohan Jonker - rockchip,rk3228-usb2phy 1974478ab5STobias Schramm - rockchip,rk3308-usb2phy 20978e9c3bSJohan Jonker - rockchip,rk3328-usb2phy 21978e9c3bSJohan Jonker - rockchip,rk3366-usb2phy 22978e9c3bSJohan Jonker - rockchip,rk3399-usb2phy 23*abf55cdfSKever Yang - rockchip,rk3562-usb2phy 248eff5b99SPeter Geis - rockchip,rk3568-usb2phy 250217f4aeSFrank Wang - rockchip,rk3576-usb2phy 26cb240921SSebastian Reichel - rockchip,rk3588-usb2phy 27978e9c3bSJohan Jonker - rockchip,rv1108-usb2phy 28978e9c3bSJohan Jonker 29978e9c3bSJohan Jonker reg: 30978e9c3bSJohan Jonker maxItems: 1 31978e9c3bSJohan Jonker 32978e9c3bSJohan Jonker clock-output-names: 33978e9c3bSJohan Jonker description: 34978e9c3bSJohan Jonker The usb 480m output clock name. 35978e9c3bSJohan Jonker 36978e9c3bSJohan Jonker "#clock-cells": 37978e9c3bSJohan Jonker const: 0 38978e9c3bSJohan Jonker 39978e9c3bSJohan Jonker clocks: 400217f4aeSFrank Wang minItems: 1 410217f4aeSFrank Wang maxItems: 3 42978e9c3bSJohan Jonker 43978e9c3bSJohan Jonker clock-names: 440217f4aeSFrank Wang minItems: 1 450217f4aeSFrank Wang items: 460217f4aeSFrank Wang - const: phyclk 470217f4aeSFrank Wang - const: aclk 480217f4aeSFrank Wang - const: aclk_slv 49978e9c3bSJohan Jonker 50978e9c3bSJohan Jonker assigned-clocks: 51978e9c3bSJohan Jonker description: 52978e9c3bSJohan Jonker Phandle of the usb 480m clock. 53978e9c3bSJohan Jonker 54978e9c3bSJohan Jonker assigned-clock-parents: 55978e9c3bSJohan Jonker description: 56978e9c3bSJohan Jonker Parent of the usb 480m clock. 57978e9c3bSJohan Jonker Select between usb-phy output 480m and xin24m. 58978e9c3bSJohan Jonker Refer to clk/clock-bindings.txt for generic clock consumer properties. 59978e9c3bSJohan Jonker 60978e9c3bSJohan Jonker extcon: 61978e9c3bSJohan Jonker description: 62978e9c3bSJohan Jonker Phandle to the extcon device providing the cable state for the otg phy. 63978e9c3bSJohan Jonker 648eff5b99SPeter Geis interrupts: 658eff5b99SPeter Geis description: Muxed interrupt for both ports 668eff5b99SPeter Geis maxItems: 1 678eff5b99SPeter Geis 68cb240921SSebastian Reichel resets: 69cb240921SSebastian Reichel maxItems: 2 70cb240921SSebastian Reichel 71cb240921SSebastian Reichel reset-names: 72cb240921SSebastian Reichel items: 73cb240921SSebastian Reichel - const: phy 74cb240921SSebastian Reichel - const: apb 75cb240921SSebastian Reichel 76978e9c3bSJohan Jonker rockchip,usbgrf: 77978e9c3bSJohan Jonker $ref: /schemas/types.yaml#/definitions/phandle 78978e9c3bSJohan Jonker description: 79978e9c3bSJohan Jonker Phandle to the syscon managing the 'usb general register files'. 80978e9c3bSJohan Jonker When set the driver will request its phandle as one companion-grf 81978e9c3bSJohan Jonker for some special SoCs (e.g rv1108). 82978e9c3bSJohan Jonker 83978e9c3bSJohan Jonker host-port: 84978e9c3bSJohan Jonker type: object 85978e9c3bSJohan Jonker additionalProperties: false 86978e9c3bSJohan Jonker 87978e9c3bSJohan Jonker properties: 88978e9c3bSJohan Jonker "#phy-cells": 89978e9c3bSJohan Jonker const: 0 90978e9c3bSJohan Jonker 91978e9c3bSJohan Jonker interrupts: 92978e9c3bSJohan Jonker description: host linestate interrupt 938eff5b99SPeter Geis maxItems: 1 94978e9c3bSJohan Jonker 95978e9c3bSJohan Jonker interrupt-names: 96978e9c3bSJohan Jonker const: linestate 97978e9c3bSJohan Jonker 98978e9c3bSJohan Jonker phy-supply: 99978e9c3bSJohan Jonker description: 100978e9c3bSJohan Jonker Phandle to a regulator that provides power to VBUS. 101978e9c3bSJohan Jonker See ./phy-bindings.txt for details. 102978e9c3bSJohan Jonker 103978e9c3bSJohan Jonker required: 104978e9c3bSJohan Jonker - "#phy-cells" 105978e9c3bSJohan Jonker 106978e9c3bSJohan Jonker otg-port: 107978e9c3bSJohan Jonker type: object 108978e9c3bSJohan Jonker additionalProperties: false 109978e9c3bSJohan Jonker 110978e9c3bSJohan Jonker properties: 111978e9c3bSJohan Jonker "#phy-cells": 112978e9c3bSJohan Jonker const: 0 113978e9c3bSJohan Jonker 114978e9c3bSJohan Jonker interrupts: 115978e9c3bSJohan Jonker minItems: 1 116978e9c3bSJohan Jonker maxItems: 3 117978e9c3bSJohan Jonker 118978e9c3bSJohan Jonker interrupt-names: 119978e9c3bSJohan Jonker oneOf: 120978e9c3bSJohan Jonker - const: linestate 121978e9c3bSJohan Jonker - const: otg-mux 122978e9c3bSJohan Jonker - items: 123978e9c3bSJohan Jonker - const: otg-bvalid 124978e9c3bSJohan Jonker - const: otg-id 125978e9c3bSJohan Jonker - const: linestate 126978e9c3bSJohan Jonker 127978e9c3bSJohan Jonker phy-supply: 128978e9c3bSJohan Jonker description: 129978e9c3bSJohan Jonker Phandle to a regulator that provides power to VBUS. 130978e9c3bSJohan Jonker See ./phy-bindings.txt for details. 131978e9c3bSJohan Jonker 132978e9c3bSJohan Jonker required: 133978e9c3bSJohan Jonker - "#phy-cells" 134978e9c3bSJohan Jonker 135978e9c3bSJohan Jonkerrequired: 136978e9c3bSJohan Jonker - compatible 137978e9c3bSJohan Jonker - reg 138978e9c3bSJohan Jonker - clock-output-names 139978e9c3bSJohan Jonker - "#clock-cells" 140cb240921SSebastian Reichel 141cb240921SSebastian ReichelanyOf: 142cb240921SSebastian Reichel - required: 143978e9c3bSJohan Jonker - otg-port 144cb240921SSebastian Reichel - required: 145cb240921SSebastian Reichel - host-port 146978e9c3bSJohan Jonker 1478eff5b99SPeter GeisallOf: 1488eff5b99SPeter Geis - if: 1498eff5b99SPeter Geis properties: 1508eff5b99SPeter Geis compatible: 1518eff5b99SPeter Geis contains: 152cb240921SSebastian Reichel enum: 153cb240921SSebastian Reichel - rockchip,rk3568-usb2phy 154cb240921SSebastian Reichel - rockchip,rk3588-usb2phy 1558eff5b99SPeter Geis 1568eff5b99SPeter Geis then: 1578eff5b99SPeter Geis properties: 1588eff5b99SPeter Geis host-port: 1598eff5b99SPeter Geis properties: 1608eff5b99SPeter Geis interrupts: false 1618eff5b99SPeter Geis 1628eff5b99SPeter Geis otg-port: 1638eff5b99SPeter Geis properties: 1648eff5b99SPeter Geis interrupts: false 1658eff5b99SPeter Geis 1668eff5b99SPeter Geis required: 1678eff5b99SPeter Geis - interrupts 1688eff5b99SPeter Geis 1698eff5b99SPeter Geis else: 1708eff5b99SPeter Geis properties: 1718eff5b99SPeter Geis interrupts: false 1728eff5b99SPeter Geis 1738eff5b99SPeter Geis host-port: 1748eff5b99SPeter Geis required: 1758eff5b99SPeter Geis - interrupts 1768eff5b99SPeter Geis - interrupt-names 1778eff5b99SPeter Geis 1788eff5b99SPeter Geis otg-port: 1798eff5b99SPeter Geis required: 1808eff5b99SPeter Geis - interrupts 1818eff5b99SPeter Geis - interrupt-names 1828eff5b99SPeter Geis 1830217f4aeSFrank Wang - if: 1840217f4aeSFrank Wang properties: 1850217f4aeSFrank Wang compatible: 1860217f4aeSFrank Wang contains: 1870217f4aeSFrank Wang enum: 1880217f4aeSFrank Wang - rockchip,px30-usb2phy 189d78b5653SHeiko Stuebner - rockchip,rk3036-usb2phy 1900217f4aeSFrank Wang - rockchip,rk3128-usb2phy 1910217f4aeSFrank Wang - rockchip,rk3228-usb2phy 1920217f4aeSFrank Wang - rockchip,rk3308-usb2phy 1930217f4aeSFrank Wang - rockchip,rk3328-usb2phy 1940217f4aeSFrank Wang - rockchip,rk3366-usb2phy 1950217f4aeSFrank Wang - rockchip,rk3399-usb2phy 196*abf55cdfSKever Yang - rockchip,rk3562-usb2phy 1970217f4aeSFrank Wang - rockchip,rk3568-usb2phy 1980217f4aeSFrank Wang - rockchip,rk3588-usb2phy 1990217f4aeSFrank Wang - rockchip,rv1108-usb2phy 2000217f4aeSFrank Wang then: 2010217f4aeSFrank Wang properties: 2020217f4aeSFrank Wang clocks: 2030217f4aeSFrank Wang maxItems: 1 2040217f4aeSFrank Wang clock-names: 2050217f4aeSFrank Wang maxItems: 1 2060217f4aeSFrank Wang 2070217f4aeSFrank Wang - if: 2080217f4aeSFrank Wang properties: 2090217f4aeSFrank Wang compatible: 2100217f4aeSFrank Wang contains: 2110217f4aeSFrank Wang enum: 2120217f4aeSFrank Wang - rockchip,rk3576-usb2phy 2130217f4aeSFrank Wang then: 2140217f4aeSFrank Wang properties: 2150217f4aeSFrank Wang clocks: 2160217f4aeSFrank Wang minItems: 3 2170217f4aeSFrank Wang clock-names: 2180217f4aeSFrank Wang minItems: 3 2190217f4aeSFrank Wang 220978e9c3bSJohan JonkeradditionalProperties: false 221978e9c3bSJohan Jonker 222978e9c3bSJohan Jonkerexamples: 223978e9c3bSJohan Jonker - | 224978e9c3bSJohan Jonker #include <dt-bindings/clock/rk3399-cru.h> 225978e9c3bSJohan Jonker #include <dt-bindings/interrupt-controller/arm-gic.h> 226978e9c3bSJohan Jonker #include <dt-bindings/interrupt-controller/irq.h> 227e71ccdffSJohan Jonker u2phy0: usb2phy@e450 { 228978e9c3bSJohan Jonker compatible = "rockchip,rk3399-usb2phy"; 229978e9c3bSJohan Jonker reg = <0xe450 0x10>; 230978e9c3bSJohan Jonker clocks = <&cru SCLK_USB2PHY0_REF>; 231978e9c3bSJohan Jonker clock-names = "phyclk"; 232978e9c3bSJohan Jonker clock-output-names = "clk_usbphy0_480m"; 233978e9c3bSJohan Jonker #clock-cells = <0>; 234978e9c3bSJohan Jonker 235978e9c3bSJohan Jonker u2phy0_host: host-port { 236978e9c3bSJohan Jonker interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>; 237978e9c3bSJohan Jonker interrupt-names = "linestate"; 238e71ccdffSJohan Jonker #phy-cells = <0>; 239978e9c3bSJohan Jonker }; 240978e9c3bSJohan Jonker 241978e9c3bSJohan Jonker u2phy0_otg: otg-port { 242978e9c3bSJohan Jonker interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>, 243978e9c3bSJohan Jonker <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>, 244978e9c3bSJohan Jonker <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 245978e9c3bSJohan Jonker interrupt-names = "otg-bvalid", "otg-id", "linestate"; 246e71ccdffSJohan Jonker #phy-cells = <0>; 247978e9c3bSJohan Jonker }; 248978e9c3bSJohan Jonker }; 249