| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| # Copyright 2023 Realtek Semiconductor Corporation |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/phy/realtek,usb3phy.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Realtek DHC SoCs USB 3.0 PHY |
| |
| maintainers: |
| - Stanley Chang <stanley_chang@realtek.com> |
| |
| description: | |
| Realtek USB 3.0 PHY support the digital home center (DHC) RTD series SoCs. |
| The USB 3.0 PHY driver is designed to support the XHCI controller. The SoCs |
| support multiple XHCI controllers. One PHY device node maps to one XHCI |
| controller. |
| |
| RTD1295/RTD1619 SoCs USB |
| The USB architecture includes three XHCI controllers. |
| Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some |
| controllers. |
| XHCI controller#0 -- usb2phy -- phy#0 |
| |- usb3phy -- phy#0 |
| XHCI controller#1 -- usb2phy -- phy#0 |
| XHCI controller#2 -- usb2phy -- phy#0 |
| |- usb3phy -- phy#0 |
| |
| RTD1319/RTD1619b SoCs USB |
| The USB architecture includes three XHCI controllers. |
| Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on controllers#2. |
| XHCI controller#0 -- usb2phy -- phy#0 |
| XHCI controller#1 -- usb2phy -- phy#0 |
| XHCI controller#2 -- usb2phy -- phy#0 |
| |- usb3phy -- phy#0 |
| |
| RTD1319d SoCs USB |
| The USB architecture includes three XHCI controllers. |
| Each xhci maps to one USB 2.0 PHY and map one USB 3.0 PHY on controllers#0. |
| XHCI controller#0 -- usb2phy -- phy#0 |
| |- usb3phy -- phy#0 |
| XHCI controller#1 -- usb2phy -- phy#0 |
| XHCI controller#2 -- usb2phy -- phy#0 |
| |
| properties: |
| compatible: |
| enum: |
| - realtek,rtd1295-usb3phy |
| - realtek,rtd1319-usb3phy |
| - realtek,rtd1319d-usb3phy |
| - realtek,rtd1619-usb3phy |
| - realtek,rtd1619b-usb3phy |
| |
| reg: |
| maxItems: 1 |
| |
| "#phy-cells": |
| const: 0 |
| |
| nvmem-cells: |
| maxItems: 1 |
| description: A phandle to the tx lfps swing trim data provided by |
| a nvmem device, if unspecified, default values shall be used. |
| |
| nvmem-cell-names: |
| items: |
| - const: usb_u3_tx_lfps_swing_trim |
| |
| realtek,amplitude-control-coarse-tuning: |
| description: |
| This adjusts the signal amplitude for normal operation and beacon LFPS. |
| This value is a parameter for coarse tuning. |
| For different boards, if the default value is inappropriate, this |
| property can be assigned to adjust. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 255 |
| minimum: 0 |
| maximum: 255 |
| |
| realtek,amplitude-control-fine-tuning: |
| description: |
| This adjusts the signal amplitude for normal operation and beacon LFPS. |
| This value is used for fine-tuning parameters. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 65535 |
| minimum: 0 |
| maximum: 65535 |
| |
| required: |
| - compatible |
| - reg |
| - "#phy-cells" |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| usb-phy@13e10 { |
| compatible = "realtek,rtd1319d-usb3phy"; |
| reg = <0x13e10 0x4>; |
| #phy-cells = <0>; |
| |
| nvmem-cells = <&otp_usb_u3_tx_lfps_swing_trim>; |
| nvmem-cell-names = "usb_u3_tx_lfps_swing_trim"; |
| |
| realtek,amplitude-control-coarse-tuning = <0x77>; |
| }; |