15ffc259dSYuti Amonkar# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 25ffc259dSYuti Amonkar%YAML 1.2 35ffc259dSYuti Amonkar--- 4e43462c1SRob Herring$id: http://devicetree.org/schemas/phy/phy-cadence-torrent.yaml# 5e43462c1SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 65ffc259dSYuti Amonkar 784e85359SKrzysztof Kozlowskititle: Cadence Torrent SD0801 PHY 85ffc259dSYuti Amonkar 95ffc259dSYuti Amonkardescription: 105ffc259dSYuti Amonkar This binding describes the Cadence SD0801 PHY (also known as Torrent PHY) 11074e9915SSwapnil Jakhade hardware included with the Cadence MHDP DisplayPort controller. Torrent 12074e9915SSwapnil Jakhade PHY also supports multilink multiprotocol combinations including protocols 13074e9915SSwapnil Jakhade such as PCIe, USB, SGMII, QSGMII etc. 145ffc259dSYuti Amonkar 155ffc259dSYuti Amonkarmaintainers: 165ffc259dSYuti Amonkar - Swapnil Jakhade <sjakhade@cadence.com> 175ffc259dSYuti Amonkar - Yuti Amonkar <yamonkar@cadence.com> 185ffc259dSYuti Amonkar 195ffc259dSYuti Amonkarproperties: 205ffc259dSYuti Amonkar compatible: 215ffc259dSYuti Amonkar enum: 225ffc259dSYuti Amonkar - cdns,torrent-phy 23*dc44dac3SSwapnil Jakhade - ti,j7200-serdes-10g 245ffc259dSYuti Amonkar - ti,j721e-serdes-10g 255ffc259dSYuti Amonkar 265ffc259dSYuti Amonkar '#address-cells': 275ffc259dSYuti Amonkar const: 1 285ffc259dSYuti Amonkar 295ffc259dSYuti Amonkar '#size-cells': 305ffc259dSYuti Amonkar const: 0 315ffc259dSYuti Amonkar 32eaabb559SKishon Vijay Abraham I '#clock-cells': 33eaabb559SKishon Vijay Abraham I const: 1 34eaabb559SKishon Vijay Abraham I 355ffc259dSYuti Amonkar clocks: 36eaabb559SKishon Vijay Abraham I minItems: 1 37eaabb559SKishon Vijay Abraham I maxItems: 2 385ffc259dSYuti Amonkar description: 39088de129SSwapnil Jakhade PHY input reference clocks - refclk (for PLL0) & pll1_refclk (for PLL1). 40088de129SSwapnil Jakhade pll1_refclk is optional and used for multi-protocol configurations requiring 41088de129SSwapnil Jakhade separate reference clock for each protocol. 42088de129SSwapnil Jakhade Same refclk is used for both PLL0 and PLL1 if no separate pll1_refclk is used. 43088de129SSwapnil Jakhade Optional parent clock (phy_en_refclk) to enable a reference clock output feature 44088de129SSwapnil Jakhade on some platforms to output either derived or received reference clock. 455ffc259dSYuti Amonkar 465ffc259dSYuti Amonkar clock-names: 47eaabb559SKishon Vijay Abraham I minItems: 1 48eaabb559SKishon Vijay Abraham I items: 49eaabb559SKishon Vijay Abraham I - const: refclk 50088de129SSwapnil Jakhade - enum: [ pll1_refclk, phy_en_refclk ] 51eaabb559SKishon Vijay Abraham I 525ffc259dSYuti Amonkar reg: 535ffc259dSYuti Amonkar minItems: 1 545ffc259dSYuti Amonkar items: 555ffc259dSYuti Amonkar - description: Offset of the Torrent PHY configuration registers. 565ffc259dSYuti Amonkar - description: Offset of the DPTX PHY configuration registers. 575ffc259dSYuti Amonkar 585ffc259dSYuti Amonkar reg-names: 595ffc259dSYuti Amonkar minItems: 1 605ffc259dSYuti Amonkar items: 615ffc259dSYuti Amonkar - const: torrent_phy 625ffc259dSYuti Amonkar - const: dptx_phy 635ffc259dSYuti Amonkar 645ffc259dSYuti Amonkar resets: 65074e9915SSwapnil Jakhade minItems: 1 66074e9915SSwapnil Jakhade items: 67074e9915SSwapnil Jakhade - description: Torrent PHY reset. 68074e9915SSwapnil Jakhade - description: Torrent APB reset. This is optional. 695ffc259dSYuti Amonkar 704feac940STomi Valkeinen reset-names: 714feac940STomi Valkeinen minItems: 1 724feac940STomi Valkeinen items: 734feac940STomi Valkeinen - const: torrent_reset 744feac940STomi Valkeinen - const: torrent_apb 754feac940STomi Valkeinen 765ffc259dSYuti AmonkarpatternProperties: 77074e9915SSwapnil Jakhade '^phy@[0-3]$': 785ffc259dSYuti Amonkar type: object 795ffc259dSYuti Amonkar description: 805ffc259dSYuti Amonkar Each group of PHY lanes with a single master lane should be represented as a sub-node. 815ffc259dSYuti Amonkar properties: 825ffc259dSYuti Amonkar reg: 835ffc259dSYuti Amonkar description: 845ffc259dSYuti Amonkar The master lane number. This is the lowest numbered lane in the lane group. 85074e9915SSwapnil Jakhade minimum: 0 86074e9915SSwapnil Jakhade maximum: 3 875ffc259dSYuti Amonkar 885ffc259dSYuti Amonkar resets: 895ffc259dSYuti Amonkar minItems: 1 905ffc259dSYuti Amonkar maxItems: 4 915ffc259dSYuti Amonkar description: 925ffc259dSYuti Amonkar Contains list of resets, one per lane, to get all the link lanes out of reset. 935ffc259dSYuti Amonkar 945ffc259dSYuti Amonkar "#phy-cells": 955ffc259dSYuti Amonkar const: 0 965ffc259dSYuti Amonkar 975ffc259dSYuti Amonkar cdns,phy-type: 985ffc259dSYuti Amonkar description: 995ffc259dSYuti Amonkar Specifies the type of PHY for which the group of PHY lanes is used. 1005ffc259dSYuti Amonkar Refer include/dt-bindings/phy/phy.h. Constants from the header should be used. 1013d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 102074e9915SSwapnil Jakhade minimum: 1 103074e9915SSwapnil Jakhade maximum: 9 1045ffc259dSYuti Amonkar 1055ffc259dSYuti Amonkar cdns,num-lanes: 1065ffc259dSYuti Amonkar description: 107074e9915SSwapnil Jakhade Number of lanes. 1083d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 109074e9915SSwapnil Jakhade enum: [1, 2, 3, 4] 1105ffc259dSYuti Amonkar default: 4 1115ffc259dSYuti Amonkar 112962fad30SSwapnil Jakhade cdns,ssc-mode: 113962fad30SSwapnil Jakhade description: 114962fad30SSwapnil Jakhade Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC, 115962fad30SSwapnil Jakhade EXTERNAL_SSC or INTERNAL_SSC. 11653112213SWan Jiabing Refer include/dt-bindings/phy/phy-cadence.h for the constants to be used. 117962fad30SSwapnil Jakhade $ref: /schemas/types.yaml#/definitions/uint32 118962fad30SSwapnil Jakhade enum: [0, 1, 2] 119962fad30SSwapnil Jakhade default: 0 120962fad30SSwapnil Jakhade 1215ffc259dSYuti Amonkar cdns,max-bit-rate: 1225ffc259dSYuti Amonkar description: 1235ffc259dSYuti Amonkar Maximum DisplayPort link bit rate to use, in Mbps 1243d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 1253d21a460SRob Herring enum: [2160, 2430, 2700, 3240, 4320, 5400, 8100] 1265ffc259dSYuti Amonkar default: 8100 1275ffc259dSYuti Amonkar 1285ffc259dSYuti Amonkar required: 1295ffc259dSYuti Amonkar - reg 1305ffc259dSYuti Amonkar - resets 1315ffc259dSYuti Amonkar - "#phy-cells" 1325ffc259dSYuti Amonkar - cdns,phy-type 133074e9915SSwapnil Jakhade - cdns,num-lanes 1345ffc259dSYuti Amonkar 1355ffc259dSYuti Amonkar additionalProperties: false 1365ffc259dSYuti Amonkar 1375ffc259dSYuti Amonkarrequired: 1385ffc259dSYuti Amonkar - compatible 1395ffc259dSYuti Amonkar - "#address-cells" 1405ffc259dSYuti Amonkar - "#size-cells" 1415ffc259dSYuti Amonkar - clocks 1425ffc259dSYuti Amonkar - clock-names 1435ffc259dSYuti Amonkar - reg 1445ffc259dSYuti Amonkar - reg-names 1455ffc259dSYuti Amonkar - resets 1464feac940STomi Valkeinen - reset-names 1475ffc259dSYuti Amonkar 1485ffc259dSYuti AmonkaradditionalProperties: false 1495ffc259dSYuti Amonkar 1505ffc259dSYuti Amonkarexamples: 1515ffc259dSYuti Amonkar - | 1525ffc259dSYuti Amonkar #include <dt-bindings/phy/phy.h> 153fba56184SRob Herring 154fba56184SRob Herring bus { 155fba56184SRob Herring #address-cells = <2>; 156fba56184SRob Herring #size-cells = <2>; 157fba56184SRob Herring 158fba56184SRob Herring torrent-phy@f0fb500000 { 1595ffc259dSYuti Amonkar compatible = "cdns,torrent-phy"; 1605ffc259dSYuti Amonkar reg = <0xf0 0xfb500000 0x0 0x00100000>, 1615ffc259dSYuti Amonkar <0xf0 0xfb030a00 0x0 0x00000040>; 1625ffc259dSYuti Amonkar reg-names = "torrent_phy", "dptx_phy"; 1635ffc259dSYuti Amonkar resets = <&phyrst 0>; 1644feac940STomi Valkeinen reset-names = "torrent_reset"; 1655ffc259dSYuti Amonkar clocks = <&ref_clk>; 1665ffc259dSYuti Amonkar clock-names = "refclk"; 1675ffc259dSYuti Amonkar #address-cells = <1>; 1685ffc259dSYuti Amonkar #size-cells = <0>; 169fba56184SRob Herring phy@0 { 1705ffc259dSYuti Amonkar reg = <0>; 1715ffc259dSYuti Amonkar resets = <&phyrst 1>, <&phyrst 2>, 1725ffc259dSYuti Amonkar <&phyrst 3>, <&phyrst 4>; 1735ffc259dSYuti Amonkar #phy-cells = <0>; 1745ffc259dSYuti Amonkar cdns,phy-type = <PHY_TYPE_DP>; 1755ffc259dSYuti Amonkar cdns,num-lanes = <4>; 1765ffc259dSYuti Amonkar cdns,max-bit-rate = <8100>; 1775ffc259dSYuti Amonkar }; 1785ffc259dSYuti Amonkar }; 179fba56184SRob Herring }; 180074e9915SSwapnil Jakhade - | 181074e9915SSwapnil Jakhade #include <dt-bindings/phy/phy.h> 182fd7abc3cSKishon Vijay Abraham I #include <dt-bindings/phy/phy-cadence.h> 183074e9915SSwapnil Jakhade 184074e9915SSwapnil Jakhade bus { 185074e9915SSwapnil Jakhade #address-cells = <2>; 186074e9915SSwapnil Jakhade #size-cells = <2>; 187074e9915SSwapnil Jakhade 188074e9915SSwapnil Jakhade torrent-phy@f0fb500000 { 189074e9915SSwapnil Jakhade compatible = "cdns,torrent-phy"; 190074e9915SSwapnil Jakhade reg = <0xf0 0xfb500000 0x0 0x00100000>; 191074e9915SSwapnil Jakhade reg-names = "torrent_phy"; 192074e9915SSwapnil Jakhade resets = <&phyrst 0>, <&phyrst 1>; 1934feac940STomi Valkeinen reset-names = "torrent_reset", "torrent_apb"; 194074e9915SSwapnil Jakhade clocks = <&ref_clk>; 195074e9915SSwapnil Jakhade clock-names = "refclk"; 196074e9915SSwapnil Jakhade #address-cells = <1>; 197074e9915SSwapnil Jakhade #size-cells = <0>; 198074e9915SSwapnil Jakhade phy@0 { 199074e9915SSwapnil Jakhade reg = <0>; 200074e9915SSwapnil Jakhade resets = <&phyrst 2>, <&phyrst 3>; 201074e9915SSwapnil Jakhade #phy-cells = <0>; 202074e9915SSwapnil Jakhade cdns,phy-type = <PHY_TYPE_PCIE>; 203074e9915SSwapnil Jakhade cdns,num-lanes = <2>; 204253f06c7SSwapnil Jakhade cdns,ssc-mode = <CDNS_SERDES_NO_SSC>; 205074e9915SSwapnil Jakhade }; 206074e9915SSwapnil Jakhade 207074e9915SSwapnil Jakhade phy@2 { 208074e9915SSwapnil Jakhade reg = <2>; 209074e9915SSwapnil Jakhade resets = <&phyrst 4>; 210074e9915SSwapnil Jakhade #phy-cells = <0>; 211074e9915SSwapnil Jakhade cdns,phy-type = <PHY_TYPE_SGMII>; 212074e9915SSwapnil Jakhade cdns,num-lanes = <1>; 213253f06c7SSwapnil Jakhade cdns,ssc-mode = <CDNS_SERDES_NO_SSC>; 214074e9915SSwapnil Jakhade }; 215074e9915SSwapnil Jakhade }; 216074e9915SSwapnil Jakhade }; 2175ffc259dSYuti Amonkar... 218