Yuti Amonkar | 5ffc259 | 2020-02-06 07:10:50 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| 2 | %YAML 1.2 |
| 3 | --- |
| 4 | $id: "http://devicetree.org/schemas/phy/phy-cadence-torrent.yaml#" |
| 5 | $schema: "http://devicetree.org/meta-schemas/core.yaml#" |
| 6 | |
| 7 | title: Cadence Torrent SD0801 PHY binding for DisplayPort |
| 8 | |
| 9 | description: |
| 10 | This binding describes the Cadence SD0801 PHY (also known as Torrent PHY) |
| 11 | hardware included with the Cadence MHDP DisplayPort controller. |
| 12 | |
| 13 | maintainers: |
| 14 | - Swapnil Jakhade <sjakhade@cadence.com> |
| 15 | - Yuti Amonkar <yamonkar@cadence.com> |
| 16 | |
| 17 | properties: |
| 18 | compatible: |
| 19 | enum: |
| 20 | - cdns,torrent-phy |
| 21 | - ti,j721e-serdes-10g |
| 22 | |
| 23 | '#address-cells': |
| 24 | const: 1 |
| 25 | |
| 26 | '#size-cells': |
| 27 | const: 0 |
| 28 | |
| 29 | clocks: |
| 30 | maxItems: 1 |
| 31 | description: |
| 32 | PHY reference clock. Must contain an entry in clock-names. |
| 33 | |
| 34 | clock-names: |
| 35 | const: refclk |
| 36 | |
| 37 | reg: |
| 38 | minItems: 1 |
| 39 | maxItems: 2 |
| 40 | items: |
| 41 | - description: Offset of the Torrent PHY configuration registers. |
| 42 | - description: Offset of the DPTX PHY configuration registers. |
| 43 | |
| 44 | reg-names: |
| 45 | minItems: 1 |
| 46 | maxItems: 2 |
| 47 | items: |
| 48 | - const: torrent_phy |
| 49 | - const: dptx_phy |
| 50 | |
| 51 | resets: |
| 52 | maxItems: 1 |
| 53 | description: |
| 54 | Torrent PHY reset. |
| 55 | See Documentation/devicetree/bindings/reset/reset.txt |
| 56 | |
| 57 | patternProperties: |
| 58 | '^phy@[0-7]+$': |
| 59 | type: object |
| 60 | description: |
| 61 | Each group of PHY lanes with a single master lane should be represented as a sub-node. |
| 62 | properties: |
| 63 | reg: |
| 64 | description: |
| 65 | The master lane number. This is the lowest numbered lane in the lane group. |
| 66 | |
| 67 | resets: |
| 68 | minItems: 1 |
| 69 | maxItems: 4 |
| 70 | description: |
| 71 | Contains list of resets, one per lane, to get all the link lanes out of reset. |
| 72 | |
| 73 | "#phy-cells": |
| 74 | const: 0 |
| 75 | |
| 76 | cdns,phy-type: |
| 77 | description: |
| 78 | Specifies the type of PHY for which the group of PHY lanes is used. |
| 79 | Refer include/dt-bindings/phy/phy.h. Constants from the header should be used. |
Rob Herring | 3d21a46 | 2020-04-15 19:55:49 -0500 | [diff] [blame] | 80 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 81 | enum: [1, 2, 3, 4, 5, 6] |
Yuti Amonkar | 5ffc259 | 2020-02-06 07:10:50 +0100 | [diff] [blame] | 82 | |
| 83 | cdns,num-lanes: |
| 84 | description: |
| 85 | Number of DisplayPort lanes. |
Rob Herring | 3d21a46 | 2020-04-15 19:55:49 -0500 | [diff] [blame] | 86 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 87 | enum: [1, 2, 4] |
Yuti Amonkar | 5ffc259 | 2020-02-06 07:10:50 +0100 | [diff] [blame] | 88 | default: 4 |
| 89 | |
Swapnil Jakhade | 962fad3 | 2020-09-16 20:28:30 +0200 | [diff] [blame^] | 90 | cdns,ssc-mode: |
| 91 | description: |
| 92 | Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC, |
| 93 | EXTERNAL_SSC or INTERNAL_SSC. |
| 94 | Refer include/dt-bindings/phy/phy-cadence-torrent.h for the constants to be used. |
| 95 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 96 | enum: [0, 1, 2] |
| 97 | default: 0 |
| 98 | |
Yuti Amonkar | 5ffc259 | 2020-02-06 07:10:50 +0100 | [diff] [blame] | 99 | cdns,max-bit-rate: |
| 100 | description: |
| 101 | Maximum DisplayPort link bit rate to use, in Mbps |
Rob Herring | 3d21a46 | 2020-04-15 19:55:49 -0500 | [diff] [blame] | 102 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 103 | enum: [2160, 2430, 2700, 3240, 4320, 5400, 8100] |
Yuti Amonkar | 5ffc259 | 2020-02-06 07:10:50 +0100 | [diff] [blame] | 104 | default: 8100 |
| 105 | |
| 106 | required: |
| 107 | - reg |
| 108 | - resets |
| 109 | - "#phy-cells" |
| 110 | - cdns,phy-type |
| 111 | |
| 112 | additionalProperties: false |
| 113 | |
| 114 | required: |
| 115 | - compatible |
| 116 | - "#address-cells" |
| 117 | - "#size-cells" |
| 118 | - clocks |
| 119 | - clock-names |
| 120 | - reg |
| 121 | - reg-names |
| 122 | - resets |
| 123 | |
| 124 | additionalProperties: false |
| 125 | |
| 126 | examples: |
| 127 | - | |
| 128 | #include <dt-bindings/phy/phy.h> |
Rob Herring | fba5618 | 2020-05-12 15:45:43 -0500 | [diff] [blame] | 129 | |
| 130 | bus { |
| 131 | #address-cells = <2>; |
| 132 | #size-cells = <2>; |
| 133 | |
| 134 | torrent-phy@f0fb500000 { |
| 135 | compatible = "cdns,torrent-phy"; |
| 136 | reg = <0xf0 0xfb500000 0x0 0x00100000>, |
| 137 | <0xf0 0xfb030a00 0x0 0x00000040>; |
| 138 | reg-names = "torrent_phy", "dptx_phy"; |
| 139 | resets = <&phyrst 0>; |
| 140 | clocks = <&ref_clk>; |
| 141 | clock-names = "refclk"; |
| 142 | #address-cells = <1>; |
| 143 | #size-cells = <0>; |
| 144 | phy@0 { |
| 145 | reg = <0>; |
| 146 | resets = <&phyrst 1>, <&phyrst 2>, |
| 147 | <&phyrst 3>, <&phyrst 4>; |
| 148 | #phy-cells = <0>; |
| 149 | cdns,phy-type = <PHY_TYPE_DP>; |
| 150 | cdns,num-lanes = <4>; |
| 151 | cdns,max-bit-rate = <8100>; |
| 152 | }; |
| 153 | }; |
Yuti Amonkar | 5ffc259 | 2020-02-06 07:10:50 +0100 | [diff] [blame] | 154 | }; |
| 155 | ... |