aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/net
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2016-09-01 15:02:16 -0400
committerRob Herring <robh@kernel.org>2016-09-12 09:38:03 -0400
commitd4b8e2c5b07e20f3ef0ca0a2bde390beb0f8fda5 (patch)
treec7f9e2b6c154113b74a16ca37a8a0b3059abd53a /Documentation/devicetree/bindings/net
parent610e12837425e204d1a3bd0182bcdaff1d660e60 (diff)
dt: net: enhance DWC EQoS binding to support Tegra186
The Synopsys DWC EQoS is a configurable IP block which supports multiple options for bus type, clocking and reset structure, and feature list. Extend the DT binding to define a "compatible value" for the configuration contained in NVIDIA's Tegra186 SoC, and define some new properties and list property entries required by that configuration. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'Documentation/devicetree/bindings/net')
-rw-r--r--Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt99
1 files changed, 95 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt b/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
index 51f8d2eba8d8..d93f71ce8346 100644
--- a/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
+++ b/Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt
@@ -1,21 +1,111 @@
1* Synopsys DWC Ethernet QoS IP version 4.10 driver (GMAC) 1* Synopsys DWC Ethernet QoS IP version 4.10 driver (GMAC)
2 2
3This binding supports the Synopsys Designware Ethernet QoS (Quality Of Service)
4IP block. The IP supports multiple options for bus type, clocking and reset
5structure, and feature list. Consequently, a number of properties and list
6entries in properties are marked as optional, or only required in specific HW
7configurations.
3 8
4Required properties: 9Required properties:
5- compatible: Should be "snps,dwc-qos-ethernet-4.10" 10- compatible: One of:
11 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10"
12 Represents the IP core when integrated into the Axis ARTPEC-6 SoC.
13 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10"
14 Represents the IP core when integrated into the NVIDIA Tegra186 SoC.
15 - "snps,dwc-qos-ethernet-4.10"
16 This combination is deprecated. It should be treated as equivalent to
17 "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10". It is supported to be
18 compatible with earlier revisions of this binding.
6- reg: Address and length of the register set for the device 19- reg: Address and length of the register set for the device
7- clocks: Phandles to the reference clock and the bus clock 20- clocks: Phandle and clock specifiers for each entry in clock-names, in the
8- clock-names: Should be "phy_ref_clk" for the reference clock and "apb_pclk" 21 same order. See ../clock/clock-bindings.txt.
9 for the bus clock. 22- clock-names: May contain any/all of the following depending on the IP
23 configuration, in any order:
24 - "tx"
25 The EQOS transmit path clock. The HW signal name is clk_tx_i.
26 In some configurations (e.g. GMII/RGMII), this clock also drives the PHY TX
27 path. In other configurations, other clocks (such as tx_125, rmii) may
28 drive the PHY TX path.
29 - "rx"
30 The EQOS receive path clock. The HW signal name is clk_rx_i.
31 In some configurations (e.g. GMII/RGMII), this clock is derived from the
32 PHY's RX clock output. In other configurations, other clocks (such as
33 rx_125, rmii) may drive the EQOS RX path.
34 In cases where the PHY clock is directly fed into the EQOS receive path
35 without intervening logic, the DT need not represent this clock, since it
36 is assumed to be fully under the control of the PHY device/driver. In
37 cases where SoC integration adds additional logic to this path, such as a
38 SW-controlled clock gate, this clock should be represented in DT.
39 - "slave_bus"
40 The CPU/slave-bus (CSR) interface clock. This applies to any bus type;
41 APB, AHB, AXI, etc. The HW signal name is hclk_i (AHB) or clk_csr_i (other
42 buses).
43 - "master_bus"
44 The master bus interface clock. Only required in configurations that use a
45 separate clock for the master and slave bus interfaces. The HW signal name
46 is hclk_i (AHB) or aclk_i (AXI).
47 - "ptp_ref"
48 The PTP reference clock. The HW signal name is clk_ptp_ref_i.
49 - "phy_ref_clk"
50 This clock is deprecated and should not be used by new compatible values.
51 It is equivalent to "tx".
52 - "apb_pclk"
53 This clock is deprecated and should not be used by new compatible values.
54 It is equivalent to "slave_bus".
55
56 Note: Support for additional IP configurations may require adding the
57 following clocks to this list in the future: clk_rx_125_i, clk_tx_125_i,
58 clk_pmarx_0_i, clk_pmarx1_i, clk_rmii_i, clk_revmii_rx_i, clk_revmii_tx_i.
59 Configurations exist where multiple similar clocks are used at once, e.g. all
60 of clk_rx_125_i, clk_pmarx_0_i, clk_pmarx1_i. For this reason it is best to
61 extend the binding with a separate clock-names entry for each of those RX
62 clocks, rather than repurposing the existing "rx" clock-names entry as a
63 generic/logical clock in a similar fashion to "master_bus" and "slave_bus".
64 This will allow easy support for configurations that support multiple PHY
65 interfaces using a mux, and hence need to have explicit control over
66 specific RX clocks.
67
68 The following compatible values require the following set of clocks:
69 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10":
70 - "slave_bus"
71 - "master_bus"
72 - "rx"
73 - "tx"
74 - "ptp_ref"
75 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10":
76 - "slave_bus"
77 - "master_bus"
78 - "tx"
79 - "ptp_ref"
80 - "snps,dwc-qos-ethernet-4.10" (deprecated):
81 - "phy_ref_clk"
82 - "apb_clk"
10- interrupt-parent: Should be the phandle for the interrupt controller 83- interrupt-parent: Should be the phandle for the interrupt controller
11 that services interrupts for this device 84 that services interrupts for this device
12- interrupts: Should contain the core's combined interrupt signal 85- interrupts: Should contain the core's combined interrupt signal
13- phy-mode: See ethernet.txt file in the same directory 86- phy-mode: See ethernet.txt file in the same directory
87- resets: Phandle and reset specifiers for each entry in reset-names, in the
88 same order. See ../reset/reset.txt.
89- reset-names: May contain any/all of the following depending on the IP
90 configuration, in any order:
91 - "eqos". The reset to the entire module. The HW signal name is hreset_n
92 (AHB) or aresetn_i (AXI).
93
94 The following compatible values require the following set of resets:
95 (the reset properties may be omitted if empty)
96 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10":
97 - "eqos".
98 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10":
99 - None.
100 - "snps,dwc-qos-ethernet-4.10" (deprecated):
101 - None.
14 102
15Optional properties: 103Optional properties:
16- dma-coherent: Present if dma operations are coherent 104- dma-coherent: Present if dma operations are coherent
17- mac-address: See ethernet.txt in the same directory 105- mac-address: See ethernet.txt in the same directory
18- local-mac-address: See ethernet.txt in the same directory 106- local-mac-address: See ethernet.txt in the same directory
107- phy-reset-gpios: Phandle and specifier for any GPIO used to reset the PHY.
108 See ../gpio/gpio.txt.
19- snps,en-lpi: If present it enables use of the AXI low-power interface 109- snps,en-lpi: If present it enables use of the AXI low-power interface
20- snps,write-requests: Number of write requests that the AXI port can issue. 110- snps,write-requests: Number of write requests that the AXI port can issue.
21 It depends on the SoC configuration. 111 It depends on the SoC configuration.
@@ -52,6 +142,7 @@ ethernet2@40010000 {
52 reg = <0x40010000 0x4000>; 142 reg = <0x40010000 0x4000>;
53 phy-handle = <&phy2>; 143 phy-handle = <&phy2>;
54 phy-mode = "gmii"; 144 phy-mode = "gmii";
145 phy-reset-gpios = <&gpioctlr 43 GPIO_ACTIVE_LOW>;
55 146
56 snps,en-tx-lpi-clockgating; 147 snps,en-tx-lpi-clockgating;
57 snps,en-lpi; 148 snps,en-lpi;