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:
		
							parent
							
								
									ef88e60902
								
							
						
					
					
						commit
						ed900c55c3
					
				|  | @ -1,7 +1,7 @@ | |||
| /*
 | ||||
|  *  (C) Copyright 2010,2011 | ||||
|  *  NVIDIA Corporation <www.nvidia.com> | ||||
|  *  (C) Copyright 2011 | ||||
|  *  (C) Copyright 2011-2012 | ||||
|  *  Avionic Design GmbH <www.avionic-design.de> | ||||
|  * | ||||
|  * See file CREDITS for list of people who contributed to this | ||||
|  | @ -36,25 +36,17 @@ | |||
| #include <asm/arch/pinmux.h> | ||||
| #include <asm/arch/uart.h> | ||||
| #include <asm/arch/mmc.h> | ||||
| #include "tamonten.h" | ||||
| 
 | ||||
| #ifdef CONFIG_TEGRA2_MMC | ||||
| #include <mmc.h> | ||||
| #endif | ||||
| 
 | ||||
| DECLARE_GLOBAL_DATA_PTR; | ||||
| 
 | ||||
| const struct tegra2_sysinfo sysinfo = { | ||||
| 	CONFIG_TEGRA2_BOARD_STRING | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  * Routine: timer_init | ||||
|  * Description: init the timestamp and lastinc value | ||||
|  * Routine: gpio_config_uart | ||||
|  * Description: Does nothing on Tamonten - no conflict w/SPI. | ||||
|  */ | ||||
| int timer_init(void) | ||||
| void gpio_config_uart(void) | ||||
| { | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_TEGRA2_MMC | ||||
|  | @ -65,46 +57,19 @@ int timer_init(void) | |||
| static void pin_mux_mmc(void) | ||||
| { | ||||
| 	funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT); | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * 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; | ||||
| 	/* for CD GPIO PH2 */ | ||||
| 	pinmux_tristate_disable(PINGRP_ATD); | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_TEGRA2_MMC | ||||
| /* this is a weak define that we are overriding */ | ||||
| int board_mmc_init(bd_t *bd) | ||||
| { | ||||
| 	debug("board_mmc_init called\n"); | ||||
| 	/* Enable muxes, etc. for SDMMC controllers */ | ||||
| 	pin_mux_mmc(); | ||||
| 	gpio_config_mmc(); | ||||
| 
 | ||||
| 	debug("board_mmc_init: init eMMC\n"); | ||||
| 	/* init dev 0, eMMC chip, with 4-bit bus */ | ||||
| 	/* init dev 0, SD slot, with 4-bit bus */ | ||||
| 	tegra2_mmc_init(0, 4, -1, GPIO_PH2); | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| #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 */ | ||||
|  |  | |||
|  | @ -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 */ | ||||
|  | @ -1,7 +1,7 @@ | |||
| #
 | ||||
| #  (C) Copyright 2010,2011
 | ||||
| #  NVIDIA Corporation <www.nvidia.com>
 | ||||
| #  (C) Copyright 2011
 | ||||
| #  (C) Copyright 2011,2012
 | ||||
| #  Avionic Design GmbH <www.avionic-design.de>
 | ||||
| #
 | ||||
| #  See file CREDITS for list of people who contributed to this
 | ||||
|  | @ -26,12 +26,12 @@ | |||
| include $(TOPDIR)/config.mk | ||||
| 
 | ||||
| ifneq ($(OBJTREE),$(SRCTREE)) | ||||
| $(shell mkdir -p $(obj)../common) | ||||
| $(shell mkdir -p $(obj)../common $(obj)../../nvidia/common) | ||||
| endif | ||||
| 
 | ||||
| LIB	= $(obj)lib$(BOARD).o | ||||
| 
 | ||||
| COBJS	:= $(BOARD).o | ||||
| COBJS	:= ../../nvidia/common/board.o | ||||
| COBJS	+= ../common/tamonten.o | ||||
| 
 | ||||
| SRCS	:= $(COBJS:.o=.c) | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -1,7 +1,7 @@ | |||
| #
 | ||||
| #  (C) Copyright 2010,2011
 | ||||
| #  NVIDIA Corporation <www.nvidia.com>
 | ||||
| #  (C) Copyright 2011
 | ||||
| #  (C) Copyright 2011,2012
 | ||||
| #  Avionic Design GmbH <www.avionic-design.de>
 | ||||
| #
 | ||||
| #  See file CREDITS for list of people who contributed to this
 | ||||
|  | @ -26,12 +26,12 @@ | |||
| include $(TOPDIR)/config.mk | ||||
| 
 | ||||
| ifneq ($(OBJTREE),$(SRCTREE)) | ||||
| $(shell mkdir -p $(obj)../common) | ||||
| $(shell mkdir -p $(obj)../common $(obj)../../nvidia/common) | ||||
| endif | ||||
| 
 | ||||
| LIB	= $(obj)lib$(BOARD).o | ||||
| 
 | ||||
| COBJS	:= $(BOARD).o | ||||
| COBJS	:= ../../nvidia/common/board.o | ||||
| COBJS	+= ../common/tamonten.o | ||||
| 
 | ||||
| SRCS	:= $(COBJS:.o=.c) | ||||
|  |  | |||
|  | @ -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 | ||||
		Loading…
	
		Reference in New Issue