* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
@ 2011-02-11 10:41 julien.boibessot at free.fr
2011-02-11 12:25 ` Richard Zhao
0 siblings, 1 reply; 7+ messages in thread
From: julien.boibessot at free.fr @ 2011-02-11 10:41 UTC (permalink / raw)
To: linux-arm-kernel
From: Julien Boibessot <julien.boibessot@armadeus.com>
Fixes a regression of recent iomux changes: current MX51_PAD_UART2_TXD__UART2_TXD
declaration overwrites IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT register
(0x09ec) and prevent UART2 Rx from working properly.
(Tested on my custom i.MX51 board where UART2 is used as console)
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
---
Changes since v1:
- Improve patch description as requested by Sascha Hauer
arch/arm/plat-mxc/include/mach/iomux-mx51.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx51.h b/arch/arm/plat-mxc/include/mach/iomux-mx51.h
index b6767f9..df531aa 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-mx51.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-mx51.h
@@ -473,7 +473,7 @@
#define _MX51_PAD_UART2_RXD__UART2_RXD IOMUX_PAD(0x628, 0x238, 0, 0x09ec, 2, 0)
#define _MX51_PAD_UART2_TXD__FIRI_RXD IOMUX_PAD(0x62c, 0x23c, 1, 0x0000, 0, 0)
#define _MX51_PAD_UART2_TXD__GPIO1_21 IOMUX_PAD(0x62c, 0x23c, 3, 0x0000, 0, 0)
-#define _MX51_PAD_UART2_TXD__UART2_TXD IOMUX_PAD(0x62c, 0x23c, 0, 0x09ec, 3, 0)
+#define _MX51_PAD_UART2_TXD__UART2_TXD IOMUX_PAD(0x62c, 0x23c, 0, 0x0000, 0, 0)
#define _MX51_PAD_UART3_RXD__CSI1_D0 IOMUX_PAD(0x630, 0x240, 2, 0x0000, 0, 0)
#define _MX51_PAD_UART3_RXD__GPIO1_22 IOMUX_PAD(0x630, 0x240, 3, 0x0000, 0, 0)
#define _MX51_PAD_UART3_RXD__UART1_DTR IOMUX_PAD(0x630, 0x240, 0, 0x0000, 0, 0)
--
1.6.0.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
2011-02-11 10:41 [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration julien.boibessot at free.fr
@ 2011-02-11 12:25 ` Richard Zhao
2011-02-11 13:05 ` Lothar Waßmann
2011-02-11 13:43 ` Julien Boibessot
0 siblings, 2 replies; 7+ messages in thread
From: Richard Zhao @ 2011-02-11 12:25 UTC (permalink / raw)
To: linux-arm-kernel
Hi Julien,
#define _MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, 0x09ec, 5, 0)
Will you change the above line too?
Thanks
Richard
On Fri, Feb 11, 2011 at 11:41:56AM +0100, julien.boibessot at free.fr wrote:
> From: Julien Boibessot <julien.boibessot@armadeus.com>
>
> Fixes a regression of recent iomux changes: current MX51_PAD_UART2_TXD__UART2_TXD
> declaration overwrites IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT register
> (0x09ec) and prevent UART2 Rx from working properly.
> (Tested on my custom i.MX51 board where UART2 is used as console)
>
> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
> ---
> Changes since v1:
> - Improve patch description as requested by Sascha Hauer
>
> arch/arm/plat-mxc/include/mach/iomux-mx51.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx51.h b/arch/arm/plat-mxc/include/mach/iomux-mx51.h
> index b6767f9..df531aa 100644
> --- a/arch/arm/plat-mxc/include/mach/iomux-mx51.h
> +++ b/arch/arm/plat-mxc/include/mach/iomux-mx51.h
> @@ -473,7 +473,7 @@
> #define _MX51_PAD_UART2_RXD__UART2_RXD IOMUX_PAD(0x628, 0x238, 0, 0x09ec, 2, 0)
> #define _MX51_PAD_UART2_TXD__FIRI_RXD IOMUX_PAD(0x62c, 0x23c, 1, 0x0000, 0, 0)
> #define _MX51_PAD_UART2_TXD__GPIO1_21 IOMUX_PAD(0x62c, 0x23c, 3, 0x0000, 0, 0)
> -#define _MX51_PAD_UART2_TXD__UART2_TXD IOMUX_PAD(0x62c, 0x23c, 0, 0x09ec, 3, 0)
> +#define _MX51_PAD_UART2_TXD__UART2_TXD IOMUX_PAD(0x62c, 0x23c, 0, 0x0000, 0, 0)
> #define _MX51_PAD_UART3_RXD__CSI1_D0 IOMUX_PAD(0x630, 0x240, 2, 0x0000, 0, 0)
> #define _MX51_PAD_UART3_RXD__GPIO1_22 IOMUX_PAD(0x630, 0x240, 3, 0x0000, 0, 0)
> #define _MX51_PAD_UART3_RXD__UART1_DTR IOMUX_PAD(0x630, 0x240, 0, 0x0000, 0, 0)
> --
> 1.6.0.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
2011-02-11 12:25 ` Richard Zhao
@ 2011-02-11 13:05 ` Lothar Waßmann
2011-02-11 13:39 ` Richard Zhao
2011-02-11 13:43 ` Julien Boibessot
1 sibling, 1 reply; 7+ messages in thread
From: Lothar Waßmann @ 2011-02-11 13:05 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Richard Zhao writes:
> Hi Julien,
>
> #define _MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, 0x09ec, 5, 0)
>
> Will you change the above line too?
>
Seems like a general copy/paste error in the i.MX51 Ref Manual.
For all pads that can have an UART RXD or TXD function the manual
states that the UART*_IPP_UART_RXD_MUX_SELECT_INPUT register must be
configured, while this is obviously only sensible for the RXD
function.
Lothar Wa?mann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
2011-02-11 13:05 ` Lothar Waßmann
@ 2011-02-11 13:39 ` Richard Zhao
2011-02-11 13:58 ` Lothar Waßmann
0 siblings, 1 reply; 7+ messages in thread
From: Richard Zhao @ 2011-02-11 13:39 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Feb 11, 2011 at 02:05:21PM +0100, Lothar Wa?mann wrote:
> Hi,
>
> Richard Zhao writes:
> > Hi Julien,
> >
> > #define _MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, 0x09ec, 5, 0)
> >
> > Will you change the above line too?
> >
> Seems like a general copy/paste error in the i.MX51 Ref Manual.
> For all pads that can have an UART RXD or TXD function the manual
> states that the UART*_IPP_UART_RXD_MUX_SELECT_INPUT register must be
> configured, while this is obviously only sensible for the RXD
> function.
Yes, it's for RXD. RXD can also select input from TXD.
Thanks
Richard
>
>
> Lothar Wa?mann
> --
> ___________________________________________________________
>
> Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
> Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
> Gesch?ftsf?hrer: Matthias Kaussen
> Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
>
> www.karo-electronics.de | info at karo-electronics.de
> ___________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
2011-02-11 12:25 ` Richard Zhao
2011-02-11 13:05 ` Lothar Waßmann
@ 2011-02-11 13:43 ` Julien Boibessot
1 sibling, 0 replies; 7+ messages in thread
From: Julien Boibessot @ 2011-02-11 13:43 UTC (permalink / raw)
To: linux-arm-kernel
Hi Richard,
Richard Zhao a ?crit :
> #define _MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, 0x09ec, 5, 0)
>
> Will you change the above line too?
>
yes, you're right, it needs too.
Julien
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
2011-02-11 13:39 ` Richard Zhao
@ 2011-02-11 13:58 ` Lothar Waßmann
2011-02-12 5:47 ` Richard Zhao
0 siblings, 1 reply; 7+ messages in thread
From: Lothar Waßmann @ 2011-02-11 13:58 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Richard Zhao writes:
> On Fri, Feb 11, 2011 at 02:05:21PM +0100, Lothar Wa?mann wrote:
> > Hi,
> >
> > Richard Zhao writes:
> > > Hi Julien,
> > >
> > > #define _MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, 0x09ec, 5, 0)
> > >
> > > Will you change the above line too?
> > >
> > Seems like a general copy/paste error in the i.MX51 Ref Manual.
> > For all pads that can have an UART RXD or TXD function the manual
> > states that the UART*_IPP_UART_RXD_MUX_SELECT_INPUT register must be
> > configured, while this is obviously only sensible for the RXD
> > function.
> Yes, it's for RXD. RXD can also select input from TXD.
>
The RXD function can be routed to the TXD pads via
RXD_MUX_SELECT_INPUT, but IMO setting the INPUT_MUX for an OUTPUT
function (TXD) is nonsense.
E.g.:
|Table A-1271. Register: IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT
|
|010: Selecting Pad: UART2_RXD for Mode: ALT0.
|011: Selecting Pad: UART2_TXD for Mode: ALT0.
so, the input path for the RXD function can be routed to either the
UART2_RXD or UART2_TXD pad.
|Table A-286. Register IOMUXC_SW_MUX_CTL_PAD_UART2_RXD Bits Description
|000: Select mux mode: ALT0 mux port: RXD_MUX of instance: uart2.
|NOTE: Pad UART2_RXD is involved in Daisy Chain.
|- Config Register IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT for mode
|ALT0.
This is OK. RXD_MUX is an input whose source is defined by the
RXD_MUX_SELECT_INPUT register.
But:
|Table A-288. Register IOMUXC_SW_MUX_CTL_PAD_UART2_TXD Bits Description
|000: Select mux mode: ALT0 mux port: TXD_MUX of instance: uart2.
|
|NOTE: Pad UART2_TXD is involved in Daisy Chain.
|- Config Register IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT for mode
|ALT0.
IMO does not make any sense. TXD_MUX is an OUTPUT function.
How can the INPUT MUX route an OUTPUT PAD?
Also, the table Table 4-3. i.MX51 Daisy Chain Settings only mentions
the uart_rxd_mux pins, but not uart_txd_mux.
Lothar Wa?mann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration
2011-02-11 13:58 ` Lothar Waßmann
@ 2011-02-12 5:47 ` Richard Zhao
0 siblings, 0 replies; 7+ messages in thread
From: Richard Zhao @ 2011-02-12 5:47 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Feb 11, 2011 at 02:58:02PM +0100, Lothar Wa?mann wrote:
> Hi,
>
> Richard Zhao writes:
> > On Fri, Feb 11, 2011 at 02:05:21PM +0100, Lothar Wa?mann wrote:
> > > Hi,
> > >
> > > Richard Zhao writes:
> > > > Hi Julien,
> > > >
> > > > #define _MX51_PAD_USBH1_DATA2__UART2_TXD IOMUX_PAD(0x690, 0x290, 1, 0x09ec, 5, 0)
> > > >
> > > > Will you change the above line too?
> > > >
> > > Seems like a general copy/paste error in the i.MX51 Ref Manual.
> > > For all pads that can have an UART RXD or TXD function the manual
> > > states that the UART*_IPP_UART_RXD_MUX_SELECT_INPUT register must be
> > > configured, while this is obviously only sensible for the RXD
> > > function.
> > Yes, it's for RXD. RXD can also select input from TXD.
> >
> The RXD function can be routed to the TXD pads via
> RXD_MUX_SELECT_INPUT, but IMO setting the INPUT_MUX for an OUTPUT
> function (TXD) is nonsense.
>
> E.g.:
> |Table A-1271. Register: IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT
> |
> |010: Selecting Pad: UART2_RXD for Mode: ALT0.
> |011: Selecting Pad: UART2_TXD for Mode: ALT0.
> so, the input path for the RXD function can be routed to either the
> UART2_RXD or UART2_TXD pad.
Right. I double checked with IC guys. 011 means UART2_TXD/RXD swapped. When
changing mode of DCE/DTE, TXD/RXD and RTS/CTS may need swapped. Using this
setting, you don't need to swap the physical wires.
Thanks
Richard
>
> |Table A-286. Register IOMUXC_SW_MUX_CTL_PAD_UART2_RXD Bits Description
> |000: Select mux mode: ALT0 mux port: RXD_MUX of instance: uart2.
> |NOTE: Pad UART2_RXD is involved in Daisy Chain.
> |- Config Register IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT for mode
> |ALT0.
> This is OK. RXD_MUX is an input whose source is defined by the
> RXD_MUX_SELECT_INPUT register.
>
> But:
> |Table A-288. Register IOMUXC_SW_MUX_CTL_PAD_UART2_TXD Bits Description
> |000: Select mux mode: ALT0 mux port: TXD_MUX of instance: uart2.
> |
> |NOTE: Pad UART2_TXD is involved in Daisy Chain.
> |- Config Register IOMUXC_UART2_IPP_UART_RXD_MUX_SELECT_INPUT for mode
> |ALT0.
> IMO does not make any sense. TXD_MUX is an OUTPUT function.
> How can the INPUT MUX route an OUTPUT PAD?
>
> Also, the table Table 4-3. i.MX51 Daisy Chain Settings only mentions
> the uart_rxd_mux pins, but not uart_txd_mux.
>
>
> Lothar Wa?mann
> --
> ___________________________________________________________
>
> Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
> Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
> Gesch?ftsf?hrer: Matthias Kaussen
> Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
>
> www.karo-electronics.de | info at karo-electronics.de
> ___________________________________________________________
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-02-12 5:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-11 10:41 [PATCH v2] i.MX51 iomux: Fixes MX51_PAD_UART2_TXD__UART2_TXD declaration julien.boibessot at free.fr
2011-02-11 12:25 ` Richard Zhao
2011-02-11 13:05 ` Lothar Waßmann
2011-02-11 13:39 ` Richard Zhao
2011-02-11 13:58 ` Lothar Waßmann
2011-02-12 5:47 ` Richard Zhao
2011-02-11 13:43 ` Julien Boibessot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).