blob: cc4961a537f0a79ec116e148d6173bd254779917 [file] [log] [blame]
Wisley Chen5d74ccf2021-07-28 17:53:19 +06001fw_config
2 field DB_SD 0 1
3 option SD_ABSENT 0
4 option SD_GL9755S 1
5 end
6 field KB_BL 2 2
7 option KB_BL_ABSENT 0
8 option KB_BL_PRESENT 1
9 end
10 field AUDIO 3 5
Wisley Chen4ca7b262021-09-17 14:37:59 +060011 option AUDIO_UNKNOWN 0
12 option MAX98390_ALC5682I_I2S_4SPK 1
Wisley Chen5d74ccf2021-07-28 17:53:19 +060013 end
14 field DB_LTE 6 7
15 option LTE_ABSENT 0
16 option LTE_USB 1
Subrata Banik3d469fa2021-09-10 00:21:23 +053017 option LTE_PCIE 2
Wisley Chen5d74ccf2021-07-28 17:53:19 +060018 end
Wisley Chend19d27a2021-08-31 19:07:19 +060019 field EPS 10 10
20 option PRIVACY_SCREEN_ABSENT 0
21 option PRIVACY_SCREEN 1
22 end
Arec Kao093ac932021-09-16 12:03:45 +080023 field CAMERA_UFC 38 39
24 option CAMERA_NONE 0
25 option CAMERA_OV5675 1
26 option CAMERA_HI556 2
27 end
Wisley Chena398be92021-09-11 12:22:28 +060028 field TP_SOURCE 40 41
29 option ELAN0000 0
30 option ELAN2703 1
31 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +060032end
Wisley Chen61cef572021-06-25 14:36:01 +060033chip soc/intel/alderlake
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053034 register "sagv" = "SaGv_Enabled"
Wisley Chen48c1bf42023-07-24 08:34:35 +060035
36 # As per Intel Advisory doc#723158, the change is required to prevent possible
37 # display flickering issue.
38 register "usb2_phy_sus_pg_disable" = "1"
39
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053040 register "cnvi_bt_audio_offload" = "true"
Wisley Chen90d79a72021-11-03 12:32:34 +060041 # FIVR RFI Spread Spectrum 6%
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053042 register "fivr_spread_spectrum" = "FIVR_SS_6"
Mac Chiang3f137162021-10-13 15:21:22 +080043
Wisley Chene589ee32021-11-04 18:52:48 +060044 # Acoustic settings
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053045 register "acoustic_noise_mitigation" = "1"
46 register "slow_slew_rate[VR_DOMAIN_IA]" = "SLEW_FAST_8"
47 register "slow_slew_rate[VR_DOMAIN_GT]" = "SLEW_FAST_8"
48 register "fast_pkg_c_ramp_disable[VR_DOMAIN_IA]" = "1"
49 register "fast_pkg_c_ramp_disable[VR_DOMAIN_GT]" = "1"
Wisley Chene589ee32021-11-04 18:52:48 +060050
Wisley Chen03c08532022-02-17 15:53:06 +060051 register "usb2_ports[1]" = "USB2_PORT_EMPTY"
52 register "usb2_ports[5]" = "USB2_PORT_EMPTY"
Wisley Chen03c08532022-02-17 15:53:06 +060053 register "tcss_ports[1]" = "TCSS_PORT_EMPTY"
54
Wisley Chen5d74ccf2021-07-28 17:53:19 +060055 # Intel Common SoC Config
56 #+-------------------+---------------------------+
57 #| Field | Value |
58 #+-------------------+---------------------------+
Wisley Chen5d74ccf2021-07-28 17:53:19 +060059 #| GSPI1 | Fingerprint MCU |
60 #| I2C0 | Audio |
Wisley Chen7676fea2021-12-03 16:25:06 +060061 #| I2C1 | cr50 TPM. Early init is |
Wisley Chen5d74ccf2021-07-28 17:53:19 +060062 #| | required to set up a BAR |
63 #| | for TPM communication |
Wisley Chen7676fea2021-12-03 16:25:06 +060064 #| I2C3 | TouchScreen |
Wisley Chen5d74ccf2021-07-28 17:53:19 +060065 #| I2C5 | Trackpad |
66 #+-------------------+---------------------------+
67 register "common_soc_config" = "{
Wisley Chen8eedca32022-01-05 19:38:12 +060068 .i2c[0] = {
69 .speed = I2C_SPEED_FAST,
70 .rise_time_ns = 650,
71 .fall_time_ns = 400,
72 .data_hold_time_ns = 50,
73 },
Wisley Chen5d74ccf2021-07-28 17:53:19 +060074 .i2c[1] = {
Wisley Chen5d74ccf2021-07-28 17:53:19 +060075 .early_init = 1,
76 .speed = I2C_SPEED_FAST,
Wisley Chen7676fea2021-12-03 16:25:06 +060077 .rise_time_ns = 600,
78 .fall_time_ns = 400,
79 .data_hold_time_ns = 50,
Wisley Chen5d74ccf2021-07-28 17:53:19 +060080 },
Wisley Chen8eedca32022-01-05 19:38:12 +060081 .i2c[2] = {
82 .speed = I2C_SPEED_FAST,
83 .rise_time_ns = 650,
84 .fall_time_ns = 400,
85 .data_hold_time_ns = 50,
86 },
Wisley Chen7676fea2021-12-03 16:25:06 +060087 .i2c[3] = {
Wisley Chen5d74ccf2021-07-28 17:53:19 +060088 .speed = I2C_SPEED_FAST,
Wisley Chen7676fea2021-12-03 16:25:06 +060089 .rise_time_ns = 650,
90 .fall_time_ns = 400,
91 .data_hold_time_ns = 50,
Wisley Chen5d74ccf2021-07-28 17:53:19 +060092 },
Wisley Chen8eedca32022-01-05 19:38:12 +060093 .i2c[5] = {
94 .speed = I2C_SPEED_FAST,
95 .rise_time_ns = 650,
96 .fall_time_ns = 400,
97 .data_hold_time_ns = 50,
98 },
Wisley Chen5d74ccf2021-07-28 17:53:19 +060099 }"
Wisley Chendc6071d2022-01-11 18:07:20 +0600100 register "tcc_offset" = "3" # TCC of 97C
Cliff Huang20ee22c2022-02-11 18:08:32 -0800101
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600102 device domain 0 on
Wisley Chend19d27a2021-08-31 19:07:19 +0600103 device ref igpu on
104 chip drivers/gfx/generic
Won Chung2c06ef92023-07-06 16:49:50 +0000105 register "device_count" = "6"
Won Chungd6a17e22023-05-31 20:47:02 +0000106 # DDIA for eDP
Wisley Chend19d27a2021-08-31 19:07:19 +0600107 register "device[0].name" = ""LCD""
Jon Murphyc4e90452022-06-28 10:36:23 -0600108 # Use ChromeOS privacy screen _HID
Tim Wawrzynczak0167f5a2021-11-29 13:21:10 -0700109 register "device[0].hid" = ""GOOG0010""
Wisley Chend19d27a2021-08-31 19:07:19 +0600110 # Internal panel on the first port of the graphics chip
111 register "device[0].addr" = "0x80010400"
112 register "device[0].privacy.enabled" = "1"
113 register "device[0].privacy.gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H21)"
Won Chung2c06ef92023-07-06 16:49:50 +0000114 # DDIB for HDMI
115 register "device[1].name" = ""DD01""
116 # TCP0 (DP-1) for port C0
117 register "device[2].name" = ""DD02""
118 register "device[2].use_pld" = "true"
119 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000120 # TCP1 (DP-2) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP1
Won Chung2c06ef92023-07-06 16:49:50 +0000121 register "device[3].name" = ""DD03""
122 # TCP2 (DP-3) for port C2
123 register "device[4].name" = ""DD04""
124 register "device[4].use_pld" = "true"
125 register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000126 # TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
Won Chung2c06ef92023-07-06 16:49:50 +0000127 register "device[5].name" = ""DD05""
Wisley Chend19d27a2021-08-31 19:07:19 +0600128 device generic 0 on
129 probe EPS PRIVACY_SCREEN
130 end
131 end
Won Chungd6a17e22023-05-31 20:47:02 +0000132 chip drivers/gfx/generic
Won Chung2c06ef92023-07-06 16:49:50 +0000133 register "device_count" = "6"
Won Chungd6a17e22023-05-31 20:47:02 +0000134 # DDIA for eDP
135 register "device[0].name" = ""LCD""
Won Chung2c06ef92023-07-06 16:49:50 +0000136 # DDIB for HDMI
137 register "device[1].name" = ""DD01""
138 # TCP0 (DP-1) for port C0
139 register "device[2].name" = ""DD02""
140 register "device[2].use_pld" = "true"
141 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000142 # TCP1 (DP-2) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP1
Won Chung2c06ef92023-07-06 16:49:50 +0000143 register "device[3].name" = ""DD03""
144 # TCP2 (DP-3) for port C2
145 register "device[4].name" = ""DD04""
146 register "device[4].use_pld" = "true"
147 register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000148 # TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
Won Chung2c06ef92023-07-06 16:49:50 +0000149 register "device[5].name" = ""DD05""
Won Chungd6a17e22023-05-31 20:47:02 +0000150 device generic 0 on
151 probe EPS PRIVACY_SCREEN_ABSENT
152 end
153 end
Wisley Chend19d27a2021-08-31 19:07:19 +0600154 end # Integrated Graphics Device
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600155 device ref dtt on
156 chip drivers/intel/dptf
157 ## sensor information
158 register "options.tsr[0].desc" = ""DRAM""
Wisley Chenb8b833f2021-11-05 16:38:00 +0600159 register "options.tsr[1].desc" = ""SOC""
160 register "options.tsr[2].desc" = ""Charger""
161 register "options.tsr[3].desc" = ""5V regulator""
162
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600163 # TODO: below values are initial reference values only
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600164 ## Passive Policy
165 register "policies.passive" = "{
Wisley Chen58d29432021-09-16 18:26:48 +0600166 [0] = DPTF_PASSIVE(CPU, CPU, 55, 5000),
167 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 45, 5000),
Wisley Chenb8b833f2021-11-05 16:38:00 +0600168 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 51, 5000),
169 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 51, 5000),
170 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 51, 5000),
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600171 }"
172 register "controls.power_limits" = "{
173 .pl1 = {
Wisley Chen58d29432021-09-16 18:26:48 +0600174 .min_power = 13000,
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600175 .max_power = 15000,
Wisley Chen58d29432021-09-16 18:26:48 +0600176 .time_window_min = 42 * MSECS_PER_SEC,
177 .time_window_max = 42 * MSECS_PER_SEC,
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600178 .granularity = 200,
179 },
180 .pl2 = {
Wisley Chen58d29432021-09-16 18:26:48 +0600181 .min_power = 35000,
182 .max_power = 35000,
183 .time_window_min = 42 * MSECS_PER_SEC,
184 .time_window_max = 42 * MSECS_PER_SEC,
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600185 .granularity = 1000,
186 }
187 }"
188 ## Charger Performance Control (Control, mA)
189 register "controls.charger_perf" = "{
190 [0] = { 255, 1700 },
191 [1] = { 24, 1500 },
192 [2] = { 16, 1000 },
193 [3] = { 8, 500 }
194 }"
Furquan Shaikh4aba7392021-09-20 10:51:45 -0700195 device generic 0 alias dptf_policy on end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600196 end
197 end
Wisley Chen18972f82022-03-04 15:33:15 +0600198 device ref tbt_pcie_rp1 off end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600199 device ref ipu on
Subrata Banik3d469fa2021-09-10 00:21:23 +0530200 chip drivers/intel/mipi_camera
Wisley Chen155ae1b2021-08-10 15:01:51 +0600201 register "acpi_uid" = "0x50000"
202 register "acpi_name" = ""IPU0""
203 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
204
205 register "cio2_num_ports" = "1"
206 register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
207 register "cio2_lane_endpoint[0]" = ""^I2C2.CAM0""
208 register "cio2_prt[0]" = "2"
209 device generic 0 on end
210 end
211 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600212 device ref cnvi_wifi on
213 chip drivers/wifi/generic
214 register "wake" = "GPE0_PME_B0"
215 device generic 0 on end
216 end
217 end
Wisley Chen09a32862021-08-10 15:13:15 +0600218 device ref pcie_rp6 on
Cliff Huang27547872022-02-23 23:45:14 -0800219 # Enable WWAN PCIE 6 using clk 5
220 register "pch_pcie_rp[PCH_RP(6)]" = "{
221 .clk_src = 5,
222 .clk_req = 5,
223 .flags = PCIE_RP_LTR | PCIE_RP_AER,
224 }"
225 chip soc/intel/common/block/pcie/rtd3
226 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
227 register "reset_off_delay_ms" = "20"
228 # register "reset_delay_ms" = "1000"
229 register "srcclk_pin" = "5"
230 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
231 register "skip_on_off_support" = "true"
Cliff Huangdaeb7812023-03-02 10:17:50 -0800232 register "use_rp_mutex" = "true"
Cliff Huang27547872022-02-23 23:45:14 -0800233 device generic 0 alias rp6_rtd3 on
234 probe DB_LTE LTE_PCIE
235 end
236 end
Cliff Huang1ee6e4a2022-01-21 23:34:02 -0800237 chip drivers/wwan/fm
238 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F21)"
239 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
240 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
241 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A7)"
Tim Wawrzynczak8dc28c42022-02-28 08:59:10 -0700242 register "add_acpi_dma_property" = "true"
Cliff Huang1ee6e4a2022-01-21 23:34:02 -0800243 use rp6_rtd3 as rtd3dev
Tim Wawrzynczakd85e5eb2022-04-11 13:04:14 -0600244 device generic 0 alias rp6_wwan on
Cliff Huang1ee6e4a2022-01-21 23:34:02 -0800245 probe DB_LTE LTE_PCIE
246 end
247 end
Cliff Huang27547872022-02-23 23:45:14 -0800248 probe DB_LTE LTE_PCIE
Wisley Chen09a32862021-08-10 15:13:15 +0600249 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600250 device ref tcss_dma0 on
251 chip drivers/intel/usb4/retimer
252 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
253 use tcss_usb3_port1 as dfp[0].typec_port
254 device generic 0 on end
255 end
256 end
257 device ref tcss_dma1 on
258 chip drivers/intel/usb4/retimer
259 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
260 use tcss_usb3_port3 as dfp[0].typec_port
261 device generic 0 on end
262 end
263 end
264 device ref pcie_rp8 on
265 chip soc/intel/common/block/pcie/rtd3
266 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
267 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
268 register "srcclk_pin" = "3"
269 device generic 0 on end
270 end
271 end #PCIE8 SD card
272 device ref i2c0 on
273 chip drivers/i2c/generic
Wisley Chen4ca7b262021-09-17 14:37:59 +0600274 register "hid" = ""RTL5682""
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600275 register "name" = ""RT58""
276 register "desc" = ""Headset Codec""
277 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
278 # Set the jd_src to RT5668_JD1 for jack detection
279 register "property_count" = "1"
280 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
281 register "property_list[0].name" = ""realtek,jd-src""
282 register "property_list[0].integer" = "1"
283 device i2c 1a on
Wisley Chen4ca7b262021-09-17 14:37:59 +0600284 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600285 end
286 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600287 chip drivers/i2c/max98390
288 register "desc" = ""MAX98390 Speaker Amp 0""
289 register "uid" = "0"
290 register "name" = ""MXW0""
291 register "r0_calib_key" = ""dsm_calib_r0_0""
292 register "temperature_calib_key" = ""dsm_calib_temp_0""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600293 register "dsm_param_file_name" = ""dsm_param_R""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600294 register "vmon_slot_no" = "0"
295 register "imon_slot_no" = "1"
296 device i2c 0x3a on
297 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
298 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600299 end
300 chip drivers/i2c/max98390
301 register "desc" = ""MAX98390 Speaker Amp 1""
302 register "uid" = "1"
303 register "name" = ""MXW1""
304 register "r0_calib_key" = ""dsm_calib_r0_1""
305 register "temperature_calib_key" = ""dsm_calib_temp_1""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600306 register "dsm_param_file_name" = ""dsm_param_L""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600307 register "vmon_slot_no" = "1"
308 register "imon_slot_no" = "0"
309 device i2c 0x3b on
310 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
311 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600312 end
313 chip drivers/i2c/max98390
314 register "desc" = ""MAX98390 Speaker Amp 2""
315 register "uid" = "2"
316 register "name" = ""MXW2""
317 register "r0_calib_key" = ""dsm_calib_r0_2""
318 register "temperature_calib_key" = ""dsm_calib_temp_2""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600319 register "dsm_param_file_name" = ""dsm_param_tt_R""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600320 register "vmon_slot_no" = "2"
321 register "imon_slot_no" = "3"
322 device i2c 0x38 on
323 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
324 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600325 end
326 chip drivers/i2c/max98390
327 register "desc" = ""MAX98390 Speaker Amp 3""
328 register "uid" = "3"
329 register "name" = ""MXW3""
330 register "r0_calib_key" = ""dsm_calib_r0_3""
331 register "temperature_calib_key" = ""dsm_calib_temp_3""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600332 register "dsm_param_file_name" = ""dsm_param_tt_L""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600333 register "vmon_slot_no" = "3"
334 register "imon_slot_no" = "2"
335 device i2c 0x39 on
336 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
337 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600338 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600339 end #I2C0
340 device ref i2c1 on
Wisley Chen7676fea2021-12-03 16:25:06 +0600341 chip drivers/i2c/tpm
342 register "hid" = ""GOOG0005""
343 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
344 device i2c 50 on end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600345 end
346 end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600347 device ref i2c2 on
348 chip drivers/intel/mipi_camera
349 register "acpi_hid" = ""OVTI5675""
350 register "acpi_uid" = "0"
351 register "acpi_name" = ""CAM0""
352 register "chip_name" = ""Ov 5675 Camera""
353 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
354
355 register "ssdb.lanes_used" = "2"
356 register "ssdb.link_used" = "1"
357 register "num_freq_entries" = "1"
358 register "link_freq[0]" = "DEFAULT_LINK_FREQ"
359 register "remote_name" = ""IPU0""
Varshit B Pandyaf0e72102021-11-10 19:16:45 +0530360 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600361
362 register "has_power_resource" = "1"
363 #Controls
364 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
365 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
366
Arec Kao093ac932021-09-16 12:03:45 +0800367 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #EN_UCAM_LED_PWR
Arec Kao8e304fe2022-05-17 15:42:41 +0800368 register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" #reset
Wisley Chen155ae1b2021-08-10 15:01:51 +0600369
Subrata Banik3d469fa2021-09-10 00:21:23 +0530370 #_ON
Arec Kao8e304fe2022-05-17 15:42:41 +0800371 register "on_seq.ops_cnt" = "4"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600372 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
373 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800374 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
375 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600376
377 #_OFF
Arec Kao8e304fe2022-05-17 15:42:41 +0800378 register "off_seq.ops_cnt" = "3"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600379 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800380 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
381 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Arec Kao093ac932021-09-16 12:03:45 +0800382 device i2c 36 on
383 probe CAMERA_UFC CAMERA_NONE
384 probe CAMERA_UFC CAMERA_OV5675
385 end
386 end
387 chip drivers/intel/mipi_camera
388 register "acpi_hid" = ""INT3537""
389 register "acpi_uid" = "0"
390 register "acpi_name" = ""CAM0""
391 register "chip_name" = ""Hi-556 Camera""
392 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
Varshit B Pandyaf0e72102021-11-10 19:16:45 +0530393 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Arec Kao093ac932021-09-16 12:03:45 +0800394
395 register "ssdb.lanes_used" = "2"
396 register "ssdb.link_used" = "1"
397 register "num_freq_entries" = "1"
398 register "link_freq[0]" = "437000000"
399 register "remote_name" = ""IPU0""
400
401 register "has_power_resource" = "1"
402 #Controls
403 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
404 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
405
406 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #EN_UCAM_LED_PWR
Arec Kao8e304fe2022-05-17 15:42:41 +0800407 register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" #reset
Arec Kao093ac932021-09-16 12:03:45 +0800408
409 #_ON
Arec Kao8e304fe2022-05-17 15:42:41 +0800410 register "on_seq.ops_cnt" = "4"
Arec Kao093ac932021-09-16 12:03:45 +0800411 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
412 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800413 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
414 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
Arec Kao093ac932021-09-16 12:03:45 +0800415
416 #_OFF
Arec Kao8e304fe2022-05-17 15:42:41 +0800417 register "off_seq.ops_cnt" = "3"
Arec Kao093ac932021-09-16 12:03:45 +0800418 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800419 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
420 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Arec Kao093ac932021-09-16 12:03:45 +0800421 device i2c 20 on
422 probe CAMERA_UFC CAMERA_HI556
423 end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600424 end
425 chip drivers/intel/mipi_camera
426 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
427 register "acpi_uid" = "1"
428 register "acpi_name" = ""NVM0""
429 register "chip_name" = ""M24C64X""
430 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
Varshit B Pandyaf0e72102021-11-10 19:16:45 +0530431 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600432
Wisley Chen155ae1b2021-08-10 15:01:51 +0600433 register "nvm_size" = "0x2000"
434 register "nvm_pagesize" = "1"
435 register "nvm_readonly" = "1"
436 register "nvm_width" = "0x10"
437 register "nvm_compat" = ""atmel,24c64""
Subrata Banik3d469fa2021-09-10 00:21:23 +0530438 device i2c 50 on end
439 end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600440
441 end
David Wu6de48982021-11-18 21:22:33 +0800442 device ref i2c3 on
Wisley Chen7676fea2021-12-03 16:25:06 +0600443 chip drivers/i2c/hid
444 register "generic.hid" = ""ELAN2513""
445 register "generic.desc" = ""ELAN Touchscreen""
446 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500447 register "generic.detect" = "1"
Wisley Chen7676fea2021-12-03 16:25:06 +0600448 register "generic.reset_gpio" =
449 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
450 register "generic.reset_delay_ms" = "300"
451 register "generic.reset_off_delay_ms" = "1"
452 register "generic.enable_gpio" =
453 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
454 register "generic.enable_delay_ms" = "6"
455 register "generic.stop_gpio" =
456 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
457 register "generic.stop_off_delay_ms" = "1"
458 register "generic.has_power_resource" = "1"
459 register "hid_desc_reg_offset" = "0x01"
460 device i2c 0x15 on end
David Wu6de48982021-11-18 21:22:33 +0800461 end
462 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600463 device ref i2c5 on
464 chip drivers/i2c/generic
465 register "hid" = ""ELAN0000""
466 register "desc" = ""ELAN Touchpad""
467 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
468 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500469 register "detect" = "1"
Wisley Chena398be92021-09-11 12:22:28 +0600470 device i2c 15 on
471 probe TP_SOURCE ELAN0000
472 end
473 end
474 chip drivers/i2c/hid
475 register "generic.hid" = ""ELAN2703""
476 register "generic.desc" = ""ELAN Touchpad""
477 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
478 register "generic.wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500479 register "generic.detect" = "1"
Wisley Chena398be92021-09-11 12:22:28 +0600480 register "hid_desc_reg_offset" = "0x01"
481 device i2c 15 on
482 probe TP_SOURCE ELAN2703
483 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600484 end
485 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600486 device ref gspi1 on
487 chip drivers/spi/acpi
488 register "name" = ""CRFP""
489 register "hid" = "ACPI_DT_NAMESPACE_HID"
490 register "uid" = "1"
491 register "compat_string" = ""google,cros-ec-spi""
492 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
493 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400494 register "has_power_resource" = "1"
495 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
496 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
497 register "enable_delay_ms" = "3"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600498 device spi 0 on end
499 end # FPMCU
500 end
501 device ref pch_espi on
502 chip ec/google/chromeec
503 use conn0 as mux_conn[0]
504 use conn1 as mux_conn[1]
505 device pnp 0c09.0 on end
506 end
507 end
508 device ref pmc hidden
509 chip drivers/intel/pmc_mux
510 device generic 0 on
511 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100512 use usb2_port1 as usb2_port
513 use tcss_usb3_port1 as usb3_port
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600514 device generic 0 alias conn0 on end
515 end
516 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100517 use usb2_port3 as usb2_port
518 use tcss_usb3_port3 as usb3_port
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600519 device generic 1 alias conn1 on end
520 end
521 end
522 end
523 end
524 device ref tcss_xhci on
525 chip drivers/usb/acpi
526 device ref tcss_root_hub on
527 chip drivers/usb/acpi
528 register "desc" = ""USB3 Type-C Port C0 (MLB)""
529 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000530 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530531 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600532 device ref tcss_usb3_port1 on end
533 end
534 chip drivers/usb/acpi
535 register "desc" = ""USB3 Type-C Port C2 (MLB)""
536 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000537 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530538 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600539 device ref tcss_usb3_port3 on end
540 end
541 end
542 end
543 end
544 device ref xhci on
545 chip drivers/usb/acpi
546 device ref xhci_root_hub on
547 chip drivers/usb/acpi
548 register "desc" = ""USB2 Type-C Port C0 (MLB)""
549 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000550 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530551 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600552 device ref usb2_port1 on end
553 end
554 chip drivers/usb/acpi
555 register "desc" = ""USB2 Type-C Port C2 (MLB)""
556 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000557 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530558 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600559 device ref usb2_port3 on end
560 end
561 chip drivers/usb/acpi
562 register "desc" = ""USB2 WWAN""
563 register "type" = "UPC_TYPE_INTERNAL"
564 device ref usb2_port4 on end
565 end
566 chip drivers/usb/acpi
567 register "desc" = ""USB2 Camera""
568 register "type" = "UPC_TYPE_INTERNAL"
569 device ref usb2_port6 on end
570 end
571 chip drivers/usb/acpi
572 register "desc" = ""USB2 Type-A Port (MLB)""
573 register "type" = "UPC_TYPE_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000574 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530575 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600576 device ref usb2_port9 on end
577 end
578 chip drivers/usb/acpi
579 register "desc" = ""USB2 Bluetooth""
580 register "type" = "UPC_TYPE_INTERNAL"
581 register "reset_gpio" =
582 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
583 device ref usb2_port10 on end
584 end
585 chip drivers/usb/acpi
586 register "desc" = ""USB3 Type-A Port (MLB)""
587 register "type" = "UPC_TYPE_USB3_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000588 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530589 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600590 device ref usb3_port1 on end
591 end
592 chip drivers/usb/acpi
593 register "desc" = ""USB3 WWAN""
594 register "type" = "UPC_TYPE_INTERNAL"
595 device ref usb3_port4 on end
596 end
597 end
598 end
599 end
600 end
Wisley Chen61cef572021-06-25 14:36:01 +0600601end