| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/usb/chipidea,usb2-common.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: USB2 ChipIdea USB controller Common Properties | |
| maintainers: | |
| - Xu Yang <xu.yang_2@nxp.com> | |
| properties: | |
| reg: | |
| minItems: 1 | |
| maxItems: 2 | |
| interrupts: | |
| minItems: 1 | |
| maxItems: 2 | |
| clocks: | |
| minItems: 1 | |
| maxItems: 3 | |
| clock-names: | |
| minItems: 1 | |
| maxItems: 3 | |
| dr_mode: true | |
| power-domains: | |
| maxItems: 1 | |
| resets: | |
| maxItems: 1 | |
| reset-names: | |
| maxItems: 1 | |
| "#reset-cells": | |
| const: 1 | |
| phy_type: true | |
| iommus: | |
| maxItems: 1 | |
| itc-setting: | |
| description: | |
| interrupt threshold control register control, the setting should be | |
| aligned with ITC bits at register USBCMD. | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| ahb-burst-config: | |
| description: | |
| it is vendor dependent, the required value should be aligned with | |
| AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is | |
| used to change AHB burst configuration, check the chipidea spec for | |
| meaning of each value. If this property is not existed, it will use | |
| the reset value. | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| minimum: 0x0 | |
| maximum: 0x7 | |
| tx-burst-size-dword: | |
| description: | |
| it is vendor dependent, the tx burst size in dword (4 bytes), This | |
| register represents the maximum length of a the burst in 32-bit | |
| words while moving data from system memory to the USB bus, the value | |
| of this property will only take effect if property "ahb-burst-config" | |
| is set to 0, if this property is missing the reset default of the | |
| hardware implementation will be used. | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| minimum: 0x0 | |
| maximum: 0x20 | |
| rx-burst-size-dword: | |
| description: | |
| it is vendor dependent, the rx burst size in dword (4 bytes), This | |
| register represents the maximum length of a the burst in 32-bit words | |
| while moving data from the USB bus to system memory, the value of | |
| this property will only take effect if property "ahb-burst-config" | |
| is set to 0, if this property is missing the reset default of the | |
| hardware implementation will be used. | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| minimum: 0x0 | |
| maximum: 0x20 | |
| extcon: | |
| description: | |
| Phandles to external connector devices. First phandle should point | |
| to external connector, which provide "USB" cable events, the second | |
| should point to external connector device, which provide "USB-HOST" | |
| cable events. If one of the external connector devices is not | |
| required, empty <0> phandle should be specified. | |
| $ref: /schemas/types.yaml#/definitions/phandle-array | |
| minItems: 1 | |
| items: | |
| - description: vbus extcon | |
| maxItems: 1 | |
| - description: id extcon | |
| maxItems: 1 | |
| phy-clkgate-delay-us: | |
| description: | |
| The delay time (us) between putting the PHY into low power mode and | |
| gating the PHY clock. | |
| non-zero-ttctrl-ttha: | |
| description: | |
| After setting this property, the value of register ttctrl.ttha | |
| will be 0x7f; if not, the value will be 0x0, this is the default | |
| value. It needs to be very carefully for setting this property, it | |
| is recommended that consult with your IC engineer before setting | |
| this value. On the most of chipidea platforms, the "usage_tt" flag | |
| at RTL is 0, so this property only affects siTD. | |
| If this property is not set, the max packet size is 1023 bytes, and | |
| if the total of packet size for previous transactions are more than | |
| 256 bytes, it can't accept any transactions within this frame. The | |
| use case is single transaction, but higher frame rate. | |
| If this property is set, the max packet size is 188 bytes, it can | |
| handle more transactions than above case, it can accept transactions | |
| until it considers the left room size within frame is less than 188 | |
| bytes, software needs to make sure it does not send more than 90% | |
| maximum_periodic_data_per_frame. The use case is multiple | |
| transactions, but less frame rate. | |
| type: boolean | |
| mux-controls: | |
| description: | |
| The mux control for toggling host/device output of this controller. | |
| It's expected that a mux state of 0 indicates device mode and a mux | |
| state of 1 indicates host mode. | |
| maxItems: 1 | |
| mux-control-names: | |
| const: usb_switch | |
| pinctrl-names: | |
| description: | |
| Names for optional pin modes in "default", "host", "device". | |
| In case of HSIC-mode, "idle" and "active" pin modes are mandatory. | |
| In this case, the "idle" state needs to pull down the data and | |
| strobe pin and the "active" state needs to pull up the strobe pin. | |
| oneOf: | |
| - items: | |
| - const: idle | |
| - const: active | |
| - items: | |
| - const: default | |
| - const: host | |
| - const: device | |
| - items: | |
| - const: default | |
| - enum: | |
| - host | |
| - device | |
| - items: | |
| - const: default | |
| pinctrl-0: | |
| maxItems: 1 | |
| pinctrl-1: | |
| maxItems: 1 | |
| phys: | |
| maxItems: 1 | |
| phy-names: | |
| const: usb-phy | |
| vbus-supply: | |
| description: reference to the VBUS regulator. | |
| usb-phy: | |
| description: phandle for the PHY device. Use "phys" instead. | |
| maxItems: 1 | |
| deprecated: true | |
| port: | |
| description: | |
| Any connector to the data bus of this controller should be modelled | |
| using the OF graph bindings specified, if the "usb-role-switch" | |
| property is used. | |
| $ref: /schemas/graph.yaml#/properties/port | |
| reset-gpios: | |
| maxItems: 1 | |
| dependencies: | |
| port: [ usb-role-switch ] | |
| mux-controls: [ mux-control-names ] | |
| required: | |
| - reg | |
| - interrupts | |
| allOf: | |
| - $ref: usb-hcd.yaml# | |
| - $ref: usb-drd.yaml# | |
| additionalProperties: true |