#ifndef _mach_avm_h_ #define _mach_avm_h_ #include /** * 240-254 char LOCAL/EXPERIMENTAL USE * 240-254 block LOCAL/EXPERIMENTAL USE * Allocated for local/experimental use. For devices not * assigned official numbers, these ranges should be * used in order to avoid conflicting with future assignments. */ #define AVM_DECT_IO_MAJOR 227 #define AVM_USERMAN_MAJOR 228 #define KDSLD_USERMAN_MAJOR 229 #define AVM_TIATM_MAJOR 230 #define TFFS_MAJOR 262 #define AVM_EVENT_MAJOR 261 #define AVM_DEBUG_MAJOR 263 #define WATCHDOG_MAJOR 260 #define KDSLD_MAJOR 243 #define KDSLDPTRACE_MAJOR 244 #define UBIK_MAJOR 245 #define DEBUG_TRACE_MAJOR 246 #define AVM_LED_MAJOR 247 #define AVM_I2C_MAJOR 248 #define YAFFS 249 #define AVM_AUDIO_MAJOR 250 #define AVM_NEW_LED_MAJOR 251 #define AVM_POWER_MAJOR 252 #define AVM_VINAX_MAJOR 253 #define AVM_HSK_MAJOR 254 #define AVM_NET_TRACE_MAJOR 255 #define AVM_ATH_EEPROM 239 /** * zusaetzlich folgende: * * 207 char Compaq ProLiant health feature indicate * 220 char Myricom Myrinet "GM" board * 224 char A2232 serial card * 225 char A2232 serial card (alternate devices) * 227 char IBM 3270 terminal Unix tty access * 228 char IBM 3270 terminal block-mode access * 229 char IBM iSeries virtual console * 230 char IBM iSeries virtual tape * */ /** * IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX IPQ40XX * and * IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 IPQ5018 */ #if defined(CONFIG_ARCH_IPQ40XX) || defined(CONFIG_ARCH_IPQ5018) #include #include #define avm_cycles_cpuclock_depend() 0 extern unsigned int ipq40xx_get_cyclefreq(void); #define avm_get_cyclefreq ipq40xx_get_cyclefreq #define avm_get_clock avm_get_cyclefreq extern unsigned int ipq40xx_get_cycles(void); #define avm_get_cycles ipq40xx_get_cycles extern unsigned long ipq40xx_cycles_to_usec(unsigned long cycle); #define avm_cycles_to_usec ipq40xx_cycles_to_usec #define avm_get_profiling_clk() (avm_get_profiling_clk_rate_MHzX10() / 10) #include #define avm_gpio_init dakota_gpio_init #define avm_gpio_ctrl dakota_gpio_ctrl #define avm_gpio_out_bit dakota_gpio_out_bit #define avm_gpio_out_bit_no_sched dakota_gpio_out_bit_no_sched #define avm_gpio_in_bit dakota_gpio_in_bit #define avm_gpio_get_membase dakota_gpio_get_membase #define avm_gpio_in_bit_fast dakota_gpio_in_bit_fast #define avm_gpio_pinconfig dakota_gpio_pinconfig static inline void avm_gpio_set_bitmask(uint64_t mask __maybe_unused, uint64_t value __maybe_unused) {}; /** * jiffies-correction in FASTIRQ-(NMI-)Handler */ extern void avm_tick_jiffies_update(void); /** * folgende Funktionen muessen vom Kernel bereitgestellt werden (fuer Piglet-Treiber) */ extern void msm_dectuart_init(unsigned int baud, int mode); extern void msm_dectuart_exit(void); extern int msm_dectuart_get_char(void); extern void msm_dectuart_put_char(unsigned char c); extern void msm_console_stop(void); extern void msm_console_start(void); /** * folgende Funktionen muessen vom snd_soc_ipq40xx_avm bereitgestellt werden (fuer pcmlink-Treiber) */ int tdm_if_config_init(unsigned int slots, unsigned int rxdelay, unsigned int txdelay, unsigned int master); void tdm_if_config_exit(void); int tdm_if_dma_init(void *refhandle, int (*TxData)(void *refhandle, void *buf), int (*RxData)(void *refhandle, void *buf), unsigned int cpu, unsigned int only_rxirq, unsigned int slots, unsigned int fs_per_dma, unsigned int desc_num); void tdm_if_dma_start(void); void tdm_if_dma_stop(void); void tdm_if_dma_exit(void); void tdm_if_dma_irqcnt(unsigned long *rx_irqcnt, unsigned long *tx_irqcnt); void tdm_if_dma_irqcnt_reset(void); void tdm_if_print_status(const char *prefix, char *txt, unsigned int txt_size); #endif/*--- #ifdef CONFIG_ARCH_IPQ40XX ---*/ #ifdef CONFIG_ARM void avm_dma_pool_init(unsigned char *base, unsigned int size); void *avm_dma_pool_alloc(unsigned int size, dma_addr_t *physaddr); void avm_dma_pool_free(void *vaddr); #endif /*--- #ifdef CONFIG_ARM ---*/ //Only used as fallback, if location is not stored in device-tree under reserved-memory with name 'avm_reboot_string' #define AVM_REBOOT_STRING_LOCATION (0xa0001000) #define AVM_REBOOT_STRING_SIZE 512 #endif /*--- #ifndef _mach_avm_h_ ---*/