diff options
Diffstat (limited to 'ANDROID_3.4.5/drivers/net/wireless/nmi')
-rwxr-xr-x | ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release6.2/src/wifi_firmware.bin | bin | 0 -> 132672 bytes | |||
-rwxr-xr-x | ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/nmc1000_panda.patch | 168 | ||||
-rwxr-xr-x | ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware7.0.bin | bin | 0 -> 135200 bytes | |||
-rwxr-xr-x | ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware_ap7.0.bin | bin | 0 -> 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 Binary files differnew file mode 100755 index 00000000..27025dac --- /dev/null +++ b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release6.2/src/wifi_firmware.bin 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 Binary files differnew file mode 100755 index 00000000..b82a112e --- /dev/null +++ b/ANDROID_3.4.5/drivers/net/wireless/nmi/Nmc1000_Release7.0/wifi_firmware7.0.bin 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 Binary files differnew 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 |