1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/phy-stm32-usbphyc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: STMicroelectronics STM32 USB HS PHY controller binding 8 9description: 10 11 The STM32 USBPHYC block contains a dual port High Speed UTMI+ PHY and a UTMI 12 switch. It controls PHY configuration and status, and the UTMI+ switch that 13 selects either OTG or HOST controller for the second PHY port. It also sets 14 PLL configuration. 15 16 USBPHYC 17 |_ PLL 18 | 19 |_ PHY port#1 _________________ HOST controller 20 | __ | 21 | / 1|________________| 22 |_ PHY port#2 ----| |________________ 23 | \_0| | 24 |_ UTMI switch_______| OTG controller 25 26maintainers: 27 - Amelie Delaunay <amelie.delaunay@st.com> 28 29properties: 30 compatible: 31 const: st,stm32mp1-usbphyc 32 33 reg: 34 maxItems: 1 35 36 clocks: 37 maxItems: 1 38 39 resets: 40 maxItems: 1 41 42 "#address-cells": 43 const: 1 44 45 "#size-cells": 46 const: 0 47 48 vdda1v1-supply: 49 description: regulator providing 1V1 power supply to the PLL block 50 51 vdda1v8-supply: 52 description: regulator providing 1V8 power supply to the PLL block 53 54 '#clock-cells': 55 description: number of clock cells for ck_usbo_48m consumer 56 const: 0 57 58#Required child nodes: 59 60patternProperties: 61 "^usb-phy@[0|1]$": 62 type: object 63 description: 64 Each port the controller provides must be represented as a sub-node. 65 66 properties: 67 reg: 68 description: phy port index. 69 maxItems: 1 70 71 phy-supply: 72 description: regulator providing 3V3 power supply to the PHY. 73 74 "#phy-cells": 75 enum: [ 0x0, 0x1 ] 76 77 allOf: 78 - if: 79 properties: 80 reg: 81 const: 0 82 then: 83 properties: 84 "#phy-cells": 85 const: 0 86 else: 87 properties: 88 "#phy-cells": 89 const: 1 90 description: 91 The value is used to select UTMI switch output. 92 0 for OTG controller and 1 for Host controller. 93 94 required: 95 - reg 96 - phy-supply 97 - "#phy-cells" 98 99 additionalProperties: false 100 101required: 102 - compatible 103 - reg 104 - clocks 105 - "#address-cells" 106 - "#size-cells" 107 - vdda1v1-supply 108 - vdda1v8-supply 109 - usb-phy@0 110 - usb-phy@1 111 112additionalProperties: false 113 114examples: 115 - | 116 #include <dt-bindings/clock/stm32mp1-clks.h> 117 #include <dt-bindings/reset/stm32mp1-resets.h> 118 usbphyc: usbphyc@5a006000 { 119 compatible = "st,stm32mp1-usbphyc"; 120 reg = <0x5a006000 0x1000>; 121 clocks = <&rcc USBPHY_K>; 122 resets = <&rcc USBPHY_R>; 123 vdda1v1-supply = <®11>; 124 vdda1v8-supply = <®18>; 125 #address-cells = <1>; 126 #size-cells = <0>; 127 #clock-cells = <0>; 128 129 usbphyc_port0: usb-phy@0 { 130 reg = <0>; 131 phy-supply = <&vdd_usb>; 132 #phy-cells = <0>; 133 }; 134 135 usbphyc_port1: usb-phy@1 { 136 reg = <1>; 137 phy-supply = <&vdd_usb>; 138 #phy-cells = <1>; 139 }; 140 }; 141... 142