netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@savoirfairelinux.com>,
	Florian Fainelli <f.fainelli@gmail.com>
Cc: netdev@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Antti Seppälä" <a.seppala@gmail.com>,
	"Roman Yeryomin" <roman@advem.lv>,
	"Colin Leitner" <colin.leitner@googlemail.com>,
	"Gabor Juhos" <juhosg@openwrt.org>,
	devicetree@vger.kernel.org
Subject: [PATCH 3/4] RFC: net: dsa: Add bindings for Realtek SMI DSAs
Date: Mon,  6 Nov 2017 00:19:08 +0100	[thread overview]
Message-ID: <20171105231909.5599-4-linus.walleij@linaro.org> (raw)
In-Reply-To: <20171105231909.5599-1-linus.walleij@linaro.org>

The Realtek SMI family is a set of DSA chips that provide
switching in routers. This binding just follows the pattern
set by other switches but with the introduction of an embedded
irqchip to demux and handle the interrupts fired by the single
line from the chip.

This interrupt construction is similar to how we handle
interrupt controllers inside PCI bridges etc.

Cc: Antti Seppälä <a.seppala@gmail.com>
Cc: Roman Yeryomin <roman@advem.lv>
Cc: Colin Leitner <colin.leitner@googlemail.com>
Cc: Gabor Juhos <juhosg@openwrt.org>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 .../devicetree/bindings/net/dsa/realtek-smi.txt    | 104 +++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/realtek-smi.txt

diff --git a/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt b/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt
new file mode 100644
index 000000000000..95e96d49c0be
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt
@@ -0,0 +1,104 @@
+Realtek SMI-based Switches
+==========================
+
+The SMI "Simple Management Interface" is a two-wire protocol using
+bit-banged GPIO that while it reuses the MDIO lines MCK and MDIO does
+not use the MDIO protocol. This binding defines how to specify the
+SMI-based Realtek devices.
+
+Required properties:
+
+- compatible: must be exactly one of:
+      "realtek,rtl8366"
+      "realtek,rtl8369"
+      "realtek,rtl8366rb"
+      "realtek,rtl8366s"
+      "realtek,rtl8367"
+      "realtek,rtl8367b"
+
+Required subnode:
+
+- interrupt-controller
+
+  This defines an interrupt controller with an IRQ line (typically
+  a GPIO) that will demultiplex and handle the interrupt from the single
+  interrupt line coming out of one of the SMI-based chips. It most
+  importantly provides link up/down interrupts to the PHY blocks inside
+  the ASIC.
+
+Required properties of interrupt-controller:
+
+- interrupt: parent interrupt, see interrupt-controller/interrupts.txt
+- interrupt-controller: see interrupt-controller/interrupts.txt
+- #address-cells: should be <0>
+- #interrupt-cells: should be <1>
+
+See net/dsa/dsa.txt for a list of additional required and optional properties
+and subnodes.
+
+
+Examples:
+
+switch {
+	compatible = "realtek,rtl8366rb";
+	reg = <0>;
+	/* 22 = MDIO (has input reads), 21 = MDC (clock, output only) */
+	mdc-gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
+	mdio-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
+	reset-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
+
+	switch_intc: interrupt-controller {
+		/* GPIO 15 provides the interrupt */
+		interrupt-parent = <&gpio0>;
+		interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-controller;
+		#address-cells = <0>;
+		#interrupt-cells = <1>;
+	};
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <0>;
+		port@0 {
+			reg = <0>;
+			label = "lan0";
+			interrupt-parent = <&switch_intc>;
+			interrupts = <0>;
+		};
+		port@1 {
+			reg = <1>;
+			label = "lan1";
+			interrupt-parent = <&switch_intc>;
+			interrupts = <1>;
+		};
+		port@2 {
+			reg = <2>;
+			label = "lan2";
+			interrupt-parent = <&switch_intc>;
+			interrupts = <2>;
+		};
+		port@3 {
+			reg = <3>;
+			label = "lan3";
+			interrupt-parent = <&switch_intc>;
+			interrupts = <3>;
+		};
+		port@4 {
+			reg = <4>;
+			label = "wan";
+			interrupt-parent = <&switch_intc>;
+			interrupts = <4>;
+		};
+		phy0: port@5 {
+			reg = <5>;
+			label = "cpu";
+			ethernet = <&gmac0>;
+			phy-mode = "rgmii";
+			fixed-link {
+				speed = <1000>;
+				full-duplex;
+			};
+		};
+	};
+};
-- 
2.13.6

  parent reply	other threads:[~2017-11-05 23:23 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-05 23:19 [PATCH 0/4] RFC: Realtek 83xx SMI driver core Linus Walleij
2017-11-05 23:19 ` [PATCH 1/4] RFC: net/dsa: Allow DSA PHYs to define link IRQs Linus Walleij
2017-11-05 23:19 ` [PATCH 2/4] RFC: net: phy: realtek: Support RTL8366RB variant Linus Walleij
2017-11-05 23:19 ` Linus Walleij [this message]
2017-11-05 23:48   ` [PATCH 3/4] RFC: net: dsa: Add bindings for Realtek SMI DSAs Andrew Lunn
     [not found]     ` <20171105234831.GA24822-g2DYL2Zd6BY@public.gmane.org>
2017-11-29 12:24       ` Linus Walleij
2017-11-29 15:56         ` Andrew Lunn
2017-11-29 21:28           ` Linus Walleij
     [not found]             ` <CACRpkdZVXgFMiHpyUqw7ONYDcq6Htn3rTMRaBJkzd6T3WtX36A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-29 21:48               ` Florian Fainelli
2017-11-29 21:56             ` Andrew Lunn
     [not found]               ` <20171129215659.GC1706-g2DYL2Zd6BY@public.gmane.org>
2017-11-29 23:19                 ` Linus Walleij
2017-11-29 23:26                   ` Florian Fainelli
     [not found]                     ` <f9bfa1e1-7f05-1e2b-6663-09d4d3bf6a12-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-11-29 23:36                       ` Andrew Lunn
2017-12-02 12:56                     ` Linus Walleij
     [not found]                       ` <CACRpkdYoMVNh8eaTnaDQ59bsh4bC88biLaYSXyhnc4W83PMWzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-04 22:50                         ` Andrew Lunn
2017-11-05 23:19 ` [PATCH 4/4] RFC: net: dsa: realtek-smi: Add Realtek SMI driver Linus Walleij
2017-11-05 23:59   ` Andrew Lunn
2017-11-06  8:25     ` Linus Walleij
2017-11-09 12:49   ` Roman Yeryomin
2017-11-09 13:24     ` Andrew Lunn
2017-11-09 15:11       ` Roman Yeryomin
2017-11-09 15:38         ` Andrew Lunn
2017-11-09 17:21           ` Roman Yeryomin
2017-11-09 17:24             ` Andrew Lunn
2017-11-09 18:08               ` Florian Fainelli
2017-11-10  8:16                 ` Linus Walleij
2017-11-10 12:05                 ` Roman Yeryomin
2017-11-10 12:02               ` Roman Yeryomin
2017-11-10 13:51                 ` Andrew Lunn
2017-11-10 12:17       ` Egil Hjelmeland
2017-11-10 14:01         ` Andrew Lunn
2018-04-02 16:10 ` [PATCH 0/4] RFC: Realtek 83xx SMI driver core Carl-Daniel Hailfinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171105231909.5599-4-linus.walleij@linaro.org \
    --to=linus.walleij@linaro.org \
    --cc=a.seppala@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=colin.leitner@googlemail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=juhosg@openwrt.org \
    --cc=netdev@vger.kernel.org \
    --cc=roman@advem.lv \
    --cc=vivien.didelot@savoirfairelinux.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).