/* * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include #include #include #include #include #include "../common/misc.h" DECLARE_GLOBAL_DATA_PTR; int board_init(void) { gd->bd->bi_arch_number = MACH_TYPE_DAVINCI_DM365_EVM; gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; return 0; } #ifdef CONFIG_NAND_DAVINCI static void nand_dm365evm_select_chip(struct mtd_info *mtd, int chip) { struct nand_chip *this = mtd->priv; u32 wbase = (u32) this->IO_ADDR_W; u32 rbase = (u32) this->IO_ADDR_R; if (chip == 1) { __set_bit(14, &wbase); __set_bit(14, &rbase); } else { __clear_bit(14, &wbase); __clear_bit(14, &rbase); } this->IO_ADDR_W = (void *)wbase; this->IO_ADDR_R = (void *)rbase; } int board_nand_init(struct nand_chip *nand) { davinci_nand_init(nand); nand->select_chip = nand_dm365evm_select_chip; return 0; } #endif