1/* 2 * Global extern defines for blackfin 3 * 4 * Copyright 2006-2009 Analog Devices Inc. 5 * 6 * Licensed under the GPL-2 or later. 7 */ 8 9#ifndef _BFIN_GLOBAL_H_ 10#define _BFIN_GLOBAL_H_ 11 12#ifndef __ASSEMBLY__ 13 14#include <linux/linkage.h> 15#include <linux/types.h> 16 17#if defined(CONFIG_DMA_UNCACHED_32M) 18# define DMA_UNCACHED_REGION (32 * 1024 * 1024) 19#elif defined(CONFIG_DMA_UNCACHED_16M) 20# define DMA_UNCACHED_REGION (16 * 1024 * 1024) 21#elif defined(CONFIG_DMA_UNCACHED_8M) 22# define DMA_UNCACHED_REGION (8 * 1024 * 1024) 23#elif defined(CONFIG_DMA_UNCACHED_4M) 24# define DMA_UNCACHED_REGION (4 * 1024 * 1024) 25#elif defined(CONFIG_DMA_UNCACHED_2M) 26# define DMA_UNCACHED_REGION (2 * 1024 * 1024) 27#elif defined(CONFIG_DMA_UNCACHED_1M) 28# define DMA_UNCACHED_REGION (1024 * 1024) 29#elif defined(CONFIG_DMA_UNCACHED_512K) 30# define DMA_UNCACHED_REGION (512 * 1024) 31#elif defined(CONFIG_DMA_UNCACHED_256K) 32# define DMA_UNCACHED_REGION (256 * 1024) 33#elif defined(CONFIG_DMA_UNCACHED_128K) 34# define DMA_UNCACHED_REGION (128 * 1024) 35#else 36# define DMA_UNCACHED_REGION (0) 37#endif 38 39extern void bfin_setup_caches(unsigned int cpu); 40extern void bfin_setup_cpudata(unsigned int cpu); 41 42extern unsigned long get_cclk(void); 43extern unsigned long get_sclk(void); 44#ifdef CONFIG_BF60x 45extern unsigned long get_sclk0(void); 46extern unsigned long get_sclk1(void); 47extern unsigned long get_dclk(void); 48#endif 49extern unsigned long sclk_to_usecs(unsigned long sclk); 50extern unsigned long usecs_to_sclk(unsigned long usecs); 51 52struct pt_regs; 53#if defined(CONFIG_DEBUG_VERBOSE) 54extern void dump_bfin_process(struct pt_regs *regs); 55extern void dump_bfin_mem(struct pt_regs *regs); 56extern void dump_bfin_trace_buffer(void); 57#else 58#define dump_bfin_process(regs) 59#define dump_bfin_mem(regs) 60#define dump_bfin_trace_buffer() 61#endif 62 63extern void *l1_data_A_sram_alloc(size_t); 64extern void *l1_data_B_sram_alloc(size_t); 65extern void *l1_inst_sram_alloc(size_t); 66extern void *l1_data_sram_alloc(size_t); 67extern void *l1_data_sram_zalloc(size_t); 68extern void *l2_sram_alloc(size_t); 69extern void *l2_sram_zalloc(size_t); 70extern int l1_data_A_sram_free(const void*); 71extern int l1_data_B_sram_free(const void*); 72extern int l1_inst_sram_free(const void*); 73extern int l1_data_sram_free(const void*); 74extern int l2_sram_free(const void *); 75extern int sram_free(const void*); 76 77#define L1_INST_SRAM 0x00000001 78#define L1_DATA_A_SRAM 0x00000002 79#define L1_DATA_B_SRAM 0x00000004 80#define L1_DATA_SRAM 0x00000006 81#define L2_SRAM 0x00000008 82extern void *sram_alloc_with_lsl(size_t, unsigned long); 83extern int sram_free_with_lsl(const void*); 84 85extern void *isram_memcpy(void *dest, const void *src, size_t n); 86 87extern const char bfin_board_name[]; 88 89extern unsigned long bfin_sic_iwr[]; 90extern unsigned vr_wakeup; 91extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ 92 93#endif 94 95#endif /* _BLACKFIN_H_ */ 96