cregit-Linux how code gets into the kernel

Release 4.7 drivers/scsi/qla4xxx/ql4_nvram.h

/*
 * QLogic iSCSI HBA Driver
 * Copyright (c)  2003-2013 QLogic Corporation
 *
 * See LICENSE.qla4xxx for copyright and licensing details.
 */

#ifndef _QL4XNVRM_H_

#define _QL4XNVRM_H_

/**
 * AM29LV Flash definitions
 **/

#define FM93C56A_SIZE_8	 0x100

#define FM93C56A_SIZE_16 0x80

#define FM93C66A_SIZE_8	 0x200

#define FM93C66A_SIZE_16 0x100
/* 4010 */

#define FM93C86A_SIZE_16 0x400
/* 4022 */


#define	 FM93C56A_START	      0x1

/* Commands */

#define	 FM93C56A_READ	      0x2

#define	 FM93C56A_WEN	      0x0

#define	 FM93C56A_WRITE	      0x1

#define	 FM93C56A_WRITE_ALL   0x0

#define	 FM93C56A_WDS	      0x0

#define	 FM93C56A_ERASE	      0x3

#define	 FM93C56A_ERASE_ALL   0x0

/* Command Extensions */

#define	 FM93C56A_WEN_EXT	 0x3

#define	 FM93C56A_WRITE_ALL_EXT	 0x1

#define	 FM93C56A_WDS_EXT	 0x0

#define	 FM93C56A_ERASE_ALL_EXT	 0x2

/* Address Bits */

#define	 FM93C56A_NO_ADDR_BITS_16   8	
/* 4010 */

#define	 FM93C56A_NO_ADDR_BITS_8    9	
/* 4010 */

#define	 FM93C86A_NO_ADDR_BITS_16   10	
/* 4022 */

/* Data Bits */

#define	 FM93C56A_DATA_BITS_16	 16

#define	 FM93C56A_DATA_BITS_8	 8

/* Special Bits */

#define	 FM93C56A_READ_DUMMY_BITS   1

#define	 FM93C56A_READY		    0

#define	 FM93C56A_BUSY		    1

#define	 FM93C56A_CMD_BITS	    2

/* Auburn Bits */

#define	 AUBURN_EEPROM_DI	    0x8

#define	 AUBURN_EEPROM_DI_0	    0x0

#define	 AUBURN_EEPROM_DI_1	    0x8

#define	 AUBURN_EEPROM_DO	    0x4

#define	 AUBURN_EEPROM_DO_0	    0x0

#define	 AUBURN_EEPROM_DO_1	    0x4

#define	 AUBURN_EEPROM_CS	    0x2

#define	 AUBURN_EEPROM_CS_0	    0x0

#define	 AUBURN_EEPROM_CS_1	    0x2

#define	 AUBURN_EEPROM_CLK_RISE	    0x1

#define	 AUBURN_EEPROM_CLK_FALL	    0x0

/**/
/* EEPROM format */
/**/

struct bios_params {
	
uint16_t SpinUpDelay:1;
	
uint16_t BIOSDisable:1;
	
uint16_t MMAPEnable:1;
	
uint16_t BootEnable:1;
	
uint16_t Reserved0:12;
	
uint8_t bootID0:7;
	
uint8_t bootID0Valid:1;
	
uint8_t bootLUN0[8];
	
uint8_t bootID1:7;
	
uint8_t bootID1Valid:1;
	
uint8_t bootLUN1[8];
	
uint16_t MaxLunsPerTarget;
	
uint8_t Reserved1[10];
};


struct eeprom_port_cfg {

	/* MTU MAC 0 */
	
u16 etherMtu_mac;

	/* Flow Control MAC 0 */
	
u16 pauseThreshold_mac;
	
u16 resumeThreshold_mac;
	
u16 reserved[13];
};


struct eeprom_function_cfg {
	
u8 reserved[30];

	/* MAC ADDR */
	
u8 macAddress[6];
	
u8 macAddressSecondary[6];
	
u16 subsysVendorId;
	
u16 subsysDeviceId;
};


struct eeprom_data {
	union {
		struct {	/* isp4010 */
			
u8 asic_id[4]; /* x00 */
			
u8 version;	/* x04 */
			
u8 reserved;	/* x05 */
			
u16 board_id;	/* x06 */

#define	  EEPROM_BOARDID_ELDORADO    1

#define	  EEPROM_BOARDID_PLACER	     2


#define EEPROM_SERIAL_NUM_SIZE	     16
			
u8 serial_number[EEPROM_SERIAL_NUM_SIZE]; /* x08 */

			/* ExtHwConfig: */
			/* Offset = 24bytes
                         *
                         * | SSRAM Size|     |ST|PD|SDRAM SZ| W| B| SP  |  |
                         * |15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
                         * +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
                         */
			
u16 ext_hw_conf; /* x18 */
			
u8 mac0[6];	/* x1A */
			
u8 mac1[6];	/* x20 */
			
u8 mac2[6];	/* x26 */
			
u8 mac3[6];	/* x2C */
			
u16 etherMtu;	/* x32 */
			
u16 macConfig;	/* x34 */

#define	 MAC_CONFIG_ENABLE_ANEG	    0x0001

#define	 MAC_CONFIG_ENABLE_PAUSE    0x0002
			
u16 phyConfig;	/* x36 */

#define	 PHY_CONFIG_PHY_ADDR_MASK	      0x1f

#define	 PHY_CONFIG_ENABLE_FW_MANAGEMENT_MASK 0x20
			
u16 reserved_56;	/* x38 */


#define EEPROM_UNUSED_1_SIZE   2
			
u8 unused_1[EEPROM_UNUSED_1_SIZE]; /* x3A */
			
u16 bufletSize;	/* x3C */
			
u16 bufletCount;	/* x3E */
			
u16 bufletPauseThreshold; /* x40 */
			
u16 tcpWindowThreshold50; /* x42 */
			
u16 tcpWindowThreshold25; /* x44 */
			
u16 tcpWindowThreshold0; /* x46 */
			
u16 ipHashTableBaseHi;	/* x48 */
			
u16 ipHashTableBaseLo;	/* x4A */
			
u16 ipHashTableSize;	/* x4C */
			
u16 tcpHashTableBaseHi;	/* x4E */
			
u16 tcpHashTableBaseLo;	/* x50 */
			
u16 tcpHashTableSize;	/* x52 */
			
u16 ncbTableBaseHi;	/* x54 */
			
u16 ncbTableBaseLo;	/* x56 */
			
u16 ncbTableSize;	/* x58 */
			
u16 drbTableBaseHi;	/* x5A */
			
u16 drbTableBaseLo;	/* x5C */
			
u16 drbTableSize;	/* x5E */


#define EEPROM_UNUSED_2_SIZE   4
			
u8 unused_2[EEPROM_UNUSED_2_SIZE]; /* x60 */
			
u16 ipReassemblyTimeout; /* x64 */
			
u16 tcpMaxWindowSizeHi;	/* x66 */
			
u16 tcpMaxWindowSizeLo;	/* x68 */
			
u32 net_ip_addr0;	/* x6A Added for TOE
                                                 * functionality. */
			
u32 net_ip_addr1;	/* x6E */
			
u32 scsi_ip_addr0;	/* x72 */
			
u32 scsi_ip_addr1;	/* x76 */

#define EEPROM_UNUSED_3_SIZE   128	/* changed from 144 to account
                                         * for ip addresses */
			
u8 unused_3[EEPROM_UNUSED_3_SIZE]; /* x7A */
			
u16 subsysVendorId_f0;	/* xFA */
			
u16 subsysDeviceId_f0;	/* xFC */

			/* Address = 0x7F */

#define FM93C56A_SIGNATURE  0x9356

#define FM93C66A_SIGNATURE  0x9366
			
u16 signature;	/* xFE */


#define EEPROM_UNUSED_4_SIZE   250
			
u8 unused_4[EEPROM_UNUSED_4_SIZE]; /* x100 */
			
u16 subsysVendorId_f1;	/* x1FA */
			
u16 subsysDeviceId_f1;	/* x1FC */
			
u16 checksum;	/* x1FE */
		} 
__attribute__ ((packed)) isp4010;
		struct {	/* isp4022 */
			
u8 asicId[4];	/* x00 */
			
u8 version;	/* x04 */
			
u8 reserved_5;	/* x05 */
			
u16 boardId;	/* x06 */
			
u8 boardIdStr[16];	/* x08 */
			
u8 serialNumber[16];	/* x18 */

			/* External Hardware Configuration */
			
u16 ext_hw_conf;	/* x28 */

			/* MAC 0 CONFIGURATION */
			
struct eeprom_port_cfg macCfg_port0; /* x2A */

			/* MAC 1 CONFIGURATION */
			
struct eeprom_port_cfg macCfg_port1; /* x4A */

			/* DDR SDRAM Configuration */
			
u16 bufletSize;	/* x6A */
			
u16 bufletCount;	/* x6C */
			
u16 tcpWindowThreshold50; /* x6E */
			
u16 tcpWindowThreshold25; /* x70 */
			
u16 tcpWindowThreshold0; /* x72 */
			
u16 ipHashTableBaseHi;	/* x74 */
			
u16 ipHashTableBaseLo;	/* x76 */
			
u16 ipHashTableSize;	/* x78 */
			
u16 tcpHashTableBaseHi;	/* x7A */
			
u16 tcpHashTableBaseLo;	/* x7C */
			
u16 tcpHashTableSize;	/* x7E */
			
u16 ncbTableBaseHi;	/* x80 */
			
u16 ncbTableBaseLo;	/* x82 */
			
u16 ncbTableSize;	/* x84 */
			
u16 drbTableBaseHi;	/* x86 */
			
u16 drbTableBaseLo;	/* x88 */
			
u16 drbTableSize;	/* x8A */
			
u16 reserved_142[4];	/* x8C */

			/* TCP/IP Parameters */
			
u16 ipReassemblyTimeout; /* x94 */
			
u16 tcpMaxWindowSize;	/* x96 */
			
u16 ipSecurity;	/* x98 */
			
u8 reserved_156[294]; /* x9A */
			
u16 qDebug[8];	/* QLOGIC USE ONLY   x1C0 */
			
struct eeprom_function_cfg funcCfg_fn0;	/* x1D0 */
			
u16 reserved_510; /* x1FE */

			/* Address = 512 */
			
u8 oemSpace[432]; /* x200 */
			
struct bios_params sBIOSParams_fn1; /* x3B0 */
			
struct eeprom_function_cfg funcCfg_fn1;	/* x3D0 */
			
u16 reserved_1022; /* x3FE */

			/* Address = 1024 */
			
u8 reserved_1024[464];	/* x400 */
			
struct eeprom_function_cfg funcCfg_fn2;	/* x5D0 */
			
u16 reserved_1534; /* x5FE */

			/* Address = 1536 */
			
u8 reserved_1536[432];	/* x600 */
			
struct bios_params sBIOSParams_fn3; /* x7B0 */
			
struct eeprom_function_cfg funcCfg_fn3;	/* x7D0 */
			
u16 checksum;	/* x7FE */
		} 
__attribute__ ((packed)) isp4022;
	};
};


#endif	/* _QL4XNVRM_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
david somayajuludavid somayajulu82899.28%240.00%
vikas chaudharyvikas chaudhary50.60%240.00%
lucas de marchilucas de marchi10.12%120.00%
Total834100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}