Thread (9 messages) flat view 9 messages, 4 authors, 2012-03-12

[PATCH] stmmac: Add device-tree support

From: Giuseppe CAVALLARO <hidden>
Date: 2012-03-12 15:30:37
Also in: linux-devicetree, netdev

On 3/12/2012 4:06 PM, Stefan Roese wrote:
Hi Rob,

On Monday 12 March 2012 15:34:59 Rob Herring wrote:
quoted
On 03/12/2012 09:05 AM, Stefan Roese wrote:
quoted
This patch adds support to configure the STMMAC ethernet driver via
device-tree instead of platform_data.

Currently, only the properties needed on SPEAr600 are provided. All
other properties should be added once needed on other platforms.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Giuseppe Cavallaro <redacted>
Cc: Viresh Kumar <redacted>
---

 Documentation/devicetree/bindings/net/stmmac.txt   |   38 +++++++++++
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  |   66
 +++++++++++++++++++- 2 files changed, 103 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/net/stmmac.txt
diff --git a/Documentation/devicetree/bindings/net/stmmac.txt
b/Documentation/devicetree/bindings/net/stmmac.txt new file mode 100644
index 0000000..386a47f
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/stmmac.txt
@@ -0,0 +1,38 @@
+* STMicroelectronics 10/100/1000 Ethernet driver (GMAC)
+
+Required properties:
+- compatible: Should be "stm,gmac"
This is too generic. This should be 1 string per version of h/w.
Viresh, Giuseppe, can you please suggest a proper string for the SPEAr600 
STMMAC core, including version?
 
quoted
'stm' should be 'st' according to vendor-prefixes.txt.
I'm not familiar with devicetree; maybe we should have:

"stmicro,mac100"
"stmicro,gmac"

or: st instead of stmicro if you prefer.

in fact, stmmac is for mac100 and gmac devices.
Okay.
 
quoted
quoted
+- reg: Address and length of the register set for the device
+- interrupt-parent: Should be the phandle for the interrupt controller
+  that services interrupts for this device
+- interrupts: Should contain the STMMAC interrupts
+- interrupt-names: Should contain the interrupt names "macirq"
+  "eth_wake_irq" if this interrupt is supported in the "interrupts"
+  property
You should be able to tell this from the compatible string and number of
interrupts.
Yes. Currently the driver uses platform_get_irq_byname() to register the 
irq's. That's why I added these properties. Is there something wrong with 
using it this way?
 
quoted
quoted
+- phy-mode: String, operation mode of the PHY interface.
+  Supported values are: "mii", "rmii", "gmii", "rgmii".
+- phy-addr: MDIO address of the PHY
This is normally probed or the mdio bus is a sub-node of the MAC node.
See arch/powerpc/boot/dts/mpc8377_mds.dts for an example.
Okay, I'll rework this.
quoted
quoted
+
+Optional properties:
+- stm,prog-burst-len: Specify the burst length
+- stm,has-gmac: Indicates that the controller supports 1000Mbps
+- stm,has-pmt: Indicates that the controller supports power management
I think these should all be encoded by the compatible string.
and should we have all the other flags e.g. tx_coe etc?
(see stmmac.txt)

Peppe
You mean that by defining a specific compatible string (e.g.
"st,gmac-spear600"), these settings are implicitly set? And should therefore 
be omitted from the dts?

Thanks,
Stefan
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help