From: Tony Lindgren <tony@atomide.com>
To: Mike Rapoport <mike@compulab.co.il>
Cc: "Gadiyar, Anand" <gadiyar@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH] omap3: cm-t35: add mux initialization (was: Re: [PATCH] omap3: cm-t35: add mux initialization)
Date: Wed, 9 Dec 2009 08:36:20 -0800 [thread overview]
Message-ID: <20091209163620.GO24013@atomide.com> (raw)
In-Reply-To: <4B1FA5D9.4010400@compulab.co.il>
* Mike Rapoport <mike@compulab.co.il> [091209 05:26]:
> Tony,
>
> Tony Lindgren wrote:
> > * Gadiyar, Anand <gadiyar@ti.com> [091207 08:35]:
> >> Tony Lindgren wrote:
> >>> * Mike Rapoport <mike@compulab.co.il> [091206 07:30]:
> >>>> Tony,
> >>>> Any chance this can go to 2.6.33?
> >>> Sure, I was just waiting to hear back if the OUTPUT_PULLUP is
> >>> needed for sure? Or is just OUTPUT enough for musb to work?
> >>>
> >>> Tony
> >>>
> >> OUTPUT should work too. The ULPI spec recommends a weak pull-up
> >> on STP line, but we needn't really have that. Plain OUTPUT is sufficient.
> >
> > OK, thanks for checking that. Mike, what do you prefer to do?
> >
> > I guess in some cases the pull may be needed for a pin
> > to change faster if an external pull is not used?
> >
> > We could add the OUTPUT_PULL defines, but we should probably
> > mark them with comments that they should be rarely needed.
>
> Here's updated cm-t35 mux initialization that should apply to current
> linux-omap-2.6/master. Please discard the previous version and sorry for the noise.
Great. Thanks for all your help getting the mux code sorted
out. Will queue.
Regards,
Tony
> > Regards,
> >
> > Tony
> >
> >
>
> From 0da6d5d13351c2fc121a86ab641e25e4ff017800 Mon Sep 17 00:00:00 2001
> From: Mike Rapoport <mike@compulab.co.il>
> Date: Wed, 9 Dec 2009 15:23:24 +0200
> Subject: [PATCH] omap3: cm-t35: add mux initialization
>
> CM-T35 can be assembled with different set of peripherals thus making
> certain interfaces available to user as GPIOs or dedicated pins. Because
> of it CM-T35 bootloader sets up mux configuration only for pins
> necessary to boot the system and the rest of the mux configuration is
> done by the kernel. Besides, having mux configuration in the kernel
> allows to minimize dependancy on bootloader.
>
> Signed-off-by: Mike Rapoport <mike@compulab.co.il>
> ---
> arch/arm/mach-omap2/Kconfig | 1 +
> arch/arm/mach-omap2/board-cm-t35.c | 96 +++++++++++++++++++++++++++++++++---
> 2 files changed, 90 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 16c0c13..66de47b 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -136,6 +136,7 @@ config MACH_CM_T35
> bool "CompuLab CM-T35 module"
> depends on ARCH_OMAP3 && ARCH_OMAP34XX
> select OMAP_PACKAGE_CUS
> + select OMAP_MUX
>
> config MACH_IGEP0020
> bool "IGEP0020"
> diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
> index 507c922..1591aae 100644
> --- a/arch/arm/mach-omap2/board-cm-t35.c
> +++ b/arch/arm/mach-omap2/board-cm-t35.c
> @@ -482,13 +482,98 @@ static void __init cm_t35_map_io(void)
> omap2_map_common_io();
> }
>
> -#ifdef CONFIG_OMAP_MUX
> static struct omap_board_mux board_mux[] __initdata = {
> + /* nCS and IRQ for CM-T35 ethernet */
> + OMAP3_MUX(GPMC_NCS5, OMAP_MUX_MODE0),
> + OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
> +
> + /* nCS and IRQ for SB-T35 ethernet */
> + OMAP3_MUX(GPMC_NCS4, OMAP_MUX_MODE0),
> + OMAP3_MUX(GPMC_WAIT3, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
> +
> + /* PENDOWN GPIO */
> + OMAP3_MUX(GPMC_NCS6, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
> +
> + /* mUSB */
> + OMAP3_MUX(HSUSB0_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_STP, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(HSUSB0_DIR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_NXT, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(HSUSB0_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> +
> + /* MMC 2 */
> + OMAP3_MUX(SDMMC2_DAT4, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(SDMMC2_DAT5, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(SDMMC2_DAT6, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(SDMMC2_DAT7, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
> +
> + /* McSPI 1 */
> + OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
> +
> + /* McSPI 4 */
> + OMAP3_MUX(MCBSP1_CLKR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCBSP1_DX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCBSP1_DR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCBSP1_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP),
> +
> + /* McBSP 2 */
> + OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> + OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> +
> + /* serial ports */
> + OMAP3_MUX(MCBSP3_CLKX, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT),
> + OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
> +
> + /* DSS */
> + OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> + OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
> +
> + /* TPS IRQ */
> + OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_WAKEUP_EN | \
> + OMAP_PIN_INPUT_PULLUP),
> +
> { .reg_offset = OMAP_MUX_TERMINATOR },
> };
> -#else
> -#define board_mux NULL
> -#endif
>
> static void __init cm_t35_init(void)
> {
> @@ -501,9 +586,6 @@ static void __init cm_t35_init(void)
> cm_t35_init_led();
>
> usb_musb_init();
> -
> - omap_mux_init_signal("sys_nirq",
> - OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP);
> }
>
> MACHINE_START(CM_T35, "Compulab CM-T35")
> --
> 1.6.4.4
>
>
>
> --
> Sincerely yours,
> Mike.
>
>
next prev parent reply other threads:[~2009-12-09 16:36 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-29 8:07 [PATCH] omap3: cm-t35: add mux initialization Mike Rapoport
2009-11-29 8:07 ` [PATCH] omap3: mux: add shorthands for OUTPUT_PULL{UP,DOWN} Mike Rapoport
2009-11-30 21:12 ` Tony Lindgren
2009-11-30 21:58 ` Mike Rapoport
2009-11-30 23:10 ` Tony Lindgren
2009-12-01 7:57 ` Mike Rapoport
2009-11-29 8:07 ` [PATCH] omap3: cm-t35: add mux initialization Mike Rapoport
2009-12-06 15:31 ` Mike Rapoport
2009-12-07 16:22 ` Tony Lindgren
2009-12-07 16:35 ` Gadiyar, Anand
2009-12-07 17:44 ` Tony Lindgren
2009-12-08 10:40 ` Mike Rapoport
2009-12-09 6:49 ` [PATCH v2] " Mike Rapoport
2009-12-09 13:27 ` [PATCH] omap3: cm-t35: add mux initialization (was: Re: [PATCH] omap3: cm-t35: add mux initialization) Mike Rapoport
2009-12-09 16:36 ` Tony Lindgren [this message]
2009-12-11 22:00 ` [APPLIED] [PATCH] omap3: cm-t35: add mux initialization Tony Lindgren
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=20091209163620.GO24013@atomide.com \
--to=tony@atomide.com \
--cc=gadiyar@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=mike@compulab.co.il \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox