xref: /freebsd/sys/dev/iwm/if_iwm_9000.c (revision 685dc743dc3b5645e34836464128e1c0558b404b)
15b3b7a2dSMark Johnston /*-
25b3b7a2dSMark Johnston  * Based on BSD-licensed source modules in the Linux iwlwifi driver,
35b3b7a2dSMark Johnston  * which were used as the reference documentation for this implementation.
45b3b7a2dSMark Johnston  *
55b3b7a2dSMark Johnston  ******************************************************************************
65b3b7a2dSMark Johnston  *
75b3b7a2dSMark Johnston  * This file is provided under a dual BSD/GPLv2 license.  When using or
85b3b7a2dSMark Johnston  * redistributing this file, you may do so under either license.
95b3b7a2dSMark Johnston  *
105b3b7a2dSMark Johnston  * GPL LICENSE SUMMARY
115b3b7a2dSMark Johnston  *
125b3b7a2dSMark Johnston  * Copyright(c) 2014 Intel Corporation. All rights reserved.
135b3b7a2dSMark Johnston  * Copyright(c) 2014 - 2015 Intel Mobile Communications GmbH
145b3b7a2dSMark Johnston  * Copyright(c) 2016 Intel Deutschland GmbH
155b3b7a2dSMark Johnston  *
165b3b7a2dSMark Johnston  * This program is free software; you can redistribute it and/or modify
175b3b7a2dSMark Johnston  * it under the terms of version 2 of the GNU General Public License as
185b3b7a2dSMark Johnston  * published by the Free Software Foundation.
195b3b7a2dSMark Johnston  *
205b3b7a2dSMark Johnston  * This program is distributed in the hope that it will be useful, but
215b3b7a2dSMark Johnston  * WITHOUT ANY WARRANTY; without even the implied warranty of
225b3b7a2dSMark Johnston  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
235b3b7a2dSMark Johnston  * General Public License for more details.
245b3b7a2dSMark Johnston  *
255b3b7a2dSMark Johnston  * You should have received a copy of the GNU General Public License
265b3b7a2dSMark Johnston  * along with this program; if not, write to the Free Software
275b3b7a2dSMark Johnston  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110,
285b3b7a2dSMark Johnston  * USA
295b3b7a2dSMark Johnston  *
305b3b7a2dSMark Johnston  * The full GNU General Public License is included in this distribution
315b3b7a2dSMark Johnston  * in the file called COPYING.
325b3b7a2dSMark Johnston  *
335b3b7a2dSMark Johnston  * Contact Information:
345b3b7a2dSMark Johnston  *  Intel Linux Wireless <linuxwifi@intel.com>
355b3b7a2dSMark Johnston  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
365b3b7a2dSMark Johnston  *
375b3b7a2dSMark Johnston  * BSD LICENSE
385b3b7a2dSMark Johnston  *
395b3b7a2dSMark Johnston  * Copyright(c) 2014 Intel Corporation. All rights reserved.
405b3b7a2dSMark Johnston  * Copyright(c) 2014 - 2015 Intel Mobile Communications GmbH
415b3b7a2dSMark Johnston  * All rights reserved.
425b3b7a2dSMark Johnston  *
435b3b7a2dSMark Johnston  * Redistribution and use in source and binary forms, with or without
445b3b7a2dSMark Johnston  * modification, are permitted provided that the following conditions
455b3b7a2dSMark Johnston  * are met:
465b3b7a2dSMark Johnston  *
475b3b7a2dSMark Johnston  *  * Redistributions of source code must retain the above copyright
485b3b7a2dSMark Johnston  *    notice, this list of conditions and the following disclaimer.
495b3b7a2dSMark Johnston  *  * Redistributions in binary form must reproduce the above copyright
505b3b7a2dSMark Johnston  *    notice, this list of conditions and the following disclaimer in
515b3b7a2dSMark Johnston  *    the documentation and/or other materials provided with the
525b3b7a2dSMark Johnston  *    distribution.
535b3b7a2dSMark Johnston  *  * Neither the name Intel Corporation nor the names of its
545b3b7a2dSMark Johnston  *    contributors may be used to endorse or promote products derived
555b3b7a2dSMark Johnston  *    from this software without specific prior written permission.
565b3b7a2dSMark Johnston  *
575b3b7a2dSMark Johnston  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
585b3b7a2dSMark Johnston  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
595b3b7a2dSMark Johnston  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
605b3b7a2dSMark Johnston  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
615b3b7a2dSMark Johnston  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
625b3b7a2dSMark Johnston  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
635b3b7a2dSMark Johnston  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
645b3b7a2dSMark Johnston  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
655b3b7a2dSMark Johnston  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
665b3b7a2dSMark Johnston  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
675b3b7a2dSMark Johnston  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
685b3b7a2dSMark Johnston  *
695b3b7a2dSMark Johnston  *****************************************************************************/
705b3b7a2dSMark Johnston 
715b3b7a2dSMark Johnston #include <sys/cdefs.h>
725b3b7a2dSMark Johnston #include "opt_wlan.h"
735b3b7a2dSMark Johnston #include "opt_iwm.h"
745b3b7a2dSMark Johnston 
755b3b7a2dSMark Johnston #include <sys/param.h>
765b3b7a2dSMark Johnston 
775b3b7a2dSMark Johnston #include "if_iwm_config.h"
785b3b7a2dSMark Johnston 
795b3b7a2dSMark Johnston #define IWM9000_FW	"iwm9000fw"
805b3b7a2dSMark Johnston 
815b3b7a2dSMark Johnston #define IWM_NVM_HW_SECTION_NUM_FAMILY_9000	10
825b3b7a2dSMark Johnston 
835b3b7a2dSMark Johnston #define IWM_DEVICE_9000_COMMON						\
845b3b7a2dSMark Johnston 	.device_family = IWM_DEVICE_FAMILY_9000,			\
855b3b7a2dSMark Johnston 	.eeprom_size = IWM_OTP_LOW_IMAGE_SIZE_FAMILY_9000,		\
865b3b7a2dSMark Johnston 	.nvm_hw_section_num = IWM_NVM_HW_SECTION_NUM_FAMILY_9000
875b3b7a2dSMark Johnston 
885b3b7a2dSMark Johnston const struct iwm_cfg iwm9560_cfg = {
895b3b7a2dSMark Johnston 	.name = "Intel(R) Dual Band Wireless AC 9560",
905b3b7a2dSMark Johnston 	.fw_name = IWM9000_FW,
915b3b7a2dSMark Johnston 	IWM_DEVICE_9000_COMMON,
925b3b7a2dSMark Johnston 	.host_interrupt_operation_mode = 0,
93*1809534aSMark Johnston 	.mqrx_supported = 1,
94*1809534aSMark Johnston 	.integrated = 1,
955b3b7a2dSMark Johnston };
96