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

Reply via email to