1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/phy-common-props.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Common PHY and network PCS properties 8 9description: 10 Common PHY and network PCS properties, such as peak-to-peak transmit 11 amplitude. 12 13maintainers: 14 - Marek Behún <kabel@kernel.org> 15 16$defs: 17 protocol-names: 18 description: 19 Names of the PHY modes. If a value of 'default' is provided, the system 20 should use it for any PHY mode that is otherwise not defined here. If 21 'default' is not provided, the system should use manufacturer default value. 22 minItems: 1 23 maxItems: 16 24 uniqueItems: true 25 items: 26 enum: 27 - default 28 29 # ethernet modes 30 - sgmii 31 - qsgmii 32 - xgmii 33 - 1000base-x 34 - 2500base-x 35 - 5gbase-r 36 - rxaui 37 - xaui 38 - 10gbase-kr 39 - usxgmii 40 - 10gbase-r 41 - 25gbase-r 42 43 # PCIe modes 44 - pcie 45 - pcie1 46 - pcie2 47 - pcie3 48 - pcie4 49 - pcie5 50 - pcie6 51 52 # USB modes 53 - usb 54 - usb-ls 55 - usb-fs 56 - usb-hs 57 - usb-ss 58 - usb-ss+ 59 - usb-4 60 61 # storage modes 62 - sata 63 - ufs-hs 64 - ufs-hs-a 65 - ufs-hs-b 66 67 # display modes 68 - lvds 69 - dp 70 - dp-rbr 71 - dp-hbr 72 - dp-hbr2 73 - dp-hbr3 74 - dp-uhbr-10 75 - dp-uhbr-13.5 76 - dp-uhbr-20 77 78 # camera modes 79 - mipi-dphy 80 - mipi-dphy-univ 81 - mipi-dphy-v2.5-univ 82 83properties: 84 tx-p2p-microvolt: 85 description: 86 Transmit amplitude voltages in microvolts, peak-to-peak. If this property 87 contains multiple values for various PHY modes, the 88 'tx-p2p-microvolt-names' property must be provided and contain 89 corresponding mode names. 90 91 tx-p2p-microvolt-names: 92 description: 93 Names of the modes corresponding to voltages in the 'tx-p2p-microvolt' 94 property. Required only if multiple voltages are provided. 95 $ref: "#/$defs/protocol-names" 96 97 rx-polarity: 98 description: 99 An array of values indicating whether the differential receiver's 100 polarity is inverted. Each value can be one of 101 PHY_POL_NORMAL (0) which means the negative signal is decoded from the 102 RXN input, and the positive signal from the RXP input; 103 PHY_POL_INVERT (1) which means the negative signal is decoded from the 104 RXP input, and the positive signal from the RXN input; 105 PHY_POL_AUTO (2) which means the receiver performs automatic polarity 106 detection and correction, which is a mandatory part of link training for 107 some protocols (PCIe, USB SS). 108 109 The values are defined in <dt-bindings/phy/phy.h>. If the property is 110 absent, the default value is undefined. 111 112 Note that the RXP and RXN inputs refer to the block that this property is 113 under, and do not necessarily directly translate to external pins. 114 115 If this property contains multiple values for various protocols, the 116 'rx-polarity-names' property must be provided. 117 $ref: /schemas/types.yaml#/definitions/uint32-array 118 minItems: 1 119 maxItems: 16 120 items: 121 enum: [0, 1, 2] 122 123 rx-polarity-names: 124 $ref: '#/$defs/protocol-names' 125 126 tx-polarity: 127 description: 128 Like 'rx-polarity', except it applies to differential transmitters, 129 and only the values of PHY_POL_NORMAL and PHY_POL_INVERT are possible. 130 $ref: /schemas/types.yaml#/definitions/uint32-array 131 minItems: 1 132 maxItems: 16 133 items: 134 enum: [0, 1] 135 136 tx-polarity-names: 137 $ref: '#/$defs/protocol-names' 138 139dependencies: 140 tx-p2p-microvolt-names: [ tx-p2p-microvolt ] 141 rx-polarity-names: [ rx-polarity ] 142 tx-polarity-names: [ tx-polarity ] 143 144additionalProperties: true 145 146examples: 147 - | 148 #include <dt-bindings/phy/phy.h> 149 150 phy: phy { 151 #phy-cells = <1>; 152 tx-p2p-microvolt = <915000>, <1100000>, <1200000>; 153 tx-p2p-microvolt-names = "2500base-x", "usb-hs", "usb-ss"; 154 rx-polarity = <PHY_POL_AUTO>, <PHY_POL_NORMAL>; 155 rx-polarity-names = "usb-ss", "default"; 156 tx-polarity = <PHY_POL_INVERT>; 157 }; 158