]> git.ipfire.org Git - people/ms/u-boot.git/blob - drivers/pcmcia/rpx_pcmcia.c
mpc8xx: remove qs850, qs860t board support
[people/ms/u-boot.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 */