1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/net/renesas,rzv2h-gbeth.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: GBETH glue layer for Renesas RZ/V2H(P) (and similar SoCs) 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel Vadotselect: 13*833e5d42SEmmanuel Vadot properties: 14*833e5d42SEmmanuel Vadot compatible: 15*833e5d42SEmmanuel Vadot contains: 16*833e5d42SEmmanuel Vadot enum: 17*833e5d42SEmmanuel Vadot - renesas,r9a09g047-gbeth 18*833e5d42SEmmanuel Vadot - renesas,r9a09g056-gbeth 19*833e5d42SEmmanuel Vadot - renesas,r9a09g057-gbeth 20*833e5d42SEmmanuel Vadot - renesas,rzv2h-gbeth 21*833e5d42SEmmanuel Vadot required: 22*833e5d42SEmmanuel Vadot - compatible 23*833e5d42SEmmanuel Vadot 24*833e5d42SEmmanuel Vadotproperties: 25*833e5d42SEmmanuel Vadot compatible: 26*833e5d42SEmmanuel Vadot items: 27*833e5d42SEmmanuel Vadot - enum: 28*833e5d42SEmmanuel Vadot - renesas,r9a09g047-gbeth # RZ/G3E 29*833e5d42SEmmanuel Vadot - renesas,r9a09g056-gbeth # RZ/V2N 30*833e5d42SEmmanuel Vadot - renesas,r9a09g057-gbeth # RZ/V2H(P) 31*833e5d42SEmmanuel Vadot - const: renesas,rzv2h-gbeth 32*833e5d42SEmmanuel Vadot - const: snps,dwmac-5.20 33*833e5d42SEmmanuel Vadot 34*833e5d42SEmmanuel Vadot reg: 35*833e5d42SEmmanuel Vadot maxItems: 1 36*833e5d42SEmmanuel Vadot 37*833e5d42SEmmanuel Vadot clocks: 38*833e5d42SEmmanuel Vadot items: 39*833e5d42SEmmanuel Vadot - description: CSR clock 40*833e5d42SEmmanuel Vadot - description: AXI system clock 41*833e5d42SEmmanuel Vadot - description: PTP clock 42*833e5d42SEmmanuel Vadot - description: TX clock 43*833e5d42SEmmanuel Vadot - description: RX clock 44*833e5d42SEmmanuel Vadot - description: TX clock phase-shifted by 180 degrees 45*833e5d42SEmmanuel Vadot - description: RX clock phase-shifted by 180 degrees 46*833e5d42SEmmanuel Vadot 47*833e5d42SEmmanuel Vadot clock-names: 48*833e5d42SEmmanuel Vadot items: 49*833e5d42SEmmanuel Vadot - const: stmmaceth 50*833e5d42SEmmanuel Vadot - const: pclk 51*833e5d42SEmmanuel Vadot - const: ptp_ref 52*833e5d42SEmmanuel Vadot - const: tx 53*833e5d42SEmmanuel Vadot - const: rx 54*833e5d42SEmmanuel Vadot - const: tx-180 55*833e5d42SEmmanuel Vadot - const: rx-180 56*833e5d42SEmmanuel Vadot 57*833e5d42SEmmanuel Vadot interrupts: 58*833e5d42SEmmanuel Vadot minItems: 11 59*833e5d42SEmmanuel Vadot 60*833e5d42SEmmanuel Vadot interrupt-names: 61*833e5d42SEmmanuel Vadot items: 62*833e5d42SEmmanuel Vadot - const: macirq 63*833e5d42SEmmanuel Vadot - const: eth_wake_irq 64*833e5d42SEmmanuel Vadot - const: eth_lpi 65*833e5d42SEmmanuel Vadot - const: rx-queue-0 66*833e5d42SEmmanuel Vadot - const: rx-queue-1 67*833e5d42SEmmanuel Vadot - const: rx-queue-2 68*833e5d42SEmmanuel Vadot - const: rx-queue-3 69*833e5d42SEmmanuel Vadot - const: tx-queue-0 70*833e5d42SEmmanuel Vadot - const: tx-queue-1 71*833e5d42SEmmanuel Vadot - const: tx-queue-2 72*833e5d42SEmmanuel Vadot - const: tx-queue-3 73*833e5d42SEmmanuel Vadot 74*833e5d42SEmmanuel Vadot resets: 75*833e5d42SEmmanuel Vadot items: 76*833e5d42SEmmanuel Vadot - description: AXI power-on system reset 77*833e5d42SEmmanuel Vadot 78*833e5d42SEmmanuel Vadotrequired: 79*833e5d42SEmmanuel Vadot - compatible 80*833e5d42SEmmanuel Vadot - reg 81*833e5d42SEmmanuel Vadot - clocks 82*833e5d42SEmmanuel Vadot - clock-names 83*833e5d42SEmmanuel Vadot - interrupts 84*833e5d42SEmmanuel Vadot - interrupt-names 85*833e5d42SEmmanuel Vadot - resets 86*833e5d42SEmmanuel Vadot 87*833e5d42SEmmanuel VadotallOf: 88*833e5d42SEmmanuel Vadot - $ref: snps,dwmac.yaml# 89*833e5d42SEmmanuel Vadot 90*833e5d42SEmmanuel VadotunevaluatedProperties: false 91*833e5d42SEmmanuel Vadot 92*833e5d42SEmmanuel Vadotexamples: 93*833e5d42SEmmanuel Vadot - | 94*833e5d42SEmmanuel Vadot #include <dt-bindings/clock/renesas-cpg-mssr.h> 95*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 96*833e5d42SEmmanuel Vadot 97*833e5d42SEmmanuel Vadot ethernet@15c30000 { 98*833e5d42SEmmanuel Vadot compatible = "renesas,r9a09g057-gbeth", "renesas,rzv2h-gbeth", "snps,dwmac-5.20"; 99*833e5d42SEmmanuel Vadot reg = <0x15c30000 0x10000>; 100*833e5d42SEmmanuel Vadot clocks = <&cpg CPG_MOD 0xbd>, <&cpg CPG_MOD 0xbc>, 101*833e5d42SEmmanuel Vadot <&ptp_clock>, <&cpg CPG_MOD 0xb8>, 102*833e5d42SEmmanuel Vadot <&cpg CPG_MOD 0xb9>, <&cpg CPG_MOD 0xba>, 103*833e5d42SEmmanuel Vadot <&cpg CPG_MOD 0xbb>; 104*833e5d42SEmmanuel Vadot clock-names = "stmmaceth", "pclk", "ptp_ref", 105*833e5d42SEmmanuel Vadot "tx", "rx", "tx-180", "rx-180"; 106*833e5d42SEmmanuel Vadot resets = <&cpg 0xb0>; 107*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 765 IRQ_TYPE_LEVEL_HIGH>, 108*833e5d42SEmmanuel Vadot <GIC_SPI 767 IRQ_TYPE_LEVEL_HIGH>, 109*833e5d42SEmmanuel Vadot <GIC_SPI 766 IRQ_TYPE_LEVEL_HIGH>, 110*833e5d42SEmmanuel Vadot <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>, 111*833e5d42SEmmanuel Vadot <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>, 112*833e5d42SEmmanuel Vadot <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>, 113*833e5d42SEmmanuel Vadot <GIC_SPI 745 IRQ_TYPE_LEVEL_HIGH>, 114*833e5d42SEmmanuel Vadot <GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>, 115*833e5d42SEmmanuel Vadot <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>, 116*833e5d42SEmmanuel Vadot <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>, 117*833e5d42SEmmanuel Vadot <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>; 118*833e5d42SEmmanuel Vadot interrupt-names = "macirq", "eth_wake_irq", "eth_lpi", 119*833e5d42SEmmanuel Vadot "rx-queue-0", "rx-queue-1", "rx-queue-2", 120*833e5d42SEmmanuel Vadot "rx-queue-3", "tx-queue-0", "tx-queue-1", 121*833e5d42SEmmanuel Vadot "tx-queue-2", "tx-queue-3"; 122*833e5d42SEmmanuel Vadot phy-mode = "rgmii-id"; 123*833e5d42SEmmanuel Vadot snps,multicast-filter-bins = <256>; 124*833e5d42SEmmanuel Vadot snps,perfect-filter-entries = <128>; 125*833e5d42SEmmanuel Vadot rx-fifo-depth = <8192>; 126*833e5d42SEmmanuel Vadot tx-fifo-depth = <8192>; 127*833e5d42SEmmanuel Vadot snps,fixed-burst; 128*833e5d42SEmmanuel Vadot snps,force_thresh_dma_mode; 129*833e5d42SEmmanuel Vadot snps,axi-config = <&stmmac_axi_setup>; 130*833e5d42SEmmanuel Vadot snps,mtl-rx-config = <&mtl_rx_setup>; 131*833e5d42SEmmanuel Vadot snps,mtl-tx-config = <&mtl_tx_setup>; 132*833e5d42SEmmanuel Vadot snps,txpbl = <32>; 133*833e5d42SEmmanuel Vadot snps,rxpbl = <32>; 134*833e5d42SEmmanuel Vadot phy-handle = <&phy0>; 135*833e5d42SEmmanuel Vadot 136*833e5d42SEmmanuel Vadot stmmac_axi_setup: stmmac-axi-config { 137*833e5d42SEmmanuel Vadot snps,lpi_en; 138*833e5d42SEmmanuel Vadot snps,wr_osr_lmt = <0xf>; 139*833e5d42SEmmanuel Vadot snps,rd_osr_lmt = <0xf>; 140*833e5d42SEmmanuel Vadot snps,blen = <16 8 4 0 0 0 0>; 141*833e5d42SEmmanuel Vadot }; 142*833e5d42SEmmanuel Vadot 143*833e5d42SEmmanuel Vadot mtl_rx_setup: rx-queues-config { 144*833e5d42SEmmanuel Vadot snps,rx-queues-to-use = <4>; 145*833e5d42SEmmanuel Vadot snps,rx-sched-sp; 146*833e5d42SEmmanuel Vadot 147*833e5d42SEmmanuel Vadot queue0 { 148*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 149*833e5d42SEmmanuel Vadot snps,priority = <0x1>; 150*833e5d42SEmmanuel Vadot snps,map-to-dma-channel = <0>; 151*833e5d42SEmmanuel Vadot }; 152*833e5d42SEmmanuel Vadot 153*833e5d42SEmmanuel Vadot queue1 { 154*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 155*833e5d42SEmmanuel Vadot snps,priority = <0x2>; 156*833e5d42SEmmanuel Vadot snps,map-to-dma-channel = <1>; 157*833e5d42SEmmanuel Vadot }; 158*833e5d42SEmmanuel Vadot 159*833e5d42SEmmanuel Vadot queue2 { 160*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 161*833e5d42SEmmanuel Vadot snps,priority = <0x4>; 162*833e5d42SEmmanuel Vadot snps,map-to-dma-channel = <2>; 163*833e5d42SEmmanuel Vadot }; 164*833e5d42SEmmanuel Vadot 165*833e5d42SEmmanuel Vadot queue3 { 166*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 167*833e5d42SEmmanuel Vadot snps,priority = <0x8>; 168*833e5d42SEmmanuel Vadot snps,map-to-dma-channel = <3>; 169*833e5d42SEmmanuel Vadot }; 170*833e5d42SEmmanuel Vadot }; 171*833e5d42SEmmanuel Vadot 172*833e5d42SEmmanuel Vadot mtl_tx_setup: tx-queues-config { 173*833e5d42SEmmanuel Vadot snps,tx-queues-to-use = <4>; 174*833e5d42SEmmanuel Vadot 175*833e5d42SEmmanuel Vadot queue0 { 176*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 177*833e5d42SEmmanuel Vadot snps,priority = <0x1>; 178*833e5d42SEmmanuel Vadot }; 179*833e5d42SEmmanuel Vadot 180*833e5d42SEmmanuel Vadot queue1 { 181*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 182*833e5d42SEmmanuel Vadot snps,priority = <0x2>; 183*833e5d42SEmmanuel Vadot }; 184*833e5d42SEmmanuel Vadot 185*833e5d42SEmmanuel Vadot queue2 { 186*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 187*833e5d42SEmmanuel Vadot snps,priority = <0x4>; 188*833e5d42SEmmanuel Vadot }; 189*833e5d42SEmmanuel Vadot 190*833e5d42SEmmanuel Vadot queue3 { 191*833e5d42SEmmanuel Vadot snps,dcb-algorithm; 192*833e5d42SEmmanuel Vadot snps,priority = <0x1>; 193*833e5d42SEmmanuel Vadot }; 194*833e5d42SEmmanuel Vadot }; 195*833e5d42SEmmanuel Vadot 196*833e5d42SEmmanuel Vadot mdio { 197*833e5d42SEmmanuel Vadot #address-cells = <1>; 198*833e5d42SEmmanuel Vadot #size-cells = <0>; 199*833e5d42SEmmanuel Vadot compatible = "snps,dwmac-mdio"; 200*833e5d42SEmmanuel Vadot 201*833e5d42SEmmanuel Vadot phy0: ethernet-phy@0 { 202*833e5d42SEmmanuel Vadot reg = <0>; 203*833e5d42SEmmanuel Vadot }; 204*833e5d42SEmmanuel Vadot }; 205*833e5d42SEmmanuel Vadot }; 206