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#Required child nodes: 55 56patternProperties: 57 "^usb-phy@[0|1]$": 58 type: object 59 description: 60 Each port the controller provides must be represented as a sub-node. 61 62 properties: 63 reg: 64 description: phy port index. 65 maxItems: 1 66 67 phy-supply: 68 description: regulator providing 3V3 power supply to the PHY. 69 70 "#phy-cells": 71 enum: [ 0x0, 0x1 ] 72 73 allOf: 74 - if: 75 properties: 76 reg: 77 const: 0 78 then: 79 properties: 80 "#phy-cells": 81 const: 0 82 else: 83 properties: 84 "#phy-cells": 85 const: 1 86 description: 87 The value is used to select UTMI switch output. 88 0 for OTG controller and 1 for Host controller. 89 90 required: 91 - reg 92 - phy-supply 93 - "#phy-cells" 94 95 additionalProperties: false 96 97required: 98 - compatible 99 - reg 100 - clocks 101 - "#address-cells" 102 - "#size-cells" 103 - vdda1v1-supply 104 - vdda1v8-supply 105 - usb-phy@0 106 - usb-phy@1 107 108additionalProperties: false 109 110examples: 111 - | 112 #include <dt-bindings/clock/stm32mp1-clks.h> 113 #include <dt-bindings/reset/stm32mp1-resets.h> 114 usbphyc: usbphyc@5a006000 { 115 compatible = "st,stm32mp1-usbphyc"; 116 reg = <0x5a006000 0x1000>; 117 clocks = <&rcc USBPHY_K>; 118 resets = <&rcc USBPHY_R>; 119 vdda1v1-supply = <®11>; 120 vdda1v8-supply = <®18>; 121 #address-cells = <1>; 122 #size-cells = <0>; 123 124 usbphyc_port0: usb-phy@0 { 125 reg = <0>; 126 phy-supply = <&vdd_usb>; 127 #phy-cells = <0>; 128 }; 129 130 usbphyc_port1: usb-phy@1 { 131 reg = <1>; 132 phy-supply = <&vdd_usb>; 133 #phy-cells = <1>; 134 }; 135 }; 136... 137