aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/firmware/create_fw.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-03-08 12:52:49 -0500
committerDan Williams <dan.j.williams@intel.com>2011-07-03 06:55:30 -0400
commitd044af17aacd03a1f4fced1af4b7570d205c8fd9 (patch)
tree1304fd0c7fa979fb229a4bf57771e9e6cde7b37d /drivers/scsi/isci/firmware/create_fw.h
parent9affa289e2f9ef4721e85edbde86466524bfe957 (diff)
isci: Add support for probing OROM for OEM params
We need to scan the OROM for signature and grab the OEM parameters. We also need to do the same for EFI. If all fails then we resort to user binary blob, and if that fails then we go to the defaults. Share the format with the create_fw utility so that all possible sources of the parameters are in-sync. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/firmware/create_fw.h')
-rw-r--r--drivers/scsi/isci/firmware/create_fw.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/drivers/scsi/isci/firmware/create_fw.h b/drivers/scsi/isci/firmware/create_fw.h
new file mode 100644
index 000000000000..bedbe4fad181
--- /dev/null
+++ b/drivers/scsi/isci/firmware/create_fw.h
@@ -0,0 +1,67 @@
1#ifndef _CREATE_FW_H_
2#define _CREATE_FW_H_
3
4
5/* we are configuring for 2 SCUs */
6static const int num_elements = 2;
7
8/*
9 * For all defined arrays:
10 * elements 0-3 are for SCU0, ports 0-3
11 * elements 4-7 are for SCU1, ports 0-3
12 *
13 * valid configurations for one SCU are:
14 * P0 P1 P2 P3
15 * ----------------
16 * 0xF,0x0,0x0,0x0 # 1 x4 port
17 * 0x3,0x0,0x4,0x8 # Phys 0 and 1 are a x2 port, phy 2 and phy 3 are each x1
18 * # ports
19 * 0x1,0x2,0xC,0x0 # Phys 0 and 1 are each x1 ports, phy 2 and phy 3 are a x2
20 * # port
21 * 0x3,0x0,0xC,0x0 # Phys 0 and 1 are a x2 port, phy 2 and phy 3 are a x2 port
22 * 0x1,0x2,0x4,0x8 # Each phy is a x1 port (this is the default configuration)
23 *
24 * if there is a port/phy on which you do not wish to override the default
25 * values, use the value assigned to UNINIT_PARAM (255).
26 */
27#ifdef MPC
28static const __u8 phy_mask[2][4] = { {1, 2, 4, 8},
29 {1, 2, 4, 8} };
30#else /* APC (default) */
31static const __u8 phy_mask[2][4];
32#endif
33
34/* discovery mode type (port auto config mode by default ) */
35static const int mode_type;
36
37/* Maximum number of concurrent device spin up */
38static const int max_num_concurrent_dev_spin_up = 1;
39
40/* enable of ssc operation */
41static const int enable_ssc;
42
43/* AFE_TX_AMP_CONTROL */
44static const unsigned int afe_tx_amp_control0 = 0x000e7c03;
45static const unsigned int afe_tx_amp_control1 = 0x000e7c03;
46static const unsigned int afe_tx_amp_control2 = 0x000e7c03;
47static const unsigned int afe_tx_amp_control3 = 0x000e7c03;
48
49/*
50 * if there is a port/phy on which you do not wish to override the default
51 * values, use the value "0000000000000000". SAS address of zero's is
52 * considered invalid and will not be used.
53 */
54static const unsigned long long sas_addr[2][4] = { { 0x5FCFFFFFF0000000ULL,
55 0x5FCFFFFFF1000000ULL,
56 0x5FCFFFFFF2000000ULL,
57 0x5FCFFFFFF3000000ULL },
58 { 0x5FCFFFFFF4000000ULL,
59 0x5FCFFFFFF5000000ULL,
60 0x5FCFFFFFF6000000ULL,
61 0x5FCFFFFFF7000000ULL } };
62
63static const char blob_name[] = "isci_firmware.bin";
64static const char sig[] = "ISCUOEMB";
65static const unsigned char version = 1;
66
67#endif