blob: 1aa2e711a975ed07489bf09b6d256d4dbf86acf9 [file] [log] [blame]
Zhi Liaf207a52021-10-27 15:06:06 +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
8
Tao Xia326ff222020-12-02 13:10:15 +08009chip soc/intel/jasperlake
Zanxi Chen55d47bd2022-09-23 09:59:46 +080010 # Disable PCIe Root Port 8 (index 7)
11 register "PcieRpEnable[7]" = "0"
12 # Disable PCIe Clock Source 4 (index 3)
13 register "PcieClkSrcUsage[3]" = "0xff"
Tao Xia326ff222020-12-02 13:10:15 +080014
chenzanxic4691ab2021-02-22 11:40:50 +080015 # USB Port Configuration
16 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # User Facing Camera
Zanxi Chend92966b2021-03-18 21:54:57 +080017 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/1 Type-A Port A1
chenzanxic4691ab2021-02-22 11:40:50 +080018
Tao Xia326ff222020-12-02 13:10:15 +080019 # Intel Common SoC Config
20 #+-------------------+---------------------------+
21 #| Field | Value |
22 #+-------------------+---------------------------+
23 #| GSPI0 | cr50 TPM. Early init is |
24 #| | required to set up a BAR |
25 #| | for TPM communication |
26 #| | before memory is up |
27 #| I2C0 | Trackpad |
Zanxi Chendfaab1b2021-05-21 22:29:16 +080028 #| I2C1 | Digitizer, Stylus |
Tao Xia326ff222020-12-02 13:10:15 +080029 #| I2C2 | Touchscreen |
30 #| I2C3 | Camera |
31 #| I2C4 | Audio |
chenzanxi46ee3662021-02-23 10:35:50 +080032 #| I2C5 | P-Sensor |
Tao Xia326ff222020-12-02 13:10:15 +080033 #+-------------------+---------------------------+
34 register "common_soc_config" = "{
35 .gspi[0] = {
36 .speed_mhz = 1,
37 .early_init = 1,
38 },
39 .i2c[0] = {
40 .speed = I2C_SPEED_FAST,
Zanxi Chen542a2d92021-05-31 20:13:21 +080041 .rise_time_ns = 260,
42 .fall_time_ns = 50,
Tao Xia326ff222020-12-02 13:10:15 +080043 },
44 .i2c[1] = {
45 .speed = I2C_SPEED_FAST,
46 },
47 .i2c[2] = {
48 .speed = I2C_SPEED_FAST,
Tao Xiafd952aa2021-03-18 16:18:06 +080049 .rise_time_ns = 86,
50 .fall_time_ns = 5,
Tao Xia326ff222020-12-02 13:10:15 +080051 },
52 .i2c[3] = {
53 .speed = I2C_SPEED_FAST,
Tao Xiafd952aa2021-03-18 16:18:06 +080054 .rise_time_ns = 84,
55 .fall_time_ns = 4,
Tao Xia326ff222020-12-02 13:10:15 +080056 },
57 .i2c[4] = {
58 .speed = I2C_SPEED_FAST,
Tao Xiafd952aa2021-03-18 16:18:06 +080059 .rise_time_ns = 69,
60 .fall_time_ns = 3,
Tao Xia326ff222020-12-02 13:10:15 +080061 },
chenzanxi46ee3662021-02-23 10:35:50 +080062 .i2c[5] = {
63 .speed = I2C_SPEED_FAST,
Tao Xiafd952aa2021-03-18 16:18:06 +080064 .rise_time_ns = 129,
65 .fall_time_ns = 4,
chenzanxi46ee3662021-02-23 10:35:50 +080066 },
67 }"
68
Tao Xia2ffd1bf2021-06-15 16:15:08 +080069 register "usb2_ports[3]" = "{
70 .enable = 1,
71 .ocpin = OC_SKIP,
72 .tx_bias = USB2_BIAS_0MV,
73 .tx_emp_enable = USB2_DE_EMP_ON_PRE_EMP_ON,
74 .pre_emp_bias = USB2_BIAS_28P15MV,
75 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
76 }" # WWAN
77
chenzanxi46ee3662021-02-23 10:35:50 +080078 register "SerialIoI2cMode" = "{
79 [PchSerialIoIndexI2C0] = PchSerialIoPci,
80 [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
81 [PchSerialIoIndexI2C2] = PchSerialIoPci,
82 [PchSerialIoIndexI2C3] = PchSerialIoPci,
83 [PchSerialIoIndexI2C4] = PchSerialIoPci,
84 [PchSerialIoIndexI2C5] = PchSerialIoPci,
Tao Xia326ff222020-12-02 13:10:15 +080085 }"
86
Chia-Ling Houb5a03282023-06-07 16:53:00 +080087 # Power limit config
88 register "power_limits_config[JSL_N4500_6W_CORE]" = "{
89 .tdp_pl1_override = 7,
90 .tdp_pl2_override = 20,
91 }"
92
93 register "power_limits_config[JSL_N6000_6W_CORE]" = "{
94 .tdp_pl1_override = 7,
95 .tdp_pl2_override = 20,
96 }"
97
98 register "power_limits_config[JSL_N5100_6W_CORE]" = "{
Tao Xia69984cf2021-06-10 21:28:32 +080099 .tdp_pl1_override = 7,
100 .tdp_pl2_override = 20,
101 }"
102
Tao Xia5aa51192021-07-05 14:23:01 +0800103 register "tcc_offset" = "10" # TCC of 95C
Tao Xia69984cf2021-06-10 21:28:32 +0800104
Tao Xia6c887542021-07-27 17:39:12 +0800105 register "xhci_lfps_sampling_offtime_ms" = "0"
106
Tao Xia326ff222020-12-02 13:10:15 +0800107 device domain 0 on
Tao Xia69984cf2021-06-10 21:28:32 +0800108 device pci 04.0 on
109 chip drivers/intel/dptf
110 ## Passive Policy
111 register "policies.passive" = "{
Tao Xia3c8dc632021-08-05 19:24:21 +0800112 [0] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 67, 3000),
Tao Xia5aa51192021-07-05 14:23:01 +0800113 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 67, 3000),
114 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 67, 3000),}"
Tao Xia69984cf2021-06-10 21:28:32 +0800115 ## Critical Policy
116 register "policies.critical" = "{
117 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
118 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 80, SHUTDOWN),
119 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 90, SHUTDOWN),
120 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 90, SHUTDOWN),}"
121 register "controls.power_limits.pl1" = "{
122 .min_power = 3000,
123 .max_power = 7000,
124 .time_window_min = 28 * MSECS_PER_SEC,
125 .time_window_max = 28 * MSECS_PER_SEC,
126 .granularity = 125,}"
127 register "controls.power_limits.pl2" = "{
128 .min_power = 20000,
129 .max_power = 20000,
130 .time_window_min = 28 * MSECS_PER_SEC,
131 .time_window_max = 32 * MSECS_PER_SEC,
132 .granularity = 1000,}"
133 ## Charger Performance Control (Control, mA)
134 register "controls.charger_perf" = "{
135 [0] = { 255, 3000 },
136 [1] = { 32, 2000 },
137 [2] = { 24, 1500 },
138 [3] = { 16, 1000 },
139 [4] = { 8, 500 }
140 }"
141 device generic 0 on end
142 end
143 end # SA Thermal device
chenzanxic4691ab2021-02-22 11:40:50 +0800144 device pci 05.0 on # IPU - MIPI Camera
145 chip drivers/intel/mipi_camera
146 register "acpi_uid" = "0x50000"
147 register "acpi_name" = ""IPU0""
148 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
149
150 register "cio2_num_ports" = "2"
151 register "cio2_lanes_used" = "{1,4}"
152 register "cio2_lane_endpoint[1]" = ""^I2C3.CAM1""
153 register "cio2_prt[0]" = "0"
154 register "cio2_prt[1]" = "2"
155 device generic 0 on end
156 end
157 end
158 device pci 14.0 on
159 chip drivers/usb/acpi
160 device usb 0.0 on
161 chip drivers/usb/acpi
162 register "desc" = ""User Facing Camera""
163 register "type" = "UPC_TYPE_INTERNAL"
164 register "has_power_resource" = "1"
165 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D15)"
166 register "enable_delay_ms" = "20"
167 device usb 2.5 on end
168 end
chenzanxi011e1b32021-02-23 11:29:26 +0800169 chip drivers/usb/acpi
170 register "desc" = ""LTE""
171 register "type" = "UPC_TYPE_INTERNAL"
172 register "has_power_resource" = "1"
173 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H17)"
174 register "reset_off_delay_ms" = "10"
175 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
176 register "enable_delay_ms" = "20"
177 device usb 3.3 on end
178 end
Zanxi Chen63813f92021-03-10 16:11:37 +0800179 chip drivers/usb/acpi
180 register "desc" = ""Right Type-A Port""
181 register "type" = "UPC_TYPE_USB3_A"
182 register "group" = "ACPI_PLD_GROUP(2, 2)"
183 device usb 3.4 on end
184 end
chenzanxic4691ab2021-02-22 11:40:50 +0800185 end
186 end
187 end # USB xHCI
chenzanxi7eac8842021-02-20 15:54:20 +0800188 device pci 15.0 on
189 chip drivers/i2c/generic
190 register "hid" = ""ELAN0000""
191 register "desc" = ""ELAN Touchpad""
192 register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
193 register "wake" = "GPE0_DW0_03"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500194 register "detect" = "1"
chenzanxi7eac8842021-02-20 15:54:20 +0800195 device i2c 15 on end
196 end
197 end #I2C 0
chenzanxia03b1802021-02-20 16:47:34 +0800198 device pci 15.2 on
Zanxi Chendfaab1b2021-05-21 22:29:16 +0800199 chip drivers/generic/gpio_keys
200 register "name" = ""PENH""
201 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_C12)"
202 register "key.wakeup_route" = "WAKEUP_ROUTE_GPIO_IRQ"
203 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
204 register "key.dev_name" = ""EJCT""
205 register "key.linux_code" = "SW_PEN_INSERTED"
206 register "key.linux_input_type" = "EV_SW"
207 register "key.label" = ""pen_eject""
208 device generic 0 on end
209 end
chenzanxia03b1802021-02-20 16:47:34 +0800210 chip drivers/i2c/hid
211 register "generic.hid" = ""ELAN9008""
212 register "generic.desc" = ""ELAN Touchscreen""
213 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
Matt DeVillierc3cef7e2022-12-21 12:22:21 -0600214 register "generic.detect" = "1"
chenzanxia03b1802021-02-20 16:47:34 +0800215 register "generic.reset_gpio" =
216 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
217 register "generic.enable_gpio" =
218 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
219 register "generic.enable_delay_ms" = "7"
220 register "generic.has_power_resource" = "1"
221 register "hid_desc_reg_offset" = "0x01"
222 device i2c 10 on end
223 end
224 end # I2C 2
chenzanxic4691ab2021-02-22 11:40:50 +0800225 device pci 15.3 on
226 chip drivers/intel/mipi_camera
227 register "acpi_hid" = ""OVTI8856""
228 register "acpi_uid" = "0"
229 register "acpi_name" = ""CAM1""
230 register "chip_name" = ""Ov 8856 Camera""
231 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
232
233 register "ssdb.lanes_used" = "4"
234 register "ssdb.link_used" = "1"
235 register "ssdb.vcm_type" = "0x0C"
236 register "vcm_name" = ""VCM0""
237 register "num_freq_entries" = "2"
238 register "link_freq[0]" = "360000000"
239 register "link_freq[1]" = "180000000"
240 register "remote_name" = ""IPU0""
241
242 register "has_power_resource" = "1"
243 #Controls
244 register "clk_panel.clks[0].clknum" = "1" #IMGCLKOUT_1
245 register "clk_panel.clks[0].freq" = "1" #19.2 Mhz
246
247 register "gpio_panel.gpio[0].gpio_num" = "GPP_D13" #power_enable_2p8
248 register "gpio_panel.gpio[1].gpio_num" = "GPP_D14" #power_enable_1p2
249 register "gpio_panel.gpio[2].gpio_num" = "GPP_D12" #reset
250
251 #_ON
252 register "on_seq.ops_cnt" = "5"
253 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
254 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
255 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
256 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
257 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
258
259 #_OFF
260 register "off_seq.ops_cnt" = "4"
261 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
262 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
263 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
264 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
265
266 device i2c 36 on end
267 end
268 chip drivers/intel/mipi_camera
269 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
270 register "acpi_uid" = "3"
271 register "acpi_name" = ""VCM0""
272 register "chip_name" = ""DW AF DAC""
273 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
274
275 register "pr0" = ""\\_SB.PCI0.I2C3.CAM1.PRIC""
276 register "vcm_compat" = ""dongwoon,dw9714""
277
278 device i2c 0c on end
279 end
280 chip drivers/intel/mipi_camera
281 register "acpi_uid" = "1"
282 register "acpi_name" = ""NVM0""
283 register "chip_name" = ""GT24C08""
284 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
285
Tao Xia74d14b82021-04-02 11:44:10 +0800286 register "nvm_size" = "0x2000"
chenzanxic4691ab2021-02-22 11:40:50 +0800287 register "nvm_pagesize" = "1"
288 register "nvm_readonly" = "1"
Tao Xia74d14b82021-04-02 11:44:10 +0800289 register "nvm_width" = "0x10"
chenzanxic4691ab2021-02-22 11:40:50 +0800290 register "nvm_compat" = ""atmel,24c08""
291
292 device i2c 50 on end
293 end
294 end # I2C 3
chenzanxif8aa8dc2021-02-22 20:20:25 +0800295 device pci 19.0 on
296 chip drivers/i2c/generic
297 register "hid" = ""10EC5682""
298 register "name" = ""RT58""
299 register "desc" = ""Realtek RT5682""
300 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
301 register "property_count" = "1"
302 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
303 register "property_list[0].name" = ""realtek,jd-src""
304 register "property_list[0].integer" = "1"
Zhi Liaf207a52021-10-27 15:06:06 +0800305 device i2c 1a on
306 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_UNPROVISIONED
307 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
308 end
309 end
310 chip drivers/i2c/generic
311 register "hid" = ""RTL5682""
312 register "name" = ""RT58""
313 register "desc" = ""Realtek RT5682""
314 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
315 register "property_count" = "1"
316 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
317 register "property_list[0].name" = ""realtek,jd-src""
318 register "property_list[0].integer" = "1"
319 device i2c 1a on
320 probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
321 end
chenzanxif8aa8dc2021-02-22 20:20:25 +0800322 end
chenzanxif8aa8dc2021-02-22 20:20:25 +0800323 end # I2C 4
lizhi740a1d0d2021-03-23 11:31:24 +0800324 device pci 1f.3 on
325 chip drivers/generic/alc1015
326 register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
327 device generic 0 on end
328 end
329 end # Intel HDA
chenzanxi46ee3662021-02-23 10:35:50 +0800330 device pci 19.1 on
331 chip drivers/i2c/sx9324
332 register "desc" = ""SAR Proximity Sensor""
333 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E11_IRQ)"
334 register "uid" = "2"
335 register "reg_gnrl_ctrl0" = "0x0a"
336 register "reg_gnrl_ctrl1" = "0x22"
337 register "reg_afe_ctrl0" = "0x20"
338 register "reg_afe_ctrl3" = "0x00"
339 register "reg_afe_ctrl4" = "0x47"
340 register "reg_afe_ctrl6" = "0x00"
341 register "reg_afe_ctrl7" = "0x47"
342 register "reg_afe_ctrl8" = "0x12"
343 register "reg_afe_ctrl9" = "0x08"
344 register "reg_afe_ph0" = "0x37"
345 #register "reg_afe_ph1" = "0x10"
346 register "reg_afe_ph1" = "0x37"
347 register "reg_afe_ph2" = "0x1f"
348 register "reg_afe_ph3" = "0x3d"
349 register "reg_prox_ctrl0" = "0x0b"
350 register "reg_prox_ctrl1" = "0x0b"
351 register "reg_prox_ctrl2" = "0x20"
352 register "reg_prox_ctrl3" = "0x20"
353 register "reg_prox_ctrl4" = "0x0c"
354 register "reg_prox_ctrl5" = "0x00"
355 register "reg_prox_ctrl6" = "0x1c"
356 register "reg_prox_ctrl7" = "0xc0"
357 register "reg_adv_ctrl0" = "0x00"
358 register "reg_adv_ctrl1" = "0x00"
359 register "reg_adv_ctrl2" = "0x00"
360 register "reg_adv_ctrl3" = "0x00"
361 register "reg_adv_ctrl4" = "0x00"
362 register "reg_adv_ctrl5" = "0x05"
363 register "reg_adv_ctrl6" = "0x00"
364 register "reg_adv_ctrl7" = "0x00"
365 register "reg_adv_ctrl8" = "0x00"
366 register "reg_adv_ctrl9" = "0x00"
367 register "reg_adv_ctrl10" = "0x00"
368 register "reg_adv_ctrl11" = "0x00"
369 register "reg_adv_ctrl12" = "0x00"
370 register "reg_adv_ctrl13" = "0x00"
371 register "reg_adv_ctrl14" = "0x80"
372 register "reg_adv_ctrl15" = "0x0c"
373 register "reg_adv_ctrl16" = "0x04"
374 register "reg_adv_ctrl17" = "0x70"
375 register "reg_adv_ctrl18" = "0x20"
376 register "reg_adv_ctrl19" = "0x00"
377 register "reg_adv_ctrl20" = "0x00"
378 register "reg_irq_cfg0" = "0x00"
379 register "reg_irq_cfg1" = "0x80"
380 register "reg_irq_cfg2" = "0x01"
381 device i2c 28 on end
382 end
383 end # I2C 5
Tao Xia326ff222020-12-02 13:10:15 +0800384 end
385end