blob: 1fe1682782b8034247d02f6f53a1c017d45c0b08 [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
Matt DeVillier4e685bf2024-01-19 20:37:58 -0600107 register "device[0].name" = ""LCD0""
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
Matt DeVillier4e685bf2024-01-19 20:37:58 -0600135 register "device[0].name" = ""LCD0""
Matt DeVilliercf29efa2024-01-16 18:46:20 -0600136 # Internal panel on the first port of the graphics chip
137 register "device[0].addr" = "0x80010400"
Won Chung2c06ef92023-07-06 16:49:50 +0000138 # DDIB for HDMI
139 register "device[1].name" = ""DD01""
140 # TCP0 (DP-1) for port C0
141 register "device[2].name" = ""DD02""
142 register "device[2].use_pld" = "true"
143 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000144 # 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 +0000145 register "device[3].name" = ""DD03""
146 # TCP2 (DP-3) for port C2
147 register "device[4].name" = ""DD04""
148 register "device[4].use_pld" = "true"
149 register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000150 # 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 +0000151 register "device[5].name" = ""DD05""
Won Chungd6a17e22023-05-31 20:47:02 +0000152 device generic 0 on
153 probe EPS PRIVACY_SCREEN_ABSENT
154 end
155 end
Wisley Chend19d27a2021-08-31 19:07:19 +0600156 end # Integrated Graphics Device
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600157 device ref dtt on
158 chip drivers/intel/dptf
159 ## sensor information
160 register "options.tsr[0].desc" = ""DRAM""
Wisley Chenb8b833f2021-11-05 16:38:00 +0600161 register "options.tsr[1].desc" = ""SOC""
162 register "options.tsr[2].desc" = ""Charger""
163 register "options.tsr[3].desc" = ""5V regulator""
164
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600165 # TODO: below values are initial reference values only
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600166 ## Passive Policy
167 register "policies.passive" = "{
Wisley Chen58d29432021-09-16 18:26:48 +0600168 [0] = DPTF_PASSIVE(CPU, CPU, 55, 5000),
169 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 45, 5000),
Wisley Chenb8b833f2021-11-05 16:38:00 +0600170 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 51, 5000),
171 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 51, 5000),
172 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 51, 5000),
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600173 }"
174 register "controls.power_limits" = "{
175 .pl1 = {
Wisley Chen58d29432021-09-16 18:26:48 +0600176 .min_power = 13000,
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600177 .max_power = 15000,
Wisley Chen58d29432021-09-16 18:26:48 +0600178 .time_window_min = 42 * MSECS_PER_SEC,
179 .time_window_max = 42 * MSECS_PER_SEC,
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600180 .granularity = 200,
181 },
182 .pl2 = {
Wisley Chen58d29432021-09-16 18:26:48 +0600183 .min_power = 35000,
184 .max_power = 35000,
185 .time_window_min = 42 * MSECS_PER_SEC,
186 .time_window_max = 42 * MSECS_PER_SEC,
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600187 .granularity = 1000,
188 }
189 }"
190 ## Charger Performance Control (Control, mA)
191 register "controls.charger_perf" = "{
192 [0] = { 255, 1700 },
193 [1] = { 24, 1500 },
194 [2] = { 16, 1000 },
195 [3] = { 8, 500 }
196 }"
Furquan Shaikh4aba7392021-09-20 10:51:45 -0700197 device generic 0 alias dptf_policy on end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600198 end
199 end
Wisley Chen18972f82022-03-04 15:33:15 +0600200 device ref tbt_pcie_rp1 off end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600201 device ref ipu on
Subrata Banik3d469fa2021-09-10 00:21:23 +0530202 chip drivers/intel/mipi_camera
Wisley Chen155ae1b2021-08-10 15:01:51 +0600203 register "acpi_uid" = "0x50000"
204 register "acpi_name" = ""IPU0""
205 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
206
207 register "cio2_num_ports" = "1"
208 register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
209 register "cio2_lane_endpoint[0]" = ""^I2C2.CAM0""
210 register "cio2_prt[0]" = "2"
211 device generic 0 on end
212 end
213 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600214 device ref cnvi_wifi on
215 chip drivers/wifi/generic
216 register "wake" = "GPE0_PME_B0"
217 device generic 0 on end
218 end
219 end
Wisley Chen09a32862021-08-10 15:13:15 +0600220 device ref pcie_rp6 on
Cliff Huang27547872022-02-23 23:45:14 -0800221 # Enable WWAN PCIE 6 using clk 5
222 register "pch_pcie_rp[PCH_RP(6)]" = "{
223 .clk_src = 5,
224 .clk_req = 5,
225 .flags = PCIE_RP_LTR | PCIE_RP_AER,
226 }"
227 chip soc/intel/common/block/pcie/rtd3
228 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
229 register "reset_off_delay_ms" = "20"
230 # register "reset_delay_ms" = "1000"
231 register "srcclk_pin" = "5"
232 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
233 register "skip_on_off_support" = "true"
Cliff Huangdaeb7812023-03-02 10:17:50 -0800234 register "use_rp_mutex" = "true"
Cliff Huang27547872022-02-23 23:45:14 -0800235 device generic 0 alias rp6_rtd3 on
236 probe DB_LTE LTE_PCIE
237 end
238 end
Cliff Huang1ee6e4a2022-01-21 23:34:02 -0800239 chip drivers/wwan/fm
240 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F21)"
241 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
242 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
Paweł Anikiel97cd5bd2023-10-16 14:34:06 +0000243 register "wake_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPP_A7)"
Tim Wawrzynczak8dc28c42022-02-28 08:59:10 -0700244 register "add_acpi_dma_property" = "true"
Cliff Huang1ee6e4a2022-01-21 23:34:02 -0800245 use rp6_rtd3 as rtd3dev
Tim Wawrzynczakd85e5eb2022-04-11 13:04:14 -0600246 device generic 0 alias rp6_wwan on
Cliff Huang1ee6e4a2022-01-21 23:34:02 -0800247 probe DB_LTE LTE_PCIE
248 end
249 end
Cliff Huang27547872022-02-23 23:45:14 -0800250 probe DB_LTE LTE_PCIE
Wisley Chen09a32862021-08-10 15:13:15 +0600251 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600252 device ref tcss_dma0 on
253 chip drivers/intel/usb4/retimer
254 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
255 use tcss_usb3_port1 as dfp[0].typec_port
256 device generic 0 on end
257 end
258 end
259 device ref tcss_dma1 on
260 chip drivers/intel/usb4/retimer
261 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
262 use tcss_usb3_port3 as dfp[0].typec_port
263 device generic 0 on end
264 end
265 end
266 device ref pcie_rp8 on
267 chip soc/intel/common/block/pcie/rtd3
268 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
269 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
270 register "srcclk_pin" = "3"
271 device generic 0 on end
272 end
273 end #PCIE8 SD card
274 device ref i2c0 on
275 chip drivers/i2c/generic
Wisley Chen4ca7b262021-09-17 14:37:59 +0600276 register "hid" = ""RTL5682""
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600277 register "name" = ""RT58""
278 register "desc" = ""Headset Codec""
279 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
280 # Set the jd_src to RT5668_JD1 for jack detection
281 register "property_count" = "1"
282 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
283 register "property_list[0].name" = ""realtek,jd-src""
284 register "property_list[0].integer" = "1"
285 device i2c 1a on
Wisley Chen4ca7b262021-09-17 14:37:59 +0600286 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600287 end
288 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600289 chip drivers/i2c/max98390
290 register "desc" = ""MAX98390 Speaker Amp 0""
291 register "uid" = "0"
292 register "name" = ""MXW0""
293 register "r0_calib_key" = ""dsm_calib_r0_0""
294 register "temperature_calib_key" = ""dsm_calib_temp_0""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600295 register "dsm_param_file_name" = ""dsm_param_R""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600296 register "vmon_slot_no" = "0"
297 register "imon_slot_no" = "1"
298 device i2c 0x3a on
299 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
300 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600301 end
302 chip drivers/i2c/max98390
303 register "desc" = ""MAX98390 Speaker Amp 1""
304 register "uid" = "1"
305 register "name" = ""MXW1""
306 register "r0_calib_key" = ""dsm_calib_r0_1""
307 register "temperature_calib_key" = ""dsm_calib_temp_1""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600308 register "dsm_param_file_name" = ""dsm_param_L""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600309 register "vmon_slot_no" = "1"
310 register "imon_slot_no" = "0"
311 device i2c 0x3b on
312 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
313 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600314 end
315 chip drivers/i2c/max98390
316 register "desc" = ""MAX98390 Speaker Amp 2""
317 register "uid" = "2"
318 register "name" = ""MXW2""
319 register "r0_calib_key" = ""dsm_calib_r0_2""
320 register "temperature_calib_key" = ""dsm_calib_temp_2""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600321 register "dsm_param_file_name" = ""dsm_param_tt_R""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600322 register "vmon_slot_no" = "2"
323 register "imon_slot_no" = "3"
324 device i2c 0x38 on
325 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
326 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600327 end
328 chip drivers/i2c/max98390
329 register "desc" = ""MAX98390 Speaker Amp 3""
330 register "uid" = "3"
331 register "name" = ""MXW3""
332 register "r0_calib_key" = ""dsm_calib_r0_3""
333 register "temperature_calib_key" = ""dsm_calib_temp_3""
Wisley Chen88c0fad2021-11-12 13:19:07 +0600334 register "dsm_param_file_name" = ""dsm_param_tt_L""
Wisley Chen4ca7b262021-09-17 14:37:59 +0600335 register "vmon_slot_no" = "3"
336 register "imon_slot_no" = "2"
337 device i2c 0x39 on
338 probe AUDIO MAX98390_ALC5682I_I2S_4SPK
339 end
Wisley Chen9413f4e2021-08-24 16:51:44 +0600340 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600341 end #I2C0
342 device ref i2c1 on
Wisley Chen7676fea2021-12-03 16:25:06 +0600343 chip drivers/i2c/tpm
344 register "hid" = ""GOOG0005""
345 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
346 device i2c 50 on end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600347 end
348 end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600349 device ref i2c2 on
350 chip drivers/intel/mipi_camera
351 register "acpi_hid" = ""OVTI5675""
352 register "acpi_uid" = "0"
353 register "acpi_name" = ""CAM0""
354 register "chip_name" = ""Ov 5675 Camera""
355 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
356
357 register "ssdb.lanes_used" = "2"
358 register "ssdb.link_used" = "1"
359 register "num_freq_entries" = "1"
360 register "link_freq[0]" = "DEFAULT_LINK_FREQ"
361 register "remote_name" = ""IPU0""
Varshit B Pandyaf0e72102021-11-10 19:16:45 +0530362 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600363
364 register "has_power_resource" = "1"
365 #Controls
366 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
367 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
368
Arec Kao093ac932021-09-16 12:03:45 +0800369 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #EN_UCAM_LED_PWR
Arec Kao8e304fe2022-05-17 15:42:41 +0800370 register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" #reset
Wisley Chen155ae1b2021-08-10 15:01:51 +0600371
Subrata Banik3d469fa2021-09-10 00:21:23 +0530372 #_ON
Arec Kao8e304fe2022-05-17 15:42:41 +0800373 register "on_seq.ops_cnt" = "4"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600374 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
375 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800376 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
377 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600378
379 #_OFF
Arec Kao8e304fe2022-05-17 15:42:41 +0800380 register "off_seq.ops_cnt" = "3"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600381 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800382 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
383 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Arec Kao093ac932021-09-16 12:03:45 +0800384 device i2c 36 on
385 probe CAMERA_UFC CAMERA_NONE
386 probe CAMERA_UFC CAMERA_OV5675
387 end
388 end
389 chip drivers/intel/mipi_camera
390 register "acpi_hid" = ""INT3537""
391 register "acpi_uid" = "0"
392 register "acpi_name" = ""CAM0""
393 register "chip_name" = ""Hi-556 Camera""
394 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
Varshit B Pandyaf0e72102021-11-10 19:16:45 +0530395 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Arec Kao093ac932021-09-16 12:03:45 +0800396
397 register "ssdb.lanes_used" = "2"
398 register "ssdb.link_used" = "1"
399 register "num_freq_entries" = "1"
400 register "link_freq[0]" = "437000000"
401 register "remote_name" = ""IPU0""
402
403 register "has_power_resource" = "1"
404 #Controls
405 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
406 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
407
408 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #EN_UCAM_LED_PWR
Arec Kao8e304fe2022-05-17 15:42:41 +0800409 register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" #reset
Arec Kao093ac932021-09-16 12:03:45 +0800410
411 #_ON
Arec Kao8e304fe2022-05-17 15:42:41 +0800412 register "on_seq.ops_cnt" = "4"
Arec Kao093ac932021-09-16 12:03:45 +0800413 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
414 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800415 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
416 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
Arec Kao093ac932021-09-16 12:03:45 +0800417
418 #_OFF
Arec Kao8e304fe2022-05-17 15:42:41 +0800419 register "off_seq.ops_cnt" = "3"
Arec Kao093ac932021-09-16 12:03:45 +0800420 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
Arec Kao8e304fe2022-05-17 15:42:41 +0800421 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
422 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Arec Kao093ac932021-09-16 12:03:45 +0800423 device i2c 20 on
424 probe CAMERA_UFC CAMERA_HI556
425 end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600426 end
427 chip drivers/intel/mipi_camera
428 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
429 register "acpi_uid" = "1"
430 register "acpi_name" = ""NVM0""
431 register "chip_name" = ""M24C64X""
432 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
Varshit B Pandyaf0e72102021-11-10 19:16:45 +0530433 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
Wisley Chen155ae1b2021-08-10 15:01:51 +0600434
Wisley Chen155ae1b2021-08-10 15:01:51 +0600435 register "nvm_size" = "0x2000"
436 register "nvm_pagesize" = "1"
437 register "nvm_readonly" = "1"
438 register "nvm_width" = "0x10"
439 register "nvm_compat" = ""atmel,24c64""
Subrata Banik3d469fa2021-09-10 00:21:23 +0530440 device i2c 50 on end
441 end
Wisley Chen155ae1b2021-08-10 15:01:51 +0600442
443 end
David Wu6de48982021-11-18 21:22:33 +0800444 device ref i2c3 on
Wisley Chen7676fea2021-12-03 16:25:06 +0600445 chip drivers/i2c/hid
446 register "generic.hid" = ""ELAN2513""
447 register "generic.desc" = ""ELAN Touchscreen""
448 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500449 register "generic.detect" = "1"
Wisley Chen7676fea2021-12-03 16:25:06 +0600450 register "generic.reset_gpio" =
451 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
452 register "generic.reset_delay_ms" = "300"
453 register "generic.reset_off_delay_ms" = "1"
454 register "generic.enable_gpio" =
455 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
456 register "generic.enable_delay_ms" = "6"
457 register "generic.stop_gpio" =
458 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
459 register "generic.stop_off_delay_ms" = "1"
460 register "generic.has_power_resource" = "1"
461 register "hid_desc_reg_offset" = "0x01"
462 device i2c 0x15 on end
David Wu6de48982021-11-18 21:22:33 +0800463 end
464 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600465 device ref i2c5 on
466 chip drivers/i2c/generic
467 register "hid" = ""ELAN0000""
468 register "desc" = ""ELAN Touchpad""
469 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
470 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500471 register "detect" = "1"
Wisley Chena398be92021-09-11 12:22:28 +0600472 device i2c 15 on
473 probe TP_SOURCE ELAN0000
474 end
475 end
476 chip drivers/i2c/hid
477 register "generic.hid" = ""ELAN2703""
478 register "generic.desc" = ""ELAN Touchpad""
479 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
480 register "generic.wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500481 register "generic.detect" = "1"
Wisley Chena398be92021-09-11 12:22:28 +0600482 register "hid_desc_reg_offset" = "0x01"
483 device i2c 15 on
484 probe TP_SOURCE ELAN2703
485 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600486 end
487 end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600488 device ref gspi1 on
489 chip drivers/spi/acpi
490 register "name" = ""CRFP""
491 register "hid" = "ACPI_DT_NAMESPACE_HID"
492 register "uid" = "1"
493 register "compat_string" = ""google,cros-ec-spi""
494 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
495 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400496 register "has_power_resource" = "1"
497 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
498 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
499 register "enable_delay_ms" = "3"
Matt DeVillieraf46b472023-10-28 11:16:14 -0500500 device spi 0 hidden end
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600501 end # FPMCU
502 end
503 device ref pch_espi on
504 chip ec/google/chromeec
505 use conn0 as mux_conn[0]
506 use conn1 as mux_conn[1]
507 device pnp 0c09.0 on end
508 end
509 end
510 device ref pmc hidden
511 chip drivers/intel/pmc_mux
512 device generic 0 on
513 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100514 use usb2_port1 as usb2_port
515 use tcss_usb3_port1 as usb3_port
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600516 device generic 0 alias conn0 on end
517 end
518 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100519 use usb2_port3 as usb2_port
520 use tcss_usb3_port3 as usb3_port
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600521 device generic 1 alias conn1 on end
522 end
523 end
524 end
525 end
526 device ref tcss_xhci on
527 chip drivers/usb/acpi
528 device ref tcss_root_hub on
529 chip drivers/usb/acpi
530 register "desc" = ""USB3 Type-C Port C0 (MLB)""
531 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000532 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530533 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600534 device ref tcss_usb3_port1 on end
535 end
536 chip drivers/usb/acpi
537 register "desc" = ""USB3 Type-C Port C2 (MLB)""
538 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000539 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530540 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600541 device ref tcss_usb3_port3 on end
542 end
543 end
544 end
545 end
546 device ref xhci on
547 chip drivers/usb/acpi
548 device ref xhci_root_hub on
549 chip drivers/usb/acpi
550 register "desc" = ""USB2 Type-C Port C0 (MLB)""
551 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000552 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530553 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600554 device ref usb2_port1 on end
555 end
556 chip drivers/usb/acpi
557 register "desc" = ""USB2 Type-C Port C2 (MLB)""
558 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000559 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530560 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600561 device ref usb2_port3 on end
562 end
563 chip drivers/usb/acpi
564 register "desc" = ""USB2 WWAN""
565 register "type" = "UPC_TYPE_INTERNAL"
566 device ref usb2_port4 on end
567 end
568 chip drivers/usb/acpi
569 register "desc" = ""USB2 Camera""
570 register "type" = "UPC_TYPE_INTERNAL"
571 device ref usb2_port6 on end
572 end
573 chip drivers/usb/acpi
574 register "desc" = ""USB2 Type-A Port (MLB)""
575 register "type" = "UPC_TYPE_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000576 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530577 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600578 device ref usb2_port9 on end
579 end
580 chip drivers/usb/acpi
581 register "desc" = ""USB2 Bluetooth""
582 register "type" = "UPC_TYPE_INTERNAL"
583 register "reset_gpio" =
584 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
585 device ref usb2_port10 on end
586 end
587 chip drivers/usb/acpi
588 register "desc" = ""USB3 Type-A Port (MLB)""
589 register "type" = "UPC_TYPE_USB3_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000590 register "use_custom_pld" = "true"
Subrata Banikef472122022-02-16 18:44:09 +0530591 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
Wisley Chen5d74ccf2021-07-28 17:53:19 +0600592 device ref usb3_port1 on end
593 end
594 chip drivers/usb/acpi
595 register "desc" = ""USB3 WWAN""
596 register "type" = "UPC_TYPE_INTERNAL"
597 device ref usb3_port4 on end
598 end
599 end
600 end
601 end
602 end
Wisley Chen61cef572021-06-25 14:36:01 +0600603end