blob: 1d50bd5b0b6d58a380a5b81cf74a4a6c103761b2 [file] [log] [blame]
Isaac Leea3214c62022-08-10 09:30:08 -07001# SPDX-License-Identifier: GPL-2.0-or-later
2
3chip soc/amd/mendocino
EricKY Chengf48faa02022-10-24 15:08:16 +08004
EricKY Cheng5d5efaa2022-10-17 15:21:46 +08005 # Set DPTC multi-profile common parameters
6
7 # Refer the spec "FT6 Infrastructure Roadmap"#57316
8 # Set system_configuration to 4 for 15W
EricKY Chengf48faa02022-10-24 15:08:16 +08009 register "system_configuration" = "4"
EricKY Chengf48faa02022-10-24 15:08:16 +080010 register "thermctl_limit_degreeC" = "97"
EricKY Chengf48faa02022-10-24 15:08:16 +080011
EricKY Chengf48faa02022-10-24 15:08:16 +080012 register "stt_control" = "1"
13 register "stt_pcb_sensor_count" = "2"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080014 register "stt_alpha_apu" = "0x199A"
EricKY Chengf48faa02022-10-24 15:08:16 +080015 register "stt_error_coeff" = "0x21"
16 register "stt_error_rate_coefficient" = "0xCCD"
17
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080018 # These registers are defined in AMD DevHub document #57316.
19 # Normal
EricKY Cheng9a413332022-11-19 01:50:57 +080020 register "vrm_current_limit_mA" = "28000"
21 register "vrm_maximum_current_limit_mA" = "50000"
22 register "vrm_soc_current_limit_mA" = "10000"
23 # Throttle (e.g., Low/No Battery)
24 register "vrm_current_limit_throttle_mA" = "20000"
25 register "vrm_maximum_current_limit_throttle_mA" = "20000"
26 register "vrm_soc_current_limit_throttle_mA" = "10000"
27
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080028 # Set Dynamic DPTC thermal profile Table A (Default)
29 register "fast_ppt_limit_mW" = "30000"
30 register "slow_ppt_limit_mW" = "18000"
31 register "slow_ppt_time_constant_s" = "7"
32 register "sustained_power_limit_mW" = "15000"
33
34 register "stt_min_limit" = "7000"
35 register "stt_m1" = "0x148"
36 register "stt_m2" = "0x38F"
37 register "stt_c_apu" = "0xDF9A"
38 register "stt_skin_temp_apu" = "0x3200"
39
40 # Set Dynamic DPTC thermal profile confiuration. Table B
41 register "fast_ppt_limit_mW_B" = "20000"
42 register "slow_ppt_limit_mW_B" = "13000"
43 register "slow_ppt_time_constant_s_B" = "5"
44 register "sustained_power_limit_mW_B" = "10000"
45
46 register "stt_min_limit_B" = "5000"
47 register "stt_m1_B" = "0x11F"
48 register "stt_m2_B" = "0x3AE"
49 register "stt_c_apu_B" = "0xE19A"
50 register "stt_skin_temp_apu_B" = "0x3400"
51
52 # Set Dynamic DPTC thermal profile confiuration. Table C
53 register "fast_ppt_limit_mW_C" = "30000"
54 register "slow_ppt_limit_mW_C" = "22000"
55 register "slow_ppt_time_constant_s_C" = "10"
56 register "sustained_power_limit_mW_C" = "15000"
57
58 register "stt_min_limit_C" = "10000"
59 register "stt_m1_C" = "0x1A4"
60 register "stt_m2_C" = "0x2E1"
61 register "stt_c_apu_C" = "0xDACD"
62 register "stt_skin_temp_apu_C" = "0x3600"
63
64 # Set Dynamic DPTC thermal profile confiuration. Table D
65 register "fast_ppt_limit_mW_D" = "25000"
66 register "slow_ppt_limit_mW_D" = "15000"
67 register "slow_ppt_time_constant_s_D" = "8"
68 register "sustained_power_limit_mW_D" = "10000"
69
70 register "stt_min_limit_D" = "8000"
71 register "stt_m1_D" = "0x1C3"
72 register "stt_m2_D" = "0x2BB"
73 register "stt_c_apu_D" = "0xDE00"
74 register "stt_skin_temp_apu_D" = "0x3800"
75
76 # Set Dynamic DPTC thermal profile confiuration. Table E
77 register "fast_ppt_limit_mW_E" = "22000"
78 register "slow_ppt_limit_mW_E" = "15000"
79 register "slow_ppt_time_constant_s_E" = "4"
80 register "sustained_power_limit_mW_E" = "12000"
81
82 register "stt_min_limit_E" = "7000"
83 register "stt_m1_E" = "0x114"
84 register "stt_m2_E" = "0x371"
85 register "stt_c_apu_E" = "0xE333"
86 register "stt_skin_temp_apu_E" = "0x3000"
87
88
89 # Set Dynamic DPTC thermal profile confiuration. Table F
90 register "fast_ppt_limit_mW_F" = "18000"
91 register "slow_ppt_limit_mW_F" = "12000"
92 register "slow_ppt_time_constant_s_F" = "2"
93 register "sustained_power_limit_mW_F" = "9000"
94
95 register "stt_min_limit_F" = "5000"
96 register "stt_m1_F" = "0x15C"
97 register "stt_m2_F" = "0x33D"
98 register "stt_c_apu_F" = "0xE866"
99 register "stt_skin_temp_apu_F" = "0x3200"
100
EricKY Chengfc71ea82022-09-02 14:40:32 +0800101 device domain 0 on
Chris.Wang1162f7a2022-12-28 14:33:44 +0800102 device ref gpp_bridge_1 on
103 # Required so the NVMe gets placed into D3 when entering S0i3.
104 chip drivers/pcie/rtd3/device
105 register "name" = ""NVME""
106 device pci 00.0 on end
107 end
108 end # eMMC
109 device ref gpp_bridge_2 on
110 # Required so the NVMe gets placed into D3 when entering S0i3.
111 chip drivers/pcie/rtd3/device
112 register "name" = ""NVME""
113 device pci 00.0 on end
114 end
115 end # NVMe
116
EricKY Chengfc71ea82022-09-02 14:40:32 +0800117 device ref gpp_bridge_a on # Internal GPP Bridge 0 to Bus A
118 device ref xhci_1 on # XHCI1 controller
119 chip drivers/usb/acpi
120 device ref xhci_1_root_hub on # XHCI1 root hub
121 chip drivers/usb/acpi
122 device ref usb3_port3 on # USB 3.1 port3
123 chip drivers/usb/hub
124 register "desc" = ""USB Hub""
125 register "name" = ""VL822""
126 register "port_count" = "4"
127 device usb 0.0 on # VL822 USB3 hub
128 chip drivers/usb/acpi
129 register "desc" = ""USB3 Type-A Port A0 (DB)""
130 register "type" = "UPC_TYPE_USB3_A"
131 register "use_custom_pld" = "true"
132 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(2, 2))"
133 device usb 3.0 on end
134 end
135 chip drivers/usb/acpi
136 register "desc" = ""WWAN""
137 register "type" = "UPC_TYPE_INTERNAL"
138 register "group" = "ACPI_PLD_GROUP(2, 2)"
139 register "has_power_resource" = "1"
140 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_42)"
141 register "reset_off_delay_ms" = "20"
142 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_8)"
143 register "enable_delay_ms" = "20"
144 device usb 3.1 on end
145 end
146 end # VL822 USB3 hub
147 end
148 end # USB 3.1 port3
149 end
150 chip drivers/usb/acpi
151 device ref usb2_port3 on # USB 2 port3
152 chip drivers/usb/hub
153 register "desc" = ""USB Hub""
154 register "name" = ""VL822""
155 register "port_count" = "4"
156 device usb 0.0 on # VL822 USB2 hub
157 chip drivers/usb/acpi
158 register "desc" = ""USB2 Type-A Port A0 (DB)""
159 register "type" = "UPC_TYPE_USB3_A"
160 register "use_custom_pld" = "true"
161 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(2, 2))"
162 device usb 2.0 on end
163 end
164 chip drivers/usb/acpi
165 register "desc" = ""WWAN""
166 register "type" = "UPC_TYPE_INTERNAL"
167 register "group" = "ACPI_PLD_GROUP(2, 2)"
168 device usb 2.1 on end
169 end
170 end # VL822 USB2 hub
171 end
172 end # USB 2 port3
173 end
174 end # XHCI1 root hub
175 end
176 end # XHCI1 controller
177 end # Internal GPP Bridge 0 to Bus A
178 end # domain
179
180 device ref i2c_0 on
181 chip drivers/i2c/generic
182 register "hid" = ""ELAN0000""
183 register "desc" = ""ELAN Touchpad""
184 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_40)"
185 register "wake" = "GEVENT_20"
Matt DeVillier3ee24202022-09-09 11:39:47 -0500186 register "detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800187 device i2c 15 on end
188 end
189 chip drivers/i2c/hid
190 register "generic.hid" = ""GXTP7863""
191 register "generic.desc" = ""Goodix Touchpad""
EricKY Cheng849d57a2022-09-22 18:08:38 +0800192 register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_40)"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800193 register "generic.wake" = "GEVENT_20"
Matt DeVillier3ee24202022-09-09 11:39:47 -0500194 register "generic.detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800195 register "hid_desc_reg_offset" = "0x20"
196 device i2c 2c on end
197 end
198 end # I2C0
199 device ref i2c_1 on
200 chip drivers/i2c/hid
EricKY Cheng49d014f2022-10-24 14:46:09 +0800201 register "generic.hid" = ""ELAN900C""
202 register "generic.desc" = ""ELAN Touchscreen""
EricKY Chengfc71ea82022-09-02 14:40:32 +0800203 register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_29)"
Matt DeVillier22683fa2022-10-31 09:46:39 -0500204 register "generic.detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800205 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_131)"
206 register "generic.enable_delay_ms" = "10"
207 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_136)"
208 register "generic.reset_off_delay_ms" = "1"
209 register "generic.reset_delay_ms" = "10"
210 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_76)"
211 register "generic.stop_delay_ms" = "180"
212 register "generic.stop_off_delay_ms" = "1"
213 register "generic.has_power_resource" = "1"
214 register "hid_desc_reg_offset" = "0x01"
EricKY Cheng49d014f2022-10-24 14:46:09 +0800215 device i2c 10 on end
EricKY Chengfc71ea82022-09-02 14:40:32 +0800216 end
217 chip drivers/i2c/generic
EricKY Cheng6943fc72022-11-16 17:25:38 +0800218 register "hid" = ""MLFS0000""
EricKY Cheng49d014f2022-10-24 14:46:09 +0800219 register "desc" = ""Melfas Touchscreen""
Matt DeVillier22683fa2022-10-31 09:46:39 -0500220 register "detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800221 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_29)"
222 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_131)"
223 register "enable_delay_ms" = "1"
224 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_136)"
225 register "reset_delay_ms" = "20"
226 register "reset_off_delay_ms" = "2"
227 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_76)"
228 register "stop_off_delay_ms" = "2"
229 register "has_power_resource" = "1"
230 register "disable_gpio_export_in_crs" = "1"
EricKY Cheng49d014f2022-10-24 14:46:09 +0800231 device i2c 34 on end
EricKY Chengfc71ea82022-09-02 14:40:32 +0800232 end
233 chip drivers/generic/gpio_keys
234 register "name" = ""PENH""
235 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPIO_3)"
236 register "key.dev_name" = ""EJCT""
237 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
238 register "key.linux_code" = "SW_PEN_INSERTED"
239 register "key.linux_input_type" = "EV_SW"
240 register "key.label" = ""pen_eject""
241 register "key.debounce_interval" = "100"
242 register "key.wakeup_route" = "WAKEUP_ROUTE_GPIO_IRQ"
243 device generic 0 on end
244 end
245 end # I2C1
246 device ref i2c_2 on
247 chip drivers/i2c/generic
248 register "hid" = ""RTL5682""
249 register "name" = ""RT58""
250 register "desc" = ""Realtek RT5682""
251 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_90)"
252 register "property_count" = "1"
253 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
254 register "property_list[0].name" = ""realtek,jd-src""
255 register "property_list[0].integer" = "1"
256 device i2c 1a on end
257 end
258 chip drivers/i2c/generic
259 register "hid" = ""10EC1019""
260 register "desc" = ""Realtek SPK AMP R""
261 register "uid" = "1"
262 device i2c 29 on end
263 end
264 chip drivers/i2c/generic
265 register "hid" = ""10EC1019""
266 register "desc" = ""Realtek SPK AMP L""
267 register "uid" = "2"
268 register "probed" = "1"
269 device i2c 2a on end
270 end
271 end # I2C2
272
273 device ref uart_1 on
274 chip drivers/uart/acpi
275 register "name" = ""CRFP""
276 register "desc" = ""Fingerprint Reader""
277 register "hid" = "ACPI_DT_NAMESPACE_HID"
278 register "compat_string" = ""google,cros-ec-uart""
279 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_24)"
280 register "wake" = "GEVENT_15"
281 register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
282 register "has_power_resource" = "1"
283 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_12)"
284 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_4)"
285 register "enable_delay_ms" = "3"
286 device generic 0 alias fpmcu on end
287 end
288 end # UART1
289
Isaac Leea3214c62022-08-10 09:30:08 -0700290end # chip soc/amd/mendocino