1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: "http://devicetree.org/schemas/phy/phy-cadence-torrent.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Cadence Torrent SD0801 PHY binding
10 This binding describes the Cadence SD0801 PHY (also known as Torrent PHY)
11 hardware included with the Cadence MHDP DisplayPort controller. Torrent
12 PHY also supports multilink multiprotocol combinations including protocols
13 such as PCIe, USB, SGMII, QSGMII etc.
16 - Swapnil Jakhade <sjakhade@cadence.com>
17 - Yuti Amonkar <yamonkar@cadence.com>
34 PHY reference clock. Must contain an entry in clock-names.
43 - description: Offset of the Torrent PHY configuration registers.
44 - description: Offset of the DPTX PHY configuration registers.
57 - description: Torrent PHY reset.
58 - description: Torrent APB reset. This is optional.
64 - const: torrent_reset
71 Each group of PHY lanes with a single master lane should be represented as a sub-node.
75 The master lane number. This is the lowest numbered lane in the lane group.
83 Contains list of resets, one per lane, to get all the link lanes out of reset.
90 Specifies the type of PHY for which the group of PHY lanes is used.
91 Refer include/dt-bindings/phy/phy.h. Constants from the header should be used.
92 $ref: /schemas/types.yaml#/definitions/uint32
99 $ref: /schemas/types.yaml#/definitions/uint32
105 Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC,
106 EXTERNAL_SSC or INTERNAL_SSC.
107 Refer include/dt-bindings/phy/phy-cadence-torrent.h for the constants to be used.
108 $ref: /schemas/types.yaml#/definitions/uint32
114 Maximum DisplayPort link bit rate to use, in Mbps
115 $ref: /schemas/types.yaml#/definitions/uint32
116 enum: [2160, 2430, 2700, 3240, 4320, 5400, 8100]
126 additionalProperties: false
139 additionalProperties: false
143 #include <dt-bindings/phy/phy.h>
146 #address-cells = <2>;
149 torrent-phy@f0fb500000 {
150 compatible = "cdns,torrent-phy";
151 reg = <0xf0 0xfb500000 0x0 0x00100000>,
152 <0xf0 0xfb030a00 0x0 0x00000040>;
153 reg-names = "torrent_phy", "dptx_phy";
154 resets = <&phyrst 0>;
155 reset-names = "torrent_reset";
157 clock-names = "refclk";
158 #address-cells = <1>;
162 resets = <&phyrst 1>, <&phyrst 2>,
163 <&phyrst 3>, <&phyrst 4>;
165 cdns,phy-type = <PHY_TYPE_DP>;
166 cdns,num-lanes = <4>;
167 cdns,max-bit-rate = <8100>;
172 #include <dt-bindings/phy/phy.h>
173 #include <dt-bindings/phy/phy-cadence-torrent.h>
176 #address-cells = <2>;
179 torrent-phy@f0fb500000 {
180 compatible = "cdns,torrent-phy";
181 reg = <0xf0 0xfb500000 0x0 0x00100000>;
182 reg-names = "torrent_phy";
183 resets = <&phyrst 0>, <&phyrst 1>;
184 reset-names = "torrent_reset", "torrent_apb";
186 clock-names = "refclk";
187 #address-cells = <1>;
191 resets = <&phyrst 2>, <&phyrst 3>;
193 cdns,phy-type = <PHY_TYPE_PCIE>;
194 cdns,num-lanes = <2>;
195 cdns,ssc-mode = <TORRENT_SERDES_NO_SSC>;
200 resets = <&phyrst 4>;
202 cdns,phy-type = <PHY_TYPE_SGMII>;
203 cdns,num-lanes = <1>;
204 cdns,ssc-mode = <TORRENT_SERDES_NO_SSC>;