1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/allwinner,sun9i-a80-usb-phy.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Allwinner A80 USB PHY Device Tree Bindings 8 9maintainers: 10 - Chen-Yu Tsai <wens@csie.org> 11 - Maxime Ripard <mripard@kernel.org> 12 13properties: 14 "#phy-cells": 15 const: 0 16 17 compatible: 18 const: allwinner,sun9i-a80-usb-phy 19 20 reg: 21 maxItems: 1 22 23 clocks: 24 anyOf: 25 - description: Main PHY Clock 26 27 - items: 28 - description: Main PHY clock 29 - description: HSIC 12MHz clock 30 - description: HSIC 480MHz clock 31 32 clock-names: 33 oneOf: 34 - const: phy 35 36 - items: 37 - const: phy 38 - const: hsic_12M 39 - const: hsic_480M 40 41 resets: 42 anyOf: 43 - description: Normal USB PHY reset 44 45 - items: 46 - description: Normal USB PHY reset 47 - description: HSIC Reset 48 49 reset-names: 50 oneOf: 51 - const: phy 52 53 - items: 54 - const: phy 55 - const: hsic 56 57 phy_type: 58 const: hsic 59 description: 60 When absent, the PHY type will be assumed to be normal USB. 61 62 phy-supply: 63 description: 64 Regulator that powers VBUS 65 66required: 67 - "#phy-cells" 68 - compatible 69 - reg 70 - clocks 71 - clock-names 72 - resets 73 - reset-names 74 75additionalProperties: false 76 77if: 78 properties: 79 phy_type: 80 const: hsic 81 82 required: 83 - phy_type 84 85then: 86 properties: 87 clocks: 88 maxItems: 3 89 90 clock-names: 91 maxItems: 3 92 93 resets: 94 maxItems: 2 95 96 reset-names: 97 maxItems: 2 98 99examples: 100 - | 101 #include <dt-bindings/clock/sun9i-a80-usb.h> 102 #include <dt-bindings/reset/sun9i-a80-usb.h> 103 104 usbphy1: phy@a00800 { 105 compatible = "allwinner,sun9i-a80-usb-phy"; 106 reg = <0x00a00800 0x4>; 107 clocks = <&usb_clocks CLK_USB0_PHY>; 108 clock-names = "phy"; 109 resets = <&usb_clocks RST_USB0_PHY>; 110 reset-names = "phy"; 111 phy-supply = <®_usb1_vbus>; 112 #phy-cells = <0>; 113 }; 114 115 - | 116 #include <dt-bindings/clock/sun9i-a80-usb.h> 117 #include <dt-bindings/reset/sun9i-a80-usb.h> 118 119 usbphy3: phy@a02800 { 120 compatible = "allwinner,sun9i-a80-usb-phy"; 121 reg = <0x00a02800 0x4>; 122 clocks = <&usb_clocks CLK_USB2_PHY>, 123 <&usb_clocks CLK_USB_HSIC>, 124 <&usb_clocks CLK_USB2_HSIC>; 125 clock-names = "phy", 126 "hsic_12M", 127 "hsic_480M"; 128 resets = <&usb_clocks RST_USB2_PHY>, 129 <&usb_clocks RST_USB2_HSIC>; 130 reset-names = "phy", 131 "hsic"; 132 phy_type = "hsic"; 133 phy-supply = <®_usb3_vbus>; 134 #phy-cells = <0>; 135 }; 136