blob: 16827ddb6f412027885734eb6adc302fb144248d [file] [log] [blame]
Tim Crawford8093b77c2024-05-29 16:31:17 -06001# SPDX-License-Identifier: GPL-2.0-only
2
Tim Crawford6a93a452021-09-20 10:18:02 -06003chip soc/intel/cannonlake
4 register "common_soc_config" = "{
5 // Touchpad I2C bus
6 .i2c[0] = {
7 .speed = I2C_SPEED_FAST,
8 .rise_time_ns = 80,
9 .fall_time_ns = 110,
10 },
11 }"
12
13# CPU (soc/intel/cannonlake/cpu.c)
14 # Power limit
15 register "power_limits_config" = "{
16 .tdp_pl1_override = 45,
17 .tdp_pl2_override = 90,
18 }"
19
20 # Enable Enhanced Intel SpeedStep
21 register "eist_enable" = "1"
22
23# FSP Memory (soc/intel/cannonlake/romstage/fsp_params.c)
24 register "enable_c6dram" = "1"
25
26# FSP Silicon (soc/intel/cannonlake/fsp_params.c)
27 # Misc
28 register "AcousticNoiseMitigation" = "1"
29
30 # Power
31 register "PchPmSlpS3MinAssert" = "3" # 50ms
32 register "PchPmSlpS4MinAssert" = "1" # 1s
33 register "PchPmSlpSusMinAssert" = "4" # 4s
34 register "PchPmSlpAMinAssert" = "4" # 2s
35
36 # Thermal
37 register "tcc_offset" = "8"
38
39 # Serial IRQ Continuous
40 register "serirq_mode" = "SERIRQ_CONTINUOUS"
41
42# PM Util (soc/intel/cannonlake/pmutil.c)
43 # GPE configuration
44 # Note that GPE events called out in ASL code rely on this
45 # route. i.e. If this route changes then the affected GPE
46 # offset bits also need to be changed.
47 register "gpe0_dw0" = "PMC_GPP_K"
48 register "gpe0_dw1" = "PMC_GPP_G"
49 register "gpe0_dw2" = "PMC_GPP_E"
50
51# Actual device tree
Arthur Heymans69cd7292022-11-07 13:52:11 +010052 device cpu_cluster 0 on end
Tim Crawford6a93a452021-09-20 10:18:02 -060053
54 device domain 0 on
55 subsystemid 0x1558 0x65d1 inherit
56 device pci 00.0 on end # Host Bridge
57 device pci 01.0 on # GPU Port
58 # PCI Express Graphics #0 x16, Clock 8 (NVIDIA GPU)
59 register "PcieClkSrcUsage[8]" = "0x40"
60 register "PcieClkSrcClkReq[8]" = "8"
61 end
62 device pci 02.0 on end # Integrated Graphics Device
63 device pci 04.0 on # SA Thermal device
64 register "Device4Enable" = "1"
65 end
66 device pci 12.0 on end # Thermal Subsystem
67 device pci 12.5 off end # UFS SCS
68 device pci 12.6 off end # GSPI #2
69 device pci 13.0 off end # Integrated Sensor Hub
70 device pci 14.0 on # USB xHCI
Felix Singerd1632532023-10-26 15:02:46 +020071 register "usb2_ports" = "{
72 [0] = USB2_PORT_TYPE_C(OC_SKIP), /* USB 3.1 Gen 2 TYPE-C and DisplayPort */
73 [1] = USB2_PORT_TYPE_C(OC_SKIP), /* USB 3.1 Gen 2 TYPE-C */
74 [2] = USB2_PORT_MID(OC_SKIP), /* USB 3.1 Gen 2 */
75 [4] = USB2_PORT_MID(OC_SKIP), /* USB 3.1 Gen 1 audio */
76 [5] = USB2_PORT_MID(OC_SKIP), /* USB 3.1 Gen 1 back */
77 [6] = USB2_PORT_MID(OC_SKIP), /* Fingerprint */
78 [7] = USB2_PORT_MID(OC_SKIP), /* Per-Key RGB keyboard */
79 [8] = USB2_PORT_MID(OC_SKIP), /* Camera */
80 [13] = USB2_PORT_MID(OC_SKIP), /* Bluetooth */
81 }"
82 register "usb3_ports" = "{
83 [0] = USB3_PORT_DEFAULT(OC_SKIP), /* USB 3.1 Gen 2 TYPE-C and DisplayPort */
84 [1] = USB3_PORT_DEFAULT(OC_SKIP), /* USB 3.1 Gen 2 right */
85 [2] = USB3_PORT_DEFAULT(OC_SKIP), /* USB 3.1 Gen 2 TYPE-C (without TBT) */
86 [3] = USB3_PORT_DEFAULT(OC_SKIP), /* USB 3.1 Gen 2 TYPE-C (without TBT) */
87 [4] = USB3_PORT_DEFAULT(OC_SKIP), /* USB 3.1 Gen 1 audio */
88 [5] = USB3_PORT_DEFAULT(OC_SKIP), /* USB 3.1 Gen 1 back */
89 }"
Tim Crawford6a93a452021-09-20 10:18:02 -060090 end
91 device pci 14.2 on end # Shared SRAM
92 device pci 14.3 on # CNVi wifi
93 chip drivers/wifi/generic
94 register "wake" = "PME_B0_EN_BIT"
95 device generic 0 on end
96 end
97 end
98 device pci 14.5 off end # SDCard
99 device pci 15.0 on end # I2C #0
100 device pci 15.1 off end # I2C #1
101 device pci 15.2 off end # I2C #2
102 device pci 15.3 off end # I2C #3
Tim Crawfordc3ced8f2021-10-27 15:14:54 -0600103 device pci 16.0 on end # Management Engine Interface 1
Tim Crawford6a93a452021-09-20 10:18:02 -0600104 device pci 16.1 off end # Management Engine Interface 2
105 device pci 16.2 off end # Management Engine IDE-R
106 device pci 16.3 off end # Management Engine KT Redirection
107 device pci 16.4 off end # Management Engine Interface 3
108 device pci 16.5 off end # Management Engine Interface 4
109 device pci 17.0 on # SATA
Felix Singerd1632532023-10-26 15:02:46 +0200110 register "SataPortsEnable" = "{
111 [0] = 1, /* HDD (SATA0B) */
112 [1] = 1, /* SSD1 (SATA1A) */
113 }"
Tim Crawford6a93a452021-09-20 10:18:02 -0600114 end
115 device pci 19.2 off end # UART #2
116 device pci 1a.0 off end # eMMC
117 device pci 1b.0 on # PCI Express Port 17
118 # PCI Express root port #17 x4, Clock 0 (Thunderbolt)
119 register "PcieRpEnable[16]" = "1"
120 register "PcieRpLtrEnable[16]" = "1"
121 register "PcieRpHotPlug[16]" = "1"
122 register "PcieClkSrcUsage[0]" = "16"
123 register "PcieClkSrcClkReq[0]" = "0"
124 end
125 device pci 1b.1 off end # PCI Express Port 18
126 device pci 1b.2 off end # PCI Express Port 19
127 device pci 1b.3 off end # PCI Express Port 20
128 device pci 1b.4 on # PCI Express Port 21
129 # PCI Express root port #21 x4, Clock 10 (SSD2)
130 register "PcieRpEnable[20]" = "1"
131 register "PcieRpLtrEnable[20]" = "1"
132 register "PcieClkSrcUsage[10]" = "20"
133 register "PcieClkSrcClkReq[10]" = "10"
134 register "PcieRpSlotImplemented[20]" = "1"
135 end
136 device pci 1b.5 off end # PCI Express Port 22
137 device pci 1b.6 off end # PCI Express Port 23
138 device pci 1b.7 off end # PCI Express Port 24
139 device pci 1c.0 off end # PCI Express Port 1
140 device pci 1c.1 off end # PCI Express Port 2
141 device pci 1c.2 off end # PCI Express Port 3
142 device pci 1c.3 off end # PCI Express Port 4
143 device pci 1c.4 off end # PCI Express Port 5
144 device pci 1c.5 off end # PCI Express Port 6
145 device pci 1c.6 off end # PCI Express Port 7
146 device pci 1c.7 off end # PCI Express Port 8
147 device pci 1d.0 on # PCI Express Port 9
148 # PCI Express root port #9 x4, Clock 9 (SSD1)
149 register "PcieRpEnable[8]" = "1"
150 register "PcieRpLtrEnable[8]" = "1"
151 register "PcieClkSrcUsage[9]" = "8"
152 register "PcieClkSrcClkReq[9]" = "9"
153 register "PcieRpSlotImplemented[8]" = "1"
154 end
155 device pci 1d.1 off end # PCI Express Port 10
156 device pci 1d.2 off end # PCI Express Port 11
157 device pci 1d.3 off end # PCI Express Port 12
158 device pci 1d.4 off end # PCI Express Port 13
159 device pci 1d.5 on # PCI Express Port 14
160 # PCI Express root port #14 x1, Clock 5 (GLAN)
161 register "PcieRpEnable[13]" = "1"
162 register "PcieRpLtrEnable[13]" = "1"
163 register "PcieClkSrcUsage[5]" = "13"
164 register "PcieClkSrcClkReq[5]" = "5"
165 register "PcieRpSlotImplemented[13]" = "1"
166 end
167 device pci 1d.6 on # PCI Express Port 15
168 # PCI Express root port #15 x1, Clock 7 (Card Reader)
169 register "PcieRpEnable[14]" = "1"
170 register "PcieRpLtrEnable[14]" = "1"
171 register "PcieClkSrcUsage[7]" = "14"
172 register "PcieClkSrcClkReq[7]" = "7"
173 register "PcieRpSlotImplemented[14]" = "1"
174 end
175 device pci 1d.7 on # PCI Express Port 16
176 # PCI Express root port #16 x1, Clock 6 (WLAN)
177 register "PcieRpEnable[15]" = "1"
178 register "PcieRpLtrEnable[15]" = "1"
179 register "PcieClkSrcUsage[6]" = "15"
180 register "PcieClkSrcClkReq[6]" = "6"
181 register "PcieRpSlotImplemented[15]" = "1"
182 end
183 device pci 1e.0 off end # UART #0
184 device pci 1e.1 off end # UART #1
185 device pci 1e.2 off end # GSPI #0
186 device pci 1e.3 off end # GSPI #1
187 device pci 1f.0 on # LPC Interface
188 register "gen1_dec" = "0x00040069"
189 register "gen2_dec" = "0x00fc0e01"
190 register "gen3_dec" = "0x00fc0f01"
191 chip drivers/pc80/tpm
192 device pnp 0c31.0 on end
193 end
194 end
195 device pci 1f.1 off end # P2SB
196 device pci 1f.2 hidden end # Power Management Controller
197 device pci 1f.3 on # Intel HDA
198 register "PchHdaAudioLinkHda" = "1"
199 end
200 device pci 1f.4 on # SMBus
201 chip drivers/i2c/tas5825m
202 register "id" = "0"
203 device i2c 4e on end # (8bit address: 0x9c)
204 end
205 end
206 device pci 1f.5 on end # PCH SPI
207 device pci 1f.6 off end # GbE
208 end
209end