* [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements @ 2019-09-12 9:12 Marcel Ziswiler 2019-09-12 9:12 ` [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing Marcel Ziswiler ` (4 more replies) 0 siblings, 5 replies; 11+ messages in thread From: Marcel Ziswiler @ 2019-09-12 9:12 UTC (permalink / raw) To: u-boot This series addresses some weaknesses in the current UART pinmuxing mainly observable when trying to use a different UART instance as main U-Boot serial console. Marcel Ziswiler (5): apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing apalis/colibri_t30: avoid uart input from floating pins apalis/colibri_t30: add note about colibri vs. nvidia uart mapping colibri_t30: disable rs232 serial transceiver forceoff pins .../apalis_t30/pinmux-config-apalis_t30.h | 11 +++++-- board/toradex/colibri_t30/colibri_t30.c | 11 +++++++ .../colibri_t30/pinmux-config-colibri_t30.h | 32 +++++++++++-------- include/configs/apalis_t30.h | 9 +++++- include/configs/colibri_t30.h | 8 ++++- 5 files changed, 52 insertions(+), 19 deletions(-) -- 2.21.0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing 2019-09-12 9:12 [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements Marcel Ziswiler @ 2019-09-12 9:12 ` Marcel Ziswiler 2019-10-15 11:48 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 2/5] colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing Marcel Ziswiler ` (3 subsequent siblings) 4 siblings, 1 reply; 11+ messages in thread From: Marcel Ziswiler @ 2019-09-12 9:12 UTC (permalink / raw) To: u-boot From: Marcel Ziswiler <marcel.ziswiler@toradex.com> Add pinmuxing comment stating that TRISTATE means the output driver is tri-stated and INPUT means the input driver is enabled vs. OUTPUT where it is disabled. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> --- board/toradex/apalis_t30/pinmux-config-apalis_t30.h | 2 ++ board/toradex/colibri_t30/pinmux-config-colibri_t30.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h index 49c2df7ab2..8d6696aaad 100644 --- a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h +++ b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h @@ -11,7 +11,9 @@ .pingrp = PMUX_PINGRP_##_pingrp, \ .func = PMUX_FUNC_##_mux, \ .pull = PMUX_PULL_##_pull, \ +/* TRISTATE here means output driver is tri-stated */ \ .tristate = PMUX_TRI_##_tri, \ +/* INPUT here means input driver is enabled vs. OUTPUT where it is disabled */ \ .io = PMUX_PIN_##_io, \ .lock = PMUX_PIN_LOCK_DEFAULT, \ .od = PMUX_PIN_OD_DEFAULT, \ diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h index bdbbf5e49a..6181b506a4 100644 --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h @@ -11,7 +11,9 @@ .pingrp = PMUX_PINGRP_##_pingrp, \ .func = PMUX_FUNC_##_mux, \ .pull = PMUX_PULL_##_pull, \ +/* TRISTATE here means output driver is tri-stated */ \ .tristate = PMUX_TRI_##_tri, \ +/* INPUT here means input driver is enabled vs. OUTPUT where it is disabled */ \ .io = PMUX_PIN_##_io, \ .lock = PMUX_PIN_LOCK_DEFAULT, \ .od = PMUX_PIN_OD_DEFAULT, \ -- 2.21.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing 2019-09-12 9:12 ` [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing Marcel Ziswiler @ 2019-10-15 11:48 ` Igor Opaniuk 0 siblings, 0 replies; 11+ messages in thread From: Igor Opaniuk @ 2019-10-15 11:48 UTC (permalink / raw) To: u-boot On Thu, Sep 12, 2019 at 12:13 PM Marcel Ziswiler <marcel@ziswiler.com> wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > Add pinmuxing comment stating that TRISTATE means the output driver is > tri-stated and INPUT means the input driver is enabled vs. OUTPUT where > it is disabled. > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > board/toradex/apalis_t30/pinmux-config-apalis_t30.h | 2 ++ > board/toradex/colibri_t30/pinmux-config-colibri_t30.h | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h > index 49c2df7ab2..8d6696aaad 100644 > --- a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h > +++ b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h > @@ -11,7 +11,9 @@ > .pingrp = PMUX_PINGRP_##_pingrp, \ > .func = PMUX_FUNC_##_mux, \ > .pull = PMUX_PULL_##_pull, \ > +/* TRISTATE here means output driver is tri-stated */ \ > .tristate = PMUX_TRI_##_tri, \ > +/* INPUT here means input driver is enabled vs. OUTPUT where it is disabled */ \ > .io = PMUX_PIN_##_io, \ > .lock = PMUX_PIN_LOCK_DEFAULT, \ > .od = PMUX_PIN_OD_DEFAULT, \ > diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > index bdbbf5e49a..6181b506a4 100644 > --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > @@ -11,7 +11,9 @@ > .pingrp = PMUX_PINGRP_##_pingrp, \ > .func = PMUX_FUNC_##_mux, \ > .pull = PMUX_PULL_##_pull, \ > +/* TRISTATE here means output driver is tri-stated */ \ > .tristate = PMUX_TRI_##_tri, \ > +/* INPUT here means input driver is enabled vs. OUTPUT where it is disabled */ \ > .io = PMUX_PIN_##_io, \ > .lock = PMUX_PIN_LOCK_DEFAULT, \ > .od = PMUX_PIN_OD_DEFAULT, \ > -- > 2.21.0 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com> -- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk mailto: igor.opaniuk at gmail.com skype: igor.opanyuk +380 (93) 836 40 67 http://ua.linkedin.com/in/iopaniuk ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 2/5] colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing 2019-09-12 9:12 [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements Marcel Ziswiler 2019-09-12 9:12 ` [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing Marcel Ziswiler @ 2019-09-12 9:12 ` Marcel Ziswiler 2019-10-15 11:49 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 3/5] apalis/colibri_t30: avoid uart input from floating pins Marcel Ziswiler ` (2 subsequent siblings) 4 siblings, 1 reply; 11+ messages in thread From: Marcel Ziswiler @ 2019-09-12 9:12 UTC (permalink / raw) To: u-boot From: Marcel Ziswiler <marcel.ziswiler@toradex.com> Fix SPI1 and UART2/3 resp. UARTB/C pinmuxing. Note: The former was illegally muxing multiple SoC balls onto the same internal SoC signal which caused rather strange behaviour regarding the RS232 serial transceiver ForceOFF# pins as available on Iris. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> --- .../colibri_t30/pinmux-config-colibri_t30.h | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h index 6181b506a4..c583583b3f 100644 --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h @@ -181,13 +181,14 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { LV_PINMUX(VI_D10_PT2, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), LV_PINMUX(VI_MCLK_PT1, VI, UP, NORMAL, INPUT, DISABLE, DISABLE), DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, OUTPUT), - DEFAULT_PINMUX(UART2_RTS_N_PJ6, UARTB, NORMAL, NORMAL, OUTPUT), - DEFAULT_PINMUX(UART2_CTS_N_PJ5, UARTB, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(UART3_TXD_PW6, UARTC, NORMAL, NORMAL, OUTPUT), - DEFAULT_PINMUX(UART3_RXD_PW7, UARTC, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(UART3_CTS_N_PA1, UARTC, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(UART3_RTS_N_PC0, UARTC, NORMAL, NORMAL, OUTPUT), + DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(UART2_RTS_N_PJ6, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(UART2_CTS_N_PJ5, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(UART3_TXD_PW6, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(UART3_RXD_PW7, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(UART3_CTS_N_PA1, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(UART3_RTS_N_PC0, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(PU0, RSVD1, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(PU1, RSVD1, NORMAL, NORMAL, OUTPUT), DEFAULT_PINMUX(PU2, RSVD1, NORMAL, NORMAL, INPUT), @@ -270,10 +271,10 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { DEFAULT_PINMUX(DAP2_SCLK_PA3, I2S1, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(SPI2_CS1_N_PW2, SPI2, UP, NORMAL, INPUT), - DEFAULT_PINMUX(SPI1_MOSI_PX4, SPI1, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(SPI1_SCK_PX5, SPI1, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(SPI1_CS0_N_PX6, SPI1, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(SPI1_MISO_PX7, SPI1, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(SPI1_MOSI_PX4, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(SPI1_SCK_PX5, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(SPI1_CS0_N_PX6, GMI, NORMAL, NORMAL, INPUT), + DEFAULT_PINMUX(SPI1_MISO_PX7, RSVD4, NORMAL, NORMAL, INPUT), /* LAN_RESET */ DEFAULT_PINMUX(PEX_L0_PRSNT_N_PDD0, RSVD2, NORMAL, NORMAL, OUTPUT), -- 2.21.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 2/5] colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing 2019-09-12 9:12 ` [U-Boot] [PATCH v1 2/5] colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing Marcel Ziswiler @ 2019-10-15 11:49 ` Igor Opaniuk 0 siblings, 0 replies; 11+ messages in thread From: Igor Opaniuk @ 2019-10-15 11:49 UTC (permalink / raw) To: u-boot On Thu, Sep 12, 2019 at 12:14 PM Marcel Ziswiler <marcel@ziswiler.com> wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > Fix SPI1 and UART2/3 resp. UARTB/C pinmuxing. > > Note: The former was illegally muxing multiple SoC balls onto the same > internal SoC signal which caused rather strange behaviour regarding > the RS232 serial transceiver ForceOFF# pins as available on Iris. > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > .../colibri_t30/pinmux-config-colibri_t30.h | 23 ++++++++++--------- > 1 file changed, 12 insertions(+), 11 deletions(-) > > diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > index 6181b506a4..c583583b3f 100644 > --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > @@ -181,13 +181,14 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { > LV_PINMUX(VI_D10_PT2, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), > LV_PINMUX(VI_MCLK_PT1, VI, UP, NORMAL, INPUT, DISABLE, DISABLE), > DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, OUTPUT), > - DEFAULT_PINMUX(UART2_RTS_N_PJ6, UARTB, NORMAL, NORMAL, OUTPUT), > - DEFAULT_PINMUX(UART2_CTS_N_PJ5, UARTB, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(UART3_TXD_PW6, UARTC, NORMAL, NORMAL, OUTPUT), > - DEFAULT_PINMUX(UART3_RXD_PW7, UARTC, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(UART3_CTS_N_PA1, UARTC, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(UART3_RTS_N_PC0, UARTC, NORMAL, NORMAL, OUTPUT), > + DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(UART2_RTS_N_PJ6, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(UART2_CTS_N_PJ5, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(UART3_TXD_PW6, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(UART3_RXD_PW7, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(UART3_CTS_N_PA1, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(UART3_RTS_N_PC0, GMI, NORMAL, NORMAL, INPUT), > + > DEFAULT_PINMUX(PU0, RSVD1, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(PU1, RSVD1, NORMAL, NORMAL, OUTPUT), > DEFAULT_PINMUX(PU2, RSVD1, NORMAL, NORMAL, INPUT), > @@ -270,10 +271,10 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { > DEFAULT_PINMUX(DAP2_SCLK_PA3, I2S1, NORMAL, NORMAL, INPUT), > > DEFAULT_PINMUX(SPI2_CS1_N_PW2, SPI2, UP, NORMAL, INPUT), > - DEFAULT_PINMUX(SPI1_MOSI_PX4, SPI1, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(SPI1_SCK_PX5, SPI1, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(SPI1_CS0_N_PX6, SPI1, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(SPI1_MISO_PX7, SPI1, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(SPI1_MOSI_PX4, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(SPI1_SCK_PX5, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(SPI1_CS0_N_PX6, GMI, NORMAL, NORMAL, INPUT), > + DEFAULT_PINMUX(SPI1_MISO_PX7, RSVD4, NORMAL, NORMAL, INPUT), > > /* LAN_RESET */ > DEFAULT_PINMUX(PEX_L0_PRSNT_N_PDD0, RSVD2, NORMAL, NORMAL, OUTPUT), > -- > 2.21.0 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com> -- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk mailto: igor.opaniuk at gmail.com skype: igor.opanyuk +380 (93) 836 40 67 http://ua.linkedin.com/in/iopaniuk ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 3/5] apalis/colibri_t30: avoid uart input from floating pins 2019-09-12 9:12 [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements Marcel Ziswiler 2019-09-12 9:12 ` [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing Marcel Ziswiler 2019-09-12 9:12 ` [U-Boot] [PATCH v1 2/5] colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing Marcel Ziswiler @ 2019-09-12 9:12 ` Marcel Ziswiler 2019-10-15 12:47 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 4/5] apalis/colibri_t30: add note about colibri vs. nvidia uart mapping Marcel Ziswiler 2019-09-12 9:12 ` [U-Boot] [PATCH v1 5/5] colibri_t30: disable rs232 serial transceiver forceoff pins Marcel Ziswiler 4 siblings, 1 reply; 11+ messages in thread From: Marcel Ziswiler @ 2019-09-12 9:12 UTC (permalink / raw) To: u-boot From: Marcel Ziswiler <marcel.ziswiler@toradex.com> Avoid UART input from floating RX pins on UARTB and UARTC (Colibri T30) and UARTB, UARTC and UARTD (Apalis T30). Note: Floating pins may cause spurious break conditions potentially interrupting U-Boot's autoboot. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> --- board/toradex/apalis_t30/pinmux-config-apalis_t30.h | 9 ++++++--- board/toradex/colibri_t30/pinmux-config-colibri_t30.h | 7 ++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h index 8d6696aaad..3a2cf4606e 100644 --- a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h +++ b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h @@ -120,7 +120,8 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { DEFAULT_PINMUX(ULPI_DATA6_PO7, UARTA, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(ULPI_DATA7_PO0, UARTA, NORMAL, NORMAL, OUTPUT), DEFAULT_PINMUX(ULPI_CLK_PY0, UARTD, NORMAL, NORMAL, OUTPUT), - DEFAULT_PINMUX(ULPI_DIR_PY1, UARTD, NORMAL, NORMAL, INPUT), + /* UARTD RX, make sure we don't get input form a floating Pin */ + DEFAULT_PINMUX(ULPI_DIR_PY1, UARTD, UP, NORMAL, INPUT), DEFAULT_PINMUX(ULPI_NXT_PY2, UARTD, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(ULPI_STP_PY3, UARTD, NORMAL, NORMAL, OUTPUT), DEFAULT_PINMUX(DAP3_FS_PP0, I2S2, NORMAL, NORMAL, INPUT), @@ -189,12 +190,14 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { LV_PINMUX(VI_MCLK_PT1, VI, NORMAL, NORMAL, OUTPUT, DISABLE, DISABLE), LV_PINMUX(VI_PCLK_PT0, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), LV_PINMUX(VI_VSYNC_PD6, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), - DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, NORMAL, NORMAL, INPUT), + /* UARTB RX, make sure we don't get input form a floating Pin */ + DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, UP, NORMAL, INPUT), DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, OUTPUT), DEFAULT_PINMUX(UART2_RTS_N_PJ6, UARTB, DOWN, TRISTATE, OUTPUT), /* NC */ DEFAULT_PINMUX(UART2_CTS_N_PJ5, UARTB, DOWN, TRISTATE, OUTPUT), /* NC */ DEFAULT_PINMUX(UART3_TXD_PW6, UARTC, NORMAL, NORMAL, OUTPUT), - DEFAULT_PINMUX(UART3_RXD_PW7, UARTC, NORMAL, NORMAL, INPUT), + /* UARTC RX, make sure we don't get input form a floating Pin */ + DEFAULT_PINMUX(UART3_RXD_PW7, UARTC, UP, NORMAL, INPUT), DEFAULT_PINMUX(UART3_CTS_N_PA1, UARTC, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(UART3_RTS_N_PC0, PWM0, NORMAL, NORMAL, OUTPUT), DEFAULT_PINMUX(PU0, RSVD1, DOWN, TRISTATE, OUTPUT), diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h index c583583b3f..5ac1a6da97 100644 --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h @@ -180,7 +180,8 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { LV_PINMUX(VI_D7_PL5, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), LV_PINMUX(VI_D10_PT2, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), LV_PINMUX(VI_MCLK_PT1, VI, UP, NORMAL, INPUT, DISABLE, DISABLE), - DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, NORMAL, NORMAL, INPUT), + /* UARTC RX, make sure we don't get input form a floating Pin */ + DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, UP, NORMAL, INPUT), DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(UART2_RTS_N_PJ6, GMI, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(UART2_CTS_N_PJ5, GMI, NORMAL, NORMAL, INPUT), @@ -207,11 +208,11 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { DEFAULT_PINMUX(GMI_AD8_PH0, PWM0, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_PWM */ DEFAULT_PINMUX(GMI_AD10_PH2, NAND, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_EN */ DEFAULT_PINMUX(GMI_A16_PJ7, UARTD, NORMAL, NORMAL, INPUT), - DEFAULT_PINMUX(GMI_A17_PB0, UARTD, NORMAL, NORMAL, INPUT), + /* UARTB RX, make sure we don't get input form a floating Pin */ + DEFAULT_PINMUX(GMI_A17_PB0, UARTD, UP, NORMAL, INPUT), DEFAULT_PINMUX(GMI_A18_PB1, UARTD, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(GMI_A19_PK7, UARTD, NORMAL, NORMAL, INPUT), - /* Multiplexed with KB_ROW10/KB_ROW11/KB_ROW12/KB_ROW15 */ DEFAULT_PINMUX(CAM_MCLK_PCC0, VI_ALT2, UP, TRISTATE, INPUT), DEFAULT_PINMUX(PCC1, RSVD1, NORMAL, TRISTATE, INPUT), -- 2.21.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 3/5] apalis/colibri_t30: avoid uart input from floating pins 2019-09-12 9:12 ` [U-Boot] [PATCH v1 3/5] apalis/colibri_t30: avoid uart input from floating pins Marcel Ziswiler @ 2019-10-15 12:47 ` Igor Opaniuk 0 siblings, 0 replies; 11+ messages in thread From: Igor Opaniuk @ 2019-10-15 12:47 UTC (permalink / raw) To: u-boot On Thu, Sep 12, 2019 at 12:15 PM Marcel Ziswiler <marcel@ziswiler.com> wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > Avoid UART input from floating RX pins on UARTB and UARTC (Colibri T30) > and UARTB, UARTC and UARTD (Apalis T30). > > Note: Floating pins may cause spurious break conditions potentially > interrupting U-Boot's autoboot. > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > board/toradex/apalis_t30/pinmux-config-apalis_t30.h | 9 ++++++--- > board/toradex/colibri_t30/pinmux-config-colibri_t30.h | 7 ++++--- > 2 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h > index 8d6696aaad..3a2cf4606e 100644 > --- a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h > +++ b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h > @@ -120,7 +120,8 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { > DEFAULT_PINMUX(ULPI_DATA6_PO7, UARTA, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(ULPI_DATA7_PO0, UARTA, NORMAL, NORMAL, OUTPUT), > DEFAULT_PINMUX(ULPI_CLK_PY0, UARTD, NORMAL, NORMAL, OUTPUT), > - DEFAULT_PINMUX(ULPI_DIR_PY1, UARTD, NORMAL, NORMAL, INPUT), > + /* UARTD RX, make sure we don't get input form a floating Pin */ > + DEFAULT_PINMUX(ULPI_DIR_PY1, UARTD, UP, NORMAL, INPUT), > DEFAULT_PINMUX(ULPI_NXT_PY2, UARTD, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(ULPI_STP_PY3, UARTD, NORMAL, NORMAL, OUTPUT), > DEFAULT_PINMUX(DAP3_FS_PP0, I2S2, NORMAL, NORMAL, INPUT), > @@ -189,12 +190,14 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { > LV_PINMUX(VI_MCLK_PT1, VI, NORMAL, NORMAL, OUTPUT, DISABLE, DISABLE), > LV_PINMUX(VI_PCLK_PT0, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), > LV_PINMUX(VI_VSYNC_PD6, VI, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), > - DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, NORMAL, NORMAL, INPUT), > + /* UARTB RX, make sure we don't get input form a floating Pin */ > + DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, UP, NORMAL, INPUT), > DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, OUTPUT), > DEFAULT_PINMUX(UART2_RTS_N_PJ6, UARTB, DOWN, TRISTATE, OUTPUT), /* NC */ > DEFAULT_PINMUX(UART2_CTS_N_PJ5, UARTB, DOWN, TRISTATE, OUTPUT), /* NC */ > DEFAULT_PINMUX(UART3_TXD_PW6, UARTC, NORMAL, NORMAL, OUTPUT), > - DEFAULT_PINMUX(UART3_RXD_PW7, UARTC, NORMAL, NORMAL, INPUT), > + /* UARTC RX, make sure we don't get input form a floating Pin */ > + DEFAULT_PINMUX(UART3_RXD_PW7, UARTC, UP, NORMAL, INPUT), > DEFAULT_PINMUX(UART3_CTS_N_PA1, UARTC, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(UART3_RTS_N_PC0, PWM0, NORMAL, NORMAL, OUTPUT), > DEFAULT_PINMUX(PU0, RSVD1, DOWN, TRISTATE, OUTPUT), > diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > index c583583b3f..5ac1a6da97 100644 > --- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > +++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h > @@ -180,7 +180,8 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { > LV_PINMUX(VI_D7_PL5, SDMMC2, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), > LV_PINMUX(VI_D10_PT2, RSVD1, NORMAL, NORMAL, INPUT, DISABLE, DISABLE), > LV_PINMUX(VI_MCLK_PT1, VI, UP, NORMAL, INPUT, DISABLE, DISABLE), > - DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, NORMAL, NORMAL, INPUT), > + /* UARTC RX, make sure we don't get input form a floating Pin */ > + DEFAULT_PINMUX(UART2_RXD_PC3, UARTB, UP, NORMAL, INPUT), > DEFAULT_PINMUX(UART2_TXD_PC2, UARTB, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(UART2_RTS_N_PJ6, GMI, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(UART2_CTS_N_PJ5, GMI, NORMAL, NORMAL, INPUT), > @@ -207,11 +208,11 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = { > DEFAULT_PINMUX(GMI_AD8_PH0, PWM0, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_PWM */ > DEFAULT_PINMUX(GMI_AD10_PH2, NAND, NORMAL, NORMAL, OUTPUT), /* LCD1_BL_EN */ > DEFAULT_PINMUX(GMI_A16_PJ7, UARTD, NORMAL, NORMAL, INPUT), > - DEFAULT_PINMUX(GMI_A17_PB0, UARTD, NORMAL, NORMAL, INPUT), > + /* UARTB RX, make sure we don't get input form a floating Pin */ > + DEFAULT_PINMUX(GMI_A17_PB0, UARTD, UP, NORMAL, INPUT), > DEFAULT_PINMUX(GMI_A18_PB1, UARTD, NORMAL, NORMAL, INPUT), > DEFAULT_PINMUX(GMI_A19_PK7, UARTD, NORMAL, NORMAL, INPUT), > > - > /* Multiplexed with KB_ROW10/KB_ROW11/KB_ROW12/KB_ROW15 */ > DEFAULT_PINMUX(CAM_MCLK_PCC0, VI_ALT2, UP, TRISTATE, INPUT), > DEFAULT_PINMUX(PCC1, RSVD1, NORMAL, TRISTATE, INPUT), > -- > 2.21.0 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com> -- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk mailto: igor.opaniuk at gmail.com skype: igor.opanyuk +380 (93) 836 40 67 http://ua.linkedin.com/in/iopaniuk ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 4/5] apalis/colibri_t30: add note about colibri vs. nvidia uart mapping 2019-09-12 9:12 [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements Marcel Ziswiler ` (2 preceding siblings ...) 2019-09-12 9:12 ` [U-Boot] [PATCH v1 3/5] apalis/colibri_t30: avoid uart input from floating pins Marcel Ziswiler @ 2019-09-12 9:12 ` Marcel Ziswiler 2019-10-15 12:47 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 5/5] colibri_t30: disable rs232 serial transceiver forceoff pins Marcel Ziswiler 4 siblings, 1 reply; 11+ messages in thread From: Marcel Ziswiler @ 2019-09-12 9:12 UTC (permalink / raw) To: u-boot From: Marcel Ziswiler <marcel.ziswiler@toradex.com> The following mapping is applicable for Apalis T30: Apalis UART1: NVIDIA UARTA Apalis UART2: NVIDIA UARTD Apalis UART3: NVIDIA UARTB Apalis UART4: NVIDIA UARTC The following mapping is applicable for Colibri T30: Colibri UART-A: NVIDIA UARTA Colibri UART-B: NVIDIA UARTD Colibri UART-C: NVIDIA UARTB Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> --- include/configs/apalis_t30.h | 9 ++++++++- include/configs/colibri_t30.h | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h index f6adfeb96a..b6711c57b8 100644 --- a/include/configs/apalis_t30.h +++ b/include/configs/apalis_t30.h @@ -12,7 +12,14 @@ #include "tegra30-common.h" -/* Board-specific serial config */ +/* + * Board-specific serial config + * + * Apalis UART1: NVIDIA UARTA + * Apalis UART2: NVIDIA UARTD + * Apalis UART3: NVIDIA UARTB + * Apalis UART4: NVIDIA UARTC + */ #define CONFIG_TEGRA_ENABLE_UARTA #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h index 8ff6433f45..6053776019 100644 --- a/include/configs/colibri_t30.h +++ b/include/configs/colibri_t30.h @@ -14,7 +14,13 @@ /* High-level configuration options */ -/* Board-specific serial config */ +/* + * Board-specific serial config + * + * Colibri UART-A: NVIDIA UARTA + * Colibri UART-B: NVIDIA UARTD + * Colibri UART-C: NVIDIA UARTB + */ #define CONFIG_TEGRA_ENABLE_UARTA #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE -- 2.21.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 4/5] apalis/colibri_t30: add note about colibri vs. nvidia uart mapping 2019-09-12 9:12 ` [U-Boot] [PATCH v1 4/5] apalis/colibri_t30: add note about colibri vs. nvidia uart mapping Marcel Ziswiler @ 2019-10-15 12:47 ` Igor Opaniuk 0 siblings, 0 replies; 11+ messages in thread From: Igor Opaniuk @ 2019-10-15 12:47 UTC (permalink / raw) To: u-boot On Thu, Sep 12, 2019 at 12:14 PM Marcel Ziswiler <marcel@ziswiler.com> wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > The following mapping is applicable for Apalis T30: > > Apalis UART1: NVIDIA UARTA > Apalis UART2: NVIDIA UARTD > Apalis UART3: NVIDIA UARTB > Apalis UART4: NVIDIA UARTC > > The following mapping is applicable for Colibri T30: > > Colibri UART-A: NVIDIA UARTA > Colibri UART-B: NVIDIA UARTD > Colibri UART-C: NVIDIA UARTB > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > include/configs/apalis_t30.h | 9 ++++++++- > include/configs/colibri_t30.h | 8 +++++++- > 2 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h > index f6adfeb96a..b6711c57b8 100644 > --- a/include/configs/apalis_t30.h > +++ b/include/configs/apalis_t30.h > @@ -12,7 +12,14 @@ > > #include "tegra30-common.h" > > -/* Board-specific serial config */ > +/* > + * Board-specific serial config > + * > + * Apalis UART1: NVIDIA UARTA > + * Apalis UART2: NVIDIA UARTD > + * Apalis UART3: NVIDIA UARTB > + * Apalis UART4: NVIDIA UARTC > + */ > #define CONFIG_TEGRA_ENABLE_UARTA > #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE > > diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h > index 8ff6433f45..6053776019 100644 > --- a/include/configs/colibri_t30.h > +++ b/include/configs/colibri_t30.h > @@ -14,7 +14,13 @@ > > /* High-level configuration options */ > > -/* Board-specific serial config */ > +/* > + * Board-specific serial config > + * > + * Colibri UART-A: NVIDIA UARTA > + * Colibri UART-B: NVIDIA UARTD > + * Colibri UART-C: NVIDIA UARTB > + */ > #define CONFIG_TEGRA_ENABLE_UARTA > #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE > > -- > 2.21.0 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com> -- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk mailto: igor.opaniuk at gmail.com skype: igor.opanyuk +380 (93) 836 40 67 http://ua.linkedin.com/in/iopaniuk ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 5/5] colibri_t30: disable rs232 serial transceiver forceoff pins 2019-09-12 9:12 [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements Marcel Ziswiler ` (3 preceding siblings ...) 2019-09-12 9:12 ` [U-Boot] [PATCH v1 4/5] apalis/colibri_t30: add note about colibri vs. nvidia uart mapping Marcel Ziswiler @ 2019-09-12 9:12 ` Marcel Ziswiler 2019-10-16 9:20 ` Igor Opaniuk 4 siblings, 1 reply; 11+ messages in thread From: Marcel Ziswiler @ 2019-09-12 9:12 UTC (permalink / raw) To: u-boot From: Marcel Ziswiler <marcel.ziswiler@toradex.com> Use gpio_early_init_uart() function to disable RS232 serial transceiver ForceOFF# pins on Iris. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> --- board/toradex/colibri_t30/colibri_t30.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c index b6b00e3860..eb53fa6126 100644 --- a/board/toradex/colibri_t30/colibri_t30.c +++ b/board/toradex/colibri_t30/colibri_t30.c @@ -55,6 +55,17 @@ void pinmux_init(void) ARRAY_SIZE(colibri_t30_padctrl)); } +/* + * Disable RS232 serial transceiver ForceOFF# pins on Iris + */ +void gpio_early_init_uart(void) +{ + gpio_request(TEGRA_GPIO(X, 6), "Force OFF# X13"); + gpio_direction_output(TEGRA_GPIO(X, 6), 1); + gpio_request(TEGRA_GPIO(X, 7), "Force OFF# X14"); + gpio_direction_output(TEGRA_GPIO(X, 7), 1); +} + /* * Enable AX88772B USB to LAN controller */ -- 2.21.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] [PATCH v1 5/5] colibri_t30: disable rs232 serial transceiver forceoff pins 2019-09-12 9:12 ` [U-Boot] [PATCH v1 5/5] colibri_t30: disable rs232 serial transceiver forceoff pins Marcel Ziswiler @ 2019-10-16 9:20 ` Igor Opaniuk 0 siblings, 0 replies; 11+ messages in thread From: Igor Opaniuk @ 2019-10-16 9:20 UTC (permalink / raw) To: u-boot Hi Marcel, On Thu, Sep 12, 2019 at 12:15 PM Marcel Ziswiler <marcel@ziswiler.com> wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > Use gpio_early_init_uart() function to disable RS232 serial transceiver > ForceOFF# pins on Iris. > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > board/toradex/colibri_t30/colibri_t30.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c > index b6b00e3860..eb53fa6126 100644 > --- a/board/toradex/colibri_t30/colibri_t30.c > +++ b/board/toradex/colibri_t30/colibri_t30.c > @@ -55,6 +55,17 @@ void pinmux_init(void) > ARRAY_SIZE(colibri_t30_padctrl)); > } > > +/* > + * Disable RS232 serial transceiver ForceOFF# pins on Iris > + */ > +void gpio_early_init_uart(void) > +{ > + gpio_request(TEGRA_GPIO(X, 6), "Force OFF# X13"); > + gpio_direction_output(TEGRA_GPIO(X, 6), 1); > + gpio_request(TEGRA_GPIO(X, 7), "Force OFF# X14"); > + gpio_direction_output(TEGRA_GPIO(X, 7), 1); > +} > + > /* > * Enable AX88772B USB to LAN controller > */ > -- > 2.21.0 > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot What not to handle this in the dts instead? -- Best regards - Freundliche Grüsse - Meilleures salutations Igor Opaniuk mailto: igor.opaniuk at gmail.com skype: igor.opanyuk +380 (93) 836 40 67 http://ua.linkedin.com/in/iopaniuk ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-10-16 9:20 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-09-12 9:12 [U-Boot] [PATCH v1 0/5] apalis/colibri_t30: uart pinmuxing improvements Marcel Ziswiler 2019-09-12 9:12 ` [U-Boot] [PATCH v1 1/5] apalis/colibri_t30: add comment about tristate and input vs. output pinmuxing Marcel Ziswiler 2019-10-15 11:48 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 2/5] colibri_t30: fix spi1 and uart2/3 resp. uartb/c pinmuxing Marcel Ziswiler 2019-10-15 11:49 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 3/5] apalis/colibri_t30: avoid uart input from floating pins Marcel Ziswiler 2019-10-15 12:47 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 4/5] apalis/colibri_t30: add note about colibri vs. nvidia uart mapping Marcel Ziswiler 2019-10-15 12:47 ` Igor Opaniuk 2019-09-12 9:12 ` [U-Boot] [PATCH v1 5/5] colibri_t30: disable rs232 serial transceiver forceoff pins Marcel Ziswiler 2019-10-16 9:20 ` Igor Opaniuk
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.