blob: e8bb664caba93cba93d01eea4f7f743f13ba5ba7 [file] [log] [blame]
FrankChua3b79c52022-02-07 16:52:59 +08001fw_config
2 field AUDIO_CODEC_SOURCE 41 43
3 option AUDIO_CODEC_UNPROVISIONED 0
4 option AUDIO_CODEC_ALC5682 1
5 option AUDIO_CODEC_ALC5682I_VS 2
6 end
7end
Frank Chude2ba632020-11-20 14:59:27 +08008chip soc/intel/tigerlake
FrankChuafd5fd62020-12-09 15:33:10 +08009 register "DdiPort1Hpd" = "0"
10 register "DdiPort2Hpd" = "0"
11
FrankChuafd5fd62020-12-09 15:33:10 +080012 register "tcc_offset" = "8"
13
14 register "power_limits_config[POWER_LIMITS_U_4_CORE]" = "{
Wayne3 Wanga5761ef2021-04-20 12:19:16 +080015 .tdp_pl1_override = 9,
Wayne3 Wang59881a62021-02-23 17:52:14 +080016 .tdp_pl2_override = 28,
FrankChuafd5fd62020-12-09 15:33:10 +080017 .tdp_pl4 = 105,
18 }"
19
Wayne3_Wang585f4d42021-02-02 18:20:03 +080020 register "usb2_ports[3]" = "USB2_PORT_TYPE_C(OC0)" # Type-C port 1
21 register "usb2_ports[8]" = "USB2_PORT_TYPE_C(OC3)" # Type-C port 0
22
FrankChuafd5fd62020-12-09 15:33:10 +080023 #+-------------------+---------------------------+
24 #| Field | Value |
25 #+-------------------+---------------------------+
FrankChuafd5fd62020-12-09 15:33:10 +080026 #| GSPI0 | cr50 TPM. Early init is |
27 #| | required to set up a BAR |
28 #| | for TPM communication |
29 #| | before memory is up |
30 #| GSPI1 | Fingerprint MCU |
31 #| I2C0 | Audio |
32 #| I2C1 | Touchscreen |
33 #| I2C2 | MISC |
34 #| I2C3 | Camera |
35 #| I2C5 | Trackpad |
36 #+-------------------+---------------------------+
37 register "common_soc_config" = "{
FrankChuafd5fd62020-12-09 15:33:10 +080038 .gspi[0] = {
39 .speed_mhz = 1,
40 .early_init = 1,
41 },
42 .i2c[0] = {
43 .speed = I2C_SPEED_FAST,
44 },
45 .i2c[1] = {
46 .speed = I2C_SPEED_FAST,
47 },
48 .i2c[2] = {
49 .speed = I2C_SPEED_FAST,
50 },
51 .i2c[3] = {
52 .speed = I2C_SPEED_FAST,
53 },
54 .i2c[5] = {
55 .speed = I2C_SPEED_FAST,
Wayne3_Wang49e11402021-01-27 12:33:20 +080056 .speed_config[0] = {
57 .speed = I2C_SPEED_FAST,
58 .scl_lcnt = 155,
59 .scl_hcnt = 80,
60 .sda_hold = 36,
61 },
FrankChuafd5fd62020-12-09 15:33:10 +080062 },
63 }"
Frank Chude2ba632020-11-20 14:59:27 +080064
65 device domain 0 on
Wayne3 Wang59881a62021-02-23 17:52:14 +080066 device pci 04.0 on
67 chip drivers/intel/dptf
68 ## Active Policy
69 register "policies.active" = "{
70 [0] = {.target = DPTF_TEMP_SENSOR_1,
Wayne3 Wanga5761ef2021-04-20 12:19:16 +080071 .thresholds = {TEMP_PCT(49, 80),
72 TEMP_PCT(46, 70),
73 TEMP_PCT(44, 60),
74 TEMP_PCT(42, 50),}}}"
Wayne3 Wang59881a62021-02-23 17:52:14 +080075
76 ## Critical Policy
77 register "policies.critical" = "{
Wayne3 Wanga5761ef2021-04-20 12:19:16 +080078 [0] = DPTF_CRITICAL(CPU, 100, SHUTDOWN)}"
Wayne3 Wang59881a62021-02-23 17:52:14 +080079
80 ## Power Limits Control
Wayne3 Wanga5761ef2021-04-20 12:19:16 +080081 # 9-17W PL1 in 125mW increments, avg over 28-32s interval
Wayne3 Wang59881a62021-02-23 17:52:14 +080082 # PL2 is 28-64W, avg over 28-32s interval
83 register "controls.power_limits" = "{
Wayne3 Wanga5761ef2021-04-20 12:19:16 +080084 .pl1 = {.min_power = 9000,
Wayne3 Wang59881a62021-02-23 17:52:14 +080085 .max_power = 17000,
86 .time_window_min = 28 * MSECS_PER_SEC,
87 .time_window_max = 32 * MSECS_PER_SEC,
88 .granularity = 125,},
89 .pl2 = {.min_power = 28000,
90 .max_power = 64000,
91 .time_window_min = 28 * MSECS_PER_SEC,
92 .time_window_max = 32 * MSECS_PER_SEC,
93 .granularity = 500,}}"
94
95 ## Fan Performance Control (Percent, Speed, Noise, Power)
96 register "controls.fan_perf" = "{
97 [0] = { 90, 5200, 220, 2200, },
98 [1] = { 80, 4900, 180, 1800, },
99 [2] = { 70, 4600, 145, 1450, },
100 [3] = { 60, 4200, 115, 1150, },
101 [4] = { 50, 3800, 90, 900, },
102 [5] = { 40, 3400, 55, 550, },
103 [6] = { 30, 2900, 30, 300, },
104 [7] = { 20, 2300, 15, 150, },
105 [8] = { 10, 1600, 10, 100, },
106 [9] = { 0, 0, 0, 50, }}"
107
108 # Fan options
109 register "options.fan.fine_grained_control" = "1"
110 register "options.fan.step_size" = "2"
111
Wayne3 Wangeef34ef2021-07-22 11:09:16 +0800112 ## Charger Performance Control (Control, mA)
113 register "controls.charger_perf" = "{
114 [0] = { 32, 2048 },
115 [1] = { 29, 1856 },
116 [2] = { 26, 1664 },
117 [3] = { 23, 1472 }
118 }"
119
Wayne3 Wang59881a62021-02-23 17:52:14 +0800120 device generic 0 on end
121 end
122 end # DPTF
123
Wayne3_Wangdf7d4fc2021-01-29 14:28:42 +0800124 device ref tbt_pcie_rp0 on
Matt DeVillier47afbbc2023-01-12 14:17:26 -0600125 probe DB_USB USB4_GEN2
Wayne3_Wangdf7d4fc2021-01-29 14:28:42 +0800126 probe DB_USB USB4_GEN3
127 end
128
129 device ref tbt_pcie_rp1 on
Matt DeVillier47afbbc2023-01-12 14:17:26 -0600130 probe DB_USB USB4_GEN2
131 probe DB_USB USB4_GEN3
132 end
133
134 device ref tbt_dma0 on
135 probe DB_USB USB4_GEN2
Wayne3_Wangdf7d4fc2021-01-29 14:28:42 +0800136 probe DB_USB USB4_GEN3
137 end
138
FrankChuafd5fd62020-12-09 15:33:10 +0800139 device ref i2c0 on
140 chip drivers/i2c/generic
FrankChua3b79c52022-02-07 16:52:59 +0800141 # register "hid" is set in variant.c because of FW_CONFIG
FrankChuafd5fd62020-12-09 15:33:10 +0800142 register "name" = ""RT58""
143 register "desc" = ""Headset Codec""
144 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_F8)"
145 # Set the jd_src to RT5668_JD1 for jack detection
146 register "property_count" = "1"
147 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
148 register "property_list[0].name" = ""realtek,jd-src""
149 register "property_list[0].integer" = "1"
FrankChua3b79c52022-02-07 16:52:59 +0800150 device i2c 1a alias audio_codec on end
FrankChuafd5fd62020-12-09 15:33:10 +0800151 end
152 chip drivers/i2c/max98373
153 register "vmon_slot_no" = "0"
154 register "imon_slot_no" = "1"
155 register "uid" = "0"
156 register "desc" = ""Right Speaker Amp""
157 register "name" = ""MAXR""
158 device i2c 31 on end
159 end
160 chip drivers/i2c/max98373
161 register "vmon_slot_no" = "2"
162 register "imon_slot_no" = "3"
163 register "uid" = "1"
164 register "desc" = ""Left Speaker Amp""
165 register "name" = ""MAXL""
166 device i2c 32 on end
167 end
168 end
169 device ref i2c1 on
170 chip drivers/i2c/hid
171 register "generic.hid" = ""ELAN9008""
172 register "generic.desc" = ""ELAN Touchscreen""
173 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier0d54a652022-12-21 08:44:19 -0600174 register "generic.detect" = "1"
FrankChuafd5fd62020-12-09 15:33:10 +0800175 register "generic.reset_gpio" =
176 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C10)"
177 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A8)"
178 register "generic.reset_delay_ms" = "20"
179 register "generic.has_power_resource" = "1"
FrankChuafd5fd62020-12-09 15:33:10 +0800180 register "hid_desc_reg_offset" = "0x01"
181 device i2c 10 on end
182 end
183 end
184 device ref i2c5 on
185 chip drivers/i2c/hid
186 register "generic.hid" = ""ELAN2701""
187 register "generic.desc" = ""ELAN Touchpad""
188 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E15_IRQ)"
189 register "generic.wake" = "GPE0_DW2_15"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500190 register "generic.detect" = "1"
FrankChuafd5fd62020-12-09 15:33:10 +0800191 register "hid_desc_reg_offset" = "0x01"
192 device i2c 15 on end
193 end
194 end
195 device ref pch_espi on
196 chip ec/google/chromeec
197 use conn0 as mux_conn[0]
198 use conn1 as mux_conn[1]
199 device pnp 0c09.0 on end
200 end
201 end
Furquan Shaikhbf42db62021-08-24 13:16:35 -0700202
203 device ref hda on
204 probe AUDIO MAX98357_ALC5682I_I2S
205 probe AUDIO MAX98373_ALC5682I_I2S
206 probe AUDIO MAX98373_ALC5682_SNDW
207 probe AUDIO MAX98373_ALC5682I_I2S_UP4
208 probe AUDIO MAX98360_ALC5682I_I2S
Matt DeVillierba9f0c32022-12-20 12:35:05 -0600209 probe AUDIO RT1011_ALC5682I_I2S
Furquan Shaikhbf42db62021-08-24 13:16:35 -0700210 end
211
FrankChuafd5fd62020-12-09 15:33:10 +0800212 device ref pcie_rp9 on
213 chip soc/intel/common/block/pcie/rtd3
214 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B2)"
215 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
216 register "srcclk_pin" = "0"
217 device generic 0 on end
218 end
219 end
220 device ref pmc hidden
221 # The pmc_mux chip driver is a placeholder for the
222 # PMC.MUX device in the ACPI hierarchy.
223 chip drivers/intel/pmc_mux
224 device generic 0 on
225 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100226 use usb2_port9 as usb2_port
227 use tcss_usb3_port1 as usb3_port
FrankChuafd5fd62020-12-09 15:33:10 +0800228 # SBU is fixed, HSL follows CC
229 register "sbu_orientation" = "TYPEC_ORIENTATION_NORMAL"
230 device generic 0 alias conn0 on end
231 end
232 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100233 use usb2_port4 as usb2_port
234 use tcss_usb3_port2 as usb3_port
FrankChuafd5fd62020-12-09 15:33:10 +0800235 # SBU is fixed, HSL follows CC
236 register "sbu_orientation" = "TYPEC_ORIENTATION_NORMAL"
237 device generic 1 alias conn1 on end
238 end
239 end
240 end
241 end
242 device ref north_xhci on
243 chip drivers/usb/acpi
244 device ref tcss_root_hub on
245 chip drivers/usb/acpi
246 register "desc" = ""USB3 Type-C Port C0 (MLB)""
247 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
248 register "group" = "ACPI_PLD_GROUP(3, 2)"
249 device ref tcss_usb3_port1 on end
250 end
251 chip drivers/usb/acpi
Wayne3_Wang585f4d42021-02-02 18:20:03 +0800252 register "desc" = ""USB3 Type-C Port C1 (MLB)""
FrankChuafd5fd62020-12-09 15:33:10 +0800253 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
254 register "group" = "ACPI_PLD_GROUP(2, 2)"
255 device ref tcss_usb3_port2 on
256 probe DB_USB USB3_ACTIVE
257 end
258 end
259 end
260 end
261 end
262 device ref south_xhci on
263 chip drivers/usb/acpi
264 device ref xhci_root_hub on
265 chip drivers/usb/acpi
Wayne3_Wang585f4d42021-02-02 18:20:03 +0800266 register "desc" = ""USB2 Type-A Port A0 (DB)""
FrankChuafd5fd62020-12-09 15:33:10 +0800267 register "type" = "UPC_TYPE_A"
268 register "group" = "ACPI_PLD_GROUP(1, 1)"
269 device ref usb2_port1 on end
270 end
271 chip drivers/usb/acpi
Wayne3_Wang585f4d42021-02-02 18:20:03 +0800272 register "desc" = ""USB2 Type-C Port C1 (MLB)""
FrankChuafd5fd62020-12-09 15:33:10 +0800273 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
274 register "group" = "ACPI_PLD_GROUP(2, 1)"
275 device ref usb2_port4 on
276 probe DB_USB USB3_ACTIVE
277 end
278 end
279 chip drivers/usb/acpi
280 register "desc" = ""USB2 Camera""
281 register "type" = "UPC_TYPE_INTERNAL"
282 device ref usb2_port5 on end
283 end
284 chip drivers/usb/acpi
285 register "desc" = ""USB2 Type-C Port C0 (MLB)""
286 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
287 register "group" = "ACPI_PLD_GROUP(3, 1)"
288 device ref usb2_port9 on end
289 end
290 chip drivers/usb/acpi
291 register "desc" = ""USB2 Bluetooth""
292 register "type" = "UPC_TYPE_INTERNAL"
293 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A13)"
294 device ref usb2_port10 on end
295 end
296 chip drivers/usb/acpi
Wayne3_Wang585f4d42021-02-02 18:20:03 +0800297 register "desc" = ""USB3 Type-A Port A0 (DB)""
FrankChuafd5fd62020-12-09 15:33:10 +0800298 register "type" = "UPC_TYPE_USB3_A"
299 register "group" = "ACPI_PLD_GROUP(1, 2)"
300 device ref usb3_port1 on end
301 end
302 end
303 end
304 end
Frank Chude2ba632020-11-20 14:59:27 +0800305 end
Frank Chude2ba632020-11-20 14:59:27 +0800306end