blob: ca32cd5fee77d5ab03443a3cc99932a8def45312 [file] [log] [blame]
Rex Chou50d3a642023-07-11 13:26:08 +08001chip soc/intel/alderlake
Rex Chouf232b192023-07-21 15:40:34 +08002 register "sagv" = "SaGv_Enabled"
Rex Chou50d3a642023-07-11 13:26:08 +08003
Rex Chouf232b192023-07-21 15:40:34 +08004 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
5 # Bit 2 - C1 has a redriver which does SBU muxing.
6 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
7 register "tcss_aux_ori" = "1"
8
9 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
10
Rex Chou684eca72023-08-04 15:29:59 +080011 # Configure external V1P05/Vnn/VnnSx Rails
12 register "ext_fivr_settings" = "{
13 .configure_ext_fivr = 1,
14 .v1p05_enable_bitmap = FIVR_ENABLE_ALL_SX & ~FIVR_ENABLE_S0,
15 .vnn_enable_bitmap = FIVR_ENABLE_ALL_SX,
16 .vnn_sx_enable_bitmap = FIVR_ENABLE_ALL_SX,
17 .v1p05_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL,
18 .vnn_supported_voltage_bitmap = FIVR_VOLTAGE_MIN_ACTIVE,
19 .v1p05_voltage_mv = 1050,
20 .vnn_voltage_mv = 780,
21 .vnn_sx_voltage_mv = 1050,
22 .v1p05_icc_max_ma = 500,
23 .vnn_icc_max_ma = 500,
24 }"
25
Rex Chouf232b192023-07-21 15:40:34 +080026 # Intel Common SoC Config
27 #+-------------------+---------------------------+
28 #| Field | Value |
29 #+-------------------+---------------------------+
30 #| I2C0 | TPM. Early init is |
31 #| | required to set up a BAR |
32 #| | for TPM communication |
33 #| I2C1 | Touchscreen |
34 #| I2C2 | TOF/ALS |
35 #| I2C3 | Audio |
36 #| I2C5 | Trackpad |
37 #+-------------------+---------------------------+
38 register "common_soc_config" = "{
39 .i2c[0] = {
40 .early_init = 1,
41 .speed = I2C_SPEED_FAST_PLUS,
42 .speed_config[0] = {
43 .speed = I2C_SPEED_FAST_PLUS,
44 .scl_lcnt = 55,
45 .scl_hcnt = 30,
46 .sda_hold = 7,
47 }
48 },
49 .i2c[1] = {
50 .speed = I2C_SPEED_FAST,
51 .speed_config[0] = {
52 .speed = I2C_SPEED_FAST,
53 .scl_lcnt = 158,
54 .scl_hcnt = 79,
55 .sda_hold = 7,
56 }
57 },
58 .i2c[2] = {
59 .speed = I2C_SPEED_FAST,
60 .speed_config[0] = {
61 .speed = I2C_SPEED_FAST,
62 .scl_lcnt = 158,
63 .scl_hcnt = 79,
64 .sda_hold = 7,
65 }
66 },
67 .i2c[3] = {
68 .speed = I2C_SPEED_FAST,
69 .speed_config[0] = {
70 .speed = I2C_SPEED_FAST,
71 .scl_lcnt = 158,
72 .scl_hcnt = 79,
73 .sda_hold = 7,
74 }
75 },
76 .i2c[5] = {
77 .speed = I2C_SPEED_FAST,
78 .speed_config[0] = {
79 .speed = I2C_SPEED_FAST,
80 .scl_lcnt = 158,
81 .scl_hcnt = 79,
82 .sda_hold = 7,
83 }
84 },
85 }"
86
87 register "usb2_ports[1]" = "USB2_PORT_EMPTY" # Disable USB2 Port 2
88 register "usb2_ports[4]" = "USB2_PORT_EMPTY" # Disable USB2 Port 5
89 register "usb2_ports[6]" = "USB2_PORT_EMPTY" # Disable USB2 Port 7
90 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
91 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
92
Van Chen8c77e582023-07-24 15:14:16 +080093 register "tcc_offset" = "8"
94
Rex Chouf232b192023-07-21 15:40:34 +080095 device domain 0 on
Van Chen8c77e582023-07-24 15:14:16 +080096 device ref dtt on
97 chip drivers/intel/dptf
98 ## sensor information
99 register "options.tsr[0].desc" = ""DDR""
100 register "options.tsr[1].desc" = ""charger""
101 register "options.tsr[2].desc" = ""ambient""
102
103 ## Passive Policy
104 register "policies.passive" = "{
105 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
106 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 70, 5000),
107 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 70, 5000),
108 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 70, 5000),
109 }"
110
111 ## Critical Policy
112 register "policies.critical" = "{
113 [0] = DPTF_CRITICAL(CPU, 100, SHUTDOWN),
114 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 95, SHUTDOWN),
115 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 95, SHUTDOWN),
116 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 95, SHUTDOWN),
117 }"
118
119 register "controls.power_limits" = "{
120 .pl1 = {
121 .min_power = 5500,
122 .max_power = 6000,
123 .time_window_min = 28 * MSECS_PER_SEC,
124 .time_window_max = 28 * MSECS_PER_SEC,
125 .granularity = 500
126 },
127 .pl2 = {
128 .min_power = 25000,
129 .max_power = 25000,
130 .time_window_min = 32 * MSECS_PER_SEC,
131 .time_window_max = 32 * MSECS_PER_SEC,
132 .granularity = 500
133 }
134 }"
135
136 ## Charger Performance Control (Control, mA)
137 register "controls.charger_perf" = "{
138 [0] = { 255, 1700 },
139 [1] = { 24, 1500 },
140 [2] = { 16, 1000 },
141 [3] = { 8, 500 }
142 }"
143 device generic 0 on end
144 end
145 end
Rex Chouf232b192023-07-21 15:40:34 +0800146 device ref i2c1 on
147 chip drivers/i2c/hid
148 register "generic.hid" = ""ELAN9004""
149 register "generic.desc" = ""ELAN Touchscreen""
150 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
151 register "generic.probed" = "1"
152 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
153 register "generic.reset_delay_ms" = "20"
154 register "generic.reset_off_delay_ms" = "2"
155 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
156 register "generic.enable_delay_ms" = "1"
157 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
158 register "generic.stop_delay_ms" = "150"
159 register "generic.stop_off_delay_ms" = "2"
160 register "generic.has_power_resource" = "1"
161 register "hid_desc_reg_offset" = "0x01"
162 device i2c 10 on end
163 end
164 end #I2C1
165 device ref i2c3 on
166 chip drivers/i2c/generic
167 register "hid" = ""10EC5650""
168 register "name" = ""RT58""
169 register "desc" = ""Realtek RT5650""
170 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
171 register "property_count" = "1"
172 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
173 register "property_list[0].name" = ""realtek,jd-mode""
174 register "property_list[0].integer" = "2"
175 device i2c 1a on end
176 end
177 end #I2C3
178 device ref i2c5 on
179 chip drivers/i2c/generic
180 register "hid" = ""ELAN0000""
181 register "desc" = ""ELAN Touchpad""
182 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
183 register "wake" = "GPE0_DW2_14"
184 register "detect" = "1"
185 device i2c 15 on end
186 end
187 chip drivers/i2c/hid
188 register "generic.hid" = ""SYNA0000""
189 register "generic.cid" = ""ACPI0C50""
190 register "generic.desc" = ""Synaptics Touchpad""
191 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
192 register "generic.wake" = "GPE0_DW2_14"
193 register "generic.detect" = "1"
194 register "hid_desc_reg_offset" = "0x20"
195 device i2c 2c on end
196 end
197 end
198 device ref pcie_rp7 off end
199 device ref cnvi_wifi on
200 chip drivers/wifi/generic
201 register "wake" = "GPE0_PME_B0"
202 register "enable_cnvi_ddr_rfim" = "true"
203 register "add_acpi_dma_property" = "true"
204 device generic 0 on end
205 end
206 end
207 device ref pch_espi on
208 chip ec/google/chromeec
209 use conn0 as mux_conn[0]
210 device pnp 0c09.0 on end
211 end
212 end
213 device ref pmc hidden
214 chip drivers/intel/pmc_mux
215 device generic 0 on
216 chip drivers/intel/pmc_mux/conn
217 use usb2_port1 as usb2_port
218 use tcss_usb3_port1 as usb3_port
219 device generic 0 alias conn0 on end
220 end
221 end
222 end
223 end
224 device ref tcss_xhci on
225 chip drivers/usb/acpi
226 device ref tcss_root_hub on
227 chip drivers/usb/acpi
228 register "desc" = ""USB3 Type-C Port C0 (MLB)""
229 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
230 register "use_custom_pld" = "true"
231 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
232 device ref tcss_usb3_port1 on end
233 end
234 end
235 end
236 end
237 device ref xhci on
238 chip drivers/usb/acpi
239 device ref xhci_root_hub on
240 chip drivers/usb/acpi
241 register "desc" = ""USB2 Type-C Port C0 (MLB)""
242 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
243 register "use_custom_pld" = "true"
244 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
245 device ref usb2_port1 on end
246 end
247 chip drivers/usb/acpi
248 register "desc" = ""USB2 Type-A Port A0 (DB)""
249 register "type" = "UPC_TYPE_A"
250 register "use_custom_pld" = "true"
251 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
252 device ref usb2_port3 on end
253 end
254 chip drivers/usb/acpi
255 register "desc" = ""USB2 Type-A Port A1 (DB)""
256 register "type" = "UPC_TYPE_A"
257 register "use_custom_pld" = "true"
258 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
259 device ref usb2_port4 on end
260 end
261 chip drivers/usb/acpi
262 register "desc" = ""USB2 Camera""
263 register "type" = "UPC_TYPE_INTERNAL"
264 device ref usb2_port6 on end
265 end
266 chip drivers/usb/acpi
267 register "desc" = ""USB2 Bluetooth""
268 register "type" = "UPC_TYPE_INTERNAL"
269 register "reset_gpio" =
270 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
271 device ref usb2_port8 on end
272 end
273 chip drivers/usb/acpi
274 register "desc" = ""USB2 Bluetooth""
275 register "type" = "UPC_TYPE_INTERNAL"
276 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
277 device ref usb2_port10 on end
278 end
279 chip drivers/usb/acpi
280 register "desc" = ""USB3 Type-A Port A0 (MLB)""
281 register "type" = "UPC_TYPE_USB3_A"
282 register "use_custom_pld" = "true"
283 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
284 device ref usb3_port1 on end
285 end
286 chip drivers/usb/acpi
287 register "desc" = ""USB3 Type-A Port A1 (DB)""
288 register "type" = "UPC_TYPE_USB3_A"
289 register "use_custom_pld" = "true"
290 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
291 device ref usb3_port2 on end
292 end
293 end
294 end
295 end
Rex Chou50d3a642023-07-11 13:26:08 +0800296 end
297
298end