blob: ae70769f8ab3a34646047069d0eb62626189cb16 [file] [log] [blame]
Robert Chen6cb99932023-03-28 23:06:59 -04001fw_config
2 field AUDIO_CODEC_SOURCE 40 42
3 option AUDIO_CODEC_UNPROVISIONED 0
4 option AUDIO_CODEC_ALC5682 1
5 option AUDIO_CODEC_ALC5682I_VS 2
6 end
7end
Tony Huang6e0ca682021-02-03 18:18:02 +08008chip soc/intel/jasperlake
9
10 # USB Port Configuration
11 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # Camera
12 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # WF Camera
13
14 register "SerialIoI2cMode" = "{
15 [PchSerialIoIndexI2C0] = PchSerialIoPci,
16 [PchSerialIoIndexI2C1] = PchSerialIoPci,
17 [PchSerialIoIndexI2C2] = PchSerialIoPci,
18 [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
19 [PchSerialIoIndexI2C4] = PchSerialIoPci,
20 [PchSerialIoIndexI2C5] = PchSerialIoPci,
21 }"
22
23 # Intel Common SoC Config
24 #+-------------------+---------------------------+
25 #| Field | Value |
26 #+-------------------+---------------------------+
27 #| GSPI0 | cr50 TPM. Early init is |
28 #| | required to set up a BAR |
29 #| | for TPM communication |
30 #| | before memory is up |
31 #| I2C0 | Trackpad |
32 #| I2C1 | Digitizer |
33 #| I2C2 | Touchscreen |
34 #| I2C3 | |
35 #| I2C4 | Audio |
36 #| I2C5 | P-Sensor |
37 #+-------------------+---------------------------+
38 register "common_soc_config" = "{
39 .gspi[0] = {
40 .speed_mhz = 1,
41 .early_init = 1,
42 },
43 .i2c[0] = {
44 .speed = I2C_SPEED_FAST,
Tony Huange4aa07e2021-05-13 15:06:59 +080045 .rise_time_ns = 212,
46 .fall_time_ns = 38,
Tony Huang6e0ca682021-02-03 18:18:02 +080047 },
48 .i2c[1] = {
49 .speed = I2C_SPEED_FAST,
50 },
51 .i2c[2] = {
52 .speed = I2C_SPEED_FAST,
Tony Huange4aa07e2021-05-13 15:06:59 +080053 .rise_time_ns = 212,
54 .fall_time_ns = 38,
Tony Huang6e0ca682021-02-03 18:18:02 +080055 },
56 .i2c[4] = {
57 .speed = I2C_SPEED_FAST,
Tony Huange4aa07e2021-05-13 15:06:59 +080058 .rise_time_ns = 212,
59 .fall_time_ns = 38,
Tony Huang6e0ca682021-02-03 18:18:02 +080060 },
61 .i2c[5] = {
62 .speed = I2C_SPEED_FAST,
Tony Huange4aa07e2021-05-13 15:06:59 +080063 .rise_time_ns = 212,
64 .fall_time_ns = 38,
Tony Huang6e0ca682021-02-03 18:18:02 +080065 },
66 }"
67
Robert Chen6978a212021-09-22 16:49:51 +080068 register "tcc_offset" = "20" # TCC of 85C
69
Tony Huang6e0ca682021-02-03 18:18:02 +080070 device domain 0 on
Robert Chen6978a212021-09-22 16:49:51 +080071 device pci 04.0 on
72 chip drivers/intel/dptf
73 # Default DPTF Policy for all drawcia boards if not overridden
74 register "options.tsr[0].desc" = ""Memory""
75 register "options.tsr[1].desc" = ""Ambient""
76 register "options.tsr[2].desc" = ""Charger""
77 register "options.tsr[3].desc" = ""5V regulator""
78 ## Passive Policy
79 register "policies.passive" = "{
80 [0] = DPTF_PASSIVE(CPU, CPU, 80, 1000),
81 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 70, 4000),
82 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 51, 1000),
83 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
84 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 60, 1000)
85 }"
86 ## Critical Policy
87 register "policies.critical" = "{
88 [0] = DPTF_CRITICAL(CPU, 119, SHUTDOWN),
89 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 115, SHUTDOWN),
90 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 115, SHUTDOWN),
91 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 115, SHUTDOWN),
92 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 115, SHUTDOWN)
93 }"
94 register "controls.power_limits" = "{
95 .pl1 = {
96 .min_power = 3800,
97 .max_power = 5800,
98 .time_window_min = 1 * MSECS_PER_SEC,
99 .time_window_max = 1 * MSECS_PER_SEC,
100 .granularity = 200,
101 },
102 .pl2 = {
103 .min_power = 20000,
104 .max_power = 20000,
105 .time_window_min = 1 * MSECS_PER_SEC,
106 .time_window_max = 1 * MSECS_PER_SEC,
107 .granularity = 1000,
108 }
109 }"
110 ## Charger Performance Control (Control, mA)
111 register "controls.charger_perf" = "{
112 [0] = { 255, 3000 },
113 [1] = { 24, 1500 },
114 [2] = { 16, 1000 },
115 [3] = { 8, 500 }
116 }"
117 device generic 0 alias dptf_policy on end
118 end
119 end # SA Thermal device
Tony Huang6e0ca682021-02-03 18:18:02 +0800120 device pci 14.0 on
121 chip drivers/usb/acpi
122 device usb 0.0 on
123 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700124 register "desc" = ""LTE""
125 register "type" = "UPC_TYPE_INTERNAL"
126 register "group" = "ACPI_PLD_GROUP(2, 2)"
127 register "has_power_resource" = "1"
128 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H17)"
129 register "reset_off_delay_ms" = "20"
130 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
131 register "enable_delay_ms" = "20"
132 device usb 2.3 on
133 probe DB_PORTS DB_PORTS_1C_LTE
Robert Chenc40e3c92024-06-12 03:25:52 -0400134 probe DB_PORTS DB_PORTS_LTE
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700135 end
136 end
137 chip drivers/usb/acpi
Robert Chen67a96902024-05-08 22:05:21 -0400138 register "desc" = ""Right Type-C Port""
139 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
140 register "group" = "ACPI_PLD_GROUP(2, 1)"
141 device usb 2.1 on
142 probe DB_PORTS DB_PORTS_1C_1A
143 probe DB_PORTS DB_PORTS_1C_LTE
144 end
145 end
146 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700147 register "desc" = ""Right Type-A Port""
Tony Huang856b5792021-05-19 16:59:17 +0800148 register "type" = "UPC_TYPE_A"
149 register "group" = "ACPI_PLD_GROUP(2, 2)"
150 device usb 2.3 on
Tony Huang856b5792021-05-19 16:59:17 +0800151 probe DB_PORTS DB_PORTS_1C_1A
152 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800153 end
154 chip drivers/usb/acpi
Tony Huang6e0ca682021-02-03 18:18:02 +0800155 register "desc" = ""UFCamera""
156 register "type" = "UPC_TYPE_INTERNAL"
157 device usb 2.5 on end
158 end
159 chip drivers/usb/acpi
160 register "desc" = ""WFCamera""
161 register "type" = "UPC_TYPE_INTERNAL"
162 device usb 2.6 on end
163 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800164 chip drivers/usb/acpi
Robert Chen67a96902024-05-08 22:05:21 -0400165 register "desc" = ""Right Type-C Port""
166 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
167 register "group" = "ACPI_PLD_GROUP(2, 1)"
168 device usb 3.1 on
169 probe DB_PORTS DB_PORTS_1C_1A
170 probe DB_PORTS DB_PORTS_1C_LTE
171 end
172 end
173 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700174 register "desc" = ""LTE""
175 register "type" = "UPC_TYPE_INTERNAL"
Tony Huang856b5792021-05-19 16:59:17 +0800176 register "group" = "ACPI_PLD_GROUP(2, 2)"
177 device usb 3.3 on
178 probe DB_PORTS DB_PORTS_1C_LTE
Robert Chenc40e3c92024-06-12 03:25:52 -0400179 probe DB_PORTS DB_PORTS_LTE
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700180 end
181 end
182 chip drivers/usb/acpi
183 register "desc" = ""Right Type-A Port""
184 register "type" = "UPC_TYPE_USB3_A"
185 register "group" = "ACPI_PLD_GROUP(2, 2)"
186 device usb 3.3 on
Tony Huang856b5792021-05-19 16:59:17 +0800187 probe DB_PORTS DB_PORTS_1C_1A
188 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800189 end
Tony Huang6e0ca682021-02-03 18:18:02 +0800190 end
191 end
192 end # USB xHCI
193 device pci 15.0 on
194 chip drivers/i2c/generic
195 register "hid" = ""ELAN0000""
196 register "desc" = ""ELAN Touchpad""
197 register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
198 register "wake" = "GPE0_DW0_03"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500199 register "detect" = "1"
Tony Huang6e0ca682021-02-03 18:18:02 +0800200 device i2c 15 on end
201 end
202 end #I2C 0
Tony Huang5f5ea022021-02-23 13:28:42 +0800203 device pci 15.2 on
204 chip drivers/i2c/generic
205 register "hid" = ""ELAN0001""
206 register "desc" = ""ELAN Touchscreen""
207 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600208 register "detect" = "1"
Tony Huang5f5ea022021-02-23 13:28:42 +0800209 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
210 register "reset_delay_ms" = "20"
211 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
212 register "enable_delay_ms" = "1"
213 register "has_power_resource" = "1"
214 device i2c 10 on end
215 end
216 chip drivers/i2c/hid
217 register "generic.hid" = ""ELAN2513""
218 register "generic.desc" = ""ELAN Touchscreen""
219 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600220 register "generic.detect" = "1"
Tony Huang5f5ea022021-02-23 13:28:42 +0800221 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
222 register "generic.reset_delay_ms" = "20"
223 register "generic.reset_off_delay_ms" = "2"
224 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
225 register "generic.enable_delay_ms" = "10"
226 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
227 register "generic.stop_delay_ms" = "130"
228 register "generic.has_power_resource" = "1"
229 register "hid_desc_reg_offset" = "0x01"
230 device i2c 15 on end
231 end
Robert Chenb885be42023-04-12 01:48:36 -0400232 chip drivers/i2c/hid
233 register "generic.hid" = ""GTCH7503""
234 register "generic.desc" = ""G2TOUCH Touchscreen""
235 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
236 register "generic.detect" = "1"
237 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
238 register "generic.reset_delay_ms" = "50"
239 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
240 register "generic.enable_delay_ms" = "1"
241 register "generic.has_power_resource" = "1"
242 register "hid_desc_reg_offset" = "0x01"
243 device i2c 40 on end
244 end
245
Tony Huang5f5ea022021-02-23 13:28:42 +0800246 end # I2C 2
Tony Huang6e0ca682021-02-03 18:18:02 +0800247 device pci 15.3 off end #I2C 3
248 device pci 19.0 on
249 chip drivers/i2c/generic
250 register "hid" = ""10EC5682""
251 register "name" = ""RT58""
252 register "desc" = ""Realtek RT5682""
253 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
254 register "property_count" = "1"
255 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
256 register "property_list[0].name" = ""realtek,jd-src""
257 register "property_list[0].integer" = "1"
Robert Chen6cb99932023-03-28 23:06:59 -0400258 device i2c 1a on
259 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_UNPROVISIONED
260 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
261 end
262 end
263 chip drivers/i2c/generic
264 register "hid" = ""RTL5682""
265 register "name" = ""RT58""
266 register "desc" = ""Headset Codec""
267 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
268 # Set the jd_src to RT5668_JD1 for jack detection
269 register "property_count" = "1"
270 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
271 register "property_list[0].name" = ""realtek,jd-src""
272 register "property_list[0].integer" = "1"
273 device i2c 1a on
274 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
275 end
Tony Huang6e0ca682021-02-03 18:18:02 +0800276 end
277 end #I2C 4
Tony Huang66713d0c2021-06-02 14:00:49 +0800278 device pci 19.1 on
279 chip drivers/i2c/sx9324
280 register "desc" = ""SAR Proximity Sensor""
281 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E11_IRQ)"
282 register "uid" = "2"
283 register "reg_gnrl_ctrl0" = "0x0a"
284 register "reg_gnrl_ctrl1" = "0x22"
285 register "reg_afe_ctrl0" = "0x20"
286 register "reg_afe_ctrl3" = "0x01"
287 register "reg_afe_ctrl4" = "0x47"
288 register "reg_afe_ctrl6" = "0x00"
289 register "reg_afe_ctrl7" = "0x47"
290 register "reg_afe_ctrl8" = "0x12"
291 register "reg_afe_ctrl9" = "0x0f"
292 register "reg_afe_ph0" = "0x37"
293 register "reg_afe_ph1" = "0x29"
294 register "reg_afe_ph2" = "0x1f"
295 register "reg_afe_ph3" = "0x3d"
296 register "reg_prox_ctrl0" = "0x0b"
297 register "reg_prox_ctrl1" = "0x0b"
298 register "reg_prox_ctrl2" = "0x20"
299 register "reg_prox_ctrl3" = "0x20"
300 register "reg_prox_ctrl4" = "0x0c"
301 register "reg_prox_ctrl5" = "0x00"
302 register "reg_prox_ctrl6" = "0x2d"
303 register "reg_prox_ctrl7" = "0xc0"
304 register "reg_adv_ctrl0" = "0x00"
305 register "reg_adv_ctrl1" = "0x00"
306 register "reg_adv_ctrl2" = "0x00"
307 register "reg_adv_ctrl3" = "0x00"
308 register "reg_adv_ctrl4" = "0x00"
309 register "reg_adv_ctrl5" = "0x05"
310 register "reg_adv_ctrl6" = "0x00"
311 register "reg_adv_ctrl7" = "0x00"
312 register "reg_adv_ctrl8" = "0x00"
313 register "reg_adv_ctrl9" = "0x00"
314 register "reg_adv_ctrl10" = "0x00"
315 register "reg_adv_ctrl11" = "0x00"
316 register "reg_adv_ctrl12" = "0x00"
317 register "reg_adv_ctrl13" = "0x00"
318 register "reg_adv_ctrl14" = "0x80"
319 register "reg_adv_ctrl15" = "0x0c"
320 register "reg_adv_ctrl16" = "0x04"
321 register "reg_adv_ctrl17" = "0x70"
322 register "reg_adv_ctrl18" = "0x40"
323 register "reg_adv_ctrl19" = "0x00"
324 register "reg_adv_ctrl20" = "0x00"
325 register "reg_irq_cfg0" = "0x00"
326 register "reg_irq_cfg1" = "0x80"
327 register "reg_irq_cfg2" = "0x00"
328 device i2c 28 on end
329 end
330 end # I2C 5
Tony Huang6e0ca682021-02-03 18:18:02 +0800331 device pci 1f.3 on
332 chip drivers/generic/max98357a
333 register "hid" = ""MX98360A""
334 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
335 device generic 0 on end
336 end
337 end # Intel HDA
338 end
339end