1*8ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*8ccc0d23SEmmanuel Vadot%YAML 1.2 3*8ccc0d23SEmmanuel Vadot--- 4*8ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/net/tesla,fsd-ethqos.yaml# 5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8ccc0d23SEmmanuel Vadot 7*8ccc0d23SEmmanuel Vadottitle: FSD Ethernet Quality of Service 8*8ccc0d23SEmmanuel Vadot 9*8ccc0d23SEmmanuel Vadotmaintainers: 10*8ccc0d23SEmmanuel Vadot - Swathi K S <swathi.ks@samsung.com> 11*8ccc0d23SEmmanuel Vadot 12*8ccc0d23SEmmanuel Vadotdescription: 13*8ccc0d23SEmmanuel Vadot Tesla ethernet devices based on dwmmac support Gigabit ethernet. 14*8ccc0d23SEmmanuel Vadot 15*8ccc0d23SEmmanuel VadotallOf: 16*8ccc0d23SEmmanuel Vadot - $ref: snps,dwmac.yaml# 17*8ccc0d23SEmmanuel Vadot 18*8ccc0d23SEmmanuel Vadotproperties: 19*8ccc0d23SEmmanuel Vadot compatible: 20*8ccc0d23SEmmanuel Vadot const: tesla,fsd-ethqos 21*8ccc0d23SEmmanuel Vadot 22*8ccc0d23SEmmanuel Vadot reg: 23*8ccc0d23SEmmanuel Vadot maxItems: 1 24*8ccc0d23SEmmanuel Vadot 25*8ccc0d23SEmmanuel Vadot interrupts: 26*8ccc0d23SEmmanuel Vadot maxItems: 1 27*8ccc0d23SEmmanuel Vadot 28*8ccc0d23SEmmanuel Vadot interrupt-names: 29*8ccc0d23SEmmanuel Vadot items: 30*8ccc0d23SEmmanuel Vadot - const: macirq 31*8ccc0d23SEmmanuel Vadot 32*8ccc0d23SEmmanuel Vadot clocks: 33*8ccc0d23SEmmanuel Vadot minItems: 5 34*8ccc0d23SEmmanuel Vadot items: 35*8ccc0d23SEmmanuel Vadot - description: PTP clock 36*8ccc0d23SEmmanuel Vadot - description: Master bus clock 37*8ccc0d23SEmmanuel Vadot - description: Slave bus clock 38*8ccc0d23SEmmanuel Vadot - description: MAC TX clock 39*8ccc0d23SEmmanuel Vadot - description: MAC RX clock 40*8ccc0d23SEmmanuel Vadot - description: Master2 bus clock 41*8ccc0d23SEmmanuel Vadot - description: Slave2 bus clock 42*8ccc0d23SEmmanuel Vadot - description: RX MUX clock 43*8ccc0d23SEmmanuel Vadot - description: PHY RX clock 44*8ccc0d23SEmmanuel Vadot - description: PERIC RGMII clock 45*8ccc0d23SEmmanuel Vadot 46*8ccc0d23SEmmanuel Vadot clock-names: 47*8ccc0d23SEmmanuel Vadot minItems: 5 48*8ccc0d23SEmmanuel Vadot items: 49*8ccc0d23SEmmanuel Vadot - const: ptp_ref 50*8ccc0d23SEmmanuel Vadot - const: master_bus 51*8ccc0d23SEmmanuel Vadot - const: slave_bus 52*8ccc0d23SEmmanuel Vadot - const: tx 53*8ccc0d23SEmmanuel Vadot - const: rx 54*8ccc0d23SEmmanuel Vadot - const: master2_bus 55*8ccc0d23SEmmanuel Vadot - const: slave2_bus 56*8ccc0d23SEmmanuel Vadot - const: eqos_rxclk_mux 57*8ccc0d23SEmmanuel Vadot - const: eqos_phyrxclk 58*8ccc0d23SEmmanuel Vadot - const: dout_peric_rgmii_clk 59*8ccc0d23SEmmanuel Vadot 60*8ccc0d23SEmmanuel Vadot iommus: 61*8ccc0d23SEmmanuel Vadot maxItems: 1 62*8ccc0d23SEmmanuel Vadot 63*8ccc0d23SEmmanuel Vadot phy-mode: 64*8ccc0d23SEmmanuel Vadot enum: 65*8ccc0d23SEmmanuel Vadot - rgmii 66*8ccc0d23SEmmanuel Vadot - rgmii-id 67*8ccc0d23SEmmanuel Vadot - rgmii-rxid 68*8ccc0d23SEmmanuel Vadot - rgmii-txid 69*8ccc0d23SEmmanuel Vadot 70*8ccc0d23SEmmanuel Vadotrequired: 71*8ccc0d23SEmmanuel Vadot - compatible 72*8ccc0d23SEmmanuel Vadot - reg 73*8ccc0d23SEmmanuel Vadot - interrupts 74*8ccc0d23SEmmanuel Vadot - clocks 75*8ccc0d23SEmmanuel Vadot - clock-names 76*8ccc0d23SEmmanuel Vadot - iommus 77*8ccc0d23SEmmanuel Vadot - phy-mode 78*8ccc0d23SEmmanuel Vadot 79*8ccc0d23SEmmanuel VadotunevaluatedProperties: false 80*8ccc0d23SEmmanuel Vadot 81*8ccc0d23SEmmanuel Vadotexamples: 82*8ccc0d23SEmmanuel Vadot - | 83*8ccc0d23SEmmanuel Vadot #include <dt-bindings/clock/fsd-clk.h> 84*8ccc0d23SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 85*8ccc0d23SEmmanuel Vadot soc { 86*8ccc0d23SEmmanuel Vadot #address-cells = <2>; 87*8ccc0d23SEmmanuel Vadot #size-cells = <2>; 88*8ccc0d23SEmmanuel Vadot ethernet1: ethernet@14300000 { 89*8ccc0d23SEmmanuel Vadot compatible = "tesla,fsd-ethqos"; 90*8ccc0d23SEmmanuel Vadot reg = <0x0 0x14300000 0x0 0x10000>; 91*8ccc0d23SEmmanuel Vadot interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 92*8ccc0d23SEmmanuel Vadot interrupt-names = "macirq"; 93*8ccc0d23SEmmanuel Vadot clocks = <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_CLK_PTP_REF_I>, 94*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_ACLK_I>, 95*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_HCLK_I>, 96*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_RGMII_CLK_I>, 97*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_TOP_IPCLKPORT_CLK_RX_I>, 98*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_BUS_D_PERIC_IPCLKPORT_EQOSCLK>, 99*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_BUS_P_PERIC_IPCLKPORT_EQOSCLK>, 100*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_PHYRXCLK_MUX>, 101*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_PHYRXCLK>, 102*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_DOUT_RGMII_CLK>; 103*8ccc0d23SEmmanuel Vadot clock-names = "ptp_ref", "master_bus", "slave_bus","tx", 104*8ccc0d23SEmmanuel Vadot "rx", "master2_bus", "slave2_bus", "eqos_rxclk_mux", 105*8ccc0d23SEmmanuel Vadot "eqos_phyrxclk","dout_peric_rgmii_clk"; 106*8ccc0d23SEmmanuel Vadot assigned-clocks = <&clock_peric PERIC_EQOS_PHYRXCLK_MUX>, 107*8ccc0d23SEmmanuel Vadot <&clock_peric PERIC_EQOS_PHYRXCLK>; 108*8ccc0d23SEmmanuel Vadot assigned-clock-parents = <&clock_peric PERIC_EQOS_PHYRXCLK>; 109*8ccc0d23SEmmanuel Vadot pinctrl-names = "default"; 110*8ccc0d23SEmmanuel Vadot pinctrl-0 = <ð1_tx_clk>, <ð1_tx_data>, <ð1_tx_ctrl>, 111*8ccc0d23SEmmanuel Vadot <ð1_phy_intr>, <ð1_rx_clk>, <ð1_rx_data>, 112*8ccc0d23SEmmanuel Vadot <ð1_rx_ctrl>, <ð1_mdio>; 113*8ccc0d23SEmmanuel Vadot iommus = <&smmu_peric 0x0 0x1>; 114*8ccc0d23SEmmanuel Vadot phy-mode = "rgmii-id"; 115*8ccc0d23SEmmanuel Vadot }; 116*8ccc0d23SEmmanuel Vadot }; 117*8ccc0d23SEmmanuel Vadot 118*8ccc0d23SEmmanuel Vadot... 119