361-brcmfmac-add-support-for-BCM4358-PCIe-device.patch 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. From: Arend van Spriel <[email protected]>
  2. Date: Tue, 14 Apr 2015 20:10:31 +0200
  3. Subject: [PATCH] brcmfmac: add support for BCM4358 PCIe device
  4. This patch adds support for the BCM4358 2x2 11ac device.
  5. Reviewed-by: Pieter-Paul Giesberts <[email protected]>
  6. Signed-off-by: Arend van Spriel <[email protected]>
  7. ---
  8. --- a/drivers/net/wireless/brcm80211/brcmfmac/chip.c
  9. +++ b/drivers/net/wireless/brcm80211/brcmfmac/chip.c
  10. @@ -649,6 +649,7 @@ static u32 brcmf_chip_tcm_rambase(struct
  11. case BRCM_CC_43567_CHIP_ID:
  12. case BRCM_CC_43569_CHIP_ID:
  13. case BRCM_CC_43570_CHIP_ID:
  14. + case BRCM_CC_4358_CHIP_ID:
  15. case BRCM_CC_43602_CHIP_ID:
  16. return 0x180000;
  17. default:
  18. --- a/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
  19. +++ b/drivers/net/wireless/brcm80211/brcmfmac/pcie.c
  20. @@ -51,6 +51,8 @@ enum brcmf_pcie_state {
  21. #define BRCMF_PCIE_4356_NVRAM_NAME "brcm/brcmfmac4356-pcie.txt"
  22. #define BRCMF_PCIE_43570_FW_NAME "brcm/brcmfmac43570-pcie.bin"
  23. #define BRCMF_PCIE_43570_NVRAM_NAME "brcm/brcmfmac43570-pcie.txt"
  24. +#define BRCMF_PCIE_4358_FW_NAME "brcm/brcmfmac4358-pcie.bin"
  25. +#define BRCMF_PCIE_4358_NVRAM_NAME "brcm/brcmfmac4358-pcie.txt"
  26. #define BRCMF_PCIE_FW_UP_TIMEOUT 2000 /* msec */
  27. @@ -189,6 +191,8 @@ MODULE_FIRMWARE(BRCMF_PCIE_4356_FW_NAME)
  28. MODULE_FIRMWARE(BRCMF_PCIE_4356_NVRAM_NAME);
  29. MODULE_FIRMWARE(BRCMF_PCIE_43570_FW_NAME);
  30. MODULE_FIRMWARE(BRCMF_PCIE_43570_NVRAM_NAME);
  31. +MODULE_FIRMWARE(BRCMF_PCIE_4358_FW_NAME);
  32. +MODULE_FIRMWARE(BRCMF_PCIE_4358_NVRAM_NAME);
  33. struct brcmf_pcie_console {
  34. @@ -1333,6 +1337,10 @@ static int brcmf_pcie_get_fwnames(struct
  35. fw_name = BRCMF_PCIE_43570_FW_NAME;
  36. nvram_name = BRCMF_PCIE_43570_NVRAM_NAME;
  37. break;
  38. + case BRCM_CC_4358_CHIP_ID:
  39. + fw_name = BRCMF_PCIE_4358_FW_NAME;
  40. + nvram_name = BRCMF_PCIE_4358_NVRAM_NAME;
  41. + break;
  42. default:
  43. brcmf_err("Unsupported chip 0x%04x\n", devinfo->ci->chip);
  44. return -ENODEV;
  45. @@ -1850,6 +1858,7 @@ static struct pci_device_id brcmf_pcie_d
  46. BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID),
  47. BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID),
  48. BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID),
  49. + BRCMF_PCIE_DEVICE(BRCM_PCIE_4358_DEVICE_ID),
  50. BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_DEVICE_ID),
  51. BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID),
  52. BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID),
  53. --- a/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
  54. +++ b/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
  55. @@ -45,6 +45,7 @@
  56. #define BRCM_CC_43567_CHIP_ID 43567
  57. #define BRCM_CC_43569_CHIP_ID 43569
  58. #define BRCM_CC_43570_CHIP_ID 43570
  59. +#define BRCM_CC_4358_CHIP_ID 0x4358
  60. #define BRCM_CC_43602_CHIP_ID 43602
  61. /* USB Device IDs */
  62. @@ -59,6 +60,7 @@
  63. #define BRCM_PCIE_4356_DEVICE_ID 0x43ec
  64. #define BRCM_PCIE_43567_DEVICE_ID 0x43d3
  65. #define BRCM_PCIE_43570_DEVICE_ID 0x43d9
  66. +#define BRCM_PCIE_4358_DEVICE_ID 0x43e9
  67. #define BRCM_PCIE_43602_DEVICE_ID 0x43ba
  68. #define BRCM_PCIE_43602_2G_DEVICE_ID 0x43bb
  69. #define BRCM_PCIE_43602_5G_DEVICE_ID 0x43bc