xref: /freebsd/sys/contrib/device-tree/Bindings/net/qca,ar803x.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0+
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/qca,ar803x.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Qualcomm Atheros AR803x PHY
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Andrew Lunn <andrew@lunn.ch>
11c66ec88fSEmmanuel Vadot  - Florian Fainelli <f.fainelli@gmail.com>
12c66ec88fSEmmanuel Vadot  - Heiner Kallweit <hkallweit1@gmail.com>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadotdescription: |
15c66ec88fSEmmanuel Vadot  Bindings for Qualcomm Atheros AR803x PHYs
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel VadotallOf:
18c66ec88fSEmmanuel Vadot  - $ref: ethernet-phy.yaml#
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadotproperties:
21c66ec88fSEmmanuel Vadot  qca,clk-out-frequency:
22c66ec88fSEmmanuel Vadot    description: Clock output frequency in Hertz.
23c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
24c66ec88fSEmmanuel Vadot    enum: [25000000, 50000000, 62500000, 125000000]
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  qca,clk-out-strength:
27c66ec88fSEmmanuel Vadot    description: Clock output driver strength.
28c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
29c66ec88fSEmmanuel Vadot    enum: [0, 1, 2]
30c66ec88fSEmmanuel Vadot
315def4c47SEmmanuel Vadot  qca,disable-smarteee:
325def4c47SEmmanuel Vadot    description: Disable Atheros SmartEEE feature.
335def4c47SEmmanuel Vadot    type: boolean
345def4c47SEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  qca,keep-pll-enabled:
36c66ec88fSEmmanuel Vadot    description: |
37c66ec88fSEmmanuel Vadot      If set, keep the PLL enabled even if there is no link. Useful if you
38c66ec88fSEmmanuel Vadot      want to use the clock output without an ethernet link.
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot      Only supported on the AR8031.
41c66ec88fSEmmanuel Vadot    type: boolean
42c66ec88fSEmmanuel Vadot
437ef62cebSEmmanuel Vadot  qca,disable-hibernation-mode:
447ef62cebSEmmanuel Vadot    description: |
457ef62cebSEmmanuel Vadot      Disable Atheros AR803X PHYs hibernation mode. If present, indicates
467ef62cebSEmmanuel Vadot      that the hardware of PHY will not enter power saving mode when the
477ef62cebSEmmanuel Vadot      cable is disconnected. And the RX_CLK always keeps outputting a
487ef62cebSEmmanuel Vadot      valid clock.
497ef62cebSEmmanuel Vadot    type: boolean
507ef62cebSEmmanuel Vadot
515def4c47SEmmanuel Vadot  qca,smarteee-tw-us-100m:
525def4c47SEmmanuel Vadot    description: EEE Tw parameter for 100M links.
535def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
545def4c47SEmmanuel Vadot    minimum: 1
555def4c47SEmmanuel Vadot    maximum: 255
565def4c47SEmmanuel Vadot
575def4c47SEmmanuel Vadot  qca,smarteee-tw-us-1g:
585def4c47SEmmanuel Vadot    description: EEE Tw parameter for gigabit links.
595def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
605def4c47SEmmanuel Vadot    minimum: 1
615def4c47SEmmanuel Vadot    maximum: 255
625def4c47SEmmanuel Vadot
63c66ec88fSEmmanuel Vadot  vddio-supply:
64c66ec88fSEmmanuel Vadot    description: |
65c66ec88fSEmmanuel Vadot      RGMII I/O voltage regulator (see regulator/regulator.yaml).
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot      The PHY supports RGMII I/O voltages of 1.5V, 1.8V and 2.5V. You can
68c66ec88fSEmmanuel Vadot      either connect this to the vddio-regulator (1.5V / 1.8V) or the
69c66ec88fSEmmanuel Vadot      vddh-regulator (2.5V).
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot      Only supported on the AR8031.
72c66ec88fSEmmanuel Vadot
73c66ec88fSEmmanuel Vadot  vddio-regulator:
74c66ec88fSEmmanuel Vadot    type: object
75c66ec88fSEmmanuel Vadot    description:
76c66ec88fSEmmanuel Vadot      Initial data for the VDDIO regulator. Set this to 1.5V or 1.8V.
77c66ec88fSEmmanuel Vadot    $ref: /schemas/regulator/regulator.yaml
78*aa1a8ff2SEmmanuel Vadot    unevaluatedProperties: false
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot  vddh-regulator:
81c66ec88fSEmmanuel Vadot    type: object
82c66ec88fSEmmanuel Vadot    description:
83c66ec88fSEmmanuel Vadot      Dummy subnode to model the external connection of the PHY VDDH
84c66ec88fSEmmanuel Vadot      regulator to VDDIO.
85c66ec88fSEmmanuel Vadot    $ref: /schemas/regulator/regulator.yaml
86*aa1a8ff2SEmmanuel Vadot    unevaluatedProperties: false
87c66ec88fSEmmanuel Vadot
886be33864SEmmanuel VadotunevaluatedProperties: false
896be33864SEmmanuel Vadot
90c66ec88fSEmmanuel Vadotexamples:
91c66ec88fSEmmanuel Vadot  - |
92c66ec88fSEmmanuel Vadot    #include <dt-bindings/net/qca-ar803x.h>
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot    ethernet {
95c66ec88fSEmmanuel Vadot        #address-cells = <1>;
96c66ec88fSEmmanuel Vadot        #size-cells = <0>;
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot        phy-mode = "rgmii-id";
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot        ethernet-phy@0 {
101c66ec88fSEmmanuel Vadot            reg = <0>;
102c66ec88fSEmmanuel Vadot
103c66ec88fSEmmanuel Vadot            qca,clk-out-frequency = <125000000>;
104c66ec88fSEmmanuel Vadot            qca,clk-out-strength = <AR803X_STRENGTH_FULL>;
105c66ec88fSEmmanuel Vadot
106c66ec88fSEmmanuel Vadot            vddio-supply = <&vddio>;
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot            vddio: vddio-regulator {
109c66ec88fSEmmanuel Vadot                regulator-min-microvolt = <1800000>;
110c66ec88fSEmmanuel Vadot                regulator-max-microvolt = <1800000>;
111c66ec88fSEmmanuel Vadot            };
112c66ec88fSEmmanuel Vadot        };
113c66ec88fSEmmanuel Vadot    };
114c66ec88fSEmmanuel Vadot  - |
115c66ec88fSEmmanuel Vadot    #include <dt-bindings/net/qca-ar803x.h>
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot    ethernet {
118c66ec88fSEmmanuel Vadot        #address-cells = <1>;
119c66ec88fSEmmanuel Vadot        #size-cells = <0>;
120c66ec88fSEmmanuel Vadot
121c66ec88fSEmmanuel Vadot        phy-mode = "rgmii-id";
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot        ethernet-phy@0 {
124c66ec88fSEmmanuel Vadot            reg = <0>;
125c66ec88fSEmmanuel Vadot
126c66ec88fSEmmanuel Vadot            qca,clk-out-frequency = <50000000>;
127c66ec88fSEmmanuel Vadot            qca,keep-pll-enabled;
128c66ec88fSEmmanuel Vadot
129c66ec88fSEmmanuel Vadot            vddio-supply = <&vddh>;
130c66ec88fSEmmanuel Vadot
131c66ec88fSEmmanuel Vadot            vddh: vddh-regulator {
132c66ec88fSEmmanuel Vadot            };
133c66ec88fSEmmanuel Vadot        };
134c66ec88fSEmmanuel Vadot    };
135