Re: [PATCH] ARM: dts: imx6sx: Add missing uart mux function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Anson,

On Thu, Feb 13, 2020 at 09:18:10AM +0000, Anson Huang wrote:
> > On Thu, Feb 13, 2020 at 02:43:09PM +0800, Anson Huang wrote:
> > > From: Anson Huang <b20788@xxxxxxxxxxxxx>
> > >
> > > Update i.MX6SX pinfunc header to add uart mux function.
> > 
> > I'm aware you add the macros in a consistent way to the already existing
> > stuff. Still I think there is something to improve here. We now have
> > definitions like:
> > 
> > 	MX6SX_PAD_GPIO1_IO06__UART1_RTS_B
> > 	MX6SX_PAD_GPIO1_IO06__UART1_CTS_B
> > 
> > 	MX6SX_PAD_GPIO1_IO07__UART1_CTS_B
> > 	MX6SX_PAD_GPIO1_IO07__UART1_RTS_B
> > 
> > where (ignoring other pins that could be used) only the following
> > combinations are valid:
> > 
> > 	MX6SX_PAD_GPIO1_IO04__UART1_TX
> > 	MX6SX_PAD_GPIO1_IO05__UART1_RX
> > 	MX6SX_PAD_GPIO1_IO06__UART1_RTS_B
> > 	MX6SX_PAD_GPIO1_IO07__UART1_CTS_B
> > 
> > (in DCE mode) and
> > 
> > 	MX6SX_PAD_GPIO1_IO04__UART1_RX
> > 	MX6SX_PAD_GPIO1_IO05__UART1_TX
> > 	MX6SX_PAD_GPIO1_IO06__UART1_CTS_B
> > 	MX6SX_PAD_GPIO1_IO07__UART1_RTS_B
> > 
> > (in DTE mode).
> 
> Is it possible the using below combination, if possible, then I think the prefix "DTE/DCE" are
> NOT impacting real functions, they are just different names for better identification:
> 
> MX6SX_PAD_GPIO1_IO04__UART1_TX
> MX6SX_PAD_GPIO1_IO05__UART1_RX
> MX6SX_PAD_GPIO1_IO06__UART1_CTS_B
> MX6SX_PAD_GPIO1_IO07__UART1_RTS_B

This is wrong according to my experience. If you look at the diagram in
the i.MX6SX RM in the External Signals chapter (page 4111 in the
IMX6SXRM Rev. 2, 9/2017) you can only either use RX/TX and RTS/CTS for
their original purpose, or swap both pairs together.

> > For i.MX6SLL, i.MX6UL, imx6ULL and i.MX7 the naming convention is saner, a
> > typical definition there is:
> > 
> > 	MX7D_PAD_LPSR_GPIO1_IO04__UART5_DTE_RTS
> > 
> > where the name includes DTE and where is it (more) obvious that this cannot
> > be combined with
> > 
> > 	MX7D_PAD_LPSR_GPIO1_IO07__UART5_DCE_TX
> > 
> > .
> > 
> > I suggest to adapt the latter naming convention also for the other i.MX
> > pinfunc headers, probably with introducing defines for not breaking existing
> > dts files.
> 
> If to improve the name, just change the existing dts files which use them should be OK,
> as this header file ONLY used by DT and should be no compatible issues. So should I
> change the dts files together?

My approach would be one patch for each of:

 - rename existing imx6sx symbols to contain DTE or DCE
   (introducing defines that map the old name to the new)

 - introduce the new defines you added in your patch under discussion
   here (with the new naming scheme obviously)

 - switch all in-tree consumers to the new names
   (maybe offering to split per machine)

I would also drop the _B suffix in the first patch which serves no
useful purpose.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux