xref: /openbmc/linux/Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1*189c2e5cSBhadram Varka# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*189c2e5cSBhadram Varka%YAML 1.2
3*189c2e5cSBhadram Varka---
4*189c2e5cSBhadram Varka$id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml#
5*189c2e5cSBhadram Varka$schema: http://devicetree.org/meta-schemas/core.yaml#
6*189c2e5cSBhadram Varka
7*189c2e5cSBhadram Varkatitle: Tegra234 MGBE Multi-Gigabit Ethernet Controller
8*189c2e5cSBhadram Varka
9*189c2e5cSBhadram Varkamaintainers:
10*189c2e5cSBhadram Varka  - Thierry Reding <treding@nvidia.com>
11*189c2e5cSBhadram Varka  - Jon Hunter <jonathanh@nvidia.com>
12*189c2e5cSBhadram Varka
13*189c2e5cSBhadram Varkaproperties:
14*189c2e5cSBhadram Varka  compatible:
15*189c2e5cSBhadram Varka    const: nvidia,tegra234-mgbe
16*189c2e5cSBhadram Varka
17*189c2e5cSBhadram Varka  reg:
18*189c2e5cSBhadram Varka    maxItems: 3
19*189c2e5cSBhadram Varka
20*189c2e5cSBhadram Varka  reg-names:
21*189c2e5cSBhadram Varka    items:
22*189c2e5cSBhadram Varka      - const: hypervisor
23*189c2e5cSBhadram Varka      - const: mac
24*189c2e5cSBhadram Varka      - const: xpcs
25*189c2e5cSBhadram Varka
26*189c2e5cSBhadram Varka  interrupts:
27*189c2e5cSBhadram Varka    minItems: 1
28*189c2e5cSBhadram Varka    maxItems: 3
29*189c2e5cSBhadram Varka
30*189c2e5cSBhadram Varka  interrupt-names:
31*189c2e5cSBhadram Varka    minItems: 1
32*189c2e5cSBhadram Varka    items:
33*189c2e5cSBhadram Varka      - const: common
34*189c2e5cSBhadram Varka      - const: macsec-ns
35*189c2e5cSBhadram Varka      - const: macsec
36*189c2e5cSBhadram Varka
37*189c2e5cSBhadram Varka  clocks:
38*189c2e5cSBhadram Varka    maxItems: 12
39*189c2e5cSBhadram Varka
40*189c2e5cSBhadram Varka  clock-names:
41*189c2e5cSBhadram Varka    items:
42*189c2e5cSBhadram Varka      - const: mgbe
43*189c2e5cSBhadram Varka      - const: mac
44*189c2e5cSBhadram Varka      - const: mac-divider
45*189c2e5cSBhadram Varka      - const: ptp-ref
46*189c2e5cSBhadram Varka      - const: rx-input-m
47*189c2e5cSBhadram Varka      - const: rx-input
48*189c2e5cSBhadram Varka      - const: tx
49*189c2e5cSBhadram Varka      - const: eee-pcs
50*189c2e5cSBhadram Varka      - const: rx-pcs-input
51*189c2e5cSBhadram Varka      - const: rx-pcs-m
52*189c2e5cSBhadram Varka      - const: rx-pcs
53*189c2e5cSBhadram Varka      - const: tx-pcs
54*189c2e5cSBhadram Varka
55*189c2e5cSBhadram Varka  resets:
56*189c2e5cSBhadram Varka    maxItems: 2
57*189c2e5cSBhadram Varka
58*189c2e5cSBhadram Varka  reset-names:
59*189c2e5cSBhadram Varka    items:
60*189c2e5cSBhadram Varka      - const: mac
61*189c2e5cSBhadram Varka      - const: pcs
62*189c2e5cSBhadram Varka
63*189c2e5cSBhadram Varka  interconnects:
64*189c2e5cSBhadram Varka    items:
65*189c2e5cSBhadram Varka      - description: memory read client
66*189c2e5cSBhadram Varka      - description: memory write client
67*189c2e5cSBhadram Varka
68*189c2e5cSBhadram Varka  interconnect-names:
69*189c2e5cSBhadram Varka    items:
70*189c2e5cSBhadram Varka      - const: dma-mem
71*189c2e5cSBhadram Varka      - const: write
72*189c2e5cSBhadram Varka
73*189c2e5cSBhadram Varka  iommus:
74*189c2e5cSBhadram Varka    maxItems: 1
75*189c2e5cSBhadram Varka
76*189c2e5cSBhadram Varka  power-domains:
77*189c2e5cSBhadram Varka    maxItems: 1
78*189c2e5cSBhadram Varka
79*189c2e5cSBhadram Varka  phy-handle: true
80*189c2e5cSBhadram Varka
81*189c2e5cSBhadram Varka  phy-mode:
82*189c2e5cSBhadram Varka    contains:
83*189c2e5cSBhadram Varka      enum:
84*189c2e5cSBhadram Varka        - usxgmii
85*189c2e5cSBhadram Varka        - 10gbase-kr
86*189c2e5cSBhadram Varka
87*189c2e5cSBhadram Varka  mdio:
88*189c2e5cSBhadram Varka    $ref: mdio.yaml#
89*189c2e5cSBhadram Varka    unevaluatedProperties: false
90*189c2e5cSBhadram Varka    description:
91*189c2e5cSBhadram Varka      Optional node for embedded MDIO controller.
92*189c2e5cSBhadram Varka
93*189c2e5cSBhadram Varkarequired:
94*189c2e5cSBhadram Varka  - compatible
95*189c2e5cSBhadram Varka  - reg
96*189c2e5cSBhadram Varka  - interrupts
97*189c2e5cSBhadram Varka  - interrupt-names
98*189c2e5cSBhadram Varka  - clocks
99*189c2e5cSBhadram Varka  - clock-names
100*189c2e5cSBhadram Varka  - resets
101*189c2e5cSBhadram Varka  - reset-names
102*189c2e5cSBhadram Varka  - power-domains
103*189c2e5cSBhadram Varka  - phy-handle
104*189c2e5cSBhadram Varka  - phy-mode
105*189c2e5cSBhadram Varka
106*189c2e5cSBhadram VarkaadditionalProperties: false
107*189c2e5cSBhadram Varka
108*189c2e5cSBhadram Varkaexamples:
109*189c2e5cSBhadram Varka  - |
110*189c2e5cSBhadram Varka    #include <dt-bindings/clock/tegra234-clock.h>
111*189c2e5cSBhadram Varka    #include <dt-bindings/interrupt-controller/arm-gic.h>
112*189c2e5cSBhadram Varka    #include <dt-bindings/memory/tegra234-mc.h>
113*189c2e5cSBhadram Varka    #include <dt-bindings/power/tegra234-powergate.h>
114*189c2e5cSBhadram Varka    #include <dt-bindings/reset/tegra234-reset.h>
115*189c2e5cSBhadram Varka
116*189c2e5cSBhadram Varka    ethernet@6800000 {
117*189c2e5cSBhadram Varka        compatible = "nvidia,tegra234-mgbe";
118*189c2e5cSBhadram Varka        reg = <0x06800000 0x10000>,
119*189c2e5cSBhadram Varka              <0x06810000 0x10000>,
120*189c2e5cSBhadram Varka              <0x068a0000 0x10000>;
121*189c2e5cSBhadram Varka        reg-names = "hypervisor", "mac", "xpcs";
122*189c2e5cSBhadram Varka        interrupts = <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>;
123*189c2e5cSBhadram Varka        interrupt-names = "common";
124*189c2e5cSBhadram Varka        clocks = <&bpmp TEGRA234_CLK_MGBE0_APP>,
125*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_MAC>,
126*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_MAC_DIVIDER>,
127*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_PTP_REF>,
128*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_RX_INPUT_M>,
129*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_RX_INPUT>,
130*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_TX>,
131*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_EEE_PCS>,
132*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_RX_PCS_INPUT>,
133*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_RX_PCS_M>,
134*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_RX_PCS>,
135*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_CLK_MGBE0_TX_PCS>;
136*189c2e5cSBhadram Varka        clock-names = "mgbe", "mac", "mac-divider", "ptp-ref", "rx-input-m",
137*189c2e5cSBhadram Varka                      "rx-input", "tx", "eee-pcs", "rx-pcs-input", "rx-pcs-m",
138*189c2e5cSBhadram Varka                      "rx-pcs", "tx-pcs";
139*189c2e5cSBhadram Varka        resets = <&bpmp TEGRA234_RESET_MGBE0_MAC>,
140*189c2e5cSBhadram Varka                 <&bpmp TEGRA234_RESET_MGBE0_PCS>;
141*189c2e5cSBhadram Varka        reset-names = "mac", "pcs";
142*189c2e5cSBhadram Varka        interconnects = <&mc TEGRA234_MEMORY_CLIENT_MGBEARD &emc>,
143*189c2e5cSBhadram Varka                        <&mc TEGRA234_MEMORY_CLIENT_MGBEAWR &emc>;
144*189c2e5cSBhadram Varka        interconnect-names = "dma-mem", "write";
145*189c2e5cSBhadram Varka        iommus = <&smmu_niso0 TEGRA234_SID_MGBE>;
146*189c2e5cSBhadram Varka        power-domains = <&bpmp TEGRA234_POWER_DOMAIN_MGBEA>;
147*189c2e5cSBhadram Varka
148*189c2e5cSBhadram Varka        phy-handle = <&mgbe0_phy>;
149*189c2e5cSBhadram Varka        phy-mode = "usxgmii";
150*189c2e5cSBhadram Varka
151*189c2e5cSBhadram Varka        mdio {
152*189c2e5cSBhadram Varka            #address-cells = <1>;
153*189c2e5cSBhadram Varka            #size-cells = <0>;
154*189c2e5cSBhadram Varka
155*189c2e5cSBhadram Varka            mgbe0_phy: phy@0 {
156*189c2e5cSBhadram Varka                compatible = "ethernet-phy-ieee802.3-c45";
157*189c2e5cSBhadram Varka                reg = <0x0>;
158*189c2e5cSBhadram Varka
159*189c2e5cSBhadram Varka                #phy-cells = <0>;
160*189c2e5cSBhadram Varka            };
161*189c2e5cSBhadram Varka        };
162*189c2e5cSBhadram Varka    };
163