This email list is read-only. Emails sent to this list will be discarded
----------------------------------
debian/changelog | 3 +-
debian/patches/0018-sdio_crown_beach.patch | 17 +
debian/patches/0019-marvell_8686_8688.patch |42180 ++++++++++++++++++++++++++-
3 files changed, 42194 insertions(+), 6 deletions(-)
New commits:
commit cb29ee2997ba598028e1ad4bbdd073deac2d057d
Author: Alek Du <[EMAIL PROTECTED]>
Date: Thu Aug 28 11:27:52 2008 +0800
Check in Feng's patch: Add a workaround in mmc/sdio code for Marvell devices
Diff in this email is a maximum of 400 lines.
diff --git a/debian/changelog b/debian/changelog
index 3f3499e..5d02bae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,8 +7,9 @@ kernel-mid-2.6.24 (2.6.24-13) UNRELEASED; urgency=low
[ Alek Du ]
* Upgrade USBC to 2.0.0.32L.0010 (PV) release
+ * Check in Feng's patch: add a workaround in mmc/sdio code for Marvell
devices
- -- Alek Du <[EMAIL PROTECTED]> Sun, 11 May 2008 10:49:29 +0800
+ -- Alek Du <[EMAIL PROTECTED]> Thu, 28 Aug 2008 11:26:59 +0800
kernel-mid-2.6.24 (2.6.24-12) gaston; urgency=low
diff --git a/debian/patches/0018-sdio_crown_beach.patch
b/debian/patches/0018-sdio_crown_beach.patch
index d4aecd0..f835b93 100644
--- a/debian/patches/0018-sdio_crown_beach.patch
+++ b/debian/patches/0018-sdio_crown_beach.patch
@@ -28,6 +28,23 @@ index d5e51b1..962b8be 100644
}
return 0;
+diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
+index 87a50f4..ba2a699 100644
+--- a/drivers/mmc/core/sdio.c
++++ b/drivers/mmc/core/sdio.c
+@@ -332,6 +332,12 @@ int mmc_attach_sdio(struct mmc_host *host, u32 ocr)
+ if (err)
+ goto remove;
+
++ /* add a workaround for Marvell SDIO dev */
++ if (card->cis.vendor == 0x2df) {
++ if (card->cis.max_dtr >= 25000000)
++ card->cis.max_dtr = 25000000;
++ }
++
+ /*
+ * No support for high-speed yet, so just set
+ * the card's maximum speed.
diff --git a/drivers/mmc/core/sdio_io.c b/drivers/mmc/core/sdio_io.c
index 625b92c..f4c62c0 100644
--- a/drivers/mmc/core/sdio_io.c
diff --git a/debian/patches/0019-marvell_8686_8688.patch
b/debian/patches/0019-marvell_8686_8688.patch
index e5b0141..f75068d 100644
--- a/debian/patches/0019-marvell_8686_8688.patch
+++ b/debian/patches/0019-marvell_8686_8688.patch
@@ -21840,7 +21840,7 @@ index 0000000..5d1ae59
+ " ";
diff --git a/drivers/net/wireless/8686_v9/wlan/wlan_wext.c
b/drivers/net/wireless/8686_v9/wlan/wlan_wext.c
new file mode 100644
-index 0000000..ab10860
+index 0000000..371a1bb
--- /dev/null
+++ b/drivers/net/wireless/8686_v9/wlan/wlan_wext.c
@@ -0,0 +1,7850 @@
@@ -35680,6 +35680,14 @@ index 0000000..f90922e
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+diff --git a/drivers/net/wireless/8688_wlan/.tmp_versions/8688_a2.mod
b/drivers/net/wireless/8688_wlan/.tmp_versions/8688_a2.mod
+new file mode 100644
+index 0000000..e959597
+--- /dev/null
++++ b/drivers/net/wireless/8688_wlan/.tmp_versions/8688_a2.mod
+@@ -0,0 +1,2 @@
++drivers/net/wireless/8688_wlan/8688_a2.ko
++drivers/net/wireless/8688_wlan/wlan/wlan_main.o
drivers/net/wireless/8688_wlan/wlan/wlan_init.o
drivers/net/wireless/8688_wlan/wlan/wlan_wext.o
drivers/net/wireless/8688_wlan/wlan/wlan_rx.o
drivers/net/wireless/8688_wlan/wlan/wlan_tx.o
drivers/net/wireless/8688_wlan/wlan/wlan_cmd.o
drivers/net/wireless/8688_wlan/wlan/wlan_cmdresp.o
drivers/net/wireless/8688_wlan/wlan/wlan_scan.o
drivers/net/wireless/8688_wlan/wlan/wlan_join.o
drivers/net/wireless/8688_wlan/wlan/wlan_wmm.o
drivers/net/wireless/8688_wlan/wlan/wlan_11d.o
drivers/net/wireless/8688_wlan/wlan/wlan_11h.o
drivers/net/wireless/8688_wlan/wlan/wlan_meas.o
drivers/net/wireless/8688_wlan/wlan/wlan_proc.o
drivers/net/wireless/8688_wlan/wlan/wlan_debug.o
drivers/net/wireless/8688_wlan/wlan/wlan_sdio.o
diff --git a/drivers/net/wireless/8688_wlan/Makefile
b/drivers/net/wireless/8688_wlan/Makefile
new file mode 100644
index 0000000..3ba9d4a
@@ -35873,6 +35881,9 @@ index 0000000..3ba9d4a
+ $(MAKE) -C app/wlanconfig $@
+
+# End of file
+diff --git a/drivers/net/wireless/8688_wlan/Module.symvers
b/drivers/net/wireless/8688_wlan/Module.symvers
+new file mode 100644
+index 0000000..e69de29
diff --git a/drivers/net/wireless/8688_wlan/gpl.txt
b/drivers/net/wireless/8688_wlan/gpl.txt
new file mode 100644
index 0000000..f90922e
@@ -72554,10 +72565,10 @@ index 0000000..57a19fa
+
+#endif /* __WLAN_WMM_H */
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
-index 2c08c0a..59ba93b 100644
+index 2c08c0a..8c227fc 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
-@@ -656,4 +656,20 @@ source "drivers/net/wireless/b43legacy/Kconfig"
+@@ -656,4 +656,25 @@ source "drivers/net/wireless/b43legacy/Kconfig"
source "drivers/net/wireless/zd1211rw/Kconfig"
source "drivers/net/wireless/rt2x00/Kconfig"
@@ -72577,18 +72588,42177 @@ index 2c08c0a..59ba93b 100644
+ depends on PCI && WLAN_80211 && MMC && MMC_SDHCI && BT
+ default y
+
++config 8688_B2
++ tristate "Marvell 8688 Beta2 driver"
++ depends on PCI && WLAN_80211 && MMC && MMC_SDHCI && BT
++ default y
++
endmenu
diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
-index 6f32b53..143c132 100644
+index 6f32b53..a5ef50e 100644
--- a/drivers/net/wireless/Makefile
+++ b/drivers/net/wireless/Makefile
-@@ -33,6 +33,9 @@ obj-$(CONFIG_PCI_ATMEL) += atmel_pci.o
+@@ -33,6 +33,11 @@ obj-$(CONFIG_PCI_ATMEL) += atmel_pci.o
obj-$(CONFIG_PCMCIA_ATMEL) += atmel_cs.o
obj-$(CONFIG_PRISM54) += prism54/
+obj-$(CONFIG_MMC_SD8686) += 8686_v9/
+obj-$(CONFIG_MMC_SD8688) += 8688_wlan/
+obj-$(CONFIG_MMC_SD8688) += 8688_bt/
++obj-$(CONFIG_8688_B2) += b2_wlan/
++obj-$(CONFIG_8688_B2) += b2_bt/
obj-$(CONFIG_HOSTAP) += hostap/
obj-$(CONFIG_BCM43XX) += bcm43xx/
+diff --git a/drivers/net/wireless/b2_bt/.tmp_versions/8688_b2_bt.mod
b/drivers/net/wireless/b2_bt/.tmp_versions/8688_b2_bt.mod
+new file mode 100644
+index 0000000..ad216a3
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/.tmp_versions/8688_b2_bt.mod
+@@ -0,0 +1,2 @@
++drivers/net/wireless/b2_bt/8688_b2_bt.ko
++drivers/net/wireless/b2_bt/bt/bt_main.o
drivers/net/wireless/b2_bt/bt/bt_sdio.o drivers/net/wireless/b2_bt/bt/bt_proc.o
+diff --git a/drivers/net/wireless/b2_bt/Makefile
b/drivers/net/wireless/b2_bt/Makefile
+new file mode 100644
+index 0000000..db8b041
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/Makefile
+@@ -0,0 +1,47 @@
++# File: Makefile
++# Copyright (C) 2007-2008, Marvell International Ltd.
++#
++
++#############################################################################
++# Configuration Options
++#############################################################################
++
++# Debug Option
++# DEBUG LEVEL n/1:
++# n: NO DEBUG
++# 1: PRINTM(MSG,...), PRINTM(FATAL,...), PRINTM(WARN,...) and PRINTM(INFO,...)
++CONFIG_DEBUG=1
++
++#############################################################################
++# Compiler Flags
++#############################################################################
++
++EXTRA_CFLAGS += -I$(PWD)/bt
++LD += -S
++
++EXTRA_CFLAGS += -DFPNUM='"38"'
++
++ifeq ($(CONFIG_DEBUG),1)
++ EXTRA_CFLAGS += -DDEBUG_LEVEL1
++endif
++
++
++#############################################################################
++# Make Targets
++#############################################################################
++
++ifneq ($(KERNELRELEASE),)
++
++BTOBJS = bt/bt_main.o bt/bt_sdio.o bt/bt_proc.o
++
++obj-m := 8688_b2_bt.o
++8688_b2_bt-objs := $(BTOBJS)
++
++
++# Otherwise we were called directly from the command line; invoke the kernel
build system.
++else
++default:
++ $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
++endif
++
++# End of file;
+diff --git a/drivers/net/wireless/b2_bt/Module.symvers
b/drivers/net/wireless/b2_bt/Module.symvers
+new file mode 100644
+index 0000000..e69de29
+diff --git a/drivers/net/wireless/b2_bt/README
b/drivers/net/wireless/b2_bt/README
+new file mode 100644
+index 0000000..7c1cad4
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/README
+@@ -0,0 +1,102 @@
++===============================================================================
++ U S E R M A N U A L
++
++ Copyright (C) 2003-2008, Marvell International Ltd.
++
++ This software file (the "File") is distributed by Marvell International
++ Ltd. under the terms of the GNU General Public License Version 2, June 1991
++ (the "License"). You may use, redistribute and/or modify this File in
++ accordance with the terms and conditions of the License, a copy of which
++ is available along with the File in the gpl.txt file or by writing to
++ the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++
++ THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
++ IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
++ ARE EXPRESSLY DISCLAIMED. The License provides additional details about
++ this warranty disclaimer.
++
++===============================================================================
++
++1) FOR DRIVER BUILD
++
++ Goto source code directory src_xxxx.
++ make [clean] build
++ The driver binaries can be found in ../bin_bt directory.
++
++2) FOR DRIVER INSTALL
++
++ a) Copy helper_sd.bin and sd8688.bin | sd8689.bin | ... to
/lib/firmware/mrvl/
++ directory, create the directory if it doesn't exist.
++ b) Install sdio bus driver and bluetooth driver,
++ ./load sd8688 | sd8689 | ...
++ c) Uninstall bluetooth driver and sdio bus driver,
++ ./unload
++3) cat /proc/net/mbt/hcix/config
++ This command is used to get the current driver settings.
++
++4) cat /proc/net/mbt/hcix/status
++ This command is used to get driver status
++
++5) proc commands to config bluetooth parameters.
++
++drvdbg=[n]
++ This command is used to set the bit masks of driver debug message control.
++
++ bit 0: MSG PRINTM(MSG,...)
++ bit 1: FATAL PRINTM(FATAL,...)
++ bit 2: ERROR PRINTM(ERROR,...)
++ bit 3: CMD PRINTM(CMD,...)
++ bit 27: DATA DBG_HEXDUMP(DBG_DATA,...)
++ bit 28: ENTRY PRINTM(ENTRY,...), ENTER(), LEAVE()
++ bit 29: WARN PRINTM(WARN,...)
++ bit 30: INFO PRINTM(INFO,...)
++
++ Usage:
++ echo "drvdbg=0x7" > /proc/net/mbt/hcix/config #enable
MSG,FATAL,ERROR messages
++
++gpio_gap=[n]
++ This command is used to configure the host sleep parameters.
++ bit 8:0 -- Gap
++ bit 16:8 -- GPIO
++
++ where GPIO is the pin number of GPIO used to wakeup the host. It could
be any valid
++ GPIO pin# (e.g. 0-7) or 0xff (Interface, e.g. SDIO will be used
instead).
++
++ where Gap is the gap in milli seconds between wakeup signal and wakeup
event
++ or 0xff for special setting.
++ Usage:
++ echo "gpio_gap=0xff80" > /proc/net/mbt/hcix/config # use
Interface (e.g. SDIO)
++ echo "hscfgcmd=1" > /proc/net/mbt/hcix/config # gap =
0x80
++
++ echo "gpio_gap=0x03ff" > /proc/net/mbt/hcix/config # use
gpio 3
++ echo "hscfgcmd=1" > /proc/net/mbt/hcix/config # and
special host sleep mode
++
++psmode=[n]
++ This command is used to enable/disable auto sleep mode
++
++ where the option is:
++ 1 -- Enable auto sleep mode
++ 0 -- Disable auto sleep mode
++ Usage:
++ echo "psmode=1" > /proc/net/mbt/hcix/config #enable
power save mode
++ echo "pscmd=1" > /proc/net/mbt/hcix/config
++
++ echo "psmode=0" > /proc/net/mbt/hcix/config
#disable power save mode
++ echo "pscmd=1" > /proc/net/mbt/hcix/config
++
++
++
++6)Use hcitool to issue raw hci command, refer to hcitool manual
++
++ Usage: Hcitool cmd <ogf> <ocf> [Parameters]
++
++ 1.Interface Control Command
++ hcitool cmd 0x3f 0x5b 0xf5 0x01 0x00 --Enable All interface
++ hcitool cmd 0x3f 0x5b 0xf5 0x01 0x01 --Enable Wlan interface
++ hcitool cmd 0x3f 0x5b 0xf5 0x01 0x02 --Enable BT interface
++ hcitool cmd 0x3f 0x5b 0xf5 0x00 0x00 --Disable All interface
++ hcitool cmd 0x3f 0x5b 0xf5 0x00 0x01 --Disable Wlan interface
++ hcitool cmd 0x3f 0x5b 0xf5 0x00 0x02 --Disable BT interface
++
++==============================================================================
+diff --git a/drivers/net/wireless/b2_bt/bt/bt_drv.h
b/drivers/net/wireless/b2_bt/bt/bt_drv.h
+new file mode 100644
+index 0000000..484b69a
+--- /dev/null
++++ b/drivers/net/wireless/b2_bt/bt/bt_drv.h
+@@ -0,0 +1,381 @@
++/** @file bt_drv.h
++ * @brief This header file contains global constant/enum definitions,
++ * global variable declaration.
++ *
++ * Copyright (C) 2007-2008, Marvell International Ltd.
++ *
++ * This software file (the "File") is distributed by Marvell International
++ * Ltd. under the terms of the GNU General Public License Version 2, June
1991
++ * (the "License"). You may use, redistribute and/or modify this File in
++ * accordance with the terms and conditions of the License, a copy of which
++ * is available along with the File in the gpl.txt file or by writing to
++ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA
++ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++ *
++ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
++ * ARE EXPRESSLY DISCLAIMED. The License provides additional details about
++ * this warranty disclaimer.
++ *
++ */
++
++#ifndef _BT_DRV_H_
++#define _BT_DRV_H_
++
++#ifndef BIT
++/** BIT definition */
++#define BIT(x) (1UL << (x))
++#endif
++
++/** Debug level : Message */
++#define DBG_MSG BIT(0)
++/** Debug level : Fatal */
++#define DBG_FATAL BIT(1)
++/** Debug level : Error */
++#define DBG_ERROR BIT(2)
++/** Debug level : Command */
++#define DBG_CMD BIT(3)
++/** Debug level : Data */
++#define DBG_DATA BIT(27)
++/** Debug level : Entry */
++#define DBG_ENTRY BIT(28)
++/** Debug level : Warning */
++#define DBG_WARN BIT(29)
++/** Debug level : Informative */
++#define DBG_INFO BIT(30)
++
++#ifdef DEBUG_LEVEL1
++extern u32 drvdbg;
++
++/** Print informative message */
++#define PRINTM_INFO(msg...) {if (drvdbg & DBG_INFO) printk(KERN_DEBUG
msg);}
++/** Print warning message */
++#define PRINTM_WARN(msg...) {if (drvdbg & DBG_WARN) printk(KERN_DEBUG
msg);}
++/** Print entry message */
++#define PRINTM_ENTRY(msg...) {if (drvdbg & DBG_ENTRY) printk(KERN_DEBUG
msg);}
++/** Print command message */
++#define PRINTM_CMD(msg...) {if (drvdbg & DBG_CMD) printk(KERN_DEBUG
msg);}
++/** Print erro message */
++#define PRINTM_ERROR(msg...) {if (drvdbg & DBG_ERROR) printk(KERN_DEBUG
msg);}
++/** Print fatal message */
++#define PRINTM_FATAL(msg...) {if (drvdbg & DBG_FATAL) printk(KERN_DEBUG
msg);}
++/** Print message */
++#define PRINTM_MSG(msg...) {if (drvdbg & DBG_MSG) printk(KERN_ALERT
msg);}
++
++/** Print message with required level */
++#define PRINTM(level,msg...) PRINTM_##level(msg)
++
++/** Debug dump buffer length */
++#define DBG_DUMP_BUF_LEN 64
++/** Maximum number of dump per line */
++#define MAX_DUMP_PER_LINE 16
++/** Maximum data dump length */
++#define MAX_DATA_DUMP_LEN 48
++
++static inline void
++hexdump(char *prompt, u8 * buf, int len)
++{
++ int i;
++ char dbgdumpbuf[DBG_DUMP_BUF_LEN];
++ char *ptr = dbgdumpbuf;
++
++ printk(KERN_DEBUG "%s: len=%d\n", prompt, len);
++ for (i = 1; i <= len; i++) {
++ ptr += sprintf(ptr, "%02x ", *buf);
++ buf++;
++ if (i % MAX_DUMP_PER_LINE == 0) {
++ *ptr = 0;
++ printk(KERN_DEBUG "%s\n", dbgdumpbuf);
++ ptr = dbgdumpbuf;
++ }
++ }
++ if (len % MAX_DUMP_PER_LINE) {
++ *ptr = 0;
++ printk(KERN_DEBUG "%s\n", dbgdumpbuf);
++ }
++}
++
++/** Debug hexdump of debug data */
++#define DBG_HEXDUMP_DBG_DATA(x,y,z) {if (drvdbg & DBG_DATA)
hexdump(x,y,z);}
++
_______________________________________________
Commits mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/commits