Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> writes: > On 22/10/2015 16:02, Mans Rullgard wrote: > >> This adds a binding for the Aurora VLSI NB8800 Ethernet controller >> using the "aurora,nb8800" compatible string. When used in Sigma >> Designs chips a few additional control registers are available. >> This variant is indicated by the "sigma,smp8640-ethernet" compatible >> string. >> >> Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> >> --- >> .../devicetree/bindings/net/aurora,nb8800.txt | 26 ++++++++++++++++++++++ >> 1 file changed, 26 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/aurora,nb8800.txt >> >> diff --git a/Documentation/devicetree/bindings/net/aurora,nb8800.txt b/Documentation/devicetree/bindings/net/aurora,nb8800.txt >> new file mode 100644 >> index 0000000..c19f615 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/aurora,nb8800.txt >> @@ -0,0 +1,26 @@ >> +* Aurora VLSI AU-NB8800 Ethernet controller >> + >> +Required properties: >> +- compatible: Should be "aurora,nb8800", "sigma,smp8640-ethernet" >> + The latter indicates presence of extra features added by Sigma Designs. > > I've been meaning to ask a noob question to the devicetree group > about how names for compatible strings are chosen. > > Sigma Designs has two active SoC families, Tango3 (which consists of > about a dozen MIPS-based SoCs, typically named SMP86xx) and Tango4 > (a few ARM-based SoCs, typically named SMP87xx). I should note that > there is no SMP8640 SoC AFAIK, rather SMP864x is a Tango3 sub-family > (I could locate 42,43,44,45,46). > > AFAIK, all our SoCs are using the same Aurora NB8800 Ethernet MAC, > along with the extra features. I find it odd to use a specific SoC > model to refer to this device, instead of a more generic name. > (It's weird having to mention smp8640 in the tango4 DT.) I picked 8640 since all 8640 or higher chips are compatible (863x chips (tango2) are not). Some of the later versions have additional extra features, but they all work with the basic driver. There also appear to be some differences (bug fixes?) between 8643 and 8759 (the ones I have) not documented anywhere. > Would it be possible to have a compatible string which makes it > clear that it is an Aurora MAC with vendor-specific tweaks? > Something like "sigma,aurora-nb8800-mac" ? This doesn't indicate which Sigma modifications are present. If the driver is at some point modified to take advantage of features/fixes in newer chips, it's good to have a naming scheme that can accommodate that. For the SMP8759 devicetree, one could set the compatible list to "sigma,smp8759-ethernet", "sigma,smp8640-ethernet", "aurora,nb8800" indicating the exact device even if the driver currently doesn't care, that it is compatible with the 8640 baseline, and finally the plain aurora as a last fallback. >> +- reg: Should be MMIO address space of the device >> +- interrupts: Should contain the interrupt specifier for the device >> +- interrupt-parent: Should be a phandle for the interrupt controller >> +- clocks: Should be a phandle for the clock for the device >> + >> +Common properties described in ethernet.txt: >> +- local-mac-address >> +- mac-address >> +- max-speed >> +- phy-mode >> + >> +Example: >> + >> +ethernet@26000 { >> + compatible = "aurora,nb8800"; >> + reg = <0x10000 0x800>; >> + interrupts = <42>; > > I thought one had to specify also whether the device sent "edge" > or "level" IRQs? Depends on the interrupt controller. This is just an example. -- Måns Rullgård mans@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html