blob: 2c25e60a1bfc7f274f865ca69cebef3db33896c5 [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
134 end
135 end
136 chip drivers/usb/acpi
Robert Chen67a96902024-05-08 22:05:21 -0400137 register "desc" = ""Right Type-C Port""
138 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
139 register "group" = "ACPI_PLD_GROUP(2, 1)"
140 device usb 2.1 on
141 probe DB_PORTS DB_PORTS_1C_1A
142 probe DB_PORTS DB_PORTS_1C_LTE
143 end
144 end
145 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700146 register "desc" = ""Right Type-A Port""
Tony Huang856b5792021-05-19 16:59:17 +0800147 register "type" = "UPC_TYPE_A"
148 register "group" = "ACPI_PLD_GROUP(2, 2)"
149 device usb 2.3 on
Tony Huang856b5792021-05-19 16:59:17 +0800150 probe DB_PORTS DB_PORTS_1C_1A
151 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800152 end
153 chip drivers/usb/acpi
Tony Huang6e0ca682021-02-03 18:18:02 +0800154 register "desc" = ""UFCamera""
155 register "type" = "UPC_TYPE_INTERNAL"
156 device usb 2.5 on end
157 end
158 chip drivers/usb/acpi
159 register "desc" = ""WFCamera""
160 register "type" = "UPC_TYPE_INTERNAL"
161 device usb 2.6 on end
162 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800163 chip drivers/usb/acpi
Robert Chen67a96902024-05-08 22:05:21 -0400164 register "desc" = ""Right Type-C Port""
165 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
166 register "group" = "ACPI_PLD_GROUP(2, 1)"
167 device usb 3.1 on
168 probe DB_PORTS DB_PORTS_1C_1A
169 probe DB_PORTS DB_PORTS_1C_LTE
170 end
171 end
172 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700173 register "desc" = ""LTE""
174 register "type" = "UPC_TYPE_INTERNAL"
Tony Huang856b5792021-05-19 16:59:17 +0800175 register "group" = "ACPI_PLD_GROUP(2, 2)"
176 device usb 3.3 on
177 probe DB_PORTS DB_PORTS_1C_LTE
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700178 end
179 end
180 chip drivers/usb/acpi
181 register "desc" = ""Right Type-A Port""
182 register "type" = "UPC_TYPE_USB3_A"
183 register "group" = "ACPI_PLD_GROUP(2, 2)"
184 device usb 3.3 on
Tony Huang856b5792021-05-19 16:59:17 +0800185 probe DB_PORTS DB_PORTS_1C_1A
186 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800187 end
Tony Huang6e0ca682021-02-03 18:18:02 +0800188 end
189 end
190 end # USB xHCI
191 device pci 15.0 on
192 chip drivers/i2c/generic
193 register "hid" = ""ELAN0000""
194 register "desc" = ""ELAN Touchpad""
195 register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
196 register "wake" = "GPE0_DW0_03"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500197 register "detect" = "1"
Tony Huang6e0ca682021-02-03 18:18:02 +0800198 device i2c 15 on end
199 end
200 end #I2C 0
Tony Huang5f5ea022021-02-23 13:28:42 +0800201 device pci 15.2 on
202 chip drivers/i2c/generic
203 register "hid" = ""ELAN0001""
204 register "desc" = ""ELAN Touchscreen""
205 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600206 register "detect" = "1"
Tony Huang5f5ea022021-02-23 13:28:42 +0800207 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
208 register "reset_delay_ms" = "20"
209 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
210 register "enable_delay_ms" = "1"
211 register "has_power_resource" = "1"
212 device i2c 10 on end
213 end
214 chip drivers/i2c/hid
215 register "generic.hid" = ""ELAN2513""
216 register "generic.desc" = ""ELAN Touchscreen""
217 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600218 register "generic.detect" = "1"
Tony Huang5f5ea022021-02-23 13:28:42 +0800219 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
220 register "generic.reset_delay_ms" = "20"
221 register "generic.reset_off_delay_ms" = "2"
222 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
223 register "generic.enable_delay_ms" = "10"
224 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
225 register "generic.stop_delay_ms" = "130"
226 register "generic.has_power_resource" = "1"
227 register "hid_desc_reg_offset" = "0x01"
228 device i2c 15 on end
229 end
Robert Chenb885be42023-04-12 01:48:36 -0400230 chip drivers/i2c/hid
231 register "generic.hid" = ""GTCH7503""
232 register "generic.desc" = ""G2TOUCH Touchscreen""
233 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
234 register "generic.detect" = "1"
235 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
236 register "generic.reset_delay_ms" = "50"
237 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
238 register "generic.enable_delay_ms" = "1"
239 register "generic.has_power_resource" = "1"
240 register "hid_desc_reg_offset" = "0x01"
241 device i2c 40 on end
242 end
243
Tony Huang5f5ea022021-02-23 13:28:42 +0800244 end # I2C 2
Tony Huang6e0ca682021-02-03 18:18:02 +0800245 device pci 15.3 off end #I2C 3
246 device pci 19.0 on
247 chip drivers/i2c/generic
248 register "hid" = ""10EC5682""
249 register "name" = ""RT58""
250 register "desc" = ""Realtek RT5682""
251 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
252 register "property_count" = "1"
253 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
254 register "property_list[0].name" = ""realtek,jd-src""
255 register "property_list[0].integer" = "1"
Robert Chen6cb99932023-03-28 23:06:59 -0400256 device i2c 1a on
257 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_UNPROVISIONED
258 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
259 end
260 end
261 chip drivers/i2c/generic
262 register "hid" = ""RTL5682""
263 register "name" = ""RT58""
264 register "desc" = ""Headset Codec""
265 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
266 # Set the jd_src to RT5668_JD1 for jack detection
267 register "property_count" = "1"
268 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
269 register "property_list[0].name" = ""realtek,jd-src""
270 register "property_list[0].integer" = "1"
271 device i2c 1a on
272 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
273 end
Tony Huang6e0ca682021-02-03 18:18:02 +0800274 end
275 end #I2C 4
Tony Huang66713d0c2021-06-02 14:00:49 +0800276 device pci 19.1 on
277 chip drivers/i2c/sx9324
278 register "desc" = ""SAR Proximity Sensor""
279 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E11_IRQ)"
280 register "uid" = "2"
281 register "reg_gnrl_ctrl0" = "0x0a"
282 register "reg_gnrl_ctrl1" = "0x22"
283 register "reg_afe_ctrl0" = "0x20"
284 register "reg_afe_ctrl3" = "0x01"
285 register "reg_afe_ctrl4" = "0x47"
286 register "reg_afe_ctrl6" = "0x00"
287 register "reg_afe_ctrl7" = "0x47"
288 register "reg_afe_ctrl8" = "0x12"
289 register "reg_afe_ctrl9" = "0x0f"
290 register "reg_afe_ph0" = "0x37"
291 register "reg_afe_ph1" = "0x29"
292 register "reg_afe_ph2" = "0x1f"
293 register "reg_afe_ph3" = "0x3d"
294 register "reg_prox_ctrl0" = "0x0b"
295 register "reg_prox_ctrl1" = "0x0b"
296 register "reg_prox_ctrl2" = "0x20"
297 register "reg_prox_ctrl3" = "0x20"
298 register "reg_prox_ctrl4" = "0x0c"
299 register "reg_prox_ctrl5" = "0x00"
300 register "reg_prox_ctrl6" = "0x2d"
301 register "reg_prox_ctrl7" = "0xc0"
302 register "reg_adv_ctrl0" = "0x00"
303 register "reg_adv_ctrl1" = "0x00"
304 register "reg_adv_ctrl2" = "0x00"
305 register "reg_adv_ctrl3" = "0x00"
306 register "reg_adv_ctrl4" = "0x00"
307 register "reg_adv_ctrl5" = "0x05"
308 register "reg_adv_ctrl6" = "0x00"
309 register "reg_adv_ctrl7" = "0x00"
310 register "reg_adv_ctrl8" = "0x00"
311 register "reg_adv_ctrl9" = "0x00"
312 register "reg_adv_ctrl10" = "0x00"
313 register "reg_adv_ctrl11" = "0x00"
314 register "reg_adv_ctrl12" = "0x00"
315 register "reg_adv_ctrl13" = "0x00"
316 register "reg_adv_ctrl14" = "0x80"
317 register "reg_adv_ctrl15" = "0x0c"
318 register "reg_adv_ctrl16" = "0x04"
319 register "reg_adv_ctrl17" = "0x70"
320 register "reg_adv_ctrl18" = "0x40"
321 register "reg_adv_ctrl19" = "0x00"
322 register "reg_adv_ctrl20" = "0x00"
323 register "reg_irq_cfg0" = "0x00"
324 register "reg_irq_cfg1" = "0x80"
325 register "reg_irq_cfg2" = "0x00"
326 device i2c 28 on end
327 end
328 end # I2C 5
Tony Huang6e0ca682021-02-03 18:18:02 +0800329 device pci 1f.3 on
330 chip drivers/generic/max98357a
331 register "hid" = ""MX98360A""
332 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
333 device generic 0 on end
334 end
335 end # Intel HDA
336 end
337end