From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932899AbcEKOG0 (ORCPT ); Wed, 11 May 2016 10:06:26 -0400 Received: from mail.kernel.org ([198.145.29.136]:47946 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932162AbcEKOGY (ORCPT ); Wed, 11 May 2016 10:06:24 -0400 Date: Wed, 11 May 2016 09:06:18 -0500 From: Rob Herring To: Ray Jui Cc: Linus Walleij , Alexandre Courbot , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, devicetree@vger.kernel.org Subject: Re: [PATCH v2 1/2] dt-bindings: Update iProc GPIO bindings Message-ID: <20160511140618.GA29113@rob-hp-laptop> References: <1462222308-4869-1-git-send-email-ray.jui@broadcom.com> <1462222308-4869-2-git-send-email-ray.jui@broadcom.com> <20160504132020.GA21065@rob-hp-laptop> <6fe293c1-505d-2af9-711a-09e5b5a83e58@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6fe293c1-505d-2af9-711a-09e5b5a83e58@broadcom.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 04, 2016 at 09:29:04AM -0700, Ray Jui wrote: > Hi Rob, > > On 5/4/2016 6:20 AM, Rob Herring wrote: > >On Mon, May 02, 2016 at 01:51:47PM -0700, Ray Jui wrote: > >>Update the iProc GPIO binding document to add new compatible strings > >>"brcm,iproc-gpio-v2" and "brcm,iproc-gpio-v3" for the 2nd and 3rd > >>generation of the iProc GPIO controllers > >> > >>Signed-off-by: Ray Jui > >>--- > >> Documentation/devicetree/bindings/pinctrl/brcm,iproc-gpio.txt | 11 ++++++++++- > >> 1 file changed, 10 insertions(+), 1 deletion(-) > >> > >>diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,iproc-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,iproc-gpio.txt > >>index e427792..3a56649 100644 > >>--- a/Documentation/devicetree/bindings/pinctrl/brcm,iproc-gpio.txt > >>+++ b/Documentation/devicetree/bindings/pinctrl/brcm,iproc-gpio.txt > >>@@ -4,7 +4,16 @@ Required properties: > >> > >> - compatible: > >> Must be "brcm,cygnus-ccm-gpio", "brcm,cygnus-asiu-gpio", > >>- "brcm,cygnus-crmu-gpio" or "brcm,iproc-gpio" > >>+ or "brcm,cygnus-crmu-gpio" for Cygnus SoCs > >>+ > >>+ "brcm,iproc-gpio" for the first generation of the GPIO controller that > >>+ supports full-featured pinctrl and GPIO functions used in iProc based SoCs > >>+ > >>+ "brcm,iproc-gpio-v2" for the second generation of the GPIO controller that > >>+ has the drive strength pinctrl support disabled, e.g., in the iProc NSP SoC > >>+ > >>+ "brcm,iproc-gpio-v3" for the third generation of the GPIO controller that > >>+ has the general pinctrl support completely disabled > > > >You can have these for driver matching, but you still need SoC specific > >compatible strings. > > > >Rob > > > > I think I'm missing something and hope you can help to clarify here. It > looks like the notion of v2, v3 should only be used if there's an indeed an > revision update on the controller IP itself, correct? Yes, but only if v2, v3 is actually a meaningful number rather than something made up. You have to have a well defined process of IP revisions which I have not seen during my time in chip companies, so I'm generally suspicious of version numbers. The exception is FPGA IP blocks. > In our case, if the same revision of GPIO controller is used but instead > synthesized differently with different SoCs, then you are suggesting here > that it should be dealt with SoC specific compatible string, correct? Yes, that and/or integration differences is why you need SoC specific compatible strings. A block could be "identical" but have different max frequency for example. > For example, for the GPIO controller on NSP where drive strength is > disabled, the compatible string in DT should look like this? > > compatible = "brcm,iproc-gpio", "brcm,iproc-gpio-nsp"; Yes, but reverse the order. Most specific to least specific. > > For the GPIO controller on Stingray where pinconf is completely disabled, > the compatible string in DT should look like: > > compatible = "brcm,iproc-gpio", "brcm,iproc-gpio-stingray"; > > Is that correct? > > Thanks, > > Ray