[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171105231909.5599-1-linus.walleij@linaro.org>
Date: Mon, 6 Nov 2017 00:19:05 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...oirfairelinux.com>,
Florian Fainelli <f.fainelli@...il.com>
Cc: netdev@...r.kernel.org, Linus Walleij <linus.walleij@...aro.org>
Subject: [PATCH 0/4] RFC: Realtek 83xx SMI driver core
Hi folks,
I'm working a bit on this. Since DSA is big, complex and hard for
a novice I just wanted to throw what I have in my tree out there
so you can take a look at how I hacked this up and give me some
help how to continue.
I am running it for trials on the D-Link DIR-685 and it looks
fun, but my ethernet driver for Gemini is not yet working so
I cannot really do proper testing. I'll get there I guess.
Example from dmesg:
realtek-smi 0.switch: deasserted RESET
realtek-smi 0.switch: found an RTL8366RB switch
DSA: switch 0 0 parsed
DSA: tree 0 parsed
realtek-smi 0.switch: RTL5937 ver 3 chip found
realtek-smi 0.switch: active low/falling IRQ
realtek-smi 0.switch: set MAC: CE:32:3B:FB:58:13
libphy: dsa slave smi: probed
RTL8366RB Gigabit Ethernet dsa-0.0:00: attached PHY driver [RTL8366RB Gigabit Ethernet] (mii_bus:phy_addr=dsa-0.0:00, irq=37)
RTL8366RB Gigabit Ethernet dsa-0.0:01: attached PHY driver [RTL8366RB Gigabit Ethernet] (mii_bus:phy_addr=dsa-0.0:01, irq=38)
RTL8366RB Gigabit Ethernet dsa-0.0:02: attached PHY driver [RTL8366RB Gigabit Ethernet] (mii_bus:phy_addr=dsa-0.0:02, irq=39)
RTL8366RB Gigabit Ethernet dsa-0.0:03: attached PHY driver [RTL8366RB Gigabit Ethernet] (mii_bus:phy_addr=dsa-0.0:03, irq=40)
RTL8366RB Gigabit Ethernet dsa-0.0:04: attached PHY driver [RTL8366RB Gigabit Ethernet] (mii_bus:phy_addr=dsa-0.0:04, irq=41)
realtek-smi 0.switch: adjust link on CPU port
gmac-gemini 60000000.ethernet eth0: connected to PHY "fixed-0:00"
Generic PHY fixed-0:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=fixed-0:00, irq=POLL)
phy_id=0x00000000, phy_mode=rgmii
gmac-gemini 60000000.ethernet: set GMAC0 and GMAC1 to MII/RGMII mode
gmac-gemini 60000000.ethernet eth0: connect to RGMII
gmac-gemini 60000000.ethernet eth0: opened
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
realtek-smi 0.switch: enable port 0
IPv6: ADDRCONF(NETDEV_UP): lan0: link is not ready
realtek-smi 0.switch lan0: Link is Down
realtek-smi 0.switch lan0: Link is Up - 1Gbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): lan0: link becomes ready
cat /proc/interrupts
36: 6 FTGPIO010 15 Level RTL8366RB
37: 3 RTL8366RB 0 Edge dsa-0.0:00
38: 0 RTL8366RB 1 Edge dsa-0.0:01
39: 2 RTL8366RB 2 Edge dsa-0.0:02
40: 2 RTL8366RB 3 Edge dsa-0.0:03
41: 0 RTL8366RB 4 Edge dsa-0.0:04
Plugged some cables in/out. Hooray, no polling needed.
Linus Walleij (4):
RFC: net/dsa: Allow DSA PHYs to define link IRQs
RFC: net: phy: realtek: Support RTL8366RB variant
RFC: net: dsa: Add bindings for Realtek SMI DSAs
RFC: net: dsa: realtek-smi: Add Realtek SMI driver
.../devicetree/bindings/net/dsa/realtek-smi.txt | 104 ++
drivers/net/dsa/Kconfig | 12 +
drivers/net/dsa/Makefile | 2 +
drivers/net/dsa/realtek-smi.c | 436 ++++++++
drivers/net/dsa/realtek-smi.h | 145 +++
drivers/net/dsa/rtl8366.c | 493 +++++++++
drivers/net/dsa/rtl8366rb.c | 1103 ++++++++++++++++++++
drivers/net/phy/realtek.c | 32 +
net/dsa/slave.c | 8 +
9 files changed, 2335 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/dsa/realtek-smi.txt
create mode 100644 drivers/net/dsa/realtek-smi.c
create mode 100644 drivers/net/dsa/realtek-smi.h
create mode 100644 drivers/net/dsa/rtl8366.c
create mode 100644 drivers/net/dsa/rtl8366rb.c
--
2.13.6
Powered by blists - more mailing lists