]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - drivers/pcmcia/rpx_pcmcia.c
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / drivers / pcmcia / rpx_pcmcia.c
1 /* -------------------------------------------------------------------- */
2 /* RPX Boards from Embedded Planet                                      */
3 /* -------------------------------------------------------------------- */
4 #include <common.h>
5 #ifdef CONFIG_8xx
6 #include <mpc8xx.h>
7 #endif
8 #include <pcmcia.h>
9
10 #undef  CONFIG_PCMCIA
11
12 #if defined(CONFIG_CMD_PCMCIA)
13 #define CONFIG_PCMCIA
14 #endif
15
16 #if defined(CONFIG_CMD_IDE) && defined(CONFIG_IDE_8xx_PCCARD)
17 #define CONFIG_PCMCIA
18 #endif
19
20 #if     defined(CONFIG_PCMCIA)  \
21         && defined(CONFIG_RPXLITE)
22
23 #define PCMCIA_BOARD_MSG        "RPX CLASSIC or RPX LITE"
24
25 int pcmcia_voltage_set(int slot, int vcc, int vpp)
26 {
27         u_long reg = 0;
28
29         switch(vcc) {
30                 case 0: break;
31                 case 33: reg |= BCSR1_PCVCTL4; break;
32                 case 50: reg |= BCSR1_PCVCTL5; break;
33                 default: return 1;
34         }
35
36         switch(vpp) {
37                 case 0: break;
38                 case 33:
39                 case 50:
40                         if(vcc == vpp)
41                                 reg |= BCSR1_PCVCTL6;
42                         else
43                                 return 1;
44                         break;
45                 case 120:
46                         reg |= BCSR1_PCVCTL7;
47                         default: return 1;
48         }
49
50         /* first, turn off all power */
51         *((uint *)RPX_CSR_ADDR) &= ~(BCSR1_PCVCTL4 | BCSR1_PCVCTL5
52                         | BCSR1_PCVCTL6 | BCSR1_PCVCTL7);
53
54         /* enable new powersettings */
55         *((uint *)RPX_CSR_ADDR) |= reg;
56
57         return 0;
58 }
59
60 int pcmcia_hardware_enable (int slot)
61 {
62         return 0;       /* No hardware to enable */
63 }
64
65 #if defined(CONFIG_CMD_PCMCIA)
66 static int pcmcia_hardware_disable(int slot)
67 {
68         return 0;       /* No hardware to disable */
69 }
70 #endif
71
72
73 #endif  /* CONFIG_PCMCIA && CONFIG_RPXLITE */