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 - description: id extcon 101 102 phy-clkgate-delay-us: 103 description: 104 The delay time (us) between putting the PHY into low power mode and 105 gating the PHY clock. 106 107 non-zero-ttctrl-ttha: 108 description: 109 After setting this property, the value of register ttctrl.ttha 110 will be 0x7f; if not, the value will be 0x0, this is the default 111 value. It needs to be very carefully for setting this property, it 112 is recommended that consult with your IC engineer before setting 113 this value. On the most of chipidea platforms, the "usage_tt" flag 114 at RTL is 0, so this property only affects siTD. 115 116 If this property is not set, the max packet size is 1023 bytes, and 117 if the total of packet size for previous transactions are more than 118 256 bytes, it can't accept any transactions within this frame. The 119 use case is single transaction, but higher frame rate. 120 121 If this property is set, the max packet size is 188 bytes, it can 122 handle more transactions than above case, it can accept transactions 123 until it considers the left room size within frame is less than 188 124 bytes, software needs to make sure it does not send more than 90% 125 maximum_periodic_data_per_frame. The use case is multiple 126 transactions, but less frame rate. 127 type: boolean 128 129 mux-controls: 130 description: 131 The mux control for toggling host/device output of this controller. 132 It's expected that a mux state of 0 indicates device mode and a mux 133 state of 1 indicates host mode. 134 maxItems: 1 135 136 mux-control-names: 137 const: usb_switch 138 139 pinctrl-names: 140 description: 141 Names for optional pin modes in "default", "host", "device". 142 In case of HSIC-mode, "idle" and "active" pin modes are mandatory. 143 In this case, the "idle" state needs to pull down the data and 144 strobe pin and the "active" state needs to pull up the strobe pin. 145 oneOf: 146 - items: 147 - const: idle 148 - const: active 149 - items: 150 - const: default 151 - const: host 152 - const: device 153 - items: 154 - const: default 155 - enum: 156 - host 157 - device 158 - items: 159 - const: default 160 161 pinctrl-0: 162 maxItems: 1 163 164 pinctrl-1: 165 maxItems: 1 166 167 phys: 168 maxItems: 1 169 170 phy-names: 171 const: usb-phy 172 173 vbus-supply: 174 description: reference to the VBUS regulator. 175 176 usb-phy: 177 description: phandle for the PHY device. Use "phys" instead. 178 maxItems: 1 179 deprecated: true 180 181 port: 182 description: 183 Any connector to the data bus of this controller should be modelled 184 using the OF graph bindings specified, if the "usb-role-switch" 185 property is used. 186 $ref: /schemas/graph.yaml#/properties/port 187 188 reset-gpios: 189 maxItems: 1 190 191dependencies: 192 port: [ usb-role-switch ] 193 mux-controls: [ mux-control-names ] 194 195required: 196 - reg 197 - interrupts 198 199allOf: 200 - $ref: usb-hcd.yaml# 201 - $ref: usb-drd.yaml# 202 203additionalProperties: true 204