All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [PATCH 12/20] pinctrl: add i.MXRT driver
Date: Thu, 12 Dec 2019 00:46:10 +0100	[thread overview]
Message-ID: <20191212004610.2cf4c290@jawa> (raw)
In-Reply-To: <75052489-5fc5-d704-8c6f-1cc678a1cb47@benettiengineering.com>

On Wed, 11 Dec 2019 13:40:01 +0100
Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:

> Hi Lukasz,
> 
> On 12/10/19 12:46 AM, Lukasz Majewski wrote:
> > On Mon, 9 Dec 2019 12:54:33 +0100
> > Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
> >   
> >> Hi Lukasz, Stefano, Fabio, all,
> >>
> >> On 12/8/19 3:45 PM, Lukasz Majewski wrote:  
> >>> On Wed,  4 Dec 2019 18:44:31 +0100
> >>> Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
> >>>      
> >>>> Add i.MXRT pinctrl driver.
> >>>>
> >>>> Signed-off-by: Giulio Benetti
> >>>> <giulio.benetti@benettiengineering.com> ---
> >>>>    drivers/pinctrl/nxp/Kconfig         | 14 ++++++++++
> >>>>    drivers/pinctrl/nxp/Makefile        |  1 +
> >>>>    drivers/pinctrl/nxp/pinctrl-imxrt.c | 40
> >>>> +++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+)
> >>>>    create mode 100644 drivers/pinctrl/nxp/pinctrl-imxrt.c
> >>>>
> >>>> diff --git a/drivers/pinctrl/nxp/Kconfig
> >>>> b/drivers/pinctrl/nxp/Kconfig index f2e67ca231..ec55351e61 100644
> >>>> --- a/drivers/pinctrl/nxp/Kconfig
> >>>> +++ b/drivers/pinctrl/nxp/Kconfig
> >>>> @@ -99,6 +99,20 @@ config PINCTRL_MXS
> >>>>    	  familiy, e.g. i.MX28. This feature depends on device
> >>>> tree configuration.
> >>>>    
> >>>> +config PINCTRL_IMXRT
> >>>> +	bool "IMXRT pinctrl driver"
> >>>> +	depends on ARCH_IMXRT && PINCTRL_FULL
> >>>> +	select DEVRES
> >>>> +	select PINCTRL_IMX
> >>>> +	help
> >>>> +	  Say Y here to enable the imxrt pinctrl driver
> >>>> +
> >>>> +	  This provides a simple pinctrl driver for i.MXRT SoC
> >>>> familiy.
> >>>> +	  This feature depends on device tree configuration.
> >>>> This driver
> >>>> +	  is different from the linux one, this is a simple
> >>>> implementation,  
> >>>
> >>> Could you add proper documentation entry (in ./doc/*) in which you
> >>> would point out the differences between the full blown Linux
> >>> driver and this U-Boot driver (I do guess that "only parsing
> >>> 'fsl,pins'" is not the only difference - more details are
> >>> welcome).  
> >>
> >> Sure, but isn't maybe something to be done in the document
> >> below?...  
> > 
> > +1
> >   
> >>  
> >>> And a bit more generic request - it is also nice to add some kind
> >>> of ./doc/README.* documentation in which one can put some hints
> >>> (or usage patterns) for in-uboot boards (like during development
> >>> discovered HW issues, etc.). Such information is priceless when
> >>> other community member wants to use this code/board (and NXP is
> >>> very often silence about them :-) ).  
> >>
> >> Sure, I'm going to provide a
> >> ./doc/device-tree-bindings/pinctrl/fsl,imx-pinctrl.txt unique for
> >> every imx at this point, ok?  
> > 
> > I think that it would be ok, to first focus on iMXRT.  
> 
> Ok
> 
> >>
> >> And what do you think to provide defines in
> >> ./include/dt-bindings/pinctrl/pinctrl-imxrt1050.h for every setting
> >> in PAD? Or better, in a pinctrl-imxrt.h to be included in
> >> pinctrl-imxrt1050.h(since they are the same)
> >> I mean for pull-up/down, drive strength etc.  
> > 
> > I would prefer to have the same files as are (or would be) in the
> > Linux kernel.
> > 
> > Moreover, there are already added
> > ./include/dt-bindings/pinctrl/pads-imx8q* files in this directory.
> > Maybe you could provide similar structure ?  
> 
> They are already exactly the same structure.

Ok.

> 
> >>
> >> Because, even for me that I'm developing, I see it very difficult
> >> to recognize every setting from hexadecimal in dts file, and I
> >> loose the overview. I've already used IMX_PAD_SION to set pad as
> >> input.  
> > 
> > User readable defines DO HELP a lot.
> > 
> > IMX6Q uses for example:
> > 
> >                  fsl,pins = <
> >                          MX6QDL_PAD_CSI0_DAT10__ECSPI2_MISO
> > 0x100b1 MX6QDL_PAD_CSI0_DAT9__ECSPI2_MOSI       0x100b1
> >                          MX6QDL_PAD_CSI0_DAT8__ECSPI2_SCLK
> > 0x100b1  
> >                  >;  
> > 
> > which is in sync with Linux kernel.  
> 
> Yes, but what I was asking is about those 0x100b1 that is a bitmask.
> I would like to introduce or'ed short macros to compose that value.
> But if the first goal is to keep in sync with Linux kernel then I
> leave as is and later I will try to introduce this on Linux first and
> later sync here.

Ok.

> 
> >>
> >> Then I would be happy, to add all definitions for every imx and
> >> modify every dts file, but I'd need everyone to re-test its board.
> >> What about this?  
> > 
> > Let's keep things in sync with Linux kernel as much as possible.
> > This is one of U-Boot's recent goals to:
> > 
> > 1. Reduce maintenance effort
> > 
> > 2. Ease porting of Linux drivers.
> > 
> > What we do need to focus on (in U-Boot) to trim those drivers to
> > keep U-Boot's footprint _really_ small or at least as small as it
> > was before DTS was introduced (in SPL for e.g. i.MX).  
> 
> Ok
> 
> Thank you
> 
> Best regards




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20191212/fc1f9255/attachment.sig>

  reply	other threads:[~2019-12-11 23:46 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-04 17:44 [PATCH 00/20] Add i.MXRT family support Giulio Benetti
2019-12-04 17:44 ` [PATCH 01/20] armv7m: cache: add mmu_set_region_dcache_behaviour() stub for compatibility Giulio Benetti
2019-12-04 17:44 ` [PATCH 02/20] spl: fix entry_point equal to load_addr Giulio Benetti
2019-12-08 14:37   ` Lukasz Majewski
2019-12-09 10:47     ` Giulio Benetti
2019-12-04 17:44 ` [PATCH 03/20] clk: imx: pllv3: register PLLV3 GENERIC and USB as 2 different clocks Giulio Benetti
2019-12-08 14:33   ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 04/20] clk: imx: pllv3: set div_mask differently if PLLV3 is GENERIC or USB Giulio Benetti
2019-12-08 14:32   ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 05/20] clk: imx: pllv3: add enable() support Giulio Benetti
2019-12-04 17:44 ` [PATCH 06/20] clk: imx: pllv3: add disable() support Giulio Benetti
2019-12-08 14:27   ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 07/20] clk: imx: pllv3: add set_rate() support Giulio Benetti
2019-12-08 14:27   ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 08/20] clk: imx: pllv3: add PLLV3_SYS support Giulio Benetti
2019-12-08 14:28   ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 09/20] clk: imx: pllv3: add support for PLLV3_AV type Giulio Benetti
2019-12-08 15:05   ` Lukasz Majewski
2019-12-09 17:13     ` Giulio Benetti
2019-12-10  0:07       ` Lukasz Majewski
2019-12-11 12:47         ` Giulio Benetti
2019-12-12 10:05           ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 10/20] clk: imx: pfd: add set_rate() Giulio Benetti
2019-12-08 14:38   ` Lukasz Majewski
2019-12-04 17:44 ` [PATCH 11/20] clk: imx: add i.IMXRT1050 clk driver Giulio Benetti
2019-12-08 14:40   ` Lukasz Majewski
2019-12-09 10:49     ` Giulio Benetti
2019-12-09 10:53       ` Giulio Benetti
2019-12-09 23:36         ` Lukasz Majewski
2019-12-11 12:30           ` Giulio Benetti
2019-12-04 17:44 ` [PATCH 12/20] pinctrl: add i.MXRT driver Giulio Benetti
2019-12-08 14:45   ` Lukasz Majewski
2019-12-09 11:54     ` Giulio Benetti
2019-12-09 23:46       ` Lukasz Majewski
2019-12-11 12:40         ` Giulio Benetti
2019-12-11 23:46           ` Lukasz Majewski [this message]
2019-12-04 17:44 ` [PATCH 13/20] ARM: dts: imxrt1050: add dtsi file Giulio Benetti
2019-12-04 23:01   ` Giulio Benetti
2019-12-08 14:46   ` Lukasz Majewski
2019-12-09 10:51     ` Giulio Benetti
2019-12-04 17:44 ` [PATCH 14/20] serial_lpuart: add clock enable if CONFIG_CLK is defined Giulio Benetti
2019-12-08 14:52   ` Lukasz Majewski
2019-12-09 15:20     ` Giulio Benetti
2019-12-09 23:48       ` Lukasz Majewski
2019-12-17 18:37         ` Giulio Benetti
2019-12-30  1:21           ` Simon Glass
2019-12-04 17:44 ` [PATCH 15/20] serial_lpuart: add support for i.MXRT Giulio Benetti
2019-12-08 14:58   ` Lukasz Majewski
2019-12-09 12:56     ` Giulio Benetti
2020-01-03 11:39 ` [PATCH 00/20] Add i.MXRT family support Stefano Babic
2020-01-03 14:14   ` Giulio Benetti
2020-01-07 17:23   ` Giulio Benetti
2020-01-08 17:39     ` Simon Glass
2020-01-08 17:53       ` Giulio Benetti
2020-01-09 20:04         ` Simon Glass
2020-01-10 14:05           ` Giulio Benetti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191212004610.2cf4c290@jawa \
    --to=lukma@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.