brcmfmac: Add 43242 USB support.
Added usb device id to list of supported devices. 43242 is the new 802.11n 2x2 MIMO device. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
		
					parent
					
						
							
								4a1c02ce7f
							
						
					
				
			
			
				commit
				
					
						1212d370e7
					
				
			
		
					 1 changed files with 19 additions and 1 deletions
				
			
		| 
						 | 
					@ -67,6 +67,7 @@
 | 
				
			||||||
#define BRCMF_USB_MAX_PKT_SIZE	1600
 | 
					#define BRCMF_USB_MAX_PKT_SIZE	1600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BRCMF_USB_43236_FW_NAME	"brcm/brcmfmac43236b.bin"
 | 
					#define BRCMF_USB_43236_FW_NAME	"brcm/brcmfmac43236b.bin"
 | 
				
			||||||
 | 
					#define BRCMF_USB_43242_FW_NAME	"brcm/brcmfmac43242a.bin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum usbdev_suspend_state {
 | 
					enum usbdev_suspend_state {
 | 
				
			||||||
	USBOS_SUSPEND_STATE_DEVICE_ACTIVE = 0, /* Device is busy, won't allow
 | 
						USBOS_SUSPEND_STATE_DEVICE_ACTIVE = 0, /* Device is busy, won't allow
 | 
				
			||||||
| 
						 | 
					@ -1116,6 +1117,8 @@ static bool brcmf_usb_chip_support(int chipid, int chiprev)
 | 
				
			||||||
	case 43236:
 | 
						case 43236:
 | 
				
			||||||
	case 43238:
 | 
						case 43238:
 | 
				
			||||||
		return (chiprev == 3);
 | 
							return (chiprev == 3);
 | 
				
			||||||
 | 
						case 43242:
 | 
				
			||||||
 | 
							return true;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -1228,7 +1231,19 @@ static int brcmf_usb_get_fw(struct brcmf_usbdev_info *devinfo)
 | 
				
			||||||
	if (devinfo->image)
 | 
						if (devinfo->image)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						switch (devinfo->bus_pub.devid) {
 | 
				
			||||||
 | 
						case 43235:
 | 
				
			||||||
 | 
						case 43236:
 | 
				
			||||||
 | 
						case 43238:
 | 
				
			||||||
		fwname = BRCMF_USB_43236_FW_NAME;
 | 
							fwname = BRCMF_USB_43236_FW_NAME;
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
 | 
						case 43242:
 | 
				
			||||||
 | 
							fwname = BRCMF_USB_43242_FW_NAME;
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
 | 
						default:
 | 
				
			||||||
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = request_firmware(&fw, fwname, devinfo->dev);
 | 
						err = request_firmware(&fw, fwname, devinfo->dev);
 | 
				
			||||||
	if (!fw) {
 | 
						if (!fw) {
 | 
				
			||||||
| 
						 | 
					@ -1578,16 +1593,19 @@ static int brcmf_usb_resume(struct usb_interface *intf)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BRCMF_USB_VENDOR_ID_BROADCOM	0x0a5c
 | 
					#define BRCMF_USB_VENDOR_ID_BROADCOM	0x0a5c
 | 
				
			||||||
#define BRCMF_USB_DEVICE_ID_43236	0xbd17
 | 
					#define BRCMF_USB_DEVICE_ID_43236	0xbd17
 | 
				
			||||||
 | 
					#define BRCMF_USB_DEVICE_ID_43242	0xbd1f
 | 
				
			||||||
#define BRCMF_USB_DEVICE_ID_BCMFW	0x0bdc
 | 
					#define BRCMF_USB_DEVICE_ID_BCMFW	0x0bdc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct usb_device_id brcmf_usb_devid_table[] = {
 | 
					static struct usb_device_id brcmf_usb_devid_table[] = {
 | 
				
			||||||
	{ USB_DEVICE(BRCMF_USB_VENDOR_ID_BROADCOM, BRCMF_USB_DEVICE_ID_43236) },
 | 
						{ USB_DEVICE(BRCMF_USB_VENDOR_ID_BROADCOM, BRCMF_USB_DEVICE_ID_43236) },
 | 
				
			||||||
 | 
						{ USB_DEVICE(BRCMF_USB_VENDOR_ID_BROADCOM, BRCMF_USB_DEVICE_ID_43242) },
 | 
				
			||||||
	/* special entry for device with firmware loaded and running */
 | 
						/* special entry for device with firmware loaded and running */
 | 
				
			||||||
	{ USB_DEVICE(BRCMF_USB_VENDOR_ID_BROADCOM, BRCMF_USB_DEVICE_ID_BCMFW) },
 | 
						{ USB_DEVICE(BRCMF_USB_VENDOR_ID_BROADCOM, BRCMF_USB_DEVICE_ID_BCMFW) },
 | 
				
			||||||
	{ }
 | 
						{ }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
MODULE_DEVICE_TABLE(usb, brcmf_usb_devid_table);
 | 
					MODULE_DEVICE_TABLE(usb, brcmf_usb_devid_table);
 | 
				
			||||||
MODULE_FIRMWARE(BRCMF_USB_43236_FW_NAME);
 | 
					MODULE_FIRMWARE(BRCMF_USB_43236_FW_NAME);
 | 
				
			||||||
 | 
					MODULE_FIRMWARE(BRCMF_USB_43242_FW_NAME);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* TODO: suspend and resume entries */
 | 
					/* TODO: suspend and resume entries */
 | 
				
			||||||
static struct usb_driver brcmf_usbdrvr = {
 | 
					static struct usb_driver brcmf_usbdrvr = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue