summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/drivers/net/wireless/nmi
diff options
context:
space:
mode:
Diffstat (limited to 'ANDROID_3.4.5/drivers/net/wireless/nmi')
-rwxr-xr-xANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release6.2/src/wifi_firmware.binbin0 -> 132672 bytes
-rwxr-xr-xANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/nmc1000_panda.patch168
-rwxr-xr-xANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware7.0.binbin0 -> 135200 bytes
-rwxr-xr-xANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware_ap7.0.binbin0 -> 110124 bytes
4 files changed, 168 insertions, 0 deletions
diff --git a/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release6.2/src/wifi_firmware.bin b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release6.2/src/wifi_firmware.bin
new file mode 100755
index 00000000..27025dac
--- /dev/null
+++ b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release6.2/src/wifi_firmware.bin
Binary files differ
diff --git a/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/nmc1000_panda.patch b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/nmc1000_panda.patch
new file mode 100755
index 00000000..9a9b99b3
--- /dev/null
+++ b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/nmc1000_panda.patch
@@ -0,0 +1,168 @@
+diff -Nur omap/arch/arm/mach-omap2/board-4430sdp.c org_ker/omap/arch/arm/mach-omap2/board-4430sdp.c
+--- omap/arch/arm/mach-omap2/board-4430sdp.c 2012-09-18 20:08:32.044155205 +0200
++++ org_ker/omap/arch/arm/mach-omap2/board-4430sdp.c 2012-02-23 19:51:53.000000000 +0200
+@@ -269,7 +269,7 @@
+ .modalias = "ks8851",
+ .bus_num = 1,
+ .chip_select = 0,
+- .max_speed_hz = 24000000,
++ .max_speed_hz = 6000000,
+ .irq = ETH_KS8851_IRQ,
+ },
+ };
+diff -Nur omap/arch/arm/mach-omap2/board-omap4panda.c org_ker/omap/arch/arm/mach-omap2/board-omap4panda.c
+--- omap/arch/arm/mach-omap2/board-omap4panda.c 2012-09-18 20:08:32.064153193 +0200
++++ org_ker/omap/arch/arm/mach-omap2/board-omap4panda.c 2012-09-18 20:44:53.942744369 +0200
+@@ -79,6 +79,9 @@
+
+ /* wl127x BT, FM, GPS connectivity chip */
+ static int wl1271_gpios[] = {46, -1, -1};
++/*add a spi interface*/
++#include "linux/spi/spi.h"
++
+ static struct platform_device wl1271_device = {
+ .name = "kim",
+ .id = -1,
+@@ -205,6 +208,15 @@
+ .ocr_mask = MMC_VDD_165_195,
+ .nonremovable = true,
+ },
++ {
++ .name = "nmc1000",
++ .mmc = 2,
++ .caps = MMC_CAP_4_BIT_DATA |MMC_CAP_NONREMOVABLE , //MMC_CAP_NEEDS_POLL
++ .gpio_wp = -EINVAL,
++ .gpio_cd = -EINVAL,
++ .ocr_mask = MMC_VDD_27_28 | MMC_VDD_28_29 | MMC_VDD_29_30 | MMC_VDD_30_31 | MMC_VDD_31_32 | MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_34_35 | MMC_VDD_35_36,
++ .nonremovable = true,
++ },
+ {} /* Terminator */
+ };
+
+@@ -758,6 +770,47 @@
+ };
+
+ extern void __init omap4_panda_android_init(void);
++/*arch/arm/plat-omap/include/*/
++#include "plat/mcspi.h"
++static struct omap2_mcspi_device_config spidev_mcspi_config = {
++ .turbo_mode = 0,
++ .single_channel = 1, /* 0: slave, 1: master */
++};
++
++static struct spi_board_info panda_spi_board_info[] __initdata = {
++ {
++ .modalias = "NMI_SPI",
++ .bus_num = 1,
++ .chip_select = 0,
++ .max_speed_hz = 4*1000*1000,
++ .mode = SPI_MODE_0,
++ .controller_data = &spidev_mcspi_config,
++ },
++};
++
++
++
++static int __init nmc_spi_mux_init(void){
++ printk("NMC1000 SPI init\n");
++ spi_register_board_info(panda_spi_board_info, ARRAY_SIZE(panda_spi_board_info));
++ omap_mux_init_signal("mcspi1_cs1.mcspi1_cs1",OMAP_PIN_OUTPUT| OMAP_MUX_MODE0);
++ omap_mux_init_signal("mcspi1_cs0.mcspi1_cs0",OMAP_PIN_OUTPUT| OMAP_MUX_MODE0);
++ omap_mux_init_signal("mcspi1_cs2.gpio_139",OMAP_PIN_INPUT_PULLUP);
++
++ return 0;
++}
++
++static void __init nmc_sdio_mux_init(void){
++ /* MMC2 */
++ printk("NMC1000 SDIO init\n");
++ omap_mux_init_signal("gpmc_noe.sdmmc2_clk",OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_signal("gpmc_nwe.sdmmc2_cmd",OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_signal("gpmc_ad0.sdmmc2_dat0",OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_signal("gpmc_ad1.sdmmc2_dat1",OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_signal("gpmc_ad2.sdmmc2_dat2",OMAP_PIN_INPUT_PULLUP);
++ omap_mux_init_signal("gpmc_ad3.sdmmc2_dat3",OMAP_PIN_INPUT_PULLUP);
++
++}
+
+ static void __init omap4_panda_init(void)
+ {
+@@ -775,6 +828,7 @@
+
+ register_reboot_notifier(&panda_reboot_notifier);
+ omap4_panda_i2c_init();
++ nmc_sdio_mux_init();
+ omap4_audio_conf();
+ platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
+ platform_device_register(&omap_vwlan_device);
+@@ -782,6 +836,8 @@
+ omap4_twl6030_hsmmc_init(mmc);
+ omap4_ehci_init();
+ usb_musb_init(&musb_board_data);
++
++ nmc_spi_mux_init();
+
+ omap_dmm_init();
+ omap_vram_set_sdram_vram(PANDA_FB_RAM_SIZE, 0);
+diff -Nur omap/drivers/mmc/core/core.c org_ker/omap/drivers/mmc/core/core.c
+--- omap/drivers/mmc/core/core.c 2012-09-18 20:08:35.063212481 +0200
++++ org_ker/omap/drivers/mmc/core/core.c 2012-09-11 11:28:01.000000000 +0200
+@@ -659,6 +659,7 @@
+ void mmc_set_clock(struct mmc_host *host, unsigned int hz)
+ {
+ mmc_host_clk_hold(host);
++ printk("> set_clk: %dhz\n",hz);
+ __mmc_set_clock(host, hz);
+ mmc_host_clk_release(host);
+ }
+diff -Nur omap/drivers/mmc/core/sdio.c org_ker/omap/drivers/mmc/core/sdio.c
+--- omap/drivers/mmc/core/sdio.c 2012-09-18 20:08:35.063212481 +0200
++++ org_ker/omap/drivers/mmc/core/sdio.c 2012-09-17 17:31:58.000000000 +0200
+@@ -320,7 +320,12 @@
+ * high-speed, but it seems that 50 MHz is
+ * mandatory.
+ */
+- max_dtr = 50000000;
++ /*Islam*/
++ if(card->host->index == 2)
++ max_dtr = 15000000;
++ else
++ max_dtr = 50000000;
++
+ } else {
+ max_dtr = card->cis.max_dtr;
+ }
+diff -Nur omap/drivers/mmc/core/sdio_ops.c org_ker/omap/drivers/mmc/core/sdio_ops.c
+--- omap/drivers/mmc/core/sdio_ops.c 2012-09-18 20:08:35.073212338 +0200
++++ org_ker/omap/drivers/mmc/core/sdio_ops.c 2012-09-18 20:32:26.633212481 +0200
+@@ -101,6 +101,30 @@
+ return -ERANGE;
+ }
+
++ if(host->index == 2 && write == 0 && addr == 0x2005){
++ printk("> Changing 0x2005 to be 0x2A - old: %x\n",cmd.resp[0] );
++ cmd.resp[0] = 0x102a;
++ }
++ if(host->index == 2 && write == 0 && addr == 0x202e){
++ printk("> Changing 0x202e to be 0x00 - old: %x\n",cmd.resp[0] );
++ cmd.resp[0] = 0x1000;
++ }
++
++ if(host->index == 2 && write == 0 && addr == 0x2030){
++ printk("> Changing 0x2030 to be 0xFF - old: %x\n",cmd.resp[0] );
++ cmd.resp[0] = 0x10FF;
++ }
++
++ if(host->index == 2 && write == 0 && addr == 0x2008){
++ printk("> Changing 0x2008 to be 0x20 - old: %x\n",cmd.resp[0] );
++ cmd.resp[0] = 0x1020;
++ }
++
++ if(host->index == 2 && write == 0 && addr == 0x2015){
++ printk("> Changing 0x2015 to be 0x80 - old: %x\n",cmd.resp[0] );
++ cmd.resp[0] = 0x1080;
++ }
++
+ if (out) {
+ if (mmc_host_is_spi(host))
+ *out = (cmd.resp[0] >> 8) & 0xFF;
diff --git a/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware7.0.bin b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware7.0.bin
new file mode 100755
index 00000000..b82a112e
--- /dev/null
+++ b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware7.0.bin
Binary files differ
diff --git a/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware_ap7.0.bin b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware_ap7.0.bin
new file mode 100755
index 00000000..01e86d32
--- /dev/null
+++ b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware_ap7.0.bin
Binary files differ