1cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2cb7aa33aSEmmanuel Vadot%YAML 1.2
3cb7aa33aSEmmanuel Vadot---
4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/net/motorcomm,yt8xxx.yaml#
5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: MotorComm yt8xxx Ethernet PHY
8cb7aa33aSEmmanuel Vadot
9cb7aa33aSEmmanuel Vadotmaintainers:
10cb7aa33aSEmmanuel Vadot  - Frank Sae <frank.sae@motor-comm.com>
11cb7aa33aSEmmanuel Vadot
12cb7aa33aSEmmanuel VadotallOf:
13cb7aa33aSEmmanuel Vadot  - $ref: ethernet-phy.yaml#
14cb7aa33aSEmmanuel Vadot
15cb7aa33aSEmmanuel Vadotproperties:
16cb7aa33aSEmmanuel Vadot  compatible:
17cb7aa33aSEmmanuel Vadot    enum:
18cb7aa33aSEmmanuel Vadot      - ethernet-phy-id4f51.e91a
19cb7aa33aSEmmanuel Vadot      - ethernet-phy-id4f51.e91b
20cb7aa33aSEmmanuel Vadot
21cb7aa33aSEmmanuel Vadot  rx-internal-delay-ps:
22cb7aa33aSEmmanuel Vadot    description: |
23cb7aa33aSEmmanuel Vadot      RGMII RX Clock Delay used only when PHY operates in RGMII mode with
24cb7aa33aSEmmanuel Vadot      internal delay (phy-mode is 'rgmii-id' or 'rgmii-rxid') in pico-seconds.
25cb7aa33aSEmmanuel Vadot    enum: [ 0, 150, 300, 450, 600, 750, 900, 1050, 1200, 1350, 1500, 1650,
26cb7aa33aSEmmanuel Vadot            1800, 1900, 1950, 2050, 2100, 2200, 2250, 2350, 2500, 2650, 2800,
27cb7aa33aSEmmanuel Vadot            2950, 3100, 3250, 3400, 3550, 3700, 3850, 4000, 4150 ]
28cb7aa33aSEmmanuel Vadot    default: 1950
29cb7aa33aSEmmanuel Vadot
30cb7aa33aSEmmanuel Vadot  tx-internal-delay-ps:
31cb7aa33aSEmmanuel Vadot    description: |
32cb7aa33aSEmmanuel Vadot      RGMII TX Clock Delay used only when PHY operates in RGMII mode with
33cb7aa33aSEmmanuel Vadot      internal delay (phy-mode is 'rgmii-id' or 'rgmii-txid') in pico-seconds.
34cb7aa33aSEmmanuel Vadot    enum: [ 0, 150, 300, 450, 600, 750, 900, 1050, 1200, 1350, 1500, 1650, 1800,
35cb7aa33aSEmmanuel Vadot            1950, 2100, 2250 ]
36cb7aa33aSEmmanuel Vadot    default: 1950
37cb7aa33aSEmmanuel Vadot
38cb7aa33aSEmmanuel Vadot  motorcomm,clk-out-frequency-hz:
39cb7aa33aSEmmanuel Vadot    description: clock output on clock output pin.
40cb7aa33aSEmmanuel Vadot    enum: [0, 25000000, 125000000]
41cb7aa33aSEmmanuel Vadot    default: 0
42cb7aa33aSEmmanuel Vadot
43cb7aa33aSEmmanuel Vadot  motorcomm,keep-pll-enabled:
44cb7aa33aSEmmanuel Vadot    description: |
45cb7aa33aSEmmanuel Vadot      If set, keep the PLL enabled even if there is no link. Useful if you
46cb7aa33aSEmmanuel Vadot      want to use the clock output without an ethernet link.
47cb7aa33aSEmmanuel Vadot    type: boolean
48cb7aa33aSEmmanuel Vadot
49cb7aa33aSEmmanuel Vadot  motorcomm,auto-sleep-disabled:
50cb7aa33aSEmmanuel Vadot    description: |
51cb7aa33aSEmmanuel Vadot      If set, PHY will not enter sleep mode and close AFE after unplug cable
52cb7aa33aSEmmanuel Vadot      for a timer.
53cb7aa33aSEmmanuel Vadot    type: boolean
54cb7aa33aSEmmanuel Vadot
55*aa1a8ff2SEmmanuel Vadot  motorcomm,rx-clk-drv-microamp:
56*aa1a8ff2SEmmanuel Vadot    description: |
57*aa1a8ff2SEmmanuel Vadot      drive strength of rx_clk rgmii pad.
58*aa1a8ff2SEmmanuel Vadot      The YT8531 RGMII LDO voltage supports 1.8V/3.3V, and the LDO voltage can
59*aa1a8ff2SEmmanuel Vadot      be configured with hardware pull-up resistors to match the SOC voltage
60*aa1a8ff2SEmmanuel Vadot      (usually 1.8V).
61*aa1a8ff2SEmmanuel Vadot      The software can read the registers to obtain the LDO voltage and configure
62*aa1a8ff2SEmmanuel Vadot      the legal drive strength(curren).
63*aa1a8ff2SEmmanuel Vadot      =====================================================
64*aa1a8ff2SEmmanuel Vadot      | voltage |        current Available (uA)           |
65*aa1a8ff2SEmmanuel Vadot      |   1.8v  | 1200 2100 2700 2910 3110 3600 3970 4350 |
66*aa1a8ff2SEmmanuel Vadot      |   3.3v  | 3070 4080 4370 4680 5020 5450 5740 6140 |
67*aa1a8ff2SEmmanuel Vadot      =====================================================
68*aa1a8ff2SEmmanuel Vadot    enum: [ 1200, 2100, 2700, 2910, 3070, 3110, 3600, 3970,
69*aa1a8ff2SEmmanuel Vadot            4080, 4350, 4370, 4680, 5020, 5450, 5740, 6140 ]
70*aa1a8ff2SEmmanuel Vadot    default: 2910
71*aa1a8ff2SEmmanuel Vadot
72*aa1a8ff2SEmmanuel Vadot  motorcomm,rx-data-drv-microamp:
73*aa1a8ff2SEmmanuel Vadot    description: |
74*aa1a8ff2SEmmanuel Vadot      drive strength of rx_data/rx_ctl rgmii pad.
75*aa1a8ff2SEmmanuel Vadot      The YT8531 RGMII LDO voltage supports 1.8V/3.3V, and the LDO voltage can
76*aa1a8ff2SEmmanuel Vadot      be configured with hardware pull-up resistors to match the SOC voltage
77*aa1a8ff2SEmmanuel Vadot      (usually 1.8V).
78*aa1a8ff2SEmmanuel Vadot      The software can read the registers to obtain the LDO voltage and configure
79*aa1a8ff2SEmmanuel Vadot      the legal drive strength(curren).
80*aa1a8ff2SEmmanuel Vadot      =====================================================
81*aa1a8ff2SEmmanuel Vadot      | voltage |        current Available (uA)           |
82*aa1a8ff2SEmmanuel Vadot      |   1.8v  | 1200 2100 2700 2910 3110 3600 3970 4350 |
83*aa1a8ff2SEmmanuel Vadot      |   3.3v  | 3070 4080 4370 4680 5020 5450 5740 6140 |
84*aa1a8ff2SEmmanuel Vadot      =====================================================
85*aa1a8ff2SEmmanuel Vadot    enum: [ 1200, 2100, 2700, 2910, 3070, 3110, 3600, 3970,
86*aa1a8ff2SEmmanuel Vadot            4080, 4350, 4370, 4680, 5020, 5450, 5740, 6140 ]
87*aa1a8ff2SEmmanuel Vadot    default: 2910
88*aa1a8ff2SEmmanuel Vadot
89cb7aa33aSEmmanuel Vadot  motorcomm,tx-clk-adj-enabled:
90cb7aa33aSEmmanuel Vadot    description: |
91cb7aa33aSEmmanuel Vadot      This configuration is mainly to adapt to VF2 with JH7110 SoC.
92cb7aa33aSEmmanuel Vadot      Useful if you want to use tx-clk-xxxx-inverted to adj the delay of tx clk.
93cb7aa33aSEmmanuel Vadot    type: boolean
94cb7aa33aSEmmanuel Vadot
95cb7aa33aSEmmanuel Vadot  motorcomm,tx-clk-10-inverted:
96cb7aa33aSEmmanuel Vadot    description: |
97cb7aa33aSEmmanuel Vadot      Use original or inverted RGMII Transmit PHY Clock to drive the RGMII
98cb7aa33aSEmmanuel Vadot      Transmit PHY Clock delay train configuration when speed is 10Mbps.
99cb7aa33aSEmmanuel Vadot    type: boolean
100cb7aa33aSEmmanuel Vadot
101cb7aa33aSEmmanuel Vadot  motorcomm,tx-clk-100-inverted:
102cb7aa33aSEmmanuel Vadot    description: |
103cb7aa33aSEmmanuel Vadot      Use original or inverted RGMII Transmit PHY Clock to drive the RGMII
104cb7aa33aSEmmanuel Vadot      Transmit PHY Clock delay train configuration when speed is 100Mbps.
105cb7aa33aSEmmanuel Vadot    type: boolean
106cb7aa33aSEmmanuel Vadot
107cb7aa33aSEmmanuel Vadot  motorcomm,tx-clk-1000-inverted:
108cb7aa33aSEmmanuel Vadot    description: |
109cb7aa33aSEmmanuel Vadot      Use original or inverted RGMII Transmit PHY Clock to drive the RGMII
110cb7aa33aSEmmanuel Vadot      Transmit PHY Clock delay train configuration when speed is 1000Mbps.
111cb7aa33aSEmmanuel Vadot    type: boolean
112cb7aa33aSEmmanuel Vadot
113cb7aa33aSEmmanuel VadotunevaluatedProperties: false
114cb7aa33aSEmmanuel Vadot
115cb7aa33aSEmmanuel Vadotexamples:
116cb7aa33aSEmmanuel Vadot  - |
117cb7aa33aSEmmanuel Vadot    mdio {
118cb7aa33aSEmmanuel Vadot        #address-cells = <1>;
119cb7aa33aSEmmanuel Vadot        #size-cells = <0>;
120cb7aa33aSEmmanuel Vadot        phy-mode = "rgmii-id";
121cb7aa33aSEmmanuel Vadot        ethernet-phy@4 {
122cb7aa33aSEmmanuel Vadot            /*  Only needed to make DT lint tools work. Do not copy/paste
123cb7aa33aSEmmanuel Vadot             *  into real DTS files.
124cb7aa33aSEmmanuel Vadot             */
125cb7aa33aSEmmanuel Vadot            compatible = "ethernet-phy-id4f51.e91a";
126cb7aa33aSEmmanuel Vadot
127cb7aa33aSEmmanuel Vadot            reg = <4>;
128cb7aa33aSEmmanuel Vadot            rx-internal-delay-ps = <2100>;
129cb7aa33aSEmmanuel Vadot            tx-internal-delay-ps = <150>;
130cb7aa33aSEmmanuel Vadot            motorcomm,clk-out-frequency-hz = <0>;
131cb7aa33aSEmmanuel Vadot            motorcomm,keep-pll-enabled;
132cb7aa33aSEmmanuel Vadot            motorcomm,auto-sleep-disabled;
133cb7aa33aSEmmanuel Vadot        };
134cb7aa33aSEmmanuel Vadot    };
135cb7aa33aSEmmanuel Vadot  - |
136cb7aa33aSEmmanuel Vadot    mdio {
137cb7aa33aSEmmanuel Vadot        #address-cells = <1>;
138cb7aa33aSEmmanuel Vadot        #size-cells = <0>;
139cb7aa33aSEmmanuel Vadot        phy-mode = "rgmii";
140cb7aa33aSEmmanuel Vadot        ethernet-phy@5 {
141cb7aa33aSEmmanuel Vadot            /*  Only needed to make DT lint tools work. Do not copy/paste
142cb7aa33aSEmmanuel Vadot             *  into real DTS files.
143cb7aa33aSEmmanuel Vadot             */
144cb7aa33aSEmmanuel Vadot            compatible = "ethernet-phy-id4f51.e91a";
145cb7aa33aSEmmanuel Vadot
146cb7aa33aSEmmanuel Vadot            reg = <5>;
147cb7aa33aSEmmanuel Vadot            motorcomm,clk-out-frequency-hz = <125000000>;
148cb7aa33aSEmmanuel Vadot            motorcomm,keep-pll-enabled;
149cb7aa33aSEmmanuel Vadot            motorcomm,auto-sleep-disabled;
150cb7aa33aSEmmanuel Vadot        };
151cb7aa33aSEmmanuel Vadot    };
152