1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/net/cortina,gemini-ethernet.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Cortina Systems Gemini Ethernet Controller
10 - Linus Walleij <linus.walleij@linaro.org>
13 This ethernet controller is found in the Gemini SoC family:
14 StorLink SL3512 and SL3516, also known as Cortina Systems
19 const: cortina,gemini-ethernet
23 description: must contain the global registers and the V-bit and A-bit
24 memory areas, in total three register sets.
34 # The subnodes represents the two ethernet ports in this device.
35 # They are not independent of each other since they share resources
36 # in the parent node, and are thus children.
38 "^ethernet-port@[0-9]+$":
40 unevaluatedProperties: false
41 description: contains the resources for ethernet port
43 - $ref: ethernet-controller.yaml#
46 const: cortina,gemini-ethernet-port
50 - description: DMA/TOE memory
51 - description: GMAC memory area of the port
55 description: should contain the interrupt line of the port.
56 this is nominally a level interrupt active high.
60 description: this must provide an SoC-integrated reset line for the port.
64 description: this should contain a handle to the PCLK clock for
65 clocking the silicon in this port
83 additionalProperties: false
87 #include <dt-bindings/interrupt-controller/irq.h>
88 #include <dt-bindings/clock/cortina,gemini-clock.h>
89 #include <dt-bindings/reset/cortina,gemini-reset.h>
93 phy0: ethernet-phy@1 {
95 device_type = "ethernet-phy";
97 phy1: ethernet-phy@3 {
99 device_type = "ethernet-phy";
105 compatible = "cortina,gemini-ethernet";
106 reg = <0x60000000 0x4000>, /* Global registers, queue */
107 <0x60004000 0x2000>, /* V-bit */
108 <0x60006000 0x2000>; /* A-bit */
109 #address-cells = <1>;
113 gmac0: ethernet-port@0 {
114 compatible = "cortina,gemini-ethernet-port";
115 reg = <0x60008000 0x2000>, /* Port 0 DMA/TOE */
116 <0x6000a000 0x2000>; /* Port 0 GMAC */
117 interrupt-parent = <&intcon>;
118 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
119 resets = <&syscon GEMINI_RESET_GMAC0>;
120 clocks = <&syscon GEMINI_CLK_GATE_GMAC0>;
121 clock-names = "PCLK";
123 phy-handle = <&phy0>;
126 gmac1: ethernet-port@1 {
127 compatible = "cortina,gemini-ethernet-port";
128 reg = <0x6000c000 0x2000>, /* Port 1 DMA/TOE */
129 <0x6000e000 0x2000>; /* Port 1 GMAC */
130 interrupt-parent = <&intcon>;
131 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
132 resets = <&syscon GEMINI_RESET_GMAC1>;
133 clocks = <&syscon GEMINI_CLK_GATE_GMAC1>;
134 clock-names = "PCLK";
136 phy-handle = <&phy1>;