1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/ti,phy-usb3.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: TI PIPE3 PHY Module 8 9maintainers: 10 - Roger Quadros <rogerq@ti.com> 11 12description: 13 The TI PIPE3 PHY is a high-speed SerDes (Serializer/Deserializer) 14 transceiver integrated in OMAP5, DRA7xx/AM57xx, and similar SoCs. 15 It supports multiple protocols (USB3, SATA, PCIe) using the PIPE3 16 interface standard, which defines a common physical layer for 17 high-speed serial interfaces. 18 19properties: 20 $nodename: 21 pattern: "^(pcie-phy|usb3-phy|phy)@[0-9a-f]+$" 22 23 compatible: 24 enum: 25 - ti,omap-usb3 26 - ti,phy-pipe3-pcie 27 - ti,phy-pipe3-sata 28 - ti,phy-usb3 29 30 reg: 31 minItems: 2 32 maxItems: 3 33 34 reg-names: 35 minItems: 2 36 items: 37 - const: phy_rx 38 - const: phy_tx 39 - const: pll_ctrl 40 41 "#phy-cells": 42 const: 0 43 44 clocks: 45 minItems: 2 46 maxItems: 7 47 48 clock-names: 49 minItems: 2 50 maxItems: 7 51 items: 52 enum: [wkupclk, sysclk, refclk, dpll_ref, 53 dpll_ref_m2, phy-div, div-clk] 54 55 syscon-phy-power: 56 $ref: /schemas/types.yaml#/definitions/phandle-array 57 maxItems: 1 58 items: 59 items: 60 - description: Phandle to the system control module 61 - description: Register offset controlling PHY power 62 63 syscon-pllreset: 64 $ref: /schemas/types.yaml#/definitions/phandle-array 65 maxItems: 1 66 items: 67 items: 68 - description: Phandle to the system control module 69 - description: Register offset of CTRL_CORE_SMA_SW_0 70 71 syscon-pcs: 72 $ref: /schemas/types.yaml#/definitions/phandle-array 73 maxItems: 1 74 items: 75 items: 76 - description: Phandle to the system control module 77 - description: Register offset for PCS delay programming 78 79 ctrl-module: 80 $ref: /schemas/types.yaml#/definitions/phandle 81 description: 82 Phandle of control module for PHY power on. 83 deprecated: true 84 85allOf: 86 - if: 87 properties: 88 compatible: 89 contains: 90 const: ti,phy-pipe3-sata 91 then: 92 properties: 93 syscon-pllreset: true 94 else: 95 properties: 96 syscon-pllreset: false 97 98required: 99 - reg 100 - compatible 101 - reg-names 102 - "#phy-cells" 103 - clocks 104 - clock-names 105 106unevaluatedProperties: false 107 108examples: 109 - | 110 /* TI PIPE3 USB3 PHY */ 111 usb3-phy@4a084400 { 112 compatible = "ti,phy-usb3"; 113 reg = <0x4a084400 0x80>, 114 <0x4a084800 0x64>, 115 <0x4a084c00 0x40>; 116 reg-names = "phy_rx", "phy_tx", "pll_ctrl"; 117 #phy-cells = <0>; 118 clocks = <&usb_phy_cm_clk32k>, 119 <&sys_clkin>, 120 <&usb_otg_ss_refclk960m>; 121 clock-names = "wkupclk", "sysclk", "refclk"; 122 ctrl-module = <&omap_control_usb>; 123 }; 124 125 - | 126 /* TI PIPE3 SATA PHY */ 127 phy@4a096000 { 128 compatible = "ti,phy-pipe3-sata"; 129 reg = <0x4a096000 0x80>, /* phy_rx */ 130 <0x4a096400 0x64>, /* phy_tx */ 131 <0x4a096800 0x40>; /* pll_ctrl */ 132 reg-names = "phy_rx", "phy_tx", "pll_ctrl"; 133 clocks = <&sys_clkin1>, <&sata_ref_clk>; 134 clock-names = "sysclk", "refclk"; 135 syscon-pllreset = <&scm_conf 0x3fc>; 136 #phy-cells = <0>; 137 }; 138... 139