blob: eb528f25f1ad08f53d8a0cb4c45b4fa089209b94 [file] [log] [blame]
Shelley Chene3110b82018-12-10 12:59:01 -08001chip soc/intel/cannonlake
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +05302
3 # GPE configuration
4 # Note that GPE events called out in ASL code rely on this
5 # route. i.e. If this route changes then the affected GPE
6 # offset bits also need to be changed.
7 # DW1 is used by:
Maulik V Vaghela6225a672018-12-28 13:44:59 +05308 # - GPP_C1 - PCIE_14_WLAN_WAKE_ODL
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +05309 # - GPP_C21 - H1_PCH_INT_ODL
10 register "gpe0_dw0" = "PMC_GPP_A"
11 register "gpe0_dw1" = "PMC_GPP_C"
12 register "gpe0_dw2" = "PMC_GPP_D"
13
Aamir Bohra6aaae1c2018-12-24 18:24:09 +053014 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
15 register "gen1_dec" = "0x00fc0801"
16 register "gen2_dec" = "0x000c0201"
17 # EC memory map range is 0x900-0x9ff
18 register "gen3_dec" = "0x00fc0901"
19
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +053020 # Intel Common SoC Config
21 #+-------------------+---------------------------+
22 #| Field | Value |
23 #+-------------------+---------------------------+
24 #| GSPI0 | cr50 TPM. Early init is |
25 #| | required to set up a BAR |
26 #| | for TPM communication |
27 #| | before memory is up |
Shelley Chen09e7b992018-12-17 13:12:54 -080028 #| I2C0 | Touchpad |
Maulik V Vaghelab6fe0482018-12-25 15:01:06 +053029 #| I2C1 | Touch screen |
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +053030 #+-------------------+---------------------------+
31 register "common_soc_config" = "{
32 .gspi[0] = {
33 .speed_mhz = 1,
34 .early_init = 1,
35 },
Shelley Chen09e7b992018-12-17 13:12:54 -080036 .i2c[0] = {
37 .speed = I2C_SPEED_FAST,
38 },
Maulik V Vaghelab6fe0482018-12-25 15:01:06 +053039 .i2c[1] = {
40 .speed = I2C_SPEED_FAST,
41 },
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +053042 }"
43
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +053044 # FSP configuration
45 register "InternalGfx" = "1"
46 register "SkipExtGfxScan" = "1"
V Sowmya5c1f1782018-12-26 17:14:31 +053047 register "SataSalpSupport" = "1"
48 register "SataMode" = "Sata_AHCI"
49 register "SataPortsEnable[1]" = "1"
50 register "SataPortsDevSlp[1]" = "1"
51 register "satapwroptimize" = "1"
Ronak Kanabard2667102019-01-09 15:50:12 +053052 # Enable System Agent dynamic frequency
53 register "SaGv" = "SaGv_Enabled"
54 # Enable heci communication
55 register "HeciEnabled" = "1"
56 # Enable Speed Shift Technology support
57 register "speed_shift_enable" = "1"
Shelley Chen757571e2019-01-29 15:30:14 -080058 # Enable S0ix
59 register "s0ix_enable" = "1"
V Sowmya5c1f1782018-12-26 17:14:31 +053060
V Sowmya3f3d6b32018-12-27 14:53:14 +053061 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC2)" # Type-C Port 0
62 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC2)" # Type-C Port 1
63 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC3)" # Type-A Port 0
64 register "usb2_ports[3]" = "USB2_PORT_LONG(OC3)" # Type-A Port 1
65 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # BT
66 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # WWAN
67 register "usb2_ports[6]" = "USB2_PORT_LONG(OC_SKIP)" # Camera
68 register "usb2_ports[7]" = "USB2_PORT_EMPTY"
69 register "usb2_ports[8]" = "USB2_PORT_EMPTY"
Aamir Bohrae49b2f02019-01-10 19:31:34 +053070 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # CnVi BT
V Sowmya3f3d6b32018-12-27 14:53:14 +053071
72 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 0
73 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 1
74 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 0
75 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 1
76 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC_SKIP)" # WWAN
77 register "usb3_ports[5]" = "USB3_PORT_EMPTY"
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +053078
V Sowmya2d324ca2018-12-26 14:40:12 +053079 # Enable Root port 9(x4) for NVMe.
80 register "PcieRpEnable[8]" = "1"
81 # RP 9 uses CLK SRC 1
82 register "PcieClkSrcUsage[1]" = "8"
83 # ClkReq-to-ClkSrc mapping for CLK SRC 1
84 register "PcieClkSrcClkReq[1]" = "1"
85
Maulik V Vaghelae4fcc3b2018-12-31 12:12:36 +053086 # GPIO for SD card detect
Maulik V Vaghela6225a672018-12-28 13:44:59 +053087 register "sdcard_cd_gpio" = "GPP_G5"
88
89 # PCIe port 14 for M.2 E-key WLAN
90 register "PcieRpEnable[13]" = "1"
91 # RP 14 uses CLK SRC 3
92 register "PcieClkSrcUsage[3]" = "13"
93 register "PcieClkSrcClkReq[3]" = "3"
Maulik V Vaghelae4fcc3b2018-12-31 12:12:36 +053094
Aamir Bohracda27c22019-01-09 20:41:22 +053095 device cpu_cluster 0 on
96 device lapic 0 on end
97 end
98
Shelley Chene3110b82018-12-10 12:59:01 -080099 device domain 0 on
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530100 device pci 00.0 on end # Host Bridge
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +0530101 device pci 02.0 on end # Integrated Graphics Device
Shelley Chene3110b82018-12-10 12:59:01 -0800102 device pci 04.0 off end # SA Thermal device
V Sowmya638dcf92019-01-07 13:49:03 +0530103 device pci 05.0 off end # SA IPU
Shelley Chene3110b82018-12-10 12:59:01 -0800104 device pci 12.0 off end # Thermal Subsystem
105 device pci 12.5 off end # UFS SCS
106 device pci 12.6 off end # GSPI #2
V Sowmya3f3d6b32018-12-27 14:53:14 +0530107 device pci 14.0 on
108 chip drivers/usb/acpi
109 register "desc" = ""Root Hub""
110 register "type" = "UPC_TYPE_HUB"
111 device usb 0.0 on
112 chip drivers/usb/acpi
113 register "desc" = ""Left Type-C Port""
114 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
115 register "group" = "ACPI_PLD_GROUP(1, 1)"
116 device usb 2.0 on end
117 end
118 chip drivers/usb/acpi
119 register "desc" = ""Right Type-C Port 1""
120 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
121 register "group" = "ACPI_PLD_GROUP(2, 1)"
122 device usb 2.1 on end
123 end
124 chip drivers/usb/acpi
125 register "desc" = ""Left Type-A Port""
126 register "type" = "UPC_TYPE_A"
127 register "group" = "ACPI_PLD_GROUP(1, 2)"
128 device usb 2.2 on end
129 end
130 chip drivers/usb/acpi
131 register "desc" = ""Right Type-A Port 1""
132 register "type" = "UPC_TYPE_A"
133 register "group" = "ACPI_PLD_GROUP(2, 2)"
134 device usb 2.3 on end
135 end
136 chip drivers/usb/acpi
Aamir Bohrafc63b8b2019-02-01 18:15:17 +0530137 register "desc" = ""Discrete bluetooth""
V Sowmya3f3d6b32018-12-27 14:53:14 +0530138 register "type" = "UPC_TYPE_INTERNAL"
139 device usb 2.4 on end
140 end
141 chip drivers/usb/acpi
142 register "desc" = ""WWAN""
143 register "type" = "UPC_TYPE_INTERNAL"
144 device usb 2.5 on end
145 end
146 chip drivers/usb/acpi
147 register "desc" = ""Camera""
148 register "type" = "UPC_TYPE_INTERNAL"
149 device usb 2.6 on end
150 end
151 chip drivers/usb/acpi
Aamir Bohrafc63b8b2019-02-01 18:15:17 +0530152 register "desc" = ""Integrated CnVi bluetooth""
153 register "type" = "UPC_TYPE_INTERNAL"
154 device usb 2.9 on end
155 end
156 chip drivers/usb/acpi
V Sowmya3f3d6b32018-12-27 14:53:14 +0530157 register "desc" = ""Left Type-C Port""
158 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
159 register "group" = "ACPI_PLD_GROUP(1, 1)"
160 device usb 3.0 on end
161 end
162 chip drivers/usb/acpi
163 register "desc" = ""Right Type-C Port 1""
164 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
165 register "group" = "ACPI_PLD_GROUP(2, 1)"
166 device usb 3.1 on end
167 end
168 chip drivers/usb/acpi
169 register "desc" = ""Left Type-A Port""
170 register "type" = "UPC_TYPE_USB3_A"
171 register "group" = "ACPI_PLD_GROUP(1, 2)"
172 device usb 3.2 on end
173 end
174 chip drivers/usb/acpi
175 register "desc" = ""Right Type-A Port 1""
176 register "type" = "UPC_TYPE_USB3_A"
177 register "group" = "ACPI_PLD_GROUP(2, 2)"
178 device usb 3.3 on end
179 end
180 chip drivers/usb/acpi
181 register "desc" = ""WWAN""
182 register "type" = "UPC_TYPE_INTERNAL"
183 device usb 3.4 on end
184 end
185 end
186 end
187 end # USB xHCI
Shelley Chene3110b82018-12-10 12:59:01 -0800188 device pci 14.1 off end # USB xDCI (OTG)
Maulik V Vaghela126c27d2018-12-26 17:26:47 +0530189 chip drivers/intel/wifi
190 register "wake" = "GPE0_PME_B0"
191 device pci 14.3 on end # CNVi wifi
192 end
Maulik V Vaghelae4fcc3b2018-12-31 12:12:36 +0530193 device pci 14.5 on end # SDCard
Shelley Chen09e7b992018-12-17 13:12:54 -0800194 device pci 15.0 on
195 chip drivers/i2c/generic
196 register "hid" = ""ELAN0000""
197 register "desc" = ""ELAN Touchpad""
198 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A21_IRQ)"
199 device i2c 15 on end
200 end
201 end # I2C #0
Maulik V Vaghelab6fe0482018-12-25 15:01:06 +0530202 device pci 15.1 on
203 chip drivers/i2c/generic
204 register "hid" = ""ELAN0001""
205 register "desc" = ""ELAN Touchscreen""
206 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_D16_IRQ)"
207 register "probed" = "1"
208 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D15)"
209 register "reset_delay_ms" = "100"
210 register "reset_off_delay_ms" = "5"
211 register "has_power_resource" = "1"
212 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C4)"
213 register "stop_off_delay_ms" = "5"
214 device i2c 49 on end
215 end
216 end # I2C #1
Furquan Shaikheaf83482019-02-04 23:03:04 -0800217 device pci 15.2 on end # I2C #2
218 device pci 15.3 on end # I2C #3
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530219 device pci 16.0 on end # Management Engine Interface 1
Shelley Chene3110b82018-12-10 12:59:01 -0800220 device pci 16.1 off end # Management Engine Interface 2
221 device pci 16.2 off end # Management Engine IDE-R
222 device pci 16.3 off end # Management Engine KT Redirection
223 device pci 16.4 off end # Management Engine Interface 3
224 device pci 16.5 off end # Management Engine Interface 4
V Sowmya5c1f1782018-12-26 17:14:31 +0530225 device pci 17.0 on end # SATA
Furquan Shaikheaf83482019-02-04 23:03:04 -0800226 device pci 19.0 on end # I2C #4
Shelley Chene3110b82018-12-10 12:59:01 -0800227 device pci 19.1 off end # I2C #5
228 device pci 19.2 off end # UART #2
229 device pci 1a.0 off end # eMMC
230 device pci 1c.0 off end # PCI Express Port 1 (USB)
231 device pci 1c.1 off end # PCI Express Port 2 (USB)
232 device pci 1c.2 off end # PCI Express Port 3 (USB)
233 device pci 1c.3 off end # PCI Express Port 4 (USB)
234 device pci 1c.4 off end # PCI Express Port 5 (USB)
235 device pci 1c.5 off end # PCI Express Port 6
236 device pci 1c.6 off end # PCI Express Port 7
237 device pci 1c.7 off end # PCI Express Port 8
V Sowmya2d324ca2018-12-26 14:40:12 +0530238 device pci 1d.0 on end # PCI Express Port 9 (X4 NVME)
Shelley Chene3110b82018-12-10 12:59:01 -0800239 device pci 1d.1 off end # PCI Express Port 10
240 device pci 1d.2 off end # PCI Express Port 11
241 device pci 1d.3 off end # PCI Express Port 12
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530242 device pci 1d.4 off end # PCI Express port 13
243 device pci 1d.5 on
244 chip drivers/intel/wifi
245 register "wake" = "GPE0_DW1_01"
246 device pci 00.0 on end
247 end
248 end # PCI Express Port 14 (x4)
Maulik V Vaghela8f537442018-12-25 13:21:03 +0530249 device pci 1e.0 on end # UART #0
Shelley Chene3110b82018-12-10 12:59:01 -0800250 device pci 1e.1 off end # UART #1
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +0530251 device pci 1e.2 on
252 chip drivers/spi/acpi
253 register "hid" = "ACPI_DT_NAMESPACE_HID"
254 register "compat_string" = ""google,cr50""
255 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C21_IRQ)"
256 device spi 0 on end
257 end
258 end # GSPI #0
Shelley Chene3110b82018-12-10 12:59:01 -0800259 device pci 1e.3 off end # GSPI #1
Shelley Chenfced3fe2019-01-25 14:44:42 -0800260 device pci 1f.0 on
261 chip ec/google/chromeec
262 device pnp 0c09.0 on end
263 end
264 end # eSPI Interface
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530265 device pci 1f.1 on end # P2SB
266 device pci 1f.2 on end # Power Management Controller
Shelley Chene3110b82018-12-10 12:59:01 -0800267 device pci 1f.3 off end # Intel HDA
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530268 device pci 1f.4 on end # SMBus
Rizwan Qureshi37361272018-12-26 19:02:09 +0530269 device pci 1f.5 on end # PCH SPI
Shelley Chene3110b82018-12-10 12:59:01 -0800270 device pci 1f.6 off end # GbE
271 end
272end