From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753516AbbJZJec (ORCPT ); Mon, 26 Oct 2015 05:34:32 -0400 Received: from mail1.bemta8.messagelabs.com ([216.82.243.193]:60472 "EHLO mail1.bemta8.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753347AbbJZJea (ORCPT ); Mon, 26 Oct 2015 05:34:30 -0400 X-Env-Sender: Marc_Gonzalez@sigmadesigns.com X-Msg-Ref: server-6.tower-220.messagelabs.com!1445852055!1871046!1 X-Originating-IP: [195.215.56.170] X-StarScan-Received: X-StarScan-Version: 7.19.2; banners=-,-,- X-VirusChecked: Checked Subject: Re: [PATCH 2/3] devicetree: add binding for Aurora VLSI NB8800 Ethernet controller To: Mans Rullgard CC: DT , Kumar Gala , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , , Sebastian Frias , Thibaud Cornic , Mason References: <1445522558-5808-1-git-send-email-mans@mansr.com> <1445522558-5808-2-git-send-email-mans@mansr.com> <562A23B9.3090208@sigmadesigns.com> From: Marc Gonzalez Message-ID: <562DF394.3030500@sigmadesigns.com> Date: Mon, 26 Oct 2015 10:34:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0 SeaMonkey/2.38 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 8bit X-Originating-IP: [172.27.0.114] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 23/10/2015 15:41, Måns Rullgård wrote: > Marc Gonzalez wrote: > >> 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. >> >> 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). Just to make things a bit more confusing, I learned that Sigma made one MIPS-based Tango4 SoC... >> 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. According to my branch's FAEs, the first Tango3 was SMP8644. I showed the DT to a colleague, and his reaction was: "Don't use smp8640, it will confuse other engineers, Sigma didn't make a 8640 SoC." http://www.qobuz.com/info/IMG/pdf/SMP8643.pdf Would you be willing to change the compatible string to "sigma,smp8644-foo" or "sigma,smp864x-foo" ? If it's not possible, I suppose I can add comments in the DT, to clear the potential confusion for Sigma engineers. > There also appear to be some differences (bug fixes?) between 8643 and > 8759 (the ones I have) not documented anywhere. Suppose you identify these differences, and you make the appropriate changes to the driver. What compatible string would you use to refer to the new features? I used "sigma,tango4-ethernet" but IIUC it must be more specific, such as the first Tango4 chip to implement these changes (I guess that would be the SMP8734). So I should write something like this in my DT? eth0: ethernet@26000 { compatible = "sigma,smp8734-ethernet", "sigma,smp8640-ethernet", "aurora,nb8800"; Hmmm, you mention this below, but you used "sigma,smp8759-ethernet". What about earlier chips? >> 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. [Preserved for context] Regards.