tegra: Rework Tamonten support

This commit uses the common Tegra board implementation instead of
duplicating a lot of the code. In addition, the Plutux and Medcom
specific board files can be removed as the MMC/SD setup is common
among all Tamonten-based boards.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
Thierry Reding 2012-06-04 20:02:24 +00:00 committed by Albert ARIBAUD (U-Boot)
parent ef88e60902
commit ed900c55c3
6 changed files with 13 additions and 170 deletions

View File

@ -1,7 +1,7 @@
/* /*
* (C) Copyright 2010,2011 * (C) Copyright 2010,2011
* NVIDIA Corporation <www.nvidia.com> * NVIDIA Corporation <www.nvidia.com>
* (C) Copyright 2011 * (C) Copyright 2011-2012
* Avionic Design GmbH <www.avionic-design.de> * Avionic Design GmbH <www.avionic-design.de>
* *
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
@ -36,25 +36,17 @@
#include <asm/arch/pinmux.h> #include <asm/arch/pinmux.h>
#include <asm/arch/uart.h> #include <asm/arch/uart.h>
#include <asm/arch/mmc.h> #include <asm/arch/mmc.h>
#include "tamonten.h"
#ifdef CONFIG_TEGRA2_MMC #ifdef CONFIG_TEGRA2_MMC
#include <mmc.h> #include <mmc.h>
#endif #endif
DECLARE_GLOBAL_DATA_PTR;
const struct tegra2_sysinfo sysinfo = {
CONFIG_TEGRA2_BOARD_STRING
};
/* /*
* Routine: timer_init * Routine: gpio_config_uart
* Description: init the timestamp and lastinc value * Description: Does nothing on Tamonten - no conflict w/SPI.
*/ */
int timer_init(void) void gpio_config_uart(void)
{ {
return 0;
} }
#ifdef CONFIG_TEGRA2_MMC #ifdef CONFIG_TEGRA2_MMC
@ -65,46 +57,19 @@ int timer_init(void)
static void pin_mux_mmc(void) static void pin_mux_mmc(void)
{ {
funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT); funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
} /* for CD GPIO PH2 */
#endif pinmux_tristate_disable(PINGRP_ATD);
/*
* Routine: board_init
* Description: Early hardware init.
*/
int board_init(void)
{
clock_init();
clock_verify();
/* boot param addr */
gd->bd->bi_boot_params = (NV_PA_SDRAM_BASE + 0x100);
return 0;
} }
#ifdef CONFIG_TEGRA2_MMC
/* this is a weak define that we are overriding */ /* this is a weak define that we are overriding */
int board_mmc_init(bd_t *bd) int board_mmc_init(bd_t *bd)
{ {
debug("board_mmc_init called\n");
/* Enable muxes, etc. for SDMMC controllers */ /* Enable muxes, etc. for SDMMC controllers */
pin_mux_mmc(); pin_mux_mmc();
gpio_config_mmc();
debug("board_mmc_init: init eMMC\n"); /* init dev 0, SD slot, with 4-bit bus */
/* init dev 0, eMMC chip, with 4-bit bus */
tegra2_mmc_init(0, 4, -1, GPIO_PH2); tegra2_mmc_init(0, 4, -1, GPIO_PH2);
return 0; return 0;
} }
#endif #endif
#ifdef CONFIG_BOARD_EARLY_INIT_F
int board_early_init_f(void)
{
/* Initialize selected UARTs */
board_init_uart_f();
return 0;
}
#endif /* EARLY_INIT */

View File

@ -1,32 +0,0 @@
/*
* (C) Copyright 2010,2011
* NVIDIA Corporation <www.nvidia.com>
* (C) Copyright 2011
* Avionic Design GmbH <www.avionic-design.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#ifndef _TAMONTEN_H_
#define _TAMONTEN_H_
void tegra2_start(void);
void gpio_config_mmc(void);
#endif /* TAMONTEN_H */

View File

@ -1,7 +1,7 @@
# #
# (C) Copyright 2010,2011 # (C) Copyright 2010,2011
# NVIDIA Corporation <www.nvidia.com> # NVIDIA Corporation <www.nvidia.com>
# (C) Copyright 2011 # (C) Copyright 2011,2012
# Avionic Design GmbH <www.avionic-design.de> # Avionic Design GmbH <www.avionic-design.de>
# #
# See file CREDITS for list of people who contributed to this # See file CREDITS for list of people who contributed to this
@ -26,12 +26,12 @@
include $(TOPDIR)/config.mk include $(TOPDIR)/config.mk
ifneq ($(OBJTREE),$(SRCTREE)) ifneq ($(OBJTREE),$(SRCTREE))
$(shell mkdir -p $(obj)../common) $(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
endif endif
LIB = $(obj)lib$(BOARD).o LIB = $(obj)lib$(BOARD).o
COBJS := $(BOARD).o COBJS := ../../nvidia/common/board.o
COBJS += ../common/tamonten.o COBJS += ../common/tamonten.o
SRCS := $(COBJS:.o=.c) SRCS := $(COBJS:.o=.c)

View File

@ -1,45 +0,0 @@
/*
* (C) Copyright 2010,2011
* NVIDIA Corporation <www.nvidia.com>
* (C) Copyright 2011
* Avionic Design GmbH <www.avionic-design.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <common.h>
#include <asm/io.h>
#include <asm/gpio.h>
#include <asm/arch/tegra2.h>
#ifdef CONFIG_TEGRA2_MMC
#include <mmc.h>
#endif
#ifdef CONFIG_TEGRA2_MMC
/*
* Routine: gpio_config_mmc
* Description: Set GPIOs for SD card
*/
void gpio_config_mmc(void)
{
/* configure pin as input for card detect */
gpio_request(GPIO_PH2, "SD4 CD");
gpio_direction_input(GPIO_PH2);
}
#endif

View File

@ -1,7 +1,7 @@
# #
# (C) Copyright 2010,2011 # (C) Copyright 2010,2011
# NVIDIA Corporation <www.nvidia.com> # NVIDIA Corporation <www.nvidia.com>
# (C) Copyright 2011 # (C) Copyright 2011,2012
# Avionic Design GmbH <www.avionic-design.de> # Avionic Design GmbH <www.avionic-design.de>
# #
# See file CREDITS for list of people who contributed to this # See file CREDITS for list of people who contributed to this
@ -26,12 +26,12 @@
include $(TOPDIR)/config.mk include $(TOPDIR)/config.mk
ifneq ($(OBJTREE),$(SRCTREE)) ifneq ($(OBJTREE),$(SRCTREE))
$(shell mkdir -p $(obj)../common) $(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
endif endif
LIB = $(obj)lib$(BOARD).o LIB = $(obj)lib$(BOARD).o
COBJS := $(BOARD).o COBJS := ../../nvidia/common/board.o
COBJS += ../common/tamonten.o COBJS += ../common/tamonten.o
SRCS := $(COBJS:.o=.c) SRCS := $(COBJS:.o=.c)

View File

@ -1,45 +0,0 @@
/*
* (C) Copyright 2010,2011
* NVIDIA Corporation <www.nvidia.com>
* (C) Copyright 2011
* Avionic Design GmbH <www.avionic-design.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <common.h>
#include <asm/io.h>
#include <asm/gpio.h>
#include <asm/arch/tegra2.h>
#ifdef CONFIG_TEGRA2_MMC
#include <mmc.h>
#endif
#ifdef CONFIG_TEGRA2_MMC
/*
* Routine: gpio_config_mmc
* Description: Set GPIOs for SD card
*/
void gpio_config_mmc(void)
{
/* configure pin as input for card detect */
gpio_request(GPIO_PH2, "SD4 CD");
gpio_direction_input(GPIO_PH2);
}
#endif