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