/* * Copyright 2008 Analog Devices Inc. * * Licensed under the GPL-2 or later. */ #ifndef __MACH_BF518_H__ #define __MACH_BF518_H__ #define OFFSET_(x) ((x) & 0x0000FFFF) /*some misc defines*/ #define IMASK_IVG15 0x8000 #define IMASK_IVG14 0x4000 #define IMASK_IVG13 0x2000 #define IMASK_IVG12 0x1000 #define IMASK_IVG11 0x0800 #define IMASK_IVG10 0x0400 #define IMASK_IVG9 0x0200 #define IMASK_IVG8 0x0100 #define IMASK_IVG7 0x0080 #define IMASK_IVGTMR 0x0040 #define IMASK_IVGHW 0x0020 /***************************/ #define BFIN_DSUBBANKS 4 #define BFIN_DWAYS 2 #define BFIN_DLINES 64 #define BFIN_ISUBBANKS 4 #define BFIN_IWAYS 4 #define BFIN_ILINES 32 #define WAY0_L 0x1 #define WAY1_L 0x2 #define WAY01_L 0x3 #define WAY2_L 0x4 #define WAY02_L 0x5 #define WAY12_L 0x6 #define WAY012_L 0x7 #define WAY3_L 0x8 #define WAY03_L 0x9 #define WAY13_L 0xA #define WAY013_L 0xB #define WAY32_L 0xC #define WAY320_L 0xD #define WAY321_L 0xE #define WAYALL_L 0xF #define DMC_ENABLE (2<<2) /*yes, 2, not 1 */ /********************************* EBIU Settings ************************************/ #define AMBCTL0VAL ((CONFIG_BANK_1 << 16) | CONFIG_BANK_0) #define AMBCTL1VAL ((CONFIG_BANK_3 << 16) | CONFIG_BANK_2) #ifdef CONFIG_C_AMBEN_ALL #define V_AMBEN AMBEN_ALL #endif #ifdef CONFIG_C_AMBEN #define V_AMBEN 0x0 #endif #ifdef CONFIG_C_AMBEN_B0 #define V_AMBEN AMBEN_B0 #endif #ifdef CONFIG_C_AMBEN_B0_B1 #define V_AMBEN AMBEN_B0_B1 #endif #ifdef CONFIG_C_AMBEN_B0_B1_B2 #define V_AMBEN AMBEN_B0_B1_B2 #endif #ifdef CONFIG_C_AMCKEN #define V_AMCKEN AMCKEN #else #define V_AMCKEN 0x0 #endif #ifdef CONFIG_C_CDPRIO #define V_CDPRIO 0x100 #else #define V_CDPRIO 0x0 #endif #define AMGCTLVAL (V_AMBEN | V_AMCKEN | V_CDPRIO) /**************************** Hysteresis Settings ****************************/ #ifdef CONFIG_BFIN_HYSTERESIS_CONTROL #ifdef CONFIG_GPIO_HYST_PORTF_0_7 #define HYST_PORTF_0_7 (1 << 0) #else #define HYST_PORTF_0_7 (0 << 0) #endif #ifdef CONFIG_GPIO_HYST_PORTF_8_9 #define HYST_PORTF_8_9 (1 << 2) #else #define HYST_PORTF_8_9 (0 << 2) #endif #ifdef CONFIG_GPIO_HYST_PORTF_10 #define HYST_PORTF_10 (1 << 4) #else #define HYST_PORTF_10 (0 << 4) #endif #ifdef CONFIG_GPIO_HYST_PORTF_11 #define HYST_PORTF_11 (1 << 6) #else #define HYST_PORTF_11 (0 << 6) #endif #ifdef CONFIG_GPIO_HYST_PORTF_12_13 #define HYST_PORTF_12_13 (1 << 8) #else #define HYST_PORTF_12_13 (0 << 8) #endif #ifdef CONFIG_GPIO_HYST_PORTF_14_15 #define HYST_PORTF_14_15 (1 << 10) #else #define HYST_PORTF_14_15 (0 << 10) #endif #define HYST_PORTF_0_15 (HYST_PORTF_0_7 | HYST_PORTF_8_9 | HYST_PORTF_10 | \ HYST_PORTF_11 | HYST_PORTF_12_13 | HYST_PORTF_14_15) #ifdef CONFIG_GPIO_HYST_PORTG_0 #define HYST_PORTG_0 (1 << 0) #else #define HYST_PORTG_0 (0 << 0) #endif #ifdef CONFIG_GPIO_HYST_PORTG_1_4 #define HYST_PORTG_1_4 (1 << 2) #else #define HYST_PORTG_1_4 (0 << 2) #endif #ifdef CONFIG_GPIO_HYST_PORTG_5_6 #define HYST_PORTG_5_6 (1 << 4) #else #define HYST_PORTG_5_6 (0 << 4) #endif #ifdef CONFIG_GPIO_HYST_PORTG_7_8 #define HYST_PORTG_7_8 (1 << 6) #else #define HYST_PORTG_7_8 (0 << 6) #endif #ifdef CONFIG_GPIO_HYST_PORTG_9 #define HYST_PORTG_9 (1 << 8) #else #define HYST_PORTG_9 (0 << 8) #endif #ifdef CONFIG_GPIO_HYST_PORTG_10 #define HYST_PORTG_10 (1 << 10) #else #define HYST_PORTG_10 (0 << 10) #endif #ifdef CONFIG_GPIO_HYST_PORTG_11_13 #define HYST_PORTG_11_13 (1 << 12) #else #define HYST_PORTG_11_13 (0 << 12) #endif #ifdef CONFIG_GPIO_HYST_PORTG_14_15 #define HYST_PORTG_14_15 (1 << 14) #else #define HYST_PORTG_14_15 (0 << 14) #endif #define HYST_PORTG_0_15 (HYST_PORTG_0 | HYST_PORTG_1_4 | HYST_PORTG_5_6 | \ HYST_PORTG_7_8 | HYST_PORTG_9 | HYST_PORTG_10 | \ HYST_PORTG_11_13 | HYST_PORTG_14_15) #ifdef CONFIG_GPIO_HYST_PORTH_0_7 #define HYST_PORTH_0_7 (1 << 0) #else #define HYST_PORTH_0_7 (0 << 0) #endif #define HYST_PORTH_0_15 (HYST_PORTH_0_7) #ifdef CONFIG_NONEGPIO_HYST_NMI_RST_BMODE #define HYST_NMI_RST_BMODE (1 << 2) #else #define HYST_NMI_RST_BMODE (0 << 2) #endif #ifdef CONFIG_NONEGPIO_HYST_JTAG #define HYST_JTAG (1 << 4) #else #define HYST_JTAG (0 << 4) #endif #define HYST_NONEGPIO (HYST_NMI_RST_BMODE | HYST_JTAG) #define HYST_NONEGPIO_MASK (0x3C) #endif /* CONFIG_BFIN_HYSTERESIS_CONTROL */ #ifdef CONFIG_BF518 #define CPU "BF518" #define CPUID 0x27e8 #endif #ifdef CONFIG_BF516 #define CPU "BF516" #define CPUID 0x27e8 #endif #ifdef CONFIG_BF514 #define CPU "BF514" #define CPUID 0x27e8 #endif #ifdef CONFIG_BF512 #define CPU "BF512" #define CPUID 0x27e8 #endif #ifndef CPU #error "Unknown CPU type - This kernel doesn't seem to be configured properly" #endif #endif /* __MACH_BF518_H__ */