blob: 05f57208a2b01f90ae2a46f02b2f502c49faf4c1 [file] [log] [blame]
Dtrain Hsud3230b52021-05-31 13:32:28 +08001fw_config
2 field AUDIO_CODEC_SOURCE 41 43
3 option AUDIO_CODEC_UNPROVISIONED 0
4 option AUDIO_CODEC_DA7219 1
5 option AUDIO_CODEC_RT5682 2
6 option AUDIO_CODEC_CS42l42 3
7 end
8end
9
Ian Feng7be232a2021-03-17 11:08:35 +080010chip soc/intel/jasperlake
11
12 # USB Port Configuration
Dtrain Hsu57c013e2021-03-17 17:44:51 +080013 register "usb2_ports[1]" = "USB2_PORT_EMPTY" # None
14 register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)" # LTE
15 register "usb2_ports[4]" = "USB2_PORT_EMPTY" # None
16 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # Camera (UFC)
17 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # Camera (WFC)
18 register "usb3_ports[1]" = "USB3_PORT_EMPTY" # None
19 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # LTE
Ian Feng7be232a2021-03-17 11:08:35 +080020
Dtrain Hsud5dde222021-03-23 10:48:10 +080021 register "SerialIoI2cMode" = "{
22 [PchSerialIoIndexI2C0] = PchSerialIoPci,
23 [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
24 [PchSerialIoIndexI2C2] = PchSerialIoPci,
25 [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
26 [PchSerialIoIndexI2C4] = PchSerialIoPci,
27 [PchSerialIoIndexI2C5] = PchSerialIoDisabled,
28 }"
29
Ian Feng7be232a2021-03-17 11:08:35 +080030 # Intel Common SoC Config
31 #+-------------------+---------------------------+
32 #| Field | Value |
33 #+-------------------+---------------------------+
34 #| GSPI0 | cr50 TPM. Early init is |
35 #| | required to set up a BAR |
36 #| | for TPM communication |
37 #| | before memory is up |
38 #| I2C0 | Trackpad |
Dtrain Hsud5dde222021-03-23 10:48:10 +080039 #| I2C1 | |
Ian Feng7be232a2021-03-17 11:08:35 +080040 #| I2C2 | Touchscreen |
Dtrain Hsud5dde222021-03-23 10:48:10 +080041 #| I2C3 | |
Ian Feng7be232a2021-03-17 11:08:35 +080042 #| I2C4 | Audio |
43 #+-------------------+---------------------------+
44 register "common_soc_config" = "{
45 .gspi[0] = {
46 .speed_mhz = 1,
47 .early_init = 1,
48 },
49 .i2c[0] = {
50 .speed = I2C_SPEED_FAST,
51 },
Ian Feng7be232a2021-03-17 11:08:35 +080052 .i2c[2] = {
53 .speed = I2C_SPEED_FAST,
54 },
Ian Feng7be232a2021-03-17 11:08:35 +080055 .i2c[4] = {
56 .speed = I2C_SPEED_FAST,
57 },
58 }"
59 device domain 0 on
Dtrain Hsucf1996d2021-08-09 11:26:59 +080060 device pci 04.0 on
61 chip drivers/intel/dptf
62 ## Passive Policy
63 register "policies.passive" = "{
64 [0] = DPTF_PASSIVE(CPU, CPU, 90, 10000),
65 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 60000),
66 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 55, 15000)
67 }"
68
69 ## Critical Policy
70 register "policies.critical" = "{
Dtrain Hsu287a9442021-09-06 16:23:51 +080071 [0] = DPTF_CRITICAL(CPU, 120, SHUTDOWN),
72 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 120, SHUTDOWN),
73 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 120, SHUTDOWN)
Dtrain Hsucf1996d2021-08-09 11:26:59 +080074 }"
75
76 ## Power Limits Control
77 register "controls.power_limits" = "{
78 .pl1 = {
79 .min_power = 3000,
80 .max_power = 6000,
81 .time_window_min = 1 * MSECS_PER_SEC,
82 .time_window_max = 1 * MSECS_PER_SEC,
83 .granularity = 200,
84 },
85 .pl2 = {
86 .min_power = 20000,
87 .max_power = 20000,
88 .time_window_min = 1 * MSECS_PER_SEC,
89 .time_window_max = 1 * MSECS_PER_SEC,
90 .granularity = 1000,
91 }
92 }"
93 device generic 0 on end
94 end
95 end # SA Thermal device
Dtrain Hsu57c013e2021-03-17 17:44:51 +080096 device pci 14.0 on
97 chip drivers/usb/acpi
98 device usb 0.0 on
99 chip drivers/usb/acpi
100 device usb 2.1 off end
101 end
102 chip drivers/usb/acpi
103 register "desc" = ""LTE""
104 register "type" = "UPC_TYPE_INTERNAL"
Dtrain Hsu1e0f77f2021-05-11 17:50:42 +0800105 device usb 2.3 on
106 probe LTE LTE_PRESENT
107 end
Dtrain Hsu57c013e2021-03-17 17:44:51 +0800108 end
109 chip drivers/usb/acpi
110 register "desc" = ""Camera (UFC)""
111 register "type" = "UPC_TYPE_INTERNAL"
112 device usb 2.5 on end
113 end
114 chip drivers/usb/acpi
115 register "desc" = ""Camera (WFC)""
116 register "type" = "UPC_TYPE_INTERNAL"
117 device usb 2.6 on end
118 end
119 chip drivers/usb/acpi
120 device usb 3.1 off end
121 end
122 chip drivers/usb/acpi
123 register "desc" = ""LTE""
124 register "type" = "UPC_TYPE_INTERNAL"
Dtrain Hsu0d9829d2021-03-26 16:05:47 +0800125 register "has_power_resource" = "1"
126 register "reset_gpio" =
127 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H17)"
128 register "reset_off_delay_ms" = "10"
129 register "enable_gpio" =
130 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
131 register "enable_delay_ms" = "20"
Dtrain Hsu1e0f77f2021-05-11 17:50:42 +0800132 device usb 3.3 on
133 probe LTE LTE_PRESENT
134 end
Dtrain Hsu57c013e2021-03-17 17:44:51 +0800135 end
136 end
137 end
138 end # USB xHCI
Dtrain Hsud5dde222021-03-23 10:48:10 +0800139 device pci 15.0 on
140 chip drivers/i2c/generic
141 register "hid" = ""ELAN0000""
142 register "desc" = ""ELAN Touchpad""
143 register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
144 register "wake" = "GPE0_DW0_03"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500145 register "detect" = "1"
Dtrain Hsud5dde222021-03-23 10:48:10 +0800146 device i2c 15 on end
147 end
148 chip drivers/i2c/hid
Dtrain Hsu69cb81d2023-10-19 15:13:36 +0800149 register "generic.hid" = ""GDIX0000""
Dtrain Hsud5dde222021-03-23 10:48:10 +0800150 register "generic.desc" = ""Goodix Touchpad""
151 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
152 register "generic.wake" = "GPE0_DW0_03"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500153 register "generic.detect" = "1"
Dtrain Hsud5dde222021-03-23 10:48:10 +0800154 register "hid_desc_reg_offset" = "0x20"
155 device i2c 2c on end
156 end
157 end #I2C 0
158 device pci 15.1 off end # I2C 1
Dtrain Hsu2bb78962021-03-23 15:02:39 +0800159 device pci 15.2 on
160 chip drivers/i2c/hid
161 register "generic.hid" = ""WDHT0002""
162 register "generic.desc" = ""WDT Touchscreen""
163 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600164 register "generic.detect" = "1"
Dtrain Hsu2bb78962021-03-23 15:02:39 +0800165 register "generic.reset_gpio" =
Dtrain Hsub9846952021-04-28 16:12:02 +0800166 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
Dtrain Hsu2bb78962021-03-23 15:02:39 +0800167 register "generic.reset_delay_ms" = "20"
168 register "generic.stop_gpio" =
169 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
170 register "generic.stop_delay_ms" = "130"
171 register "generic.enable_gpio" =
172 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
173 register "generic.enable_delay_ms" = "1"
174 register "generic.has_power_resource" = "1"
Dtrain Hsu2bb78962021-03-23 15:02:39 +0800175 register "hid_desc_reg_offset" = "0x20"
176 device i2c 2c on end
177 end
178 chip drivers/i2c/generic
179 register "hid" = ""ELAN0001""
180 register "desc" = ""ELAN Touchscreen""
Matt DeVillier7ab6ee62022-12-21 12:23:03 -0600181 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600182 register "detect" = "1"
Dtrain Hsub9846952021-04-28 16:12:02 +0800183 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
Dtrain Hsu2bb78962021-03-23 15:02:39 +0800184 register "reset_delay_ms" = "20"
185 register "reset_off_delay_ms" = "2"
186 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
187 register "stop_delay_ms" = "280"
188 register "stop_off_delay_ms" = "2"
189 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
190 register "enable_delay_ms" = "1"
191 register "has_power_resource" = "1"
192 device i2c 10 on end
193 end
Dtrain Hsue2198622021-05-24 14:36:12 +0800194 chip drivers/i2c/hid
195 register "generic.hid" = ""ELAN900C""
196 register "generic.desc" = ""ELAN Touchscreen""
197 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600198 register "generic.detect" = "1"
Dtrain Hsue2198622021-05-24 14:36:12 +0800199 register "generic.reset_gpio" =
200 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
201 register "generic.reset_delay_ms" = "6"
202 register "generic.stop_gpio" =
203 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
204 register "generic.stop_delay_ms" = "300"
205 register "generic.enable_gpio" =
206 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
207 register "generic.enable_delay_ms" = "6"
208 register "generic.has_power_resource" = "1"
209 register "hid_desc_reg_offset" = "0x01"
210 device i2c 16 on end
211 end
Dtrain Hsufb9aecd2021-05-24 17:05:45 +0800212 chip drivers/i2c/hid
213 register "generic.hid" = ""GXTP7996""
214 register "generic.desc" = ""Goodix Touchscreen""
215 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600216 register "generic.detect" = "1"
Dtrain Hsufb9aecd2021-05-24 17:05:45 +0800217 register "generic.reset_gpio" =
218 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
219 register "generic.reset_delay_ms" = "100"
220 register "generic.stop_gpio" =
221 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
222 register "generic.stop_delay_ms" = "300"
223 register "generic.enable_gpio" =
224 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
225 register "generic.enable_delay_ms" = "10"
226 register "generic.has_power_resource" = "1"
227 register "hid_desc_reg_offset" = "0x01"
228 device i2c 5d on end
229 end
Dtrain Hsu5b32be22021-08-09 13:39:03 +0800230 chip drivers/i2c/hid
231 register "generic.hid" = ""GTCH7502""
232 register "generic.desc" = ""G2TOUCH Touchscreen""
233 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600234 register "generic.detect" = "1"
Dtrain Hsu5b32be22021-08-09 13:39:03 +0800235 register "generic.reset_gpio" =
236 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
237 register "generic.reset_delay_ms" = "100"
238 register "generic.stop_gpio" =
239 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
240 register "generic.stop_delay_ms" = "30"
241 register "generic.enable_gpio" =
242 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
243 register "generic.enable_delay_ms" = "30"
244 register "generic.has_power_resource" = "1"
Dtrain Hsu5b32be22021-08-09 13:39:03 +0800245 register "hid_desc_reg_offset" = "0x01"
246 device i2c 40 on end
247 end
Dtrain Hsu2bb78962021-03-23 15:02:39 +0800248 end # I2C 2
Dtrain Hsud5dde222021-03-23 10:48:10 +0800249 device pci 15.3 off end # I2C 3
Ian Feng7be232a2021-03-17 11:08:35 +0800250 device pci 1c.7 on end
Dtrain Hsud9999e82021-03-26 14:40:29 +0800251 device pci 19.0 on
252 chip drivers/i2c/da7219
253 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
254 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800255 register "mic_det_thr" = "200"
Dtrain Hsud9999e82021-03-26 14:40:29 +0800256 register "jack_ins_deb" = "20"
257 register "jack_det_rate" = ""32ms_64ms""
258 register "jack_rem_deb" = "1"
259 register "a_d_btn_thr" = "0xa"
260 register "d_b_btn_thr" = "0x16"
261 register "b_c_btn_thr" = "0x21"
262 register "c_mic_btn_thr" = "0x3e"
263 register "btn_avg" = "4"
264 register "adc_1bit_rpt" = "1"
265 register "micbias_lvl" = "2600"
266 register "mic_amp_in_sel" = ""diff""
Dtrain Hsud3230b52021-05-31 13:32:28 +0800267 device i2c 1a on
268 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_UNPROVISIONED
269 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_DA7219
270 end
271 end
272 chip drivers/i2c/cs42l42
273 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
274 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H16)"
275 register "ts_inv" = "true"
276 register "ts_dbnc_rise" = "RISE_DEB_1000_MS"
277 register "ts_dbnc_fall" = "FALL_DEB_0_MS"
278 register "btn_det_init_dbnce" = "100"
279 register "btn_det_event_dbnce" = "10"
280 register "bias_lvls[0]" = "15"
281 register "bias_lvls[1]" = "8"
282 register "bias_lvls[2]" = "4"
283 register "bias_lvls[3]" = "1"
284 register "hs_bias_ramp_rate" = "HSBIAS_RAMP_SLOW"
285 register "hs_bias_sense_disable" = "true"
286 device i2c 48 on
287 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_CS42l42
288 end
Dtrain Hsud9999e82021-03-26 14:40:29 +0800289 end
290 end #I2C 4
291 device pci 1f.3 on
292 chip drivers/generic/max98357a
293 register "hid" = ""MX98360A""
294 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
295 device generic 0 on end
296 end
297 end # Intel HDA
Ian Feng7be232a2021-03-17 11:08:35 +0800298 end
299end