1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/chipidea,usb2-common.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: USB2 ChipIdea USB controller Common Properties 8 9maintainers: 10 - Xu Yang <xu.yang_2@nxp.com> 11 12properties: 13 reg: 14 minItems: 1 15 maxItems: 2 16 17 interrupts: 18 minItems: 1 19 maxItems: 2 20 21 clocks: 22 minItems: 1 23 maxItems: 3 24 25 clock-names: 26 minItems: 1 27 maxItems: 3 28 29 dr_mode: true 30 31 power-domains: 32 maxItems: 1 33 34 resets: 35 maxItems: 1 36 37 reset-names: 38 maxItems: 1 39 40 "#reset-cells": 41 const: 1 42 43 phy_type: true 44 45 iommus: 46 maxItems: 1 47 48 itc-setting: 49 description: 50 interrupt threshold control register control, the setting should be 51 aligned with ITC bits at register USBCMD. 52 $ref: /schemas/types.yaml#/definitions/uint32 53 54 ahb-burst-config: 55 description: 56 it is vendor dependent, the required value should be aligned with 57 AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is 58 used to change AHB burst configuration, check the chipidea spec for 59 meaning of each value. If this property is not existed, it will use 60 the reset value. 61 $ref: /schemas/types.yaml#/definitions/uint32 62 minimum: 0x0 63 maximum: 0x7 64 65 tx-burst-size-dword: 66 description: 67 it is vendor dependent, the tx burst size in dword (4 bytes), This 68 register represents the maximum length of a the burst in 32-bit 69 words while moving data from system memory to the USB bus, the value 70 of this property will only take effect if property "ahb-burst-config" 71 is set to 0, if this property is missing the reset default of the 72 hardware implementation will be used. 73 $ref: /schemas/types.yaml#/definitions/uint32 74 minimum: 0x0 75 maximum: 0x20 76 77 rx-burst-size-dword: 78 description: 79 it is vendor dependent, the rx burst size in dword (4 bytes), This 80 register represents the maximum length of a the burst in 32-bit words 81 while moving data from the USB bus to system memory, the value of 82 this property will only take effect if property "ahb-burst-config" 83 is set to 0, if this property is missing the reset default of the 84 hardware implementation will be used. 85 $ref: /schemas/types.yaml#/definitions/uint32 86 minimum: 0x0 87 maximum: 0x20 88 89 extcon: 90 description: 91 Phandles to external connector devices. First phandle should point 92 to external connector, which provide "USB" cable events, the second 93 should point to external connector device, which provide "USB-HOST" 94 cable events. If one of the external connector devices is not 95 required, empty <0> phandle should be specified. 96 $ref: /schemas/types.yaml#/definitions/phandle-array 97 minItems: 1 98 items: 99 - description: vbus extcon 100 maxItems: 1 101 - description: id extcon 102 maxItems: 1 103 104 phy-clkgate-delay-us: 105 description: 106 The delay time (us) between putting the PHY into low power mode and 107 gating the PHY clock. 108 109 non-zero-ttctrl-ttha: 110 description: 111 After setting this property, the value of register ttctrl.ttha 112 will be 0x7f; if not, the value will be 0x0, this is the default 113 value. It needs to be very carefully for setting this property, it 114 is recommended that consult with your IC engineer before setting 115 this value. On the most of chipidea platforms, the "usage_tt" flag 116 at RTL is 0, so this property only affects siTD. 117 118 If this property is not set, the max packet size is 1023 bytes, and 119 if the total of packet size for previous transactions are more than 120 256 bytes, it can't accept any transactions within this frame. The 121 use case is single transaction, but higher frame rate. 122 123 If this property is set, the max packet size is 188 bytes, it can 124 handle more transactions than above case, it can accept transactions 125 until it considers the left room size within frame is less than 188 126 bytes, software needs to make sure it does not send more than 90% 127 maximum_periodic_data_per_frame. The use case is multiple 128 transactions, but less frame rate. 129 type: boolean 130 131 mux-controls: 132 description: 133 The mux control for toggling host/device output of this controller. 134 It's expected that a mux state of 0 indicates device mode and a mux 135 state of 1 indicates host mode. 136 maxItems: 1 137 138 mux-control-names: 139 const: usb_switch 140 141 pinctrl-names: 142 description: 143 Names for optional pin modes in "default", "host", "device". 144 In case of HSIC-mode, "idle" and "active" pin modes are mandatory. 145 In this case, the "idle" state needs to pull down the data and 146 strobe pin and the "active" state needs to pull up the strobe pin. 147 oneOf: 148 - items: 149 - const: idle 150 - const: active 151 - items: 152 - const: default 153 - const: host 154 - const: device 155 - items: 156 - const: default 157 - enum: 158 - host 159 - device 160 - items: 161 - const: default 162 163 pinctrl-0: 164 maxItems: 1 165 166 pinctrl-1: 167 maxItems: 1 168 169 phys: 170 maxItems: 1 171 172 phy-names: 173 const: usb-phy 174 175 vbus-supply: 176 description: reference to the VBUS regulator. 177 178 usb-phy: 179 description: phandle for the PHY device. Use "phys" instead. 180 maxItems: 1 181 deprecated: true 182 183 port: 184 description: 185 Any connector to the data bus of this controller should be modelled 186 using the OF graph bindings specified, if the "usb-role-switch" 187 property is used. 188 $ref: /schemas/graph.yaml#/properties/port 189 190 reset-gpios: 191 maxItems: 1 192 193dependencies: 194 port: [ usb-role-switch ] 195 mux-controls: [ mux-control-names ] 196 197required: 198 - reg 199 - interrupts 200 201allOf: 202 - $ref: usb-hcd.yaml# 203 - $ref: usb-drd.yaml# 204 205additionalProperties: true 206