ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-arm / arch-sa1100 / yopy.h
1 #ifndef __ASM_ARCH_YOPY_H__
2 #define __ASM_ARCH_YOPY_H__
3
4 /******************************************************************************
5  * Memory mappings
6  ******************************************************************************/
7
8 /* Flash memories */
9 #define YOPY_FLASH0_BASE_P      (0x00000000)    /* CS0 */
10 #define YOPY_FLASH0_BASE_V      (0xe8000000)
11 #define YOPY_FLASH0_BASE        YOPY_FLASH0_BASE_V
12 #define YOPY_FLASH0_SIZE        (0x04000000)    /* map 64MB */
13
14 #define YOPY_FLASH1_BASE_P      (0x08000000)    /* CS1 */
15 #define YOPY_FLASH1_BASE_V      (YOPY_FLASH0_BASE_V + YOPY_FLASH0_SIZE)
16 #define YOPY_FLASH1_BASE        YOPY_FLASH1_BASE_V
17 #define YOPY_FLASH1_SIZE        (0x04000000)    /* map 64MB */
18
19 /* LCD Controller */
20 #define YOPY_LCD_IO_BASE_P      (0x48000000)    /* CS5 */
21 #define YOPY_LCD_IO_BASE_V      (0xf0000000)
22
23 #define YOPY_LCD_IO_BASE        YOPY_LCD_IO_BASE_V
24 #define YOPY_LCD_IO_RANGE       (0x00208000)
25
26 /* Extended GPIO */
27 #define YOPY_EGPIO_BASE_P       (0x10000000)    /* CS2 */
28 #define YOPY_EGPIO_BASE_V       (0xf1000000)
29
30 #define YOPY_EGPIO_BASE         YOPY_EGPIO_BASE_V
31 #define YOPY_EGPIO_RANGE        4
32
33 #define YOPY_EGPIO              (*((volatile Word *)YOPY_EGPIO_BASE))
34
35
36 /******************************************************************************
37  * GPIO assignements
38  ******************************************************************************/
39
40 #define GPIO_UCB1200_IRQ        GPIO_GPIO0
41 #define GPIO_UCB1200_RESET      GPIO_GPIO22
42
43 #define GPIO_CF_IREQ            GPIO_GPIO2
44 #define GPIO_CF_CD              GPIO_GPIO3
45 #define GPIO_CF_BVD1            GPIO_GPIO4
46 #define GPIO_CF_BVD2            GPIO_GPIO5
47 #define GPIO_CF_CSEL            GPIO_GPIO6
48 #define GPIO_CF_READY           GPIO_CF_IREQ
49 #define GPIO_CF_STSCHG          GPIO_CF_BVD1
50 #define GPIO_CF_SPKR            GPIO_CF_BVD2
51
52 #define GPIO_MASK(io)           (1 << (io))
53
54 #define GPIO_YOPY_PLL_ML        PPC_LDD7
55 #define GPIO_YOPY_PLL_MC        PPC_L_LCLK
56 #define GPIO_YOPY_PLL_MD        PPC_L_FCLK
57
58 #define GPIO_YOPY_L3_MODE       PPC_LDD4
59 #define GPIO_YOPY_L3_CLOCK      PPC_LDD5
60 #define GPIO_YOPY_L3_DATA       PPC_LDD6
61
62 #define GPIO_CF_RESET           0
63 #define GPIO_CLKDIV_CLR1        1
64 #define GPIO_CLKDIV_CLR2        2
65 #define GPIO_SPEAKER_MUTE       5
66 #define GPIO_CF_POWER           8
67 #define GPIO_AUDIO_OPAMP_POWER  11
68 #define GPIO_AUDIO_CODEC_POWER  12
69 #define GPIO_AUDIO_POWER        13
70
71 #define GPIO_IRDA_POWER         PPC_L_PCLK
72 #define GPIO_IRDA_FIR           PPC_LDD0
73
74 #ifndef __ASSEMBLY__
75 extern int yopy_gpio_test(unsigned int gpio);
76 extern void yopy_gpio_set(unsigned int gpio, int level);
77 #endif
78
79
80 /******************************************************************************
81  * IRQ assignements
82  ******************************************************************************/
83
84 /* for our old drivers */
85 #define IRQ_SP0_UDC     13
86 #define IRQ_SP1_SDLC    14
87 #define IRQ_SP1_UART    15
88 #define IRQ_SP2_ICP     16
89 #define IRQ_SP2_UART    16
90 #define IRQ_SP3_UART    17
91 #define IRQ_SP4_MCP     18
92 #define IRQ_SP4_SSP     19
93 #define IRQ_RTC_HZ      30
94 #define IRQ_RTC_ALARM   31
95
96 /* GPIO interrupts */
97 #define IRQ_GPIO_UCB1200_IRQ    IRQ_GPIO0
98
99 #define IRQ_CF_IREQ             IRQ_GPIO2
100 #define IRQ_CF_CD               IRQ_GPIO3
101 #define IRQ_CF_BVD1             IRQ_GPIO4
102 #define IRQ_CF_BVD2             IRQ_GPIO5
103
104 #define IRQ_UART_CTS            IRQ_GPIO7
105 #define IRQ_UART_DCD            IRQ_GPIO8
106 #define IRQ_UART_DSR            IRQ_GPIO9
107
108 #define IRQ_FLASH_STATUS        IRQ_GPIO23
109
110 #define IRQ_BUTTON_POWER        IRQ_GPIO1
111 #define IRQ_BUTTON_UP           IRQ_GPIO14
112 #define IRQ_BUTTON_DOWN         IRQ_GPIO15
113 #define IRQ_BUTTON_LEFT         IRQ_GPIO16
114 #define IRQ_BUTTON_RIGHT        IRQ_GPIO17
115 #define IRQ_BUTTON_SHOT0        IRQ_GPIO18
116 #define IRQ_BUTTON_SHOT1        IRQ_GPIO20
117 #define IRQ_BUTTON_PIMS         IRQ_UCB1200_IO1
118 #define IRQ_BUTTON_MP3          IRQ_UCB1200_IO2
119 #define IRQ_BUTTON_RECORD       IRQ_UCB1200_IO3
120 #define IRQ_BUTTON_PREV         IRQ_UCB1200_IO4
121 #define IRQ_BUTTON_SELECT       IRQ_UCB1200_IO5
122 #define IRQ_BUTTON_NEXT         IRQ_UCB1200_IO6
123 #define IRQ_BUTTON_CANCEL       IRQ_UCB1200_IO7
124 #define IRQ_BUTTON_REMOTE       IRQ_UCB1200_IO8
125
126
127 #endif