sdio.c (36dd7a4c6226133b0b7aa92b8e604e688d958d0c) | sdio.c (bba047f15851c8b053221f1b276eb7682d59f755) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * NXP Wireless LAN device driver: SDIO specific handling 4 * 5 * Copyright 2011-2020 NXP 6 */ 7 8#include <linux/firmware.h> --- 249 unchanged lines hidden (view full) --- 258 .func1_dump_reg_end = 0x17, 259 .func1_scratch_reg = 0x90, 260 .func1_spec_reg_num = 13, 261 .func1_spec_reg_table = {0x08, 0x58, 0x5C, 0x5D, 0x60, 262 0x61, 0x62, 0x64, 0x65, 0x66, 263 0x68, 0x69, 0x6a}, 264}; 265 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * NXP Wireless LAN device driver: SDIO specific handling 4 * 5 * Copyright 2011-2020 NXP 6 */ 7 8#include <linux/firmware.h> --- 249 unchanged lines hidden (view full) --- 258 .func1_dump_reg_end = 0x17, 259 .func1_scratch_reg = 0x90, 260 .func1_spec_reg_num = 13, 261 .func1_spec_reg_table = {0x08, 0x58, 0x5C, 0x5D, 0x60, 262 0x61, 0x62, 0x64, 0x65, 0x66, 263 0x68, 0x69, 0x6a}, 264}; 265 |
266static const struct mwifiex_sdio_card_reg mwifiex_reg_sd8987 = { | 266static const struct mwifiex_sdio_card_reg mwifiex_reg_sd89xx = { |
267 .start_rd_port = 0, 268 .start_wr_port = 0, 269 .base_0_reg = 0xF8, 270 .base_1_reg = 0xF9, 271 .poll_reg = 0x5C, 272 .host_int_enable = UP_LD_HOST_INT_MASK | DN_LD_HOST_INT_MASK | 273 CMD_PORT_UPLD_INT_MASK | CMD_PORT_DNLD_INT_MASK, 274 .host_int_rsr_reg = 0x4, --- 114 unchanged lines hidden (view full) --- 389 .supports_sdio_new_mode = true, 390 .has_control_mask = false, 391 .can_dump_fw = true, 392 .fw_dump_enh = true, 393 .can_auto_tdls = false, 394 .can_ext_scan = true, 395}; 396 | 267 .start_rd_port = 0, 268 .start_wr_port = 0, 269 .base_0_reg = 0xF8, 270 .base_1_reg = 0xF9, 271 .poll_reg = 0x5C, 272 .host_int_enable = UP_LD_HOST_INT_MASK | DN_LD_HOST_INT_MASK | 273 CMD_PORT_UPLD_INT_MASK | CMD_PORT_DNLD_INT_MASK, 274 .host_int_rsr_reg = 0x4, --- 114 unchanged lines hidden (view full) --- 389 .supports_sdio_new_mode = true, 390 .has_control_mask = false, 391 .can_dump_fw = true, 392 .fw_dump_enh = true, 393 .can_auto_tdls = false, 394 .can_ext_scan = true, 395}; 396 |
397static const struct mwifiex_sdio_device mwifiex_sdio_sd8978 = { 398 .firmware_sdiouart = SD8978_SDIOUART_FW_NAME, 399 .reg = &mwifiex_reg_sd89xx, 400 .max_ports = 32, 401 .mp_agg_pkt_limit = 16, 402 .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K, 403 .mp_tx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, 404 .mp_rx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, 405 .supports_sdio_new_mode = true, 406 .has_control_mask = false, 407 .can_dump_fw = true, 408 .fw_dump_enh = true, 409 .can_auto_tdls = false, 410 .can_ext_scan = true, 411}; 412 |
|
397static const struct mwifiex_sdio_device mwifiex_sdio_sd8997 = { 398 .firmware = SD8997_DEFAULT_FW_NAME, 399 .firmware_sdiouart = SD8997_SDIOUART_FW_NAME, 400 .reg = &mwifiex_reg_sd8997, 401 .max_ports = 32, 402 .mp_agg_pkt_limit = 16, 403 .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K, 404 .mp_tx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, --- 18 unchanged lines hidden (view full) --- 423 .has_control_mask = false, 424 .can_dump_fw = false, 425 .can_auto_tdls = true, 426 .can_ext_scan = true, 427}; 428 429static const struct mwifiex_sdio_device mwifiex_sdio_sd8987 = { 430 .firmware = SD8987_DEFAULT_FW_NAME, | 413static const struct mwifiex_sdio_device mwifiex_sdio_sd8997 = { 414 .firmware = SD8997_DEFAULT_FW_NAME, 415 .firmware_sdiouart = SD8997_SDIOUART_FW_NAME, 416 .reg = &mwifiex_reg_sd8997, 417 .max_ports = 32, 418 .mp_agg_pkt_limit = 16, 419 .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_4K, 420 .mp_tx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, --- 18 unchanged lines hidden (view full) --- 439 .has_control_mask = false, 440 .can_dump_fw = false, 441 .can_auto_tdls = true, 442 .can_ext_scan = true, 443}; 444 445static const struct mwifiex_sdio_device mwifiex_sdio_sd8987 = { 446 .firmware = SD8987_DEFAULT_FW_NAME, |
431 .reg = &mwifiex_reg_sd8987, | 447 .reg = &mwifiex_reg_sd89xx, |
432 .max_ports = 32, 433 .mp_agg_pkt_limit = 16, 434 .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K, 435 .mp_tx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, 436 .mp_rx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, 437 .supports_sdio_new_mode = true, 438 .has_control_mask = false, 439 .can_dump_fw = true, --- 37 unchanged lines hidden (view full) --- 477 {"EXT12", NULL, 0, 0xFC}, 478 {"EXT13", NULL, 0, 0xFD}, 479 {"EXTLAST", NULL, 0, 0xFE}, 480}; 481 482static const struct of_device_id mwifiex_sdio_of_match_table[] = { 483 { .compatible = "marvell,sd8787" }, 484 { .compatible = "marvell,sd8897" }, | 448 .max_ports = 32, 449 .mp_agg_pkt_limit = 16, 450 .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K, 451 .mp_tx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, 452 .mp_rx_agg_buf_size = MWIFIEX_MP_AGGR_BUF_SIZE_MAX, 453 .supports_sdio_new_mode = true, 454 .has_control_mask = false, 455 .can_dump_fw = true, --- 37 unchanged lines hidden (view full) --- 493 {"EXT12", NULL, 0, 0xFC}, 494 {"EXT13", NULL, 0, 0xFD}, 495 {"EXTLAST", NULL, 0, 0xFE}, 496}; 497 498static const struct of_device_id mwifiex_sdio_of_match_table[] = { 499 { .compatible = "marvell,sd8787" }, 500 { .compatible = "marvell,sd8897" }, |
501 { .compatible = "marvell,sd8978" }, |
|
485 { .compatible = "marvell,sd8997" }, | 502 { .compatible = "marvell,sd8997" }, |
503 { .compatible = "nxp,iw416" }, |
|
486 { } 487}; 488 489/* This function parse device tree node using mmc subnode devicetree API. 490 * The device node is saved in card->plt_of_node. 491 * if the device tree node exist and include interrupts attributes, this 492 * function will also request platform specific wakeup interrupt. 493 */ --- 421 unchanged lines hidden (view full) --- 915 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8897_WLAN), 916 .driver_data = (unsigned long) &mwifiex_sdio_sd8897}, 917 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8887_WLAN), 918 .driver_data = (unsigned long)&mwifiex_sdio_sd8887}, 919 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8801_WLAN), 920 .driver_data = (unsigned long)&mwifiex_sdio_sd8801}, 921 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8977_WLAN), 922 .driver_data = (unsigned long)&mwifiex_sdio_sd8977}, | 504 { } 505}; 506 507/* This function parse device tree node using mmc subnode devicetree API. 508 * The device node is saved in card->plt_of_node. 509 * if the device tree node exist and include interrupts attributes, this 510 * function will also request platform specific wakeup interrupt. 511 */ --- 421 unchanged lines hidden (view full) --- 933 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8897_WLAN), 934 .driver_data = (unsigned long) &mwifiex_sdio_sd8897}, 935 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8887_WLAN), 936 .driver_data = (unsigned long)&mwifiex_sdio_sd8887}, 937 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8801_WLAN), 938 .driver_data = (unsigned long)&mwifiex_sdio_sd8801}, 939 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8977_WLAN), 940 .driver_data = (unsigned long)&mwifiex_sdio_sd8977}, |
941 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8978_WLAN), 942 .driver_data = (unsigned long)&mwifiex_sdio_sd8978}, |
|
923 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8987_WLAN), 924 .driver_data = (unsigned long)&mwifiex_sdio_sd8987}, 925 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8997_WLAN), 926 .driver_data = (unsigned long)&mwifiex_sdio_sd8997}, 927 {}, 928}; 929 930MODULE_DEVICE_TABLE(sdio, mwifiex_ids); --- 2228 unchanged lines hidden (view full) --- 3159MODULE_VERSION(SDIO_VERSION); 3160MODULE_LICENSE("GPL v2"); 3161MODULE_FIRMWARE(SD8786_DEFAULT_FW_NAME); 3162MODULE_FIRMWARE(SD8787_DEFAULT_FW_NAME); 3163MODULE_FIRMWARE(SD8797_DEFAULT_FW_NAME); 3164MODULE_FIRMWARE(SD8897_DEFAULT_FW_NAME); 3165MODULE_FIRMWARE(SD8887_DEFAULT_FW_NAME); 3166MODULE_FIRMWARE(SD8977_DEFAULT_FW_NAME); | 943 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8987_WLAN), 944 .driver_data = (unsigned long)&mwifiex_sdio_sd8987}, 945 {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8997_WLAN), 946 .driver_data = (unsigned long)&mwifiex_sdio_sd8997}, 947 {}, 948}; 949 950MODULE_DEVICE_TABLE(sdio, mwifiex_ids); --- 2228 unchanged lines hidden (view full) --- 3179MODULE_VERSION(SDIO_VERSION); 3180MODULE_LICENSE("GPL v2"); 3181MODULE_FIRMWARE(SD8786_DEFAULT_FW_NAME); 3182MODULE_FIRMWARE(SD8787_DEFAULT_FW_NAME); 3183MODULE_FIRMWARE(SD8797_DEFAULT_FW_NAME); 3184MODULE_FIRMWARE(SD8897_DEFAULT_FW_NAME); 3185MODULE_FIRMWARE(SD8887_DEFAULT_FW_NAME); 3186MODULE_FIRMWARE(SD8977_DEFAULT_FW_NAME); |
3187MODULE_FIRMWARE(SD8978_SDIOUART_FW_NAME); |
|
3167MODULE_FIRMWARE(SD8987_DEFAULT_FW_NAME); 3168MODULE_FIRMWARE(SD8997_DEFAULT_FW_NAME); 3169MODULE_FIRMWARE(SD8997_SDIOUART_FW_NAME); | 3188MODULE_FIRMWARE(SD8987_DEFAULT_FW_NAME); 3189MODULE_FIRMWARE(SD8997_DEFAULT_FW_NAME); 3190MODULE_FIRMWARE(SD8997_SDIOUART_FW_NAME); |