mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 16:44:59 +00:00

Add the missing CPU topology/capacity information and the cpufreq nodes, so we can have CPU frequency scaling and the scheduler has the information it needs to make the correct decisions. As with t8103, boost states are commented out pending PSCI/etc support for deep sleep states. Reviewed-by: Sven Peter <sven@svenpeter.dev> Signed-off-by: Hector Martin <marcan@marcan.st>
122 lines
3.7 KiB
Plaintext
122 lines
3.7 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
|
/*
|
|
* Devices used on both dies on the Apple T6002 "M1 Ultra" and present on
|
|
* Apple T6000/T6001 "M1 Pro/Max".
|
|
*
|
|
* Copyright The Asahi Linux Contributors
|
|
*/
|
|
|
|
DIE_NODE(cpufreq_e): cpufreq@210e20000 {
|
|
compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
|
|
reg = <0x2 0x10e20000 0 0x1000>;
|
|
#performance-domain-cells = <0>;
|
|
};
|
|
|
|
DIE_NODE(cpufreq_p0): cpufreq@211e20000 {
|
|
compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
|
|
reg = <0x2 0x11e20000 0 0x1000>;
|
|
#performance-domain-cells = <0>;
|
|
};
|
|
|
|
DIE_NODE(cpufreq_p1): cpufreq@212e20000 {
|
|
compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
|
|
reg = <0x2 0x12e20000 0 0x1000>;
|
|
#performance-domain-cells = <0>;
|
|
};
|
|
|
|
DIE_NODE(pmgr): power-management@28e080000 {
|
|
compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0x2 0x8e080000 0 0x4000>;
|
|
};
|
|
|
|
DIE_NODE(pmgr_east): power-management@28e580000 {
|
|
compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0x2 0x8e580000 0 0xc000>;
|
|
};
|
|
|
|
DIE_NODE(pmgr_south): power-management@28e680000 {
|
|
compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0x2 0x8e680000 0 0xc000>;
|
|
};
|
|
|
|
DIE_NODE(pinctrl_nub): pinctrl@2921f0000 {
|
|
compatible = "apple,t6000-pinctrl", "apple,pinctrl";
|
|
reg = <0x2 0x921f0000 0x0 0x4000>;
|
|
power-domains = <&DIE_NODE(ps_nub_gpio)>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&DIE_NODE(pinctrl_nub) 0 0 16>;
|
|
apple,npins = <16>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupt-parent = <&aic>;
|
|
interrupts = <AIC_IRQ DIE_NO 623 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 624 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 625 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 626 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 627 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 628 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 629 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
DIE_NODE(pmgr_mini): power-management@292280000 {
|
|
compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0x2 0x92280000 0 0x4000>;
|
|
};
|
|
|
|
DIE_NODE(pinctrl_aop): pinctrl@293820000 {
|
|
compatible = "apple,t6000-pinctrl", "apple,pinctrl";
|
|
reg = <0x2 0x93820000 0x0 0x4000>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&DIE_NODE(pinctrl_aop) 0 0 63>;
|
|
apple,npins = <63>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupt-parent = <&aic>;
|
|
interrupts = <AIC_IRQ DIE_NO 567 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 568 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 569 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 570 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 571 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 572 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 573 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
|
|
compatible = "apple,t6000-pinctrl", "apple,pinctrl";
|
|
reg = <0x3 0x9b028000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
interrupts = <AIC_IRQ DIE_NO 427 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 428 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 429 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 430 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 431 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 432 IRQ_TYPE_LEVEL_HIGH>,
|
|
<AIC_IRQ DIE_NO 433 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
clocks = <&clkref>;
|
|
power-domains = <&DIE_NODE(ps_gpio)>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&DIE_NODE(pinctrl_ap) 0 0 255>;
|
|
apple,npins = <255>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|