| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/phy/ti,phy-usb3.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: TI PIPE3 PHY Module | |
| maintainers: | |
| - Roger Quadros <rogerq@ti.com> | |
| description: | |
| The TI PIPE3 PHY is a high-speed SerDes (Serializer/Deserializer) | |
| transceiver integrated in OMAP5, DRA7xx/AM57xx, and similar SoCs. | |
| It supports multiple protocols (USB3, SATA, PCIe) using the PIPE3 | |
| interface standard, which defines a common physical layer for | |
| high-speed serial interfaces. | |
| properties: | |
| $nodename: | |
| pattern: "^(pcie-phy|usb3-phy|phy)@[0-9a-f]+$" | |
| compatible: | |
| enum: | |
| - ti,omap-usb3 | |
| - ti,phy-pipe3-pcie | |
| - ti,phy-pipe3-sata | |
| - ti,phy-usb3 | |
| reg: | |
| minItems: 2 | |
| maxItems: 3 | |
| reg-names: | |
| minItems: 2 | |
| items: | |
| - const: phy_rx | |
| - const: phy_tx | |
| - const: pll_ctrl | |
| "#phy-cells": | |
| const: 0 | |
| clocks: | |
| minItems: 2 | |
| maxItems: 7 | |
| clock-names: | |
| minItems: 2 | |
| maxItems: 7 | |
| items: | |
| enum: [wkupclk, sysclk, refclk, dpll_ref, | |
| dpll_ref_m2, phy-div, div-clk] | |
| syscon-phy-power: | |
| $ref: /schemas/types.yaml#/definitions/phandle-array | |
| maxItems: 1 | |
| items: | |
| items: | |
| - description: Phandle to the system control module | |
| - description: Register offset controlling PHY power | |
| syscon-pllreset: | |
| $ref: /schemas/types.yaml#/definitions/phandle-array | |
| maxItems: 1 | |
| items: | |
| items: | |
| - description: Phandle to the system control module | |
| - description: Register offset of CTRL_CORE_SMA_SW_0 | |
| syscon-pcs: | |
| $ref: /schemas/types.yaml#/definitions/phandle-array | |
| maxItems: 1 | |
| items: | |
| items: | |
| - description: Phandle to the system control module | |
| - description: Register offset for PCS delay programming | |
| ctrl-module: | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| description: | |
| Phandle of control module for PHY power on. | |
| deprecated: true | |
| allOf: | |
| - if: | |
| properties: | |
| compatible: | |
| contains: | |
| const: ti,phy-pipe3-sata | |
| then: | |
| properties: | |
| syscon-pllreset: true | |
| else: | |
| properties: | |
| syscon-pllreset: false | |
| required: | |
| - reg | |
| - compatible | |
| - reg-names | |
| - "#phy-cells" | |
| - clocks | |
| - clock-names | |
| unevaluatedProperties: false | |
| examples: | |
| - | | |
| /* TI PIPE3 USB3 PHY */ | |
| usb3-phy@4a084400 { | |
| compatible = "ti,phy-usb3"; | |
| reg = <0x4a084400 0x80>, | |
| <0x4a084800 0x64>, | |
| <0x4a084c00 0x40>; | |
| reg-names = "phy_rx", "phy_tx", "pll_ctrl"; | |
| #phy-cells = <0>; | |
| clocks = <&usb_phy_cm_clk32k>, | |
| <&sys_clkin>, | |
| <&usb_otg_ss_refclk960m>; | |
| clock-names = "wkupclk", "sysclk", "refclk"; | |
| ctrl-module = <&omap_control_usb>; | |
| }; | |
| - | | |
| /* TI PIPE3 SATA PHY */ | |
| phy@4a096000 { | |
| compatible = "ti,phy-pipe3-sata"; | |
| reg = <0x4a096000 0x80>, /* phy_rx */ | |
| <0x4a096400 0x64>, /* phy_tx */ | |
| <0x4a096800 0x40>; /* pll_ctrl */ | |
| reg-names = "phy_rx", "phy_tx", "pll_ctrl"; | |
| clocks = <&sys_clkin1>, <&sata_ref_clk>; | |
| clock-names = "sysclk", "refclk"; | |
| syscon-pllreset = <&scm_conf 0x3fc>; | |
| #phy-cells = <0>; | |
| }; | |
| ... |