xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/x1p42100.dtsi (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6/* X1P42100 is heavily based on X1E80100, with some meaningful differences */
7#include "x1e80100.dtsi"
8
9/delete-node/ &bwmon_cluster0;
10/delete-node/ &cluster_pd2;
11/delete-node/ &cpu_map_cluster2;
12/delete-node/ &cpu8;
13/delete-node/ &cpu9;
14/delete-node/ &cpu10;
15/delete-node/ &cpu11;
16/delete-node/ &cpu_pd8;
17/delete-node/ &cpu_pd9;
18/delete-node/ &cpu_pd10;
19/delete-node/ &cpu_pd11;
20/delete-node/ &pcie3_phy;
21/delete-node/ &thermal_zones;
22
23&gcc {
24	compatible = "qcom,x1p42100-gcc", "qcom,x1e80100-gcc";
25};
26
27/* The GPU is physically different and will be brought up later */
28&gpu {
29	/delete-property/ compatible;
30};
31
32&gpucc {
33	compatible = "qcom,x1p42100-gpucc";
34};
35
36/* PCIe3 has half the lanes compared to X1E80100 */
37&pcie3 {
38	num-lanes = <4>;
39};
40
41&pcie6a_phy {
42	compatible = "qcom,x1p42100-qmp-gen4x4-pcie-phy";
43};
44
45&soc {
46	/* The PCIe3 PHY on X1P42100 uses a different IP block */
47	pcie3_phy: phy@1bd4000 {
48		compatible = "qcom,x1p42100-qmp-gen4x4-pcie-phy";
49		reg = <0x0 0x01bd4000 0x0 0x2000>,
50		      <0x0 0x01bd6000 0x0 0x2000>;
51
52		clocks = <&gcc GCC_PCIE_3_PHY_AUX_CLK>,
53			 <&gcc GCC_PCIE_3_CFG_AHB_CLK>,
54			 <&tcsr TCSR_PCIE_8L_CLKREF_EN>,
55			 <&gcc GCC_PCIE_3_PHY_RCHNG_CLK>,
56			 <&gcc GCC_PCIE_3_PIPE_CLK>,
57			 <&gcc GCC_PCIE_3_PIPEDIV2_CLK>;
58		clock-names = "aux",
59			      "cfg_ahb",
60			      "ref",
61			      "rchng",
62			      "pipe",
63			      "pipediv2";
64
65		resets = <&gcc GCC_PCIE_3_PHY_BCR>,
66			 <&gcc GCC_PCIE_3_NOCSR_COM_PHY_BCR>;
67		reset-names = "phy",
68			      "phy_nocsr";
69
70		assigned-clocks = <&gcc GCC_PCIE_3_PHY_RCHNG_CLK>;
71		assigned-clock-rates = <100000000>;
72
73		power-domains = <&gcc GCC_PCIE_3_PHY_GDSC>;
74
75		#clock-cells = <0>;
76		clock-output-names = "pcie3_pipe_clk";
77
78		#phy-cells = <0>;
79
80		status = "disabled";
81	};
82};
83
84/* While physically present, this controller is left unconfigured and unused */
85&tsens3 {
86	status = "disabled";
87};
88
89/ {
90	thermal-zones {
91		aoss0-thermal {
92			thermal-sensors = <&tsens0 0>;
93
94			trips {
95				trip-point0 {
96					temperature = <90000>;
97					hysteresis = <2000>;
98					type = "hot";
99				};
100
101				trip-point1 {
102					temperature = <115000>;
103					hysteresis = <1000>;
104					type = "critical";
105				};
106			};
107		};
108
109		cpu0-0-top-thermal {
110			thermal-sensors = <&tsens0 1>;
111
112			trips {
113				trip-point0 {
114					temperature = <115000>;
115					hysteresis = <1000>;
116					type = "critical";
117				};
118			};
119		};
120
121		cpu0-0-btm-thermal {
122			thermal-sensors = <&tsens0 2>;
123
124			trips {
125				trip-point0 {
126					temperature = <115000>;
127					hysteresis = <1000>;
128					type = "critical";
129				};
130			};
131		};
132
133		cpu0-1-top-thermal {
134			thermal-sensors = <&tsens0 3>;
135
136			trips {
137				trip-point0 {
138					temperature = <115000>;
139					hysteresis = <1000>;
140					type = "critical";
141				};
142			};
143		};
144
145		cpu0-1-btm-thermal {
146			thermal-sensors = <&tsens0 4>;
147
148			trips {
149				trip-point0 {
150					temperature = <115000>;
151					hysteresis = <1000>;
152					type = "critical";
153				};
154			};
155		};
156
157		cpu0-2-top-thermal {
158			thermal-sensors = <&tsens0 5>;
159
160			trips {
161				trip-point0 {
162					temperature = <115000>;
163					hysteresis = <1000>;
164					type = "critical";
165				};
166			};
167		};
168
169		cpu0-2-btm-thermal {
170			thermal-sensors = <&tsens0 6>;
171
172			trips {
173				trip-point0 {
174					temperature = <115000>;
175					hysteresis = <1000>;
176					type = "critical";
177				};
178			};
179		};
180
181		cpu0-3-top-thermal {
182			thermal-sensors = <&tsens0 7>;
183
184			trips {
185				trip-point0 {
186					temperature = <115000>;
187					hysteresis = <1000>;
188					type = "critical";
189				};
190			};
191		};
192
193		cpu0-3-btm-thermal {
194			thermal-sensors = <&tsens0 8>;
195
196			trips {
197				trip-point0 {
198					temperature = <115000>;
199					hysteresis = <1000>;
200					type = "critical";
201				};
202			};
203		};
204
205		cpuss0-top-thermal {
206			thermal-sensors = <&tsens0 9>;
207
208			trips {
209				trip-point0 {
210					temperature = <115000>;
211					hysteresis = <1000>;
212					type = "critical";
213				};
214			};
215		};
216
217		cpuss0-btm-thermal {
218			thermal-sensors = <&tsens0 10>;
219
220			trips {
221				trip-point0 {
222					temperature = <115000>;
223					hysteresis = <1000>;
224					type = "critical";
225				};
226			};
227		};
228
229		mem-thermal {
230			thermal-sensors = <&tsens0 11>;
231
232			trips {
233				trip-point0 {
234					temperature = <90000>;
235					hysteresis = <2000>;
236					type = "hot";
237				};
238
239				trip-point1 {
240					temperature = <115000>;
241					hysteresis = <0>;
242					type = "critical";
243				};
244			};
245		};
246
247		video-thermal {
248			thermal-sensors = <&tsens0 12>;
249
250			trips {
251				trip-point0 {
252					temperature = <90000>;
253					hysteresis = <2000>;
254					type = "hot";
255				};
256
257				trip-point1 {
258					temperature = <115000>;
259					hysteresis = <1000>;
260					type = "critical";
261				};
262			};
263		};
264
265		aoss1-thermal {
266			thermal-sensors = <&tsens1 0>;
267
268			trips {
269				trip-point0 {
270					temperature = <90000>;
271					hysteresis = <2000>;
272					type = "hot";
273				};
274
275				trip-point1 {
276					temperature = <115000>;
277					hysteresis = <1000>;
278					type = "critical";
279				};
280			};
281		};
282
283		cpu1-0-top-thermal {
284			thermal-sensors = <&tsens1 1>;
285
286			trips {
287				trip-point0 {
288					temperature = <115000>;
289					hysteresis = <1000>;
290					type = "critical";
291				};
292			};
293		};
294
295		cpu1-0-btm-thermal {
296			thermal-sensors = <&tsens1 2>;
297
298			trips {
299				trip-point0 {
300					temperature = <115000>;
301					hysteresis = <1000>;
302					type = "critical";
303				};
304			};
305		};
306
307		cpu1-1-top-thermal {
308			thermal-sensors = <&tsens1 3>;
309
310			trips {
311				trip-point0 {
312					temperature = <115000>;
313					hysteresis = <1000>;
314					type = "critical";
315				};
316			};
317		};
318
319		cpu1-1-btm-thermal {
320			thermal-sensors = <&tsens1 4>;
321
322			trips {
323				trip-point0 {
324					temperature = <115000>;
325					hysteresis = <1000>;
326					type = "critical";
327				};
328			};
329		};
330
331		cpu1-2-top-thermal {
332			thermal-sensors = <&tsens1 5>;
333
334			trips {
335				trip-point0 {
336					temperature = <115000>;
337					hysteresis = <1000>;
338					type = "critical";
339				};
340			};
341		};
342
343		cpu1-2-btm-thermal {
344			thermal-sensors = <&tsens1 6>;
345
346			trips {
347				trip-point0 {
348					temperature = <115000>;
349					hysteresis = <1000>;
350					type = "critical";
351				};
352			};
353		};
354
355		cpu1-3-top-thermal {
356			thermal-sensors = <&tsens1 7>;
357
358			trips {
359				trip-point0 {
360					temperature = <115000>;
361					hysteresis = <1000>;
362					type = "critical";
363				};
364			};
365		};
366
367		cpu1-3-btm-thermal {
368			thermal-sensors = <&tsens1 8>;
369
370			trips {
371				trip-point0 {
372					temperature = <115000>;
373					hysteresis = <1000>;
374					type = "critical";
375				};
376			};
377		};
378
379		cpuss1-top-thermal {
380			thermal-sensors = <&tsens1 9>;
381
382			trips {
383				trip-point0 {
384					temperature = <115000>;
385					hysteresis = <1000>;
386					type = "critical";
387				};
388			};
389		};
390
391		cpuss1-btm-thermal {
392			thermal-sensors = <&tsens1 10>;
393
394			trips {
395				trip-point0 {
396					temperature = <115000>;
397					hysteresis = <1000>;
398					type = "critical";
399				};
400			};
401		};
402
403		aoss2-thermal {
404			thermal-sensors = <&tsens2 0>;
405
406			trips {
407				trip-point0 {
408					temperature = <90000>;
409					hysteresis = <2000>;
410					type = "hot";
411				};
412
413				trip-point1 {
414					temperature = <115000>;
415					hysteresis = <1000>;
416					type = "critical";
417				};
418			};
419		};
420
421		nsp0-thermal {
422			thermal-sensors = <&tsens2 1>;
423
424			trips {
425				trip-point0 {
426					temperature = <90000>;
427					hysteresis = <2000>;
428					type = "hot";
429				};
430
431				trip-point1 {
432					temperature = <115000>;
433					hysteresis = <1000>;
434					type = "critical";
435				};
436			};
437		};
438
439		nsp1-thermal {
440			thermal-sensors = <&tsens2 2>;
441
442			trips {
443				trip-point0 {
444					temperature = <90000>;
445					hysteresis = <2000>;
446					type = "hot";
447				};
448
449				trip-point1 {
450					temperature = <115000>;
451					hysteresis = <1000>;
452					type = "critical";
453				};
454			};
455		};
456
457		nsp2-thermal {
458			thermal-sensors = <&tsens2 3>;
459
460			trips {
461				trip-point0 {
462					temperature = <90000>;
463					hysteresis = <2000>;
464					type = "hot";
465				};
466
467				trip-point1 {
468					temperature = <115000>;
469					hysteresis = <1000>;
470					type = "critical";
471				};
472			};
473		};
474
475		nsp3-thermal {
476			thermal-sensors = <&tsens2 4>;
477
478			trips {
479				trip-point0 {
480					temperature = <90000>;
481					hysteresis = <2000>;
482					type = "hot";
483				};
484
485				trip-point1 {
486					temperature = <115000>;
487					hysteresis = <1000>;
488					type = "critical";
489				};
490			};
491		};
492
493		gpuss-0-thermal {
494			polling-delay-passive = <200>;
495
496			thermal-sensors = <&tsens2 5>;
497
498			cooling-maps {
499				map0 {
500					trip = <&gpuss0_alert0>;
501					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
502				};
503			};
504
505			trips {
506				gpuss0_alert0: trip-point0 {
507					temperature = <95000>;
508					hysteresis = <1000>;
509					type = "passive";
510				};
511
512				trip-point1 {
513					temperature = <115000>;
514					hysteresis = <1000>;
515					type = "critical";
516				};
517			};
518		};
519
520		gpuss-1-thermal {
521			polling-delay-passive = <200>;
522
523			thermal-sensors = <&tsens2 6>;
524
525			cooling-maps {
526				map0 {
527					trip = <&gpuss1_alert0>;
528					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
529				};
530			};
531
532			trips {
533				gpuss1_alert0: trip-point0 {
534					temperature = <95000>;
535					hysteresis = <1000>;
536					type = "passive";
537				};
538
539				trip-point1 {
540					temperature = <115000>;
541					hysteresis = <1000>;
542					type = "critical";
543				};
544			};
545		};
546
547		gpuss-2-thermal {
548			polling-delay-passive = <200>;
549
550			thermal-sensors = <&tsens2 7>;
551
552			cooling-maps {
553				map0 {
554					trip = <&gpuss2_alert0>;
555					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
556				};
557			};
558
559			trips {
560				gpuss2_alert0: trip-point0 {
561					temperature = <95000>;
562					hysteresis = <1000>;
563					type = "passive";
564				};
565
566				trip-point1 {
567					temperature = <115000>;
568					hysteresis = <1000>;
569					type = "critical";
570				};
571			};
572		};
573
574		gpuss-3-thermal {
575			polling-delay-passive = <200>;
576
577			thermal-sensors = <&tsens2 8>;
578
579			cooling-maps {
580				map0 {
581					trip = <&gpuss3_alert0>;
582					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
583				};
584			};
585
586			trips {
587				gpuss3_alert0: trip-point0 {
588					temperature = <95000>;
589					hysteresis = <1000>;
590					type = "passive";
591				};
592
593				trip-point1 {
594					temperature = <115000>;
595					hysteresis = <1000>;
596					type = "critical";
597				};
598			};
599		};
600
601		camera0-thermal {
602			thermal-sensors = <&tsens2 9>;
603
604			trips {
605				trip-point0 {
606					temperature = <90000>;
607					hysteresis = <2000>;
608					type = "hot";
609				};
610
611				trip-point1 {
612					temperature = <115000>;
613					hysteresis = <1000>;
614					type = "critical";
615				};
616			};
617		};
618
619		camera1-thermal {
620			thermal-sensors = <&tsens2 10>;
621
622			trips {
623				trip-point0 {
624					temperature = <90000>;
625					hysteresis = <2000>;
626					type = "hot";
627				};
628
629				trip-point1 {
630					temperature = <115000>;
631					hysteresis = <1000>;
632					type = "critical";
633				};
634			};
635		};
636	};
637};
638