xref: /freebsd/sys/contrib/device-tree/Bindings/net/tesla,fsd-ethqos.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
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 = <&eth1_tx_clk>, <&eth1_tx_data>, <&eth1_tx_ctrl>,
111*8ccc0d23SEmmanuel Vadot                        <&eth1_phy_intr>, <&eth1_rx_clk>, <&eth1_rx_data>,
112*8ccc0d23SEmmanuel Vadot                        <&eth1_rx_ctrl>, <&eth1_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