1 /* 2 * iPAQ h2200 board configuration 3 * 4 * Copyright (C) 2012 Lukasz Dalek <luk0104@gmail.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21 #include <common.h> 22 #include <asm/arch/pxa.h> 23 #include <asm/arch/pxa-regs.h> 24 #include <asm/io.h> 25 #include <usb.h> 26 27 DECLARE_GLOBAL_DATA_PTR; 28 29 int board_eth_init(bd_t *bis) 30 { 31 usb_eth_initialize(bis); 32 return 0; 33 } 34 35 void reset_cpu(ulong ignore) 36 { 37 /* Enable VLIO interface on Hamcop */ 38 writeb(0x1, 0x4000); 39 40 /* Reset board (cold reset) */ 41 writeb(0xff, 0x4002); 42 } 43 44 int board_init(void) 45 { 46 /* We have RAM, disable cache */ 47 dcache_disable(); 48 icache_disable(); 49 50 gd->bd->bi_arch_number = MACH_TYPE_H2200; 51 52 /* adress of boot parameters */ 53 gd->bd->bi_boot_params = 0xa0000100; 54 55 /* Let host see that device is disconnected */ 56 udc_disconnect(); 57 mdelay(500); 58 59 return 0; 60 } 61 62 int dram_init(void) 63 { 64 /* 65 * Everything except MSC0 was already set up by 66 * 1st stage bootloader. 67 * 68 * This setting enables access to companion chip. 69 */ 70 clrsetbits_le32(MSC0, 0xffffffff, CONFIG_SYS_MSC0_VAL); 71 gd->ram_size = CONFIG_SYS_SDRAM_SIZE; 72 return 0; 73 } 74