blob: 51f07a751c6c0fec8bb1a781ee742c4c8742b0b8 [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 Cheng501f2f92023-01-17 14:13:30 +080014 register "stt_alpha_apu" = "0x6666"
15 register "stt_error_coeff" = "0x38"
16 register "stt_error_rate_coefficient" = "0xB44"
EricKY Chengf48faa02022-10-24 15:08:16 +080017
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"
EricKY Cheng501f2f92023-01-17 14:13:30 +080030 register "slow_ppt_limit_mW" = "25000"
31 register "slow_ppt_time_constant_s" = "5"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080032 register "sustained_power_limit_mW" = "15000"
33
EricKY Cheng501f2f92023-01-17 14:13:30 +080034 register "stt_min_limit" = "15000"
35 register "stt_m1" = "0x18F"
36 register "stt_m2" = "0x48F"
37 register "stt_c_apu" = "0xECC5"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080038 register "stt_skin_temp_apu" = "0x3200"
39
40 # Set Dynamic DPTC thermal profile confiuration. Table B
EricKY Cheng501f2f92023-01-17 14:13:30 +080041 register "fast_ppt_limit_mW_B" = "15000"
42 register "slow_ppt_limit_mW_B" = "15000"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080043 register "slow_ppt_time_constant_s_B" = "5"
EricKY Cheng501f2f92023-01-17 14:13:30 +080044 register "sustained_power_limit_mW_B" = "10500"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080045
EricKY Cheng501f2f92023-01-17 14:13:30 +080046 register "stt_min_limit_B" = "10500"
47 register "stt_m1_B" = "0x18F"
48 register "stt_m2_B" = "0x48F"
49 register "stt_c_apu_B" = "0xECC5"
50 register "stt_skin_temp_apu_B" = "0x3300"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080051
52 # Set Dynamic DPTC thermal profile confiuration. Table C
53 register "fast_ppt_limit_mW_C" = "30000"
EricKY Cheng501f2f92023-01-17 14:13:30 +080054 register "slow_ppt_limit_mW_C" = "25000"
55 register "slow_ppt_time_constant_s_C" = "5"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080056 register "sustained_power_limit_mW_C" = "15000"
57
EricKY Cheng501f2f92023-01-17 14:13:30 +080058 register "stt_min_limit_C" = "15000"
59 register "stt_m1_C" = "0x152"
60 register "stt_m2_C" = "0x4AE"
61 register "stt_c_apu_C" = "0xEE94"
62 register "stt_skin_temp_apu_C" = "0x3200"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080063
64 # Set Dynamic DPTC thermal profile confiuration. Table D
EricKY Cheng501f2f92023-01-17 14:13:30 +080065 register "fast_ppt_limit_mW_D" = "15000"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080066 register "slow_ppt_limit_mW_D" = "15000"
EricKY Cheng501f2f92023-01-17 14:13:30 +080067 register "slow_ppt_time_constant_s_D" = "5"
68 register "sustained_power_limit_mW_D" = "10500"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080069
EricKY Cheng501f2f92023-01-17 14:13:30 +080070 register "stt_min_limit_D" = "10500"
71 register "stt_m1_D" = "0x152"
72 register "stt_m2_D" = "0x4AE"
73 register "stt_c_apu_D" = "0xEE94"
74 register "stt_skin_temp_apu_D" = "0x3300"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080075
76 # Set Dynamic DPTC thermal profile confiuration. Table E
EricKY Cheng501f2f92023-01-17 14:13:30 +080077 register "fast_ppt_limit_mW_E" = "24000"
78 register "slow_ppt_limit_mW_E" = "20000"
79 register "slow_ppt_time_constant_s_E" = "5"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080080 register "sustained_power_limit_mW_E" = "12000"
81
EricKY Cheng501f2f92023-01-17 14:13:30 +080082 register "stt_min_limit_E" = "12000"
83 register "stt_m1_E" = "0x18F"
84 register "stt_m2_E" = "0x48F"
85 register "stt_c_apu_E" = "0xECC5"
86 register "stt_skin_temp_apu_E" = "0x2F00"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080087
88
89 # Set Dynamic DPTC thermal profile confiuration. Table F
EricKY Cheng501f2f92023-01-17 14:13:30 +080090 register "fast_ppt_limit_mW_F" = "12000"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080091 register "slow_ppt_limit_mW_F" = "12000"
EricKY Cheng501f2f92023-01-17 14:13:30 +080092 register "slow_ppt_time_constant_s_F" = "5"
93 register "sustained_power_limit_mW_F" = "8000"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +080094
EricKY Cheng501f2f92023-01-17 14:13:30 +080095 register "stt_min_limit_F" = "8000"
96 register "stt_m1_F" = "0x18F"
97 register "stt_m2_F" = "0x48F"
98 register "stt_c_apu_F" = "0xECC5"
99 register "stt_skin_temp_apu_F" = "0x3000"
EricKY Cheng5d5efaa2022-10-17 15:21:46 +0800100
Dtrain Hsu429df8a2023-01-12 11:31:37 +0800101 register "i2c[0]" = "{
102 .speed = I2C_SPEED_FAST,
103 .speed_config[0] = {
104 .speed = I2C_SPEED_FAST,
105 .scl_hcnt = 107,
106 .scl_lcnt = 230,
107 .sda_hold = 100
108 }
109 }"
110
EricKY Chengfc71ea82022-09-02 14:40:32 +0800111 device domain 0 on
Chris.Wangadec2e6c2023-01-04 10:15:00 +0800112
113 register "dxio_tx_vboost_enable" = "1"
114
Chris.Wang1162f7a2022-12-28 14:33:44 +0800115 device ref gpp_bridge_1 on
116 # Required so the NVMe gets placed into D3 when entering S0i3.
117 chip drivers/pcie/rtd3/device
118 register "name" = ""NVME""
119 device pci 00.0 on end
120 end
121 end # eMMC
122 device ref gpp_bridge_2 on
123 # Required so the NVMe gets placed into D3 when entering S0i3.
124 chip drivers/pcie/rtd3/device
125 register "name" = ""NVME""
126 device pci 00.0 on end
127 end
128 end # NVMe
129
EricKY Chengfc71ea82022-09-02 14:40:32 +0800130 device ref gpp_bridge_a on # Internal GPP Bridge 0 to Bus A
131 device ref xhci_1 on # XHCI1 controller
132 chip drivers/usb/acpi
133 device ref xhci_1_root_hub on # XHCI1 root hub
134 chip drivers/usb/acpi
135 device ref usb3_port3 on # USB 3.1 port3
EricKY Chenga1f499f2023-01-12 12:31:37 +0800136 chip drivers/usb/acpi
137 register "desc" = ""USB3 Type-A Port A0 (MLB)""
138 register "type" = "UPC_TYPE_USB3_A"
139 register "use_custom_pld" = "true"
140 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
141 device usb 3.2 on end
EricKY Chengfc71ea82022-09-02 14:40:32 +0800142 end
143 end # USB 3.1 port3
144 end
145 chip drivers/usb/acpi
146 device ref usb2_port3 on # USB 2 port3
EricKY Chenga1f499f2023-01-12 12:31:37 +0800147 chip drivers/usb/acpi
148 register "desc" = ""USB2 Type-A Port A0 (MLB)""
149 register "type" = "UPC_TYPE_USB3_A"
150 register "use_custom_pld" = "true"
151 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
152 device usb 2.2 on end
EricKY Chengfc71ea82022-09-02 14:40:32 +0800153 end
154 end # USB 2 port3
155 end
156 end # XHCI1 root hub
157 end
158 end # XHCI1 controller
159 end # Internal GPP Bridge 0 to Bus A
160 end # domain
161
162 device ref i2c_0 on
163 chip drivers/i2c/generic
164 register "hid" = ""ELAN0000""
165 register "desc" = ""ELAN Touchpad""
166 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_40)"
167 register "wake" = "GEVENT_20"
Matt DeVillier3ee24202022-09-09 11:39:47 -0500168 register "detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800169 device i2c 15 on end
170 end
171 chip drivers/i2c/hid
172 register "generic.hid" = ""GXTP7863""
173 register "generic.desc" = ""Goodix Touchpad""
EricKY Cheng849d57a2022-09-22 18:08:38 +0800174 register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_40)"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800175 register "generic.wake" = "GEVENT_20"
Matt DeVillier3ee24202022-09-09 11:39:47 -0500176 register "generic.detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800177 register "hid_desc_reg_offset" = "0x20"
178 device i2c 2c on end
179 end
180 end # I2C0
181 device ref i2c_1 on
182 chip drivers/i2c/hid
EricKY Cheng49d014f2022-10-24 14:46:09 +0800183 register "generic.hid" = ""ELAN900C""
184 register "generic.desc" = ""ELAN Touchscreen""
EricKY Chengfc71ea82022-09-02 14:40:32 +0800185 register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_29)"
Matt DeVillier22683fa2022-10-31 09:46:39 -0500186 register "generic.detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800187 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_131)"
188 register "generic.enable_delay_ms" = "10"
189 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_136)"
190 register "generic.reset_off_delay_ms" = "1"
191 register "generic.reset_delay_ms" = "10"
192 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_76)"
193 register "generic.stop_delay_ms" = "180"
194 register "generic.stop_off_delay_ms" = "1"
195 register "generic.has_power_resource" = "1"
196 register "hid_desc_reg_offset" = "0x01"
EricKY Cheng49d014f2022-10-24 14:46:09 +0800197 device i2c 10 on end
EricKY Chengfc71ea82022-09-02 14:40:32 +0800198 end
199 chip drivers/i2c/generic
EricKY Cheng6943fc72022-11-16 17:25:38 +0800200 register "hid" = ""MLFS0000""
EricKY Cheng49d014f2022-10-24 14:46:09 +0800201 register "desc" = ""Melfas Touchscreen""
Matt DeVillier22683fa2022-10-31 09:46:39 -0500202 register "detect" = "1"
EricKY Chengfc71ea82022-09-02 14:40:32 +0800203 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_29)"
204 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_131)"
205 register "enable_delay_ms" = "1"
206 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_136)"
207 register "reset_delay_ms" = "20"
208 register "reset_off_delay_ms" = "2"
209 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_76)"
210 register "stop_off_delay_ms" = "2"
211 register "has_power_resource" = "1"
EricKY Cheng49d014f2022-10-24 14:46:09 +0800212 device i2c 34 on end
EricKY Chengfc71ea82022-09-02 14:40:32 +0800213 end
214 chip drivers/generic/gpio_keys
215 register "name" = ""PENH""
216 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPIO_3)"
217 register "key.dev_name" = ""EJCT""
218 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
219 register "key.linux_code" = "SW_PEN_INSERTED"
220 register "key.linux_input_type" = "EV_SW"
221 register "key.label" = ""pen_eject""
222 register "key.debounce_interval" = "100"
223 register "key.wakeup_route" = "WAKEUP_ROUTE_GPIO_IRQ"
224 device generic 0 on end
225 end
226 end # I2C1
227 device ref i2c_2 on
228 chip drivers/i2c/generic
229 register "hid" = ""RTL5682""
230 register "name" = ""RT58""
231 register "desc" = ""Realtek RT5682""
232 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_90)"
233 register "property_count" = "1"
234 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
235 register "property_list[0].name" = ""realtek,jd-src""
236 register "property_list[0].integer" = "1"
237 device i2c 1a on end
238 end
239 chip drivers/i2c/generic
240 register "hid" = ""10EC1019""
241 register "desc" = ""Realtek SPK AMP R""
242 register "uid" = "1"
243 device i2c 29 on end
244 end
245 chip drivers/i2c/generic
246 register "hid" = ""10EC1019""
247 register "desc" = ""Realtek SPK AMP L""
248 register "uid" = "2"
249 register "probed" = "1"
250 device i2c 2a on end
251 end
252 end # I2C2
253
254 device ref uart_1 on
255 chip drivers/uart/acpi
256 register "name" = ""CRFP""
257 register "desc" = ""Fingerprint Reader""
258 register "hid" = "ACPI_DT_NAMESPACE_HID"
259 register "compat_string" = ""google,cros-ec-uart""
260 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_24)"
261 register "wake" = "GEVENT_15"
262 register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
263 register "has_power_resource" = "1"
264 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_12)"
265 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_4)"
266 register "enable_delay_ms" = "3"
267 device generic 0 alias fpmcu on end
268 end
269 end # UART1
270
Isaac Leea3214c62022-08-10 09:30:08 -0700271end # chip soc/amd/mendocino