uboot/drivers/pcmcia/rpx_pcmcia.c
<<
>>
Prefs
   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_RPXCLASSIC) || defined(CONFIG_RPXLITE))
  22
  23#define PCMCIA_BOARD_MSG        "RPX CLASSIC or RPX LITE"
  24
  25int 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
  60int pcmcia_hardware_enable (int slot)
  61{
  62        return 0;       /* No hardware to enable */
  63}
  64
  65#if defined(CONFIG_CMD_PCMCIA)
  66static int pcmcia_hardware_disable(int slot)
  67{
  68        return 0;       /* No hardware to disable */
  69}
  70#endif
  71
  72
  73#endif  /* CONFIG_PCMCIA && (CONFIG_RPXCLASSIC || CONFIG_RPXLITE) */
  74