1*6a971e48SInochi Amaoto# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*6a971e48SInochi Amaoto%YAML 1.2 3*6a971e48SInochi Amaoto--- 4*6a971e48SInochi Amaoto$id: http://devicetree.org/schemas/net/sophgo,cv1800b-dwmac.yaml# 5*6a971e48SInochi Amaoto$schema: http://devicetree.org/meta-schemas/core.yaml# 6*6a971e48SInochi Amaoto 7*6a971e48SInochi Amaototitle: Sophgo CV1800B DWMAC glue layer 8*6a971e48SInochi Amaoto 9*6a971e48SInochi Amaotomaintainers: 10*6a971e48SInochi Amaoto - Inochi Amaoto <inochiama@gmail.com> 11*6a971e48SInochi Amaoto 12*6a971e48SInochi Amaotoselect: 13*6a971e48SInochi Amaoto properties: 14*6a971e48SInochi Amaoto compatible: 15*6a971e48SInochi Amaoto contains: 16*6a971e48SInochi Amaoto enum: 17*6a971e48SInochi Amaoto - sophgo,cv1800b-dwmac 18*6a971e48SInochi Amaoto required: 19*6a971e48SInochi Amaoto - compatible 20*6a971e48SInochi Amaoto 21*6a971e48SInochi Amaotoproperties: 22*6a971e48SInochi Amaoto compatible: 23*6a971e48SInochi Amaoto items: 24*6a971e48SInochi Amaoto - const: sophgo,cv1800b-dwmac 25*6a971e48SInochi Amaoto - const: snps,dwmac-3.70a 26*6a971e48SInochi Amaoto 27*6a971e48SInochi Amaoto reg: 28*6a971e48SInochi Amaoto maxItems: 1 29*6a971e48SInochi Amaoto 30*6a971e48SInochi Amaoto clocks: 31*6a971e48SInochi Amaoto items: 32*6a971e48SInochi Amaoto - description: GMAC main clock 33*6a971e48SInochi Amaoto - description: PTP clock 34*6a971e48SInochi Amaoto 35*6a971e48SInochi Amaoto clock-names: 36*6a971e48SInochi Amaoto items: 37*6a971e48SInochi Amaoto - const: stmmaceth 38*6a971e48SInochi Amaoto - const: ptp_ref 39*6a971e48SInochi Amaoto 40*6a971e48SInochi Amaoto interrupts: 41*6a971e48SInochi Amaoto maxItems: 1 42*6a971e48SInochi Amaoto 43*6a971e48SInochi Amaoto interrupt-names: 44*6a971e48SInochi Amaoto maxItems: 1 45*6a971e48SInochi Amaoto 46*6a971e48SInochi Amaoto resets: 47*6a971e48SInochi Amaoto maxItems: 1 48*6a971e48SInochi Amaoto 49*6a971e48SInochi Amaoto reset-names: 50*6a971e48SInochi Amaoto const: stmmaceth 51*6a971e48SInochi Amaoto 52*6a971e48SInochi Amaotorequired: 53*6a971e48SInochi Amaoto - compatible 54*6a971e48SInochi Amaoto - reg 55*6a971e48SInochi Amaoto - clocks 56*6a971e48SInochi Amaoto - clock-names 57*6a971e48SInochi Amaoto - interrupts 58*6a971e48SInochi Amaoto - interrupt-names 59*6a971e48SInochi Amaoto - resets 60*6a971e48SInochi Amaoto - reset-names 61*6a971e48SInochi Amaoto 62*6a971e48SInochi AmaotoallOf: 63*6a971e48SInochi Amaoto - $ref: snps,dwmac.yaml# 64*6a971e48SInochi Amaoto 65*6a971e48SInochi AmaotounevaluatedProperties: false 66*6a971e48SInochi Amaoto 67*6a971e48SInochi Amaotoexamples: 68*6a971e48SInochi Amaoto - | 69*6a971e48SInochi Amaoto #include <dt-bindings/interrupt-controller/irq.h> 70*6a971e48SInochi Amaoto 71*6a971e48SInochi Amaoto ethernet@4070000 { 72*6a971e48SInochi Amaoto compatible = "sophgo,cv1800b-dwmac", "snps,dwmac-3.70a"; 73*6a971e48SInochi Amaoto reg = <0x04070000 0x10000>; 74*6a971e48SInochi Amaoto clocks = <&clk 35>, <&clk 36>; 75*6a971e48SInochi Amaoto clock-names = "stmmaceth", "ptp_ref"; 76*6a971e48SInochi Amaoto interrupts = <31 IRQ_TYPE_LEVEL_HIGH>; 77*6a971e48SInochi Amaoto interrupt-names = "macirq"; 78*6a971e48SInochi Amaoto phy-handle = <&internal_ephy>; 79*6a971e48SInochi Amaoto phy-mode = "internal"; 80*6a971e48SInochi Amaoto resets = <&rst 12>; 81*6a971e48SInochi Amaoto reset-names = "stmmaceth"; 82*6a971e48SInochi Amaoto rx-fifo-depth = <8192>; 83*6a971e48SInochi Amaoto tx-fifo-depth = <8192>; 84*6a971e48SInochi Amaoto snps,multicast-filter-bins = <0>; 85*6a971e48SInochi Amaoto snps,perfect-filter-entries = <1>; 86*6a971e48SInochi Amaoto snps,aal; 87*6a971e48SInochi Amaoto snps,txpbl = <8>; 88*6a971e48SInochi Amaoto snps,rxpbl = <8>; 89*6a971e48SInochi Amaoto snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 90*6a971e48SInochi Amaoto snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 91*6a971e48SInochi Amaoto snps,axi-config = <&gmac0_stmmac_axi_setup>; 92*6a971e48SInochi Amaoto 93*6a971e48SInochi Amaoto mdio { 94*6a971e48SInochi Amaoto compatible = "snps,dwmac-mdio"; 95*6a971e48SInochi Amaoto #address-cells = <1>; 96*6a971e48SInochi Amaoto #size-cells = <0>; 97*6a971e48SInochi Amaoto }; 98*6a971e48SInochi Amaoto 99*6a971e48SInochi Amaoto gmac0_mtl_rx_setup: rx-queues-config { 100*6a971e48SInochi Amaoto snps,rx-queues-to-use = <1>; 101*6a971e48SInochi Amaoto queue0 {}; 102*6a971e48SInochi Amaoto }; 103*6a971e48SInochi Amaoto 104*6a971e48SInochi Amaoto gmac0_mtl_tx_setup: tx-queues-config { 105*6a971e48SInochi Amaoto snps,tx-queues-to-use = <1>; 106*6a971e48SInochi Amaoto queue0 {}; 107*6a971e48SInochi Amaoto }; 108*6a971e48SInochi Amaoto 109*6a971e48SInochi Amaoto gmac0_stmmac_axi_setup: stmmac-axi-config { 110*6a971e48SInochi Amaoto snps,blen = <16 8 4 0 0 0 0>; 111*6a971e48SInochi Amaoto snps,rd_osr_lmt = <2>; 112*6a971e48SInochi Amaoto snps,wr_osr_lmt = <1>; 113*6a971e48SInochi Amaoto }; 114*6a971e48SInochi Amaoto }; 115