Commit 727c26ed authored by Pierre Ossman's avatar Pierre Ossman

net: libertas sdio driver

Add driver for Marvell's Libertas 8385 and 8686 wifi chips.
Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
Acked-by: default avatarDan Williams <dcbw@redhat.com>
parent 9e3866b5
...@@ -282,6 +282,12 @@ config LIBERTAS_CS ...@@ -282,6 +282,12 @@ config LIBERTAS_CS
---help--- ---help---
A driver for Marvell Libertas 8385 CompactFlash devices. A driver for Marvell Libertas 8385 CompactFlash devices.
config LIBERTAS_SDIO
tristate "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards"
depends on LIBERTAS && MMC
---help---
A driver for Marvell Libertas 8385 and 8686 SDIO devices.
config LIBERTAS_DEBUG config LIBERTAS_DEBUG
bool "Enable full debugging output in the Libertas module." bool "Enable full debugging output in the Libertas module."
depends on LIBERTAS depends on LIBERTAS
......
...@@ -7,7 +7,9 @@ libertas-objs := main.o wext.o \ ...@@ -7,7 +7,9 @@ libertas-objs := main.o wext.o \
usb8xxx-objs += if_usb.o usb8xxx-objs += if_usb.o
libertas_cs-objs += if_cs.o libertas_cs-objs += if_cs.o
libertas_sdio-objs += if_sdio.o
obj-$(CONFIG_LIBERTAS) += libertas.o obj-$(CONFIG_LIBERTAS) += libertas.o
obj-$(CONFIG_LIBERTAS_USB) += usb8xxx.o obj-$(CONFIG_LIBERTAS_USB) += usb8xxx.o
obj-$(CONFIG_LIBERTAS_CS) += libertas_cs.o obj-$(CONFIG_LIBERTAS_CS) += libertas_cs.o
obj-$(CONFIG_LIBERTAS_SDIO) += libertas_sdio.o
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#define LBS_DEB_FW 0x00080000 #define LBS_DEB_FW 0x00080000
#define LBS_DEB_THREAD 0x00100000 #define LBS_DEB_THREAD 0x00100000
#define LBS_DEB_HEX 0x00200000 #define LBS_DEB_HEX 0x00200000
#define LBS_DEB_SDIO 0x00400000
extern unsigned int libertas_debug; extern unsigned int libertas_debug;
...@@ -80,6 +81,7 @@ do { if ((libertas_debug & (grp)) == (grp)) \ ...@@ -80,6 +81,7 @@ do { if ((libertas_debug & (grp)) == (grp)) \
#define lbs_deb_usbd(dev, fmt, args...) LBS_DEB_LL(LBS_DEB_USB, " usbd", "%s:" fmt, (dev)->bus_id, ##args) #define lbs_deb_usbd(dev, fmt, args...) LBS_DEB_LL(LBS_DEB_USB, " usbd", "%s:" fmt, (dev)->bus_id, ##args)
#define lbs_deb_cs(fmt, args...) LBS_DEB_LL(LBS_DEB_CS, " cs", fmt, ##args) #define lbs_deb_cs(fmt, args...) LBS_DEB_LL(LBS_DEB_CS, " cs", fmt, ##args)
#define lbs_deb_thread(fmt, args...) LBS_DEB_LL(LBS_DEB_THREAD, " thread", fmt, ##args) #define lbs_deb_thread(fmt, args...) LBS_DEB_LL(LBS_DEB_THREAD, " thread", fmt, ##args)
#define lbs_deb_sdio(fmt, args...) LBS_DEB_LL(LBS_DEB_SDIO, " thread", fmt, ##args)
#define lbs_pr_info(format, args...) \ #define lbs_pr_info(format, args...) \
printk(KERN_INFO DRV_NAME": " format, ## args) printk(KERN_INFO DRV_NAME": " format, ## args)
......
This diff is collapsed.
/*
* linux/drivers/net/wireless/libertas/if_sdio.h
*
* Copyright 2007 Pierre Ossman
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*/
#ifndef LIBERTAS_IF_SDIO_H
#define LIBERTAS_IF_SDIO_H
#define IF_SDIO_IOPORT 0x00
#define IF_SDIO_H_INT_MASK 0x04
#define IF_SDIO_H_INT_OFLOW 0x08
#define IF_SDIO_H_INT_UFLOW 0x04
#define IF_SDIO_H_INT_DNLD 0x02
#define IF_SDIO_H_INT_UPLD 0x01
#define IF_SDIO_H_INT_STATUS 0x05
#define IF_SDIO_H_INT_RSR 0x06
#define IF_SDIO_H_INT_STATUS2 0x07
#define IF_SDIO_RD_BASE 0x10
#define IF_SDIO_STATUS 0x20
#define IF_SDIO_IO_RDY 0x08
#define IF_SDIO_CIS_RDY 0x04
#define IF_SDIO_UL_RDY 0x02
#define IF_SDIO_DL_RDY 0x01
#define IF_SDIO_C_INT_MASK 0x24
#define IF_SDIO_C_INT_STATUS 0x28
#define IF_SDIO_C_INT_RSR 0x2C
#define IF_SDIO_SCRATCH 0x34
#define IF_SDIO_SCRATCH_OLD 0x80fe
#define IF_SDIO_FIRMWARE_OK 0xfedc
#define IF_SDIO_EVENT 0x80fc
#endif
...@@ -19,5 +19,11 @@ ...@@ -19,5 +19,11 @@
#define SDIO_CLASS_WLAN 0x07 /* WLAN interface */ #define SDIO_CLASS_WLAN 0x07 /* WLAN interface */
#define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */ #define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */
/*
* Vendors and devices. Sort key: vendor first, device next.
*/
#define SDIO_VENDOR_ID_MARVELL 0x02df
#define SDIO_DEVICE_ID_MARVELL_LIBERTAS 0x9103
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment