summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/net/qca,ar803x.yaml
blob: 161d2891931652e3a2a128a250f49c18b57a95eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# SPDX-License-Identifier: GPL-2.0+
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/qca,ar803x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Atheros AR803x PHY

maintainers:
  - Andrew Lunn <andrew@lunn.ch>
  - Florian Fainelli <f.fainelli@gmail.com>
  - Heiner Kallweit <hkallweit1@gmail.com>

description: |
  Bindings for Qualcomm Atheros AR803x PHYs

allOf:
  - $ref: ethernet-phy.yaml#

properties:
  qca,clk-out-frequency:
    description: Clock output frequency in Hertz.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [25000000, 50000000, 62500000, 125000000]

  qca,clk-out-strength:
    description: Clock output driver strength.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2]

  qca,disable-smarteee:
    description: Disable Atheros SmartEEE feature.
    type: boolean

  qca,keep-pll-enabled:
    description: |
      If set, keep the PLL enabled even if there is no link. Useful if you
      want to use the clock output without an ethernet link.

      Only supported on the AR8031.
    type: boolean

  qca,disable-hibernation-mode:
    description: |
      Disable Atheros AR803X PHYs hibernation mode. If present, indicates
      that the hardware of PHY will not enter power saving mode when the
      cable is disconnected. And the RX_CLK always keeps outputting a
      valid clock.
    type: boolean

  qca,smarteee-tw-us-100m:
    description: EEE Tw parameter for 100M links.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 1
    maximum: 255

  qca,smarteee-tw-us-1g:
    description: EEE Tw parameter for gigabit links.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 1
    maximum: 255

  vddio-supply:
    description: |
      RGMII I/O voltage regulator (see regulator/regulator.yaml).

      The PHY supports RGMII I/O voltages of 1.5V, 1.8V and 2.5V. You can
      either connect this to the vddio-regulator (1.5V / 1.8V) or the
      vddh-regulator (2.5V).

      Only supported on the AR8031.

  vddio-regulator:
    type: object
    description:
      Initial data for the VDDIO regulator. Set this to 1.5V or 1.8V.
    $ref: /schemas/regulator/regulator.yaml

  vddh-regulator:
    type: object
    description:
      Dummy subnode to model the external connection of the PHY VDDH
      regulator to VDDIO.
    $ref: /schemas/regulator/regulator.yaml

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/net/qca-ar803x.h>

    ethernet {
        #address-cells = <1>;
        #size-cells = <0>;

        phy-mode = "rgmii-id";

        ethernet-phy@0 {
            reg = <0>;

            qca,clk-out-frequency = <125000000>;
            qca,clk-out-strength = <AR803X_STRENGTH_FULL>;

            vddio-supply = <&vddio>;

            vddio: vddio-regulator {
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
            };
        };
    };
  - |
    #include <dt-bindings/net/qca-ar803x.h>

    ethernet {
        #address-cells = <1>;
        #size-cells = <0>;

        phy-mode = "rgmii-id";

        ethernet-phy@0 {
            reg = <0>;

            qca,clk-out-frequency = <50000000>;
            qca,keep-pll-enabled;

            vddio-supply = <&vddh>;

            vddh: vddh-regulator {
            };
        };
    };