Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp588834ybz; Wed, 29 Apr 2020 05:59:11 -0700 (PDT) X-Google-Smtp-Source: APiQypIcqbenoEiJg8gjgJBqyX9+oRPfhToV1xo4FCUsx64t6gh7Kr58+n/zBFGh2MVOE8Gk6zzI X-Received: by 2002:a17:907:9c4:: with SMTP id bx4mr2366087ejc.199.1588165151774; Wed, 29 Apr 2020 05:59:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588165151; cv=none; d=google.com; s=arc-20160816; b=Rd290+NDEn//c3BF0xt/S4gka7xCYezqRAJJVaISgltduqgZX0h6WpjQXR0z+PdzNY jEhQ6vOQAktGuCBVS6lqGmRVThBunq+CaDe7tcH9PeErq7+XrYGDchLgGogYldkEpwXD 8AQUskNm23OIGLaZF1xYY49qrqRoiuP4DUMVYubqC8YXWpZI1RZrnHwPOwSn0jYzVh+j 2pokdEkaiPaFFZBCHe7iSqa7l9kWvCsvKVFWkMUUvS2EFN4pIy3e4FgCoGZszBO98ouh 96wE0h53i0xzft+mj8+7f52ewW6iwv+X7iFZyF93lLdEUPSF0KIkmb3N4NcP+G/iI04P wO6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=XYk/cAtFVHXNtNHbOE2qkoNRhInGbwIFRUiqQNZ88tg=; b=IOMocuavZm5tyJPpLn7HVYEZ3PLO6lVQq3sBSPzMLdMtCukjVeIvv+5stSiAE7gsFq voSrd2db7WenNX0tCv1M6F54gzP0FVXME9trco9tbxxZMv+U4sH5p6MCSRwnG++MGrbP DPQXSYsFu2iQaEaFaeCczFxBK1pFFokCEzvZI432jsnyHykIBxM0k1169LS7c5ufysGt RcI6gxKRZA0zCqBZoD2wdXnQ+w8A/3mJAay4+oo5W+oAedxgJa+M9rjvsuLRFOWLYkuT JHjS4kvF8Xk4Is5kcWNLmaujtFcMJvP+mxJpLl+EPH29NOoR8So87lXmIaDTAWDajQsB fLtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@beagleboard-org.20150623.gappssmtp.com header.s=20150623 header.b=a8f8v67x; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x3si3586691edq.193.2020.04.29.05.58.47; Wed, 29 Apr 2020 05:59:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@beagleboard-org.20150623.gappssmtp.com header.s=20150623 header.b=a8f8v67x; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726853AbgD2M4y (ORCPT + 99 others); Wed, 29 Apr 2020 08:56:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726822AbgD2M4y (ORCPT ); Wed, 29 Apr 2020 08:56:54 -0400 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE045C03C1AD for ; Wed, 29 Apr 2020 05:56:53 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id g13so2383884wrb.8 for ; Wed, 29 Apr 2020 05:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beagleboard-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=XYk/cAtFVHXNtNHbOE2qkoNRhInGbwIFRUiqQNZ88tg=; b=a8f8v67xBBbbpVhP2ojbET/hNZ3Ft77EH/K9RBJwH5wAvLfAJLqRVT2ulzFZaaZIXy onGt6EFhq3iuy6nIXexzHVJYzYcfkkAzA+6SpfXAI9RskOGq/pXoz/AD1jwiEyky4/79 cxN3FZXm6gJdqOutPm09CdS5OKpF0APItnoMKKPFV8iMzX8znQ7mOuLK7eN32qZaIq1m I/t/KNO7kcR6EGvWH/GWCPerfPLZ/n8tiwz8b+DGInDvsumojtLJWfmr5OknjMByR14R QEPY87GcCzIsXU+Jyq5pHfSEPN6fmtm9kCGBigAdgAJRd7EN5XMvzhSIaRUL89Xgmmo6 /1nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=XYk/cAtFVHXNtNHbOE2qkoNRhInGbwIFRUiqQNZ88tg=; b=VjTpxl5yQx0yI1u3IxHVfmLBMW3BtHe5PsHhDWsqbB200FuNqhK3KhceXZDhExEqTP giluGpQpAa2GOpuin3+q0A3JglrxDkNfEHQXdhUPtOBhXx37O7m5BZ5guunL5I2Ybzfm Afwa+Ht56zAV1L8z3hmsUmQagq6v71MEiZxriSmU5otHVF0rky1suFaCpgMWaekYRuPM Tc5zHwxJST46RLdAIhiklYj/3tuI5BYGMuSDR+r98qBwi28fASbt01fZljuwty2KUJv6 HJmSwPdno1IZUUlL43fS5pFxomKCls+Sv1Vo83sejEL8bISQr/jjW3Akg/DDBj4zlWJp EXLA== X-Gm-Message-State: AGi0Pua5GcHQPQFtcmqjh0o1kTaLDGYusallNZBlZNwh9p2ZuuaiJ8XE rgfRqCPOAVt3FmSPV2CrGQQG4w== X-Received: by 2002:adf:a309:: with SMTP id c9mr36694231wrb.97.1588165012332; Wed, 29 Apr 2020 05:56:52 -0700 (PDT) Received: from x1 (i59F66838.versanet.de. [89.246.104.56]) by smtp.gmail.com with ESMTPSA id h13sm28683465wrs.22.2020.04.29.05.56.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2020 05:56:51 -0700 (PDT) Date: Wed, 29 Apr 2020 14:57:36 +0200 From: Drew Fustini To: Grygorii Strashko Cc: =?iso-8859-1?Q?Beno=EEt?= Cousson , Tony Lindgren , Rob Herring , linux-omap@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jason Kridner , Robert Nelson Subject: Re: [PATCH] arm: dts: am33xx-l4: add gpio-line-names to gpio controllers Message-ID: <20200429125736.GA31476@x1> References: <20200427233116.GA18917@x1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 28, 2020 at 10:37:43AM +0300, Grygorii Strashko wrote: > > > On 28/04/2020 02:31, Drew Fustini wrote: > > Add gpio-line-names properties to the gpio controller nodes. The names > > correspond to the AM335x pin names which are also the muxmode 0 signal > > names. Refer to "Table 4-2. Pin Attributes" in the TI AM335x Sitara > > Processors datasheet: > This misuse GPIO DT bindings: > " > Optionally, a GPIO controller may have a "gpio-line-names" property. This is > an array of strings defining the names of the GPIO lines going out of the > GPIO controller. This name should be the most meaningful producer name > for the system, such as a rail name indicating the usage. Package names > such as pin name are discouraged: such lines have opaque names (since they > are by definition generic purpose) and such names are usually not very > helpful. For example "MMC-CD", "Red LED Vdd" and "ethernet reset" are > reasonable line names as they describe what the line is used for. "GPIO0" > is not a good name to give to a GPIO line. Placeholders are discouraged: > rather use the "" (blank string) if the use of the GPIO line is undefined > in your design. The names are assigned starting from line offset 0 from > left to right from the passed array. An incomplete array (where the number > of passed named are less than ngpios) will still be used up until the last > provided valid line index. > " Thank you for pointing out that "Package names such as pin name are discouraged". That is what I was doing in that patch which I now realize is incorrect. The goal to adding the gpio-line-names was to have gpioinfo provide helpful information to a user on the BeagleBone. Currently this is all that appears when booting 5.7-rc2 on a BegaleBone: debian@beaglebone:~$ gpioinfo gpiochip0 - 32 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed unused input active-high line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed "cd" input active-low [used] line 7: unnamed unused input active-high line 8: unnamed unused input active-high line 9: unnamed unused input active-high line 10: unnamed unused input active-high line 11: unnamed unused input active-high line 12: unnamed unused input active-high line 13: unnamed unused input active-high line 14: unnamed unused input active-high line 15: unnamed unused input active-high line 16: unnamed unused input active-high line 17: unnamed unused input active-high line 18: unnamed unused input active-high line 19: unnamed unused input active-high line 20: unnamed unused input active-high line 21: unnamed unused input active-high line 22: unnamed unused input active-high line 23: unnamed unused input active-high line 24: unnamed unused input active-high line 25: unnamed unused input active-high line 26: unnamed unused input active-high line 27: unnamed unused input active-high line 28: unnamed unused input active-high line 29: unnamed unused input active-high line 30: unnamed unused input active-high line 31: unnamed unused input active-high gpiochip1 - 32 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed unused input active-high line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed unused input active-high line 7: unnamed unused input active-high line 8: unnamed unused input active-high line 9: unnamed unused input active-high line 10: unnamed unused input active-high line 11: unnamed unused input active-high line 12: unnamed unused input active-high line 13: unnamed unused input active-high line 14: unnamed unused input active-high line 15: unnamed unused input active-high line 16: unnamed unused input active-high line 17: unnamed unused input active-high line 18: unnamed unused input active-high line 19: unnamed unused input active-high line 20: unnamed unused input active-high line 21: unnamed "beaglebone:green:usr0" output active-high [used] line 22: unnamed "beaglebone:green:usr1" output active-high [used] line 23: unnamed "beaglebone:green:usr2" output active-high [used] line 24: unnamed "beaglebone:green:usr3" output active-high [used] line 25: unnamed unused input active-high line 26: unnamed unused input active-high line 27: unnamed unused input active-high line 28: unnamed unused input active-high line 29: unnamed unused input active-high line 30: unnamed unused input active-high line 31: unnamed unused input active-high gpiochip2 - 32 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed unused input active-high line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed unused input active-high line 7: unnamed unused input active-high line 8: unnamed unused input active-high line 9: unnamed unused input active-high line 10: unnamed unused input active-high line 11: unnamed unused input active-high line 12: unnamed unused input active-high line 13: unnamed unused input active-high line 14: unnamed unused input active-high line 15: unnamed unused input active-high line 16: unnamed unused input active-high line 17: unnamed unused input active-high line 18: unnamed unused input active-high line 19: unnamed unused input active-high line 20: unnamed unused input active-high line 21: unnamed unused input active-high line 22: unnamed unused input active-high line 23: unnamed unused input active-high line 24: unnamed unused input active-high line 25: unnamed unused input active-high line 26: unnamed unused input active-high line 27: unnamed unused input active-high line 28: unnamed unused input active-high line 29: unnamed unused input active-high line 30: unnamed unused input active-high line 31: unnamed unused input active-high gpiochip3 - 32 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed unused input active-high line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed unused input active-high line 7: unnamed unused input active-high line 8: unnamed unused input active-high line 9: unnamed unused input active-high line 10: unnamed unused input active-high line 11: unnamed unused input active-high line 12: unnamed unused input active-high line 13: unnamed unused input active-high line 14: unnamed unused input active-high line 15: unnamed unused input active-high line 16: unnamed unused input active-high line 17: unnamed unused input active-high line 18: unnamed unused input active-high line 19: unnamed unused input active-high line 20: unnamed unused input active-high line 21: unnamed unused input active-high line 22: unnamed unused input active-high line 23: unnamed unused input active-high line 24: unnamed unused input active-high line 25: unnamed unused input active-high line 26: unnamed unused input active-high line 27: unnamed unused input active-high line 28: unnamed unused input active-high line 29: unnamed unused input active-high line 30: unnamed unused input active-high line 31: unnamed unused input active-high I discussed it with Robert Nelson and Jason Kridner and the idea came up that using the beagle pin header labels would be more useful than the AM3358 pin names. > Additional note. On other TI SoCs like am437x the same gpio line can be routed to more > than one pin (but only one pin can be used). > gpio0_0 GPIO IO -> A17, D16 Thank you for that insights. Instead of am33xx-l4.dtsi, I am thinking of adding a gpio-line-names property in: source/arch/arm/boot/dts/am335x-bone-common.dtsi For gpiochip0, line 0 and line 1 would be "" as they are not connected to P8/P9 header. line 2 would be labeled "P9_22", line 3 would be "P9_21", etc. I'll post a complete patch for am335x-bone-common.dtsi and the gpioinfo output to demonstrate the usefulness. thanks, drew