isci: add support for 2 more oem parmeters
[linux-flexiantxendom0-3.2.10.git] / drivers / scsi / isci / firmware / create_fw.h
1 #ifndef _CREATE_FW_H_
2 #define _CREATE_FW_H_
3 #include "../probe_roms.h"
4
5
6 /* we are configuring for 2 SCUs */
7 static const int num_elements = 2;
8
9 /*
10  * For all defined arrays:
11  * elements 0-3 are for SCU0, ports 0-3
12  * elements 4-7 are for SCU1, ports 0-3
13  *
14  * valid configurations for one SCU are:
15  *  P0  P1  P2  P3
16  * ----------------
17  * 0xF,0x0,0x0,0x0 # 1 x4 port
18  * 0x3,0x0,0x4,0x8 # Phys 0 and 1 are a x2 port, phy 2 and phy 3 are each x1
19  *                 # ports
20  * 0x1,0x2,0xC,0x0 # Phys 0 and 1 are each x1 ports, phy 2 and phy 3 are a x2
21  *                 # port
22  * 0x3,0x0,0xC,0x0 # Phys 0 and 1 are a x2 port, phy 2 and phy 3 are a x2 port
23  * 0x1,0x2,0x4,0x8 # Each phy is a x1 port (this is the default configuration)
24  *
25  * if there is a port/phy on which you do not wish to override the default
26  * values, use the value assigned to UNINIT_PARAM (255).
27  */
28 /* discovery mode type (port auto config mode by default ) */
29 #ifdef MPC
30 static const int mode_type = SCIC_PORT_MANUAL_CONFIGURATION_MODE;
31 static const __u8 phy_mask[2][4] = { {1, 2, 4, 8},
32                                      {1, 2, 4, 8} };
33 #else   /* APC (default) */
34 static const int mode_type = SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE;
35 static const __u8 phy_mask[2][4];
36 #endif
37
38 /* Maximum number of concurrent device spin up */
39 static const int max_num_concurrent_dev_spin_up = 1;
40
41 /* enable of ssc operation */
42 static const int enable_ssc;
43
44 /* AFE_TX_AMP_CONTROL */
45 static const unsigned int afe_tx_amp_control0 = 0x000e7c03;
46 static const unsigned int afe_tx_amp_control1 = 0x000e7c03;
47 static const unsigned int afe_tx_amp_control2 = 0x000e7c03;
48 static const unsigned int afe_tx_amp_control3 = 0x000e7c03;
49
50 /*
51  * if there is a port/phy on which you do not wish to override the default
52  * values, use the value "0000000000000000". SAS address of zero's is
53  * considered invalid and will not be used.
54  */
55 static const unsigned long long sas_addr[2][4] = { { 0x5FCFFFFFF0000000ULL,
56                                                      0x5FCFFFFFF1000000ULL,
57                                                      0x5FCFFFFFF2000000ULL,
58                                                      0x5FCFFFFFF3000000ULL },
59                                                    { 0x5FCFFFFFF4000000ULL,
60                                                      0x5FCFFFFFF5000000ULL,
61                                                      0x5FCFFFFFF6000000ULL,
62                                                      0x5FCFFFFFF7000000ULL } };
63
64 static const char blob_name[] = "isci_firmware.bin";
65 static const char sig[] = "ISCUOEMB";
66 static const unsigned char version = 1;
67
68 #endif