coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
sata.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#ifndef _SOC_SATA_H_
4
#define _SOC_SATA_H_
5
6
#define SATA_PORT_SUPPORT 0x03
7
#define SATA_PORT_MASK 0x3f
8
9
/* PCI Configuration Space */
10
#define SATA_PID 0x70
11
#define SATA_PID_NEXT 0xff00
12
#define SATA_PID_CID 0xff
13
14
#define SATA_MAP 0x90
15
#define SATA_MAP_SPD3 (1 << 11)
16
#define SATA_MAP_SPD2 (1 << 10)
17
#define SATA_MAP_SPD1 (1 << 9)
18
#define SATA_MAP_SPD0 (1 << 8)
19
#define SATA_MAP_SPD_MASK (SATA_MAP_SPD0 | SATA_MAP_SPD1 \
20
| SATA_MAP_SPD2 | SATA_MAP_SPD3)
21
#define SATA_MAP_SMS_RAID 0x40
22
23
#define SATA_PCS 0x92
24
#define SATA_PCS_ORM (1 << 15)
25
#define SATA_PCS_PORT5 (1 << 5)
26
#define SATA_PCS_PORT4 (1 << 4)
27
#define SATA_PCS_PORT3 (1 << 3)
28
#define SATA_PCS_PORT2 (1 << 2)
29
#define SATA_PCS_PORT1 (1 << 1)
30
#define SATA_PCS_PORT0 (1 << 0)
31
#define SATA_PCS_PORTS (SATA_PCS_PORT0 | SATA_PCS_PORT1 | SATA_PCS_PORT2 \
32
| SATA_PCS_PORT3 | SATA_PCS_PORT4 | SATA_PCS_PORT5)
33
34
#define SATA_TM 0x94
35
#define SATA_TM_PCD5 (1 << 29)
36
#define SATA_TM_PCD4 (1 << 28)
37
#define SATA_TM_PCD3 (1 << 27)
38
#define SATA_TM_PCD2 (1 << 26)
39
#define SATA_TM_PCD1 (1 << 25)
40
#define SATA_TM_PCD0 (1 << 24)
41
#define SATA_TM_PCD_MASK (SATA_TM_PCD0 | SATA_TM_PCD1 | SATA_TM_PCD2 \
42
| SATA_TM_PCD3 | SATA_TM_PCD4 | SATA_TM_PCD5)
43
44
#define SATA_SIRI 0xa0
45
#define SATA_SIRD 0xa4
46
47
/* Memory Mapped I/O Space */
48
#define AHCI_GHC_CAP 0
49
#define AHCI_GHC_CAP_S64A (1 << 31)
50
#define AHCI_GHC_CAP_SCQA (1 << 30)
51
#define AHCI_GHC_CAP_SSNTF (1 << 29)
52
#define AHCI_GHC_CAP_SMPS (1 << 28)
53
#define AHCI_GHC_CAP_SSS (1 << 27)
54
#define AHCI_GHC_CAP_SALP (1 << 26)
55
#define AHCI_GHC_CAP_SAL (1 << 25)
56
#define AHCI_GHC_CAP_SCLO (1 << 24)
57
#define AHCI_GHC_CAP_ISS 0x00f00000
58
#define AHCI_GHC_CAP_ISS_GEN1 (1 << 20)
59
#define AHCI_GHC_CAP_ISS_GEN2 (2 << 20)
60
#define AHCI_GHC_CAP_ISS_GEN3 (3 << 20)
61
#define AHCI_GHC_CAP_SNZO (1 << 19)
62
#define AHCI_GHC_CAP_SAM (1 << 18)
63
#define AHCI_GHC_CAP_SMP (1 << 17)
64
#define AHCI_GHC_CAP_FBSS (1 << 16)
65
#define AHCI_GHC_CAP_PMD (1 << 15)
66
#define AHCI_GHC_CAP_SSC (1 << 14)
67
#define AHCI_GHC_CAP_PSC (1 << 13)
68
#define AHCI_GHC_CAP_NCS 0x00000f00
69
#define AHCI_GHC_CAP_CCCS (1 << 7)
70
#define AHCI_GHC_CAP_EMS (1 << 6)
71
#define AHCI_GHC_CAP_SXS (1 << 5)
72
#define AHCI_GHC_CAP_NP 0x0000001f
73
74
#define AHCI_HBA_CTRL 4
75
#define AHCI_HBA_CTRL_AE (1 << 31)
76
#define AHCI_HBA_CTRL_MRSM (1 << 2)
77
#define AHCI_HBA_CTRL_IE (1 << 1)
78
#define AHCI_HBA_CTRL_HR (1 << 0)
79
80
#define AHCI_GHC_PI 0x000c
81
#define AHCI_GHC_CAP2 0x0024
82
#define AHCI_GHC_CAP2_DESO (1 << 5)
83
#define AHCI_GHC_CAP2_SADM (1 << 4)
84
#define AHCI_GHC_CAP2_SDS (1 << 3)
85
#define AHCI_GHC_CAP2_APST (1 << 2)
86
#define AHCI_GHC_CAP2_BOH (1 << 0)
87
88
#define AHCI_VSP 0x00a0
89
#define AHCI_VSP_SFMS (1 << 6)
90
#define AHCI_VSP_PFS (1 << 5)
91
#define AHCI_VSP_PT (1 << 4)
92
#define AHCI_VSP_SRPIR (1 << 3)
93
94
#define AHCI_SFM 0xc8
95
#define AHCI_SFM_OROM_UI 0x0c00
96
#define AHCI_SFM_OROM_UI_2SEC 0
97
#define AHCI_SFM_OROM_UI_4SEC (1 << 10)
98
#define AHCI_SFM_OROM_UI_6SEC (2 << 10)
99
#define AHCI_SFM_OROM_UI_8SEC (3 << 10)
100
#define AHCI_SFM_SRT (1 << 9)
101
#define AHCI_SFM_RRT_ESATA (1 << 8)
102
#define AHCI_SFM_LED (1 << 7)
103
#define AHCI_SFM_HDDUNLOCK (1 << 6)
104
#define AHCI_SFM_OROM_UI_BANNER (1 << 5)
105
#define AHCI_SFM_RRT (1 << 4)
106
#define AHCI_SFM_R5 (1 << 3)
107
#define AHCI_SFM_R10 (1 << 2)
108
#define AHCI_SFM_R1 (1 << 1)
109
#define AHCI_SFM_R0 (1 << 0)
110
111
#define AHCI_PXCMD0 0x0118
112
#define AHCI_PXCMD1 0x0198
113
114
#define AHCI_PXCMD_ICC 0xf0000000
115
#define AHCI_PXCMD_ASP (1 << 27)
116
#define AHCI_PXCMD_ALPE (1 << 26)
117
#define AHCI_PXCMD_DLAE (1 << 25)
118
#define AHCI_PXCMD_ATAPI (1 << 24)
119
#define AHCI_PXCMD_APSTE (1 << 23)
120
#define AHCI_PXCMD_FBSCP (1 << 22)
121
#define AHCI_PXCMD_ESP (1 << 21)
122
#define AHCI_PXCMD_CPD (1 << 20)
123
#define AHCI_PXCMD_MPSP (1 << 19)
124
#define AHCI_PXCMD_HPCP (1 << 18)
125
#define AHCI_PXCMD_PMA (1 << 17)
126
#define AHCI_PXCMD_CR (1 << 15)
127
#define AHCI_PXCMD_FR (1 << 14)
128
#define AHCI_PXCMD_MPSS (1 << 13)
129
#define AHCI_PXCMD_CCS 0x00001f00
130
#define AHCI_PXCMD_PSP (1 << 6)
131
#define AHCI_PXCMD_FRE (1 << 4)
132
#define AHCI_PXCMD_CLO (1 << 3)
133
#define AHCI_PXCMD_POD (1 << 2)
134
#define AHCI_PXCMD_SUD (1 << 1)
135
#define AHCI_PXCMD_ST (1 << 0)
136
137
#endif
/* _SOC_SATA_H_ */
src
soc
intel
braswell
include
soc
sata.h
Generated by
1.9.1