blob: 1ce3a8fe675d44e3f0e2d28c847a02d345d67ba6 [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 "power_limits_config" = "{
69 .tdp_pl1_override = 6,
70 .tdp_pl2_override = 20,
71 }"
72
73 register "tcc_offset" = "20" # TCC of 85C
74
Tony Huang6e0ca682021-02-03 18:18:02 +080075 device domain 0 on
Robert Chen6978a212021-09-22 16:49:51 +080076 device pci 04.0 on
77 chip drivers/intel/dptf
78 # Default DPTF Policy for all drawcia boards if not overridden
79 register "options.tsr[0].desc" = ""Memory""
80 register "options.tsr[1].desc" = ""Ambient""
81 register "options.tsr[2].desc" = ""Charger""
82 register "options.tsr[3].desc" = ""5V regulator""
83 ## Passive Policy
84 register "policies.passive" = "{
85 [0] = DPTF_PASSIVE(CPU, CPU, 80, 1000),
86 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 70, 4000),
87 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 51, 1000),
88 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
89 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 60, 1000)
90 }"
91 ## Critical Policy
92 register "policies.critical" = "{
93 [0] = DPTF_CRITICAL(CPU, 119, SHUTDOWN),
94 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 115, SHUTDOWN),
95 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 115, SHUTDOWN),
96 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 115, SHUTDOWN),
97 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 115, SHUTDOWN)
98 }"
99 register "controls.power_limits" = "{
100 .pl1 = {
101 .min_power = 3800,
102 .max_power = 5800,
103 .time_window_min = 1 * MSECS_PER_SEC,
104 .time_window_max = 1 * MSECS_PER_SEC,
105 .granularity = 200,
106 },
107 .pl2 = {
108 .min_power = 20000,
109 .max_power = 20000,
110 .time_window_min = 1 * MSECS_PER_SEC,
111 .time_window_max = 1 * MSECS_PER_SEC,
112 .granularity = 1000,
113 }
114 }"
115 ## Charger Performance Control (Control, mA)
116 register "controls.charger_perf" = "{
117 [0] = { 255, 3000 },
118 [1] = { 24, 1500 },
119 [2] = { 16, 1000 },
120 [3] = { 8, 500 }
121 }"
122 device generic 0 alias dptf_policy on end
123 end
124 end # SA Thermal device
Tony Huang6e0ca682021-02-03 18:18:02 +0800125 device pci 14.0 on
126 chip drivers/usb/acpi
127 device usb 0.0 on
128 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700129 register "desc" = ""LTE""
130 register "type" = "UPC_TYPE_INTERNAL"
131 register "group" = "ACPI_PLD_GROUP(2, 2)"
132 register "has_power_resource" = "1"
133 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H17)"
134 register "reset_off_delay_ms" = "20"
135 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
136 register "enable_delay_ms" = "20"
137 device usb 2.3 on
138 probe DB_PORTS DB_PORTS_1C_LTE
139 end
140 end
141 chip drivers/usb/acpi
142 register "desc" = ""Right Type-A Port""
Tony Huang856b5792021-05-19 16:59:17 +0800143 register "type" = "UPC_TYPE_A"
144 register "group" = "ACPI_PLD_GROUP(2, 2)"
145 device usb 2.3 on
Tony Huang856b5792021-05-19 16:59:17 +0800146 probe DB_PORTS DB_PORTS_1C_1A
147 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800148 end
149 chip drivers/usb/acpi
Tony Huang6e0ca682021-02-03 18:18:02 +0800150 register "desc" = ""UFCamera""
151 register "type" = "UPC_TYPE_INTERNAL"
152 device usb 2.5 on end
153 end
154 chip drivers/usb/acpi
155 register "desc" = ""WFCamera""
156 register "type" = "UPC_TYPE_INTERNAL"
157 device usb 2.6 on end
158 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800159 chip drivers/usb/acpi
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700160 register "desc" = ""LTE""
161 register "type" = "UPC_TYPE_INTERNAL"
Tony Huang856b5792021-05-19 16:59:17 +0800162 register "group" = "ACPI_PLD_GROUP(2, 2)"
163 device usb 3.3 on
164 probe DB_PORTS DB_PORTS_1C_LTE
Furquan Shaikhe7821e82021-09-16 19:58:20 -0700165 end
166 end
167 chip drivers/usb/acpi
168 register "desc" = ""Right Type-A Port""
169 register "type" = "UPC_TYPE_USB3_A"
170 register "group" = "ACPI_PLD_GROUP(2, 2)"
171 device usb 3.3 on
Tony Huang856b5792021-05-19 16:59:17 +0800172 probe DB_PORTS DB_PORTS_1C_1A
173 end
Tony Huanga1165fd2021-04-09 13:38:59 +0800174 end
Tony Huang6e0ca682021-02-03 18:18:02 +0800175 end
176 end
177 end # USB xHCI
178 device pci 15.0 on
179 chip drivers/i2c/generic
180 register "hid" = ""ELAN0000""
181 register "desc" = ""ELAN Touchpad""
182 register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
183 register "wake" = "GPE0_DW0_03"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500184 register "detect" = "1"
Tony Huang6e0ca682021-02-03 18:18:02 +0800185 device i2c 15 on end
186 end
187 end #I2C 0
Tony Huang5f5ea022021-02-23 13:28:42 +0800188 device pci 15.2 on
189 chip drivers/i2c/generic
190 register "hid" = ""ELAN0001""
191 register "desc" = ""ELAN Touchscreen""
192 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600193 register "detect" = "1"
Tony Huang5f5ea022021-02-23 13:28:42 +0800194 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
195 register "reset_delay_ms" = "20"
196 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
197 register "enable_delay_ms" = "1"
198 register "has_power_resource" = "1"
199 device i2c 10 on end
200 end
201 chip drivers/i2c/hid
202 register "generic.hid" = ""ELAN2513""
203 register "generic.desc" = ""ELAN Touchscreen""
204 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600205 register "generic.detect" = "1"
Tony Huang5f5ea022021-02-23 13:28:42 +0800206 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
207 register "generic.reset_delay_ms" = "20"
208 register "generic.reset_off_delay_ms" = "2"
209 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
210 register "generic.enable_delay_ms" = "10"
211 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
212 register "generic.stop_delay_ms" = "130"
213 register "generic.has_power_resource" = "1"
214 register "hid_desc_reg_offset" = "0x01"
215 device i2c 15 on end
216 end
Robert Chenb885be42023-04-12 01:48:36 -0400217 chip drivers/i2c/hid
218 register "generic.hid" = ""GTCH7503""
219 register "generic.desc" = ""G2TOUCH Touchscreen""
220 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
221 register "generic.detect" = "1"
222 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
223 register "generic.reset_delay_ms" = "50"
224 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
225 register "generic.enable_delay_ms" = "1"
226 register "generic.has_power_resource" = "1"
227 register "hid_desc_reg_offset" = "0x01"
228 device i2c 40 on end
229 end
230
Tony Huang5f5ea022021-02-23 13:28:42 +0800231 end # I2C 2
Tony Huang6e0ca682021-02-03 18:18:02 +0800232 device pci 15.3 off end #I2C 3
233 device pci 19.0 on
234 chip drivers/i2c/generic
235 register "hid" = ""10EC5682""
236 register "name" = ""RT58""
237 register "desc" = ""Realtek RT5682""
238 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
239 register "property_count" = "1"
240 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
241 register "property_list[0].name" = ""realtek,jd-src""
242 register "property_list[0].integer" = "1"
Robert Chen6cb99932023-03-28 23:06:59 -0400243 device i2c 1a on
244 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_UNPROVISIONED
245 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
246 end
247 end
248 chip drivers/i2c/generic
249 register "hid" = ""RTL5682""
250 register "name" = ""RT58""
251 register "desc" = ""Headset Codec""
252 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
253 # Set the jd_src to RT5668_JD1 for jack detection
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"
258 device i2c 1a on
259 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
260 end
Tony Huang6e0ca682021-02-03 18:18:02 +0800261 end
262 end #I2C 4
Tony Huang66713d0c2021-06-02 14:00:49 +0800263 device pci 19.1 on
264 chip drivers/i2c/sx9324
265 register "desc" = ""SAR Proximity Sensor""
266 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E11_IRQ)"
267 register "uid" = "2"
268 register "reg_gnrl_ctrl0" = "0x0a"
269 register "reg_gnrl_ctrl1" = "0x22"
270 register "reg_afe_ctrl0" = "0x20"
271 register "reg_afe_ctrl3" = "0x01"
272 register "reg_afe_ctrl4" = "0x47"
273 register "reg_afe_ctrl6" = "0x00"
274 register "reg_afe_ctrl7" = "0x47"
275 register "reg_afe_ctrl8" = "0x12"
276 register "reg_afe_ctrl9" = "0x0f"
277 register "reg_afe_ph0" = "0x37"
278 register "reg_afe_ph1" = "0x29"
279 register "reg_afe_ph2" = "0x1f"
280 register "reg_afe_ph3" = "0x3d"
281 register "reg_prox_ctrl0" = "0x0b"
282 register "reg_prox_ctrl1" = "0x0b"
283 register "reg_prox_ctrl2" = "0x20"
284 register "reg_prox_ctrl3" = "0x20"
285 register "reg_prox_ctrl4" = "0x0c"
286 register "reg_prox_ctrl5" = "0x00"
287 register "reg_prox_ctrl6" = "0x2d"
288 register "reg_prox_ctrl7" = "0xc0"
289 register "reg_adv_ctrl0" = "0x00"
290 register "reg_adv_ctrl1" = "0x00"
291 register "reg_adv_ctrl2" = "0x00"
292 register "reg_adv_ctrl3" = "0x00"
293 register "reg_adv_ctrl4" = "0x00"
294 register "reg_adv_ctrl5" = "0x05"
295 register "reg_adv_ctrl6" = "0x00"
296 register "reg_adv_ctrl7" = "0x00"
297 register "reg_adv_ctrl8" = "0x00"
298 register "reg_adv_ctrl9" = "0x00"
299 register "reg_adv_ctrl10" = "0x00"
300 register "reg_adv_ctrl11" = "0x00"
301 register "reg_adv_ctrl12" = "0x00"
302 register "reg_adv_ctrl13" = "0x00"
303 register "reg_adv_ctrl14" = "0x80"
304 register "reg_adv_ctrl15" = "0x0c"
305 register "reg_adv_ctrl16" = "0x04"
306 register "reg_adv_ctrl17" = "0x70"
307 register "reg_adv_ctrl18" = "0x40"
308 register "reg_adv_ctrl19" = "0x00"
309 register "reg_adv_ctrl20" = "0x00"
310 register "reg_irq_cfg0" = "0x00"
311 register "reg_irq_cfg1" = "0x80"
312 register "reg_irq_cfg2" = "0x00"
313 device i2c 28 on end
314 end
315 end # I2C 5
Tony Huang6e0ca682021-02-03 18:18:02 +0800316 device pci 1f.3 on
317 chip drivers/generic/max98357a
318 register "hid" = ""MX98360A""
319 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
320 device generic 0 on end
321 end
322 end # Intel HDA
323 end
324end