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_43236_FW_NAME	"brcm/brcmfmac43236b.bin"
 | 
			
		||||
#define BRCMF_USB_43242_FW_NAME	"brcm/brcmfmac43242a.bin"
 | 
			
		||||
 | 
			
		||||
enum usbdev_suspend_state {
 | 
			
		||||
	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 43238:
 | 
			
		||||
		return (chiprev == 3);
 | 
			
		||||
	case 43242:
 | 
			
		||||
		return true;
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -1228,7 +1231,19 @@ static int brcmf_usb_get_fw(struct brcmf_usbdev_info *devinfo)
 | 
			
		|||
	if (devinfo->image)
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	switch (devinfo->bus_pub.devid) {
 | 
			
		||||
	case 43235:
 | 
			
		||||
	case 43236:
 | 
			
		||||
	case 43238:
 | 
			
		||||
		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);
 | 
			
		||||
	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_DEVICE_ID_43236	0xbd17
 | 
			
		||||
#define BRCMF_USB_DEVICE_ID_43242	0xbd1f
 | 
			
		||||
#define BRCMF_USB_DEVICE_ID_BCMFW	0x0bdc
 | 
			
		||||
 | 
			
		||||
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_43242) },
 | 
			
		||||
	/* special entry for device with firmware loaded and running */
 | 
			
		||||
	{ USB_DEVICE(BRCMF_USB_VENDOR_ID_BROADCOM, BRCMF_USB_DEVICE_ID_BCMFW) },
 | 
			
		||||
	{ }
 | 
			
		||||
};
 | 
			
		||||
MODULE_DEVICE_TABLE(usb, brcmf_usb_devid_table);
 | 
			
		||||
MODULE_FIRMWARE(BRCMF_USB_43236_FW_NAME);
 | 
			
		||||
MODULE_FIRMWARE(BRCMF_USB_43242_FW_NAME);
 | 
			
		||||
 | 
			
		||||
/* TODO: suspend and resume entries */
 | 
			
		||||
static struct usb_driver brcmf_usbdrvr = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue