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 - maxItems: 1 26 description: Main PHY Clock 27 28 - items: 29 - description: Main PHY clock 30 - description: HSIC 12MHz clock 31 - description: HSIC 480MHz clock 32 33 clock-names: 34 oneOf: 35 - const: phy 36 37 - items: 38 - const: phy 39 - const: hsic_12M 40 - const: hsic_480M 41 42 resets: 43 minItems: 1 44 items: 45 - description: Normal USB PHY reset 46 - description: HSIC Reset 47 48 reset-names: 49 minItems: 1 50 items: 51 - const: phy 52 - const: hsic 53 54 phy_type: 55 const: hsic 56 description: 57 When absent, the PHY type will be assumed to be normal USB. 58 59 phy-supply: 60 description: 61 Regulator that powers VBUS 62 63required: 64 - "#phy-cells" 65 - compatible 66 - reg 67 - clocks 68 - clock-names 69 - resets 70 - reset-names 71 72additionalProperties: false 73 74if: 75 properties: 76 phy_type: 77 const: hsic 78 79 required: 80 - phy_type 81 82then: 83 properties: 84 clocks: 85 maxItems: 3 86 87 clock-names: 88 maxItems: 3 89 90 resets: 91 maxItems: 2 92 93 reset-names: 94 maxItems: 2 95 96examples: 97 - | 98 #include <dt-bindings/clock/sun9i-a80-usb.h> 99 #include <dt-bindings/reset/sun9i-a80-usb.h> 100 101 usbphy1: phy@a00800 { 102 compatible = "allwinner,sun9i-a80-usb-phy"; 103 reg = <0x00a00800 0x4>; 104 clocks = <&usb_clocks CLK_USB0_PHY>; 105 clock-names = "phy"; 106 resets = <&usb_clocks RST_USB0_PHY>; 107 reset-names = "phy"; 108 phy-supply = <®_usb1_vbus>; 109 #phy-cells = <0>; 110 }; 111 112 - | 113 #include <dt-bindings/clock/sun9i-a80-usb.h> 114 #include <dt-bindings/reset/sun9i-a80-usb.h> 115 116 usbphy3: phy@a02800 { 117 compatible = "allwinner,sun9i-a80-usb-phy"; 118 reg = <0x00a02800 0x4>; 119 clocks = <&usb_clocks CLK_USB2_PHY>, 120 <&usb_clocks CLK_USB_HSIC>, 121 <&usb_clocks CLK_USB2_HSIC>; 122 clock-names = "phy", 123 "hsic_12M", 124 "hsic_480M"; 125 resets = <&usb_clocks RST_USB2_PHY>, 126 <&usb_clocks RST_USB2_HSIC>; 127 reset-names = "phy", 128 "hsic"; 129 phy_type = "hsic"; 130 phy-supply = <®_usb3_vbus>; 131 #phy-cells = <0>; 132 }; 133