1 /* 2 * (C) Copyright 2004-2008 3 * Texas Instruments, <www.ti.com> 4 * Richard Woodruff <r-woodruff2@ti.com> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of 9 * the License, or (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, 19 * MA 02111-1307 USA 20 */ 21 #ifndef _SYS_PROTO_H_ 22 #define _SYS_PROTO_H_ 23 24 typedef struct { 25 u32 mtype; 26 char *board_string; 27 char *nand_string; 28 } omap3_sysinfo; 29 30 struct emu_hal_params { 31 u32 num_params; 32 u32 param1; 33 }; 34 35 /* Board SDRC timing values */ 36 struct board_sdrc_timings { 37 u32 mcfg; 38 u32 ctrla; 39 u32 ctrlb; 40 u32 rfr_ctrl; 41 u32 mr; 42 }; 43 44 void prcm_init(void); 45 void per_clocks_enable(void); 46 void ehci_clocks_enable(void); 47 48 void memif_init(void); 49 void sdrc_init(void); 50 void do_sdrc_init(u32, u32); 51 52 void get_board_mem_timings(struct board_sdrc_timings *timings); 53 void identify_nand_chip(int *mfr, int *id); 54 void emif4_init(void); 55 void gpmc_init(void); 56 void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base, 57 u32 size); 58 59 void watchdog_init(void); 60 void set_muxconf_regs(void); 61 62 u32 get_cpu_family(void); 63 u32 get_cpu_rev(void); 64 u32 get_sku_id(void); 65 u32 get_sysboot_value(void); 66 u32 is_gpmc_muxed(void); 67 u32 get_gpmc0_type(void); 68 u32 get_gpmc0_width(void); 69 u32 is_running_in_sdram(void); 70 u32 is_running_in_sram(void); 71 u32 is_running_in_flash(void); 72 u32 get_device_type(void); 73 void secureworld_exit(void); 74 void try_unlock_memory(void); 75 u32 get_boot_type(void); 76 void invalidate_dcache(u32); 77 void sr32(void *, u32, u32, u32); 78 u32 wait_on_value(u32, u32, void *, u32); 79 void sdelay(unsigned long); 80 void make_cs1_contiguous(void); 81 void omap_nand_switch_ecc(uint32_t, uint32_t); 82 void power_init_r(void); 83 void dieid_num_r(void); 84 void do_omap3_emu_romcode_call(u32 service_id, u32 parameters); 85 void omap3_gp_romcode_call(u32 service_id, u32 parameter); 86 u32 warm_reset(void); 87 #endif 88