1*af89e575SFlorian Fainelli# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*af89e575SFlorian Fainelli%YAML 1.2 3*af89e575SFlorian Fainelli--- 4*af89e575SFlorian Fainelli$id: "http://devicetree.org/schemas/phy/brcm,sata-phy.yaml#" 5*af89e575SFlorian Fainelli$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6*af89e575SFlorian Fainelli 7*af89e575SFlorian Fainellititle: Broadcom SATA3 PHY 8*af89e575SFlorian Fainelli 9*af89e575SFlorian Fainellimaintainers: 10*af89e575SFlorian Fainelli - Florian Fainelli <f.fainelli@gmail.com> 11*af89e575SFlorian Fainelli 12*af89e575SFlorian Fainelliproperties: 13*af89e575SFlorian Fainelli $nodename: 14*af89e575SFlorian Fainelli pattern: "^sata[-|_]phy(@.*)?$" 15*af89e575SFlorian Fainelli 16*af89e575SFlorian Fainelli compatible: 17*af89e575SFlorian Fainelli oneOf: 18*af89e575SFlorian Fainelli - items: 19*af89e575SFlorian Fainelli - enum: 20*af89e575SFlorian Fainelli - brcm,bcm7216-sata-phy 21*af89e575SFlorian Fainelli - brcm,bcm7425-sata-phy 22*af89e575SFlorian Fainelli - brcm,bcm7445-sata-phy 23*af89e575SFlorian Fainelli - brcm,bcm63138-sata-phy 24*af89e575SFlorian Fainelli - const: brcm,phy-sata3 25*af89e575SFlorian Fainelli - items: 26*af89e575SFlorian Fainelli - const: brcm,iproc-nsp-sata-phy 27*af89e575SFlorian Fainelli - items: 28*af89e575SFlorian Fainelli - const: brcm,iproc-ns2-sata-phy 29*af89e575SFlorian Fainelli - items: 30*af89e575SFlorian Fainelli - const: brcm,iproc-sr-sata-phy 31*af89e575SFlorian Fainelli 32*af89e575SFlorian Fainelli reg: 33*af89e575SFlorian Fainelli minItems: 1 34*af89e575SFlorian Fainelli maxItems: 2 35*af89e575SFlorian Fainelli 36*af89e575SFlorian Fainelli reg-names: 37*af89e575SFlorian Fainelli minItems: 1 38*af89e575SFlorian Fainelli maxItems: 2 39*af89e575SFlorian Fainelli items: 40*af89e575SFlorian Fainelli - const: phy 41*af89e575SFlorian Fainelli - const: phy-ctrl 42*af89e575SFlorian Fainelli 43*af89e575SFlorian Fainelli "#address-cells": 44*af89e575SFlorian Fainelli const: 1 45*af89e575SFlorian Fainelli 46*af89e575SFlorian Fainelli "#size-cells": 47*af89e575SFlorian Fainelli const: 0 48*af89e575SFlorian Fainelli 49*af89e575SFlorian FainellipatternProperties: 50*af89e575SFlorian Fainelli "^sata-phy@[0-9]+$": 51*af89e575SFlorian Fainelli type: object 52*af89e575SFlorian Fainelli description: | 53*af89e575SFlorian Fainelli Each port's PHY should be represented as a sub-node. 54*af89e575SFlorian Fainelli 55*af89e575SFlorian Fainelli properties: 56*af89e575SFlorian Fainelli reg: 57*af89e575SFlorian Fainelli description: The SATA PHY port number 58*af89e575SFlorian Fainelli maxItems: 1 59*af89e575SFlorian Fainelli 60*af89e575SFlorian Fainelli "#phy-cells": 61*af89e575SFlorian Fainelli const: 0 62*af89e575SFlorian Fainelli 63*af89e575SFlorian Fainelli "brcm,enable-ssc": 64*af89e575SFlorian Fainelli $ref: /schemas/types.yaml#/definitions/flag 65*af89e575SFlorian Fainelli description: | 66*af89e575SFlorian Fainelli Use spread spectrum clocking (SSC) on this port 67*af89e575SFlorian Fainelli This property is not applicable for "brcm,iproc-ns2-sata-phy", 68*af89e575SFlorian Fainelli "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy". 69*af89e575SFlorian Fainelli 70*af89e575SFlorian Fainelli "brcm,rxaeq-mode": 71*af89e575SFlorian Fainelli $ref: /schemas/types.yaml#/definitions/string 72*af89e575SFlorian Fainelli description: 73*af89e575SFlorian Fainelli String that indicates the desired RX equalizer mode. 74*af89e575SFlorian Fainelli enum: 75*af89e575SFlorian Fainelli - off 76*af89e575SFlorian Fainelli - auto 77*af89e575SFlorian Fainelli - manual 78*af89e575SFlorian Fainelli 79*af89e575SFlorian Fainelli "brcm,rxaeq-value": 80*af89e575SFlorian Fainelli $ref: /schemas/types.yaml#/definitions/uint32 81*af89e575SFlorian Fainelli description: | 82*af89e575SFlorian Fainelli When 'brcm,rxaeq-mode' is set to "manual", provides the RX 83*af89e575SFlorian Fainelli equalizer value that should be used. 84*af89e575SFlorian Fainelli minimum: 0 85*af89e575SFlorian Fainelli maximum: 63 86*af89e575SFlorian Fainelli 87*af89e575SFlorian Fainelli "brcm,tx-amplitude-millivolt": 88*af89e575SFlorian Fainelli description: | 89*af89e575SFlorian Fainelli Transmit amplitude voltage in millivolt. 90*af89e575SFlorian Fainelli $ref: /schemas/types.yaml#/definitions/uint32 91*af89e575SFlorian Fainelli enum: [400, 500, 600, 800] 92*af89e575SFlorian Fainelli 93*af89e575SFlorian Fainelli required: 94*af89e575SFlorian Fainelli - reg 95*af89e575SFlorian Fainelli - "#phy-cells" 96*af89e575SFlorian Fainelli 97*af89e575SFlorian Fainelli additionalProperties: false 98*af89e575SFlorian Fainelli 99*af89e575SFlorian Fainelliif: 100*af89e575SFlorian Fainelli properties: 101*af89e575SFlorian Fainelli compatible: 102*af89e575SFlorian Fainelli items: 103*af89e575SFlorian Fainelli const: brcm,iproc-ns2-sata-phy 104*af89e575SFlorian Fainellithen: 105*af89e575SFlorian Fainelli properties: 106*af89e575SFlorian Fainelli reg: 107*af89e575SFlorian Fainelli maxItems: 2 108*af89e575SFlorian Fainelli reg-names: 109*af89e575SFlorian Fainelli items: 110*af89e575SFlorian Fainelli - const: "phy" 111*af89e575SFlorian Fainelli - const: "phy-ctrl" 112*af89e575SFlorian Fainellielse: 113*af89e575SFlorian Fainelli properties: 114*af89e575SFlorian Fainelli reg: 115*af89e575SFlorian Fainelli maxItems: 1 116*af89e575SFlorian Fainelli reg-names: 117*af89e575SFlorian Fainelli maxItems: 1 118*af89e575SFlorian Fainelli items: 119*af89e575SFlorian Fainelli - const: "phy" 120*af89e575SFlorian Fainelli 121*af89e575SFlorian Fainellirequired: 122*af89e575SFlorian Fainelli - compatible 123*af89e575SFlorian Fainelli - "#address-cells" 124*af89e575SFlorian Fainelli - "#size-cells" 125*af89e575SFlorian Fainelli - reg 126*af89e575SFlorian Fainelli - reg-names 127*af89e575SFlorian Fainelli 128*af89e575SFlorian FainelliadditionalProperties: false 129*af89e575SFlorian Fainelli 130*af89e575SFlorian Fainelliexamples: 131*af89e575SFlorian Fainelli - | 132*af89e575SFlorian Fainelli sata_phy@f0458100 { 133*af89e575SFlorian Fainelli compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3"; 134*af89e575SFlorian Fainelli reg = <0xf0458100 0x1e00>; 135*af89e575SFlorian Fainelli reg-names = "phy"; 136*af89e575SFlorian Fainelli #address-cells = <1>; 137*af89e575SFlorian Fainelli #size-cells = <0>; 138*af89e575SFlorian Fainelli 139*af89e575SFlorian Fainelli sata-phy@0 { 140*af89e575SFlorian Fainelli reg = <0>; 141*af89e575SFlorian Fainelli #phy-cells = <0>; 142*af89e575SFlorian Fainelli }; 143*af89e575SFlorian Fainelli 144*af89e575SFlorian Fainelli sata-phy@1 { 145*af89e575SFlorian Fainelli reg = <1>; 146*af89e575SFlorian Fainelli #phy-cells = <0>; 147*af89e575SFlorian Fainelli }; 148*af89e575SFlorian Fainelli }; 149