134cda7a0SŁukasz Dałek /* 234cda7a0SŁukasz Dałek * iPAQ h2200 board configuration 334cda7a0SŁukasz Dałek * 434cda7a0SŁukasz Dałek * Copyright (C) 2012 Lukasz Dalek <luk0104@gmail.com> 534cda7a0SŁukasz Dałek * 61a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 734cda7a0SŁukasz Dałek */ 834cda7a0SŁukasz Dałek 934cda7a0SŁukasz Dałek #include <common.h> 1034cda7a0SŁukasz Dałek #include <asm/arch/pxa.h> 1134cda7a0SŁukasz Dałek #include <asm/arch/pxa-regs.h> 1234cda7a0SŁukasz Dałek #include <asm/io.h> 13a33fada1SLukasz Dalek #include <usb.h> 14*c62db35dSSimon Glass #include <asm/mach-types.h> 1534cda7a0SŁukasz Dałek 1634cda7a0SŁukasz Dałek DECLARE_GLOBAL_DATA_PTR; 1734cda7a0SŁukasz Dałek board_eth_init(bd_t * bis)18a33fada1SLukasz Dalekint board_eth_init(bd_t *bis) 19a33fada1SLukasz Dalek { 20a33fada1SLukasz Dalek usb_eth_initialize(bis); 21a33fada1SLukasz Dalek return 0; 22a33fada1SLukasz Dalek } 23a33fada1SLukasz Dalek reset_cpu(ulong ignore)2466a62ce0SŁukasz Dałekvoid reset_cpu(ulong ignore) 2566a62ce0SŁukasz Dałek { 2666a62ce0SŁukasz Dałek /* Enable VLIO interface on Hamcop */ 2766a62ce0SŁukasz Dałek writeb(0x1, 0x4000); 2866a62ce0SŁukasz Dałek 2966a62ce0SŁukasz Dałek /* Reset board (cold reset) */ 3066a62ce0SŁukasz Dałek writeb(0xff, 0x4002); 3166a62ce0SŁukasz Dałek } 3266a62ce0SŁukasz Dałek board_init(void)3334cda7a0SŁukasz Dałekint board_init(void) 3434cda7a0SŁukasz Dałek { 3534cda7a0SŁukasz Dałek /* We have RAM, disable cache */ 3634cda7a0SŁukasz Dałek dcache_disable(); 3734cda7a0SŁukasz Dałek icache_disable(); 3834cda7a0SŁukasz Dałek 3934cda7a0SŁukasz Dałek gd->bd->bi_arch_number = MACH_TYPE_H2200; 4034cda7a0SŁukasz Dałek 4134cda7a0SŁukasz Dałek /* adress of boot parameters */ 4234cda7a0SŁukasz Dałek gd->bd->bi_boot_params = 0xa0000100; 4334cda7a0SŁukasz Dałek 44a33fada1SLukasz Dalek /* Let host see that device is disconnected */ 45a33fada1SLukasz Dalek udc_disconnect(); 46a33fada1SLukasz Dalek mdelay(500); 47a33fada1SLukasz Dalek 4834cda7a0SŁukasz Dałek return 0; 4934cda7a0SŁukasz Dałek } 5034cda7a0SŁukasz Dałek dram_init(void)5134cda7a0SŁukasz Dałekint dram_init(void) 5234cda7a0SŁukasz Dałek { 5334cda7a0SŁukasz Dałek /* 5434cda7a0SŁukasz Dałek * Everything except MSC0 was already set up by 5534cda7a0SŁukasz Dałek * 1st stage bootloader. 5634cda7a0SŁukasz Dałek * 5734cda7a0SŁukasz Dałek * This setting enables access to companion chip. 5834cda7a0SŁukasz Dałek */ 5934cda7a0SŁukasz Dałek clrsetbits_le32(MSC0, 0xffffffff, CONFIG_SYS_MSC0_VAL); 6034cda7a0SŁukasz Dałek gd->ram_size = CONFIG_SYS_SDRAM_SIZE; 6134cda7a0SŁukasz Dałek return 0; 6234cda7a0SŁukasz Dałek } 63cc4f1558SKishon Vijay Abraham I 64cc4f1558SKishon Vijay Abraham I #ifdef CONFIG_USB_GADGET_PXA2XX board_usb_init(int index,enum usb_init_type init)65cc4f1558SKishon Vijay Abraham Iint board_usb_init(int index, enum usb_init_type init) 66cc4f1558SKishon Vijay Abraham I { 67cc4f1558SKishon Vijay Abraham I return 0; 68cc4f1558SKishon Vijay Abraham I } 69cc4f1558SKishon Vijay Abraham I board_usb_cleanup(int index,enum usb_init_type init)70cc4f1558SKishon Vijay Abraham Iint board_usb_cleanup(int index, enum usb_init_type init) 71cc4f1558SKishon Vijay Abraham I { 72cc4f1558SKishon Vijay Abraham I return 0; 73cc4f1558SKishon Vijay Abraham I } 74cc4f1558SKishon Vijay Abraham I #endif 75