From c0720afbb56f91fd33fb5b4e564e1037809c6304 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Sat, 29 Sep 2012 10:02:09 +0000 Subject: tegra: nand: add board pinmux Boards may require a different pinmux setup for NAND than the default one. Add a way to call into board specific code to set this up. Signed-off-by: Lucas Stach Signed-off-by: Tom Warren --- arch/arm/include/asm/arch-tegra/board.h | 1 + board/nvidia/common/board.c | 12 ++++++++++++ drivers/mtd/nand/tegra_nand.c | 1 - 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h index 7e56df7..be6bf25 100644 --- a/arch/arm/include/asm/arch-tegra/board.h +++ b/arch/arm/include/asm/arch-tegra/board.h @@ -43,5 +43,6 @@ void gpio_early_init(void); /* overrideable GPIO config */ void pin_mux_usb(void); /* overrideable USB pinmux setup */ void pin_mux_spi(void); /* overrideable SPI pinmux setup */ +void pin_mux_nand(void); /* overrideable NAND pinmux setup */ #endif diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index dc301e7..2c7cd0d 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -77,6 +78,13 @@ void __gpio_early_init_uart(void) void gpio_early_init_uart(void) __attribute__((weak, alias("__gpio_early_init_uart"))); +void __pin_mux_nand(void) +{ + funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT); +} + +void pin_mux_nand(void) __attribute__((weak, alias("__pin_mux_nand"))); + /* * Routine: power_det_init * Description: turn off power detects @@ -137,6 +145,10 @@ int board_init(void) board_usb_init(gd->fdt_blob); #endif +#ifdef CONFIG_TEGRA_NAND + pin_mux_nand(); +#endif + #ifdef CONFIG_TEGRA_LP0 /* save Sdram params to PMC 2, 4, and 24 for WB0 */ warmboot_save_sdram_params(); diff --git a/drivers/mtd/nand/tegra_nand.c b/drivers/mtd/nand/tegra_nand.c index 2c1b533..5408c51 100644 --- a/drivers/mtd/nand/tegra_nand.c +++ b/drivers/mtd/nand/tegra_nand.c @@ -992,7 +992,6 @@ int tegra_nand_init(struct nand_chip *nand, int devnum) /* Adjust timing for NAND device */ setup_timing(config->timing, info->reg); - funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT); fdtdec_setup_gpio(&config->wp_gpio); gpio_direction_output(config->wp_gpio.gpio, 1); -- cgit v1.1