X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fpcmcia%2Ftopic.h;h=edccfa5bb40087b0a0b9cbefae7bdbae5d781348;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=be420bb291135a8cee511c9df3edf91e79b1ea27;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/drivers/pcmcia/topic.h b/drivers/pcmcia/topic.h index be420bb29..edccfa5bb 100644 --- a/drivers/pcmcia/topic.h +++ b/drivers/pcmcia/topic.h @@ -101,6 +101,8 @@ #define TOPIC97_AVS_AUDIO_CONTROL 0x02 #define TOPIC97_AVS_VIDEO_CONTROL 0x01 +#define TOPIC_EXCA_IF_CONTROL 0x3e /* 8 bit */ +#define TOPIC_EXCA_IFC_33V_ENA 0x01 static void topic97_zoom_video(struct pcmcia_socket *sock, int onoff) { @@ -137,4 +139,19 @@ static int topic97_override(struct yenta_socket *socket) return 0; } + +static int topic95_override(struct yenta_socket *socket) +{ + u8 fctrl; + + /* enable 3.3V support for 16bit cards */ + fctrl = exca_readb(socket, TOPIC_EXCA_IF_CONTROL); + exca_writeb(socket, TOPIC_EXCA_IF_CONTROL, fctrl | TOPIC_EXCA_IFC_33V_ENA); + + /* tell yenta to use exca registers to power 16bit cards */ + socket->flags |= YENTA_16BIT_POWER_EXCA | YENTA_16BIT_POWER_DF; + + return 0; +} + #endif /* _LINUX_TOPIC_H */