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