288 lines
7.3 KiB
Devicetree
288 lines
7.3 KiB
Devicetree
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright 2025 NXP
|
|
*/
|
|
|
|
#include "imx94.dtsi"
|
|
|
|
/ {
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
idle-states {
|
|
entry-method = "psci";
|
|
|
|
cpu_pd_wait: cpu-pd-wait {
|
|
compatible = "arm,idle-state";
|
|
arm,psci-suspend-param = <0x0010033>;
|
|
local-timer-stop;
|
|
entry-latency-us = <1000>;
|
|
exit-latency-us = <700>;
|
|
min-residency-us = <2700>;
|
|
wakeup-latency-us = <1500>;
|
|
};
|
|
};
|
|
|
|
cpu0: cpu@0 {
|
|
compatible = "arm,cortex-a55";
|
|
device_type = "cpu";
|
|
reg = <0x0>;
|
|
enable-method = "psci";
|
|
#cooling-cells = <2>;
|
|
cpu-idle-states = <&cpu_pd_wait>;
|
|
power-domains = <&scmi_perf IMX94_PERF_A55>;
|
|
power-domain-names = "perf";
|
|
i-cache-size = <32768>;
|
|
i-cache-line-size = <64>;
|
|
i-cache-sets = <128>;
|
|
d-cache-size = <32768>;
|
|
d-cache-line-size = <64>;
|
|
d-cache-sets = <128>;
|
|
next-level-cache = <&l2_cache_l0>;
|
|
};
|
|
|
|
cpu1: cpu@100 {
|
|
compatible = "arm,cortex-a55";
|
|
device_type = "cpu";
|
|
reg = <0x100>;
|
|
enable-method = "psci";
|
|
#cooling-cells = <2>;
|
|
cpu-idle-states = <&cpu_pd_wait>;
|
|
power-domains = <&scmi_perf IMX94_PERF_A55>;
|
|
power-domain-names = "perf";
|
|
i-cache-size = <32768>;
|
|
i-cache-line-size = <64>;
|
|
i-cache-sets = <128>;
|
|
d-cache-size = <32768>;
|
|
d-cache-line-size = <64>;
|
|
d-cache-sets = <128>;
|
|
next-level-cache = <&l2_cache_l1>;
|
|
};
|
|
|
|
cpu2: cpu@200 {
|
|
compatible = "arm,cortex-a55";
|
|
device_type = "cpu";
|
|
reg = <0x200>;
|
|
enable-method = "psci";
|
|
#cooling-cells = <2>;
|
|
cpu-idle-states = <&cpu_pd_wait>;
|
|
power-domains = <&scmi_perf IMX94_PERF_A55>;
|
|
power-domain-names = "perf";
|
|
i-cache-size = <32768>;
|
|
i-cache-line-size = <64>;
|
|
i-cache-sets = <128>;
|
|
d-cache-size = <32768>;
|
|
d-cache-line-size = <64>;
|
|
d-cache-sets = <128>;
|
|
next-level-cache = <&l2_cache_l2>;
|
|
};
|
|
|
|
cpu3: cpu@300 {
|
|
compatible = "arm,cortex-a55";
|
|
device_type = "cpu";
|
|
reg = <0x300>;
|
|
enable-method = "psci";
|
|
#cooling-cells = <2>;
|
|
cpu-idle-states = <&cpu_pd_wait>;
|
|
power-domains = <&scmi_perf IMX94_PERF_A55>;
|
|
power-domain-names = "perf";
|
|
i-cache-size = <32768>;
|
|
i-cache-line-size = <64>;
|
|
i-cache-sets = <128>;
|
|
d-cache-size = <32768>;
|
|
d-cache-line-size = <64>;
|
|
d-cache-sets = <128>;
|
|
next-level-cache = <&l2_cache_l3>;
|
|
};
|
|
|
|
l2_cache_l0: l2-cache-l0 {
|
|
compatible = "cache";
|
|
cache-size = <65536>;
|
|
cache-line-size = <64>;
|
|
cache-sets = <256>;
|
|
cache-level = <2>;
|
|
cache-unified;
|
|
next-level-cache = <&l3_cache>;
|
|
};
|
|
|
|
l2_cache_l1: l2-cache-l1 {
|
|
compatible = "cache";
|
|
cache-size = <65536>;
|
|
cache-line-size = <64>;
|
|
cache-sets = <256>;
|
|
cache-level = <2>;
|
|
cache-unified;
|
|
next-level-cache = <&l3_cache>;
|
|
};
|
|
|
|
l2_cache_l2: l2-cache-l2 {
|
|
compatible = "cache";
|
|
cache-size = <65536>;
|
|
cache-line-size = <64>;
|
|
cache-sets = <256>;
|
|
cache-level = <2>;
|
|
cache-unified;
|
|
next-level-cache = <&l3_cache>;
|
|
};
|
|
|
|
l2_cache_l3: l2-cache-l3 {
|
|
compatible = "cache";
|
|
cache-size = <65536>;
|
|
cache-line-size = <64>;
|
|
cache-sets = <256>;
|
|
cache-level = <2>;
|
|
cache-unified;
|
|
next-level-cache = <&l3_cache>;
|
|
};
|
|
|
|
l3_cache: l3-cache {
|
|
compatible = "cache";
|
|
cache-size = <1048576>;
|
|
cache-line-size = <64>;
|
|
cache-sets = <1024>;
|
|
cache-level = <3>;
|
|
cache-unified;
|
|
};
|
|
};
|
|
|
|
thermal_zones: thermal-zones {
|
|
a55-thermal {
|
|
polling-delay-passive = <250>;
|
|
polling-delay = <2000>;
|
|
thermal-sensors = <&scmi_sensor 1>;
|
|
|
|
trips {
|
|
cpu_alert0: trip0 {
|
|
temperature = <105000>;
|
|
hysteresis = <2000>;
|
|
type = "passive";
|
|
};
|
|
|
|
cpu_crit0: trip1 {
|
|
temperature = <125000>;
|
|
hysteresis = <2000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
|
|
cooling-maps {
|
|
map0 {
|
|
trip = <&cpu_alert0>;
|
|
cooling-device =
|
|
<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ana-thermal {
|
|
polling-delay-passive = <250>;
|
|
polling-delay = <2000>;
|
|
thermal-sensors = <&scmi_sensor 0>;
|
|
|
|
trips {
|
|
ana_alert: trip0 {
|
|
temperature = <105000>;
|
|
hysteresis = <2000>;
|
|
type = "passive";
|
|
};
|
|
|
|
ana_crit0: trip1 {
|
|
temperature = <125000>;
|
|
hysteresis = <2000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
|
|
cooling-maps {
|
|
map0 {
|
|
trip = <&ana_alert>;
|
|
cooling-device =
|
|
<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
soc {
|
|
pcie1: pcie@4c380000 {
|
|
compatible = "fsl,imx943-pcie", "fsl,imx95-pcie";
|
|
reg = <0 0x4c380000 0 0x10000>,
|
|
<8 0x80100000 0 0xfe00000>,
|
|
<0 0x4c3e0000 0 0x10000>,
|
|
<0 0x4c3c0000 0 0x4000>;
|
|
reg-names = "dbi", "config", "atu", "app";
|
|
ranges = <0x81000000 0 0x00000000 0x8 0x8ff00000 0 0x00100000>,
|
|
<0x82000000 0 0x10000000 0xa 0x10000000 0 0x80000000>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
linux,pci-domain = <3>;
|
|
msi-map = <0x0 &its 0x98 0x1>,
|
|
<0x100 &its 0x99 0x7>;
|
|
msi-map-mask = <0x1ff>;
|
|
bus-range = <0x00 0xff>;
|
|
num-lanes = <1>;
|
|
num-viewport = <8>;
|
|
interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "msi", "dma";
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0x7>;
|
|
interrupt-map = <0 0 0 1 &gic 0 0 GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0 0 0 2 &gic 0 0 GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0 0 0 3 &gic 0 0 GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0 0 0 4 &gic 0 0 GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&scmi_clk IMX94_CLK_HSIO>,
|
|
<&scmi_clk IMX94_CLK_HSIOPLL>,
|
|
<&scmi_clk IMX94_CLK_HSIOPLL_VCO>,
|
|
<&scmi_clk IMX94_CLK_HSIOPCIEAUX>,
|
|
<&hsio_blk_ctl 0>;
|
|
clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux", "ref";
|
|
assigned-clocks = <&scmi_clk IMX94_CLK_HSIOPLL_VCO>,
|
|
<&scmi_clk IMX94_CLK_HSIOPLL>,
|
|
<&scmi_clk IMX94_CLK_HSIOPCIEAUX>;
|
|
assigned-clock-rates = <3600000000>, <100000000>, <10000000>;
|
|
assigned-clock-parents = <0>, <0>,
|
|
<&scmi_clk IMX94_CLK_SYSPLL1_PFD1_DIV2>;
|
|
power-domains = <&scmi_devpd IMX94_PD_HSIO_TOP>;
|
|
fsl,max-link-speed = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pcie1_ep: pcie-ep@4c380000 {
|
|
compatible = "fsl,imx943-pcie-ep", "fsl,imx95-pcie-ep";
|
|
reg = <0 0x4c380000 0 0x10000>,
|
|
<0 0x4c3e0000 0 0x1000>,
|
|
<0 0x4c3a0000 0 0x1000>,
|
|
<0 0x4c3c0000 0 0x4000>,
|
|
<0 0x4c3f0000 0 0x10000>,
|
|
<0xa 0 1 0>;
|
|
reg-names = "dbi", "atu", "dbi2", "app", "dma", "addr_space";
|
|
num-lanes = <1>;
|
|
interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "dma";
|
|
clocks = <&scmi_clk IMX94_CLK_HSIO>,
|
|
<&scmi_clk IMX94_CLK_HSIOPLL>,
|
|
<&scmi_clk IMX94_CLK_HSIOPLL_VCO>,
|
|
<&scmi_clk IMX94_CLK_HSIOPCIEAUX>;
|
|
clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux";
|
|
assigned-clocks = <&scmi_clk IMX94_CLK_HSIOPLL_VCO>,
|
|
<&scmi_clk IMX94_CLK_HSIOPLL>,
|
|
<&scmi_clk IMX94_CLK_HSIOPCIEAUX>;
|
|
assigned-clock-rates = <3600000000>, <100000000>, <10000000>;
|
|
assigned-clock-parents = <0>, <0>,
|
|
<&scmi_clk IMX94_CLK_SYSPLL1_PFD1_DIV2>;
|
|
msi-map = <0x0 &its 0x98 0x1>;
|
|
power-domains = <&scmi_devpd IMX94_PD_HSIO_TOP>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|