static void pcmcia_a5x0_power_on(void) { u32 pipr; int i; trace(); mxc_set_gpio(GPIO_PIN(xCF_PWREN), GPIO_OUTPUT, GPIO_LOW); for (i=0; i<100; i++) { pipr = read32(PCMCIA_IF_BASE_ADDR + PIPR); if (pipr & 0x100) break; mdelay(10); } mdelay(500); }
static void pcmcia_a5x0_mux_init(void) { trace(); mxc_set_mux(MUX_PIN(SDBA0), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(SDBA1), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_CD1), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_CD2), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_WAIT), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_READY), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_PWRON), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_VS1), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_VS2), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_BVD1), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_BVD2), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_RST), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(IOIS16), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_RW), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(PC_POE), MUX_O_FUNC | MUX_I_FUNC); mxc_set_mux(MUX_PIN(xCF_PWREN), MUX_O_GPIO | MUX_I_GPIO); mxc_set_gpio(GPIO_PIN(xCF_PWREN), GPIO_OUTPUT, GPIO_HIGH); }
static void pcmcia_a5x0_power_off(void) { trace(); mxc_set_gpio(GPIO_PIN(xCF_PWREN), GPIO_OUTPUT, GPIO_HIGH); }
int mxc_set_alarm(int idx, int val) { return mxc_set_gpio(idx, val); }