Message ID | 1350602759-22605-5-git-send-email-swarren@wwwdotorg.org |
---|---|
State | Superseded |
Delegated to: | Tom Warren |
Headers | show |
On Thu, Oct 18, 2012 at 4:25 PM, Stephen Warren <swarren@wwwdotorg.org> wrote: > From: Stephen Warren <swarren@nvidia.com> > > Seaboard has a GPIO that switches an external mux between Tegra's debug > UART and SPI flash. This is initialized from the SPL so that SPL debug > output can be seen. Simplify the code that does this, and don't actually > request the GPIO in the SPL; just program it. This saves ~4.5K from the > size of the SPL, mostly BSS due to the large gpio_names[] table that is > no longer required. This makes Seaboard's SPL fit within the current max > size. > > Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> > --- > v2: New patch to replace modification of CONFIG_SYS_TEXT_BASE. > --- > board/nvidia/seaboard/seaboard.c | 14 ++++---------- > 1 files changed, 4 insertions(+), 10 deletions(-) > > diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c > index 6dce57f..c08ca80 100644 > --- a/board/nvidia/seaboard/seaboard.c > +++ b/board/nvidia/seaboard/seaboard.c > @@ -26,6 +26,7 @@ > #include <asm/arch/tegra.h> > #include <asm/arch/clock.h> > #include <asm/arch/funcmux.h> > +#include <asm/arch/gpio.h> > #include <asm/arch/pinmux.h> > #include <asm/arch-tegra/mmc.h> > #include <asm/gpio.h> > @@ -36,21 +37,14 @@ > /* TODO: Remove this code when the SPI switch is working */ > #ifndef CONFIG_SPI_UART_SWITCH > #if CONFIG_MACH_TYPE != MACH_TYPE_VENTANA > -/* > - * Routine: gpio_config_uart_seaboard > - * Description: Force GPIO_PI3 low on Seaboard so UART4 works. > - */ > -static void gpio_config_uart_seaboard(void) > +void gpio_early_init_uart(void) > { > /* Enable UART via GPIO_PI3 (port 8, bit 3) so serial console works */ > +#ifndef CONFIG_SPL_BUILD > gpio_request(GPIO_PI3, NULL); > +#endif > gpio_direction_output(GPIO_PI3, 0); > } > - > -void gpio_early_init_uart(void) > -{ > - gpio_config_uart_seaboard(); > -} > #endif > #endif > > -- > 1.7.0.4 >
On Thu, Oct 18, 2012 at 04:25:59PM -0700, Stephen Warren wrote: > From: Stephen Warren <swarren@nvidia.com> > > Seaboard has a GPIO that switches an external mux between Tegra's debug > UART and SPI flash. This is initialized from the SPL so that SPL debug > output can be seen. Simplify the code that does this, and don't actually > request the GPIO in the SPL; just program it. This saves ~4.5K from the > size of the SPL, mostly BSS due to the large gpio_names[] table that is > no longer required. This makes Seaboard's SPL fit within the current max > size. > Acked-by: Allen Martin <amartin@nvidia.com> > Signed-off-by: Stephen Warren <swarren@nvidia.com> > --- > v2: New patch to replace modification of CONFIG_SYS_TEXT_BASE. > --- > board/nvidia/seaboard/seaboard.c | 14 ++++---------- > 1 files changed, 4 insertions(+), 10 deletions(-) > > diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c > index 6dce57f..c08ca80 100644 > --- a/board/nvidia/seaboard/seaboard.c > +++ b/board/nvidia/seaboard/seaboard.c > @@ -26,6 +26,7 @@ > #include <asm/arch/tegra.h> > #include <asm/arch/clock.h> > #include <asm/arch/funcmux.h> > +#include <asm/arch/gpio.h> > #include <asm/arch/pinmux.h> > #include <asm/arch-tegra/mmc.h> > #include <asm/gpio.h> > @@ -36,21 +37,14 @@ > /* TODO: Remove this code when the SPI switch is working */ > #ifndef CONFIG_SPI_UART_SWITCH > #if CONFIG_MACH_TYPE != MACH_TYPE_VENTANA > -/* > - * Routine: gpio_config_uart_seaboard > - * Description: Force GPIO_PI3 low on Seaboard so UART4 works. > - */ > -static void gpio_config_uart_seaboard(void) > +void gpio_early_init_uart(void) > { > /* Enable UART via GPIO_PI3 (port 8, bit 3) so serial console works */ > +#ifndef CONFIG_SPL_BUILD > gpio_request(GPIO_PI3, NULL); > +#endif > gpio_direction_output(GPIO_PI3, 0); > } > - > -void gpio_early_init_uart(void) > -{ > - gpio_config_uart_seaboard(); > -} > #endif > #endif > > -- > 1.7.0.4 >
diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c index 6dce57f..c08ca80 100644 --- a/board/nvidia/seaboard/seaboard.c +++ b/board/nvidia/seaboard/seaboard.c @@ -26,6 +26,7 @@ #include <asm/arch/tegra.h> #include <asm/arch/clock.h> #include <asm/arch/funcmux.h> +#include <asm/arch/gpio.h> #include <asm/arch/pinmux.h> #include <asm/arch-tegra/mmc.h> #include <asm/gpio.h> @@ -36,21 +37,14 @@ /* TODO: Remove this code when the SPI switch is working */ #ifndef CONFIG_SPI_UART_SWITCH #if CONFIG_MACH_TYPE != MACH_TYPE_VENTANA -/* - * Routine: gpio_config_uart_seaboard - * Description: Force GPIO_PI3 low on Seaboard so UART4 works. - */ -static void gpio_config_uart_seaboard(void) +void gpio_early_init_uart(void) { /* Enable UART via GPIO_PI3 (port 8, bit 3) so serial console works */ +#ifndef CONFIG_SPL_BUILD gpio_request(GPIO_PI3, NULL); +#endif gpio_direction_output(GPIO_PI3, 0); } - -void gpio_early_init_uart(void) -{ - gpio_config_uart_seaboard(); -} #endif #endif