| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- # 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,usb2phy.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Realtek DHC SoCs USB 2.0 PHY
- maintainers:
- - Stanley Chang <stanley_chang@realtek.com>
- description: |
- Realtek USB 2.0 PHY support the digital home center (DHC) RTD series SoCs.
- The USB 2.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
- RTD1395 SoCs USB
- The USB architecture includes two XHCI controllers.
- The controller#0 has one USB 2.0 PHY. The controller#1 includes two USB 2.0
- PHY.
- XHCI controller#0 -- usb2phy -- phy#0
- XHCI controller#1 -- usb2phy -- phy#0
- |- phy#1
- 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
- RTD1312c/RTD1315e SoCs USB
- The USB architecture includes three XHCI controllers.
- Each XHCI maps to one USB 2.0 PHY.
- XHCI controller#0 -- usb2phy -- phy#0
- XHCI controller#1 -- usb2phy -- phy#0
- XHCI controller#2 -- usb2phy -- phy#0
- properties:
- compatible:
- enum:
- - realtek,rtd1295-usb2phy
- - realtek,rtd1312c-usb2phy
- - realtek,rtd1315e-usb2phy
- - realtek,rtd1319-usb2phy
- - realtek,rtd1319d-usb2phy
- - realtek,rtd1395-usb2phy
- - realtek,rtd1395-usb2phy-2port
- - realtek,rtd1619-usb2phy
- - realtek,rtd1619b-usb2phy
- reg:
- items:
- - description: PHY data registers
- - description: PHY control registers
- "#phy-cells":
- const: 0
- nvmem-cells:
- maxItems: 2
- description:
- Phandles to nvmem cell that contains the trimming data.
- If unspecified, default value is used.
- nvmem-cell-names:
- items:
- - const: usb-dc-cal
- - const: usb-dc-dis
- description:
- The following names, which correspond to each nvmem-cells.
- usb-dc-cal is the driving level for each phy specified via efuse.
- usb-dc-dis is the disconnection level for each phy specified via efuse.
- realtek,inverse-hstx-sync-clock:
- description:
- For one of the phys of RTD1619b SoC, the synchronous clock of the
- high-speed tx must be inverted.
- type: boolean
- realtek,driving-level:
- description:
- Control the magnitude of High speed Dp/Dm output swing (mV).
- For a different board or port, the original magnitude maybe not meet
- the specification. In this situation we can adjust the value to meet
- the specification.
- $ref: /schemas/types.yaml#/definitions/uint32
- default: 8
- minimum: 0
- maximum: 31
- realtek,driving-level-compensate:
- description:
- For RTD1315e SoC, the driving level can be adjusted by reading the
- efuse table. This property provides drive compensation.
- If the magnitude of High speed Dp/Dm output swing still not meet the
- specification, then we can set this value to meet the specification.
- $ref: /schemas/types.yaml#/definitions/int32
- default: 0
- minimum: -8
- maximum: 8
- realtek,disconnection-compensate:
- description:
- This adjusts the disconnection level compensation for the different
- boards with different disconnection level.
- $ref: /schemas/types.yaml#/definitions/int32
- default: 0
- minimum: -8
- maximum: 8
- required:
- - compatible
- - reg
- - "#phy-cells"
- allOf:
- - if:
- not:
- properties:
- compatible:
- contains:
- enum:
- - realtek,rtd1619b-usb2phy
- then:
- properties:
- realtek,inverse-hstx-sync-clock: false
- - if:
- not:
- properties:
- compatible:
- contains:
- enum:
- - realtek,rtd1315e-usb2phy
- then:
- properties:
- realtek,driving-level-compensate: false
- additionalProperties: false
- examples:
- - |
- usb-phy@13214 {
- compatible = "realtek,rtd1619b-usb2phy";
- reg = <0x13214 0x4>, <0x28280 0x4>;
- #phy-cells = <0>;
- nvmem-cells = <&otp_usb_port0_dc_cal>, <&otp_usb_port0_dc_dis>;
- nvmem-cell-names = "usb-dc-cal", "usb-dc-dis";
- realtek,inverse-hstx-sync-clock;
- realtek,driving-level = <0xa>;
- realtek,disconnection-compensate = <(-1)>;
- };
|