> Subject: Re: [PATCH] arm64: dts: freescale: Add basic dtsi for imx943 > > On Thu, Dec 12, 2024 at 05:35:55PM +0800, Jacky Bai wrote: > > The i.MX 943 applications processors integrate up to four Arm Cortex > > A55 cores and supports functional safety with built-in 2x Arm Cortex > > M33 and M7 cores which can be configured asa safety island. Optimizing > > performance and power efficiency for Industrial, IoT and automotive > > devices, i.MX 943 processors are built with NXP’s innovative Energy > > Flex architecture. > > > > This patch adds the minimal dtsi support for i.MX943 with peripherals > > like uart, edma, i2c, spi, mu, sai etc. > > > > Signed-off-by: Jacky Bai <ping.bai@xxxxxxx> > > --- > > arch/arm64/boot/dts/freescale/imx943-clock.h | 196 +++ > > .../arm64/boot/dts/freescale/imx943-pinfunc.h | 1542 > +++++++++++++++++ > > arch/arm64/boot/dts/freescale/imx943-power.h | 41 + > > arch/arm64/boot/dts/freescale/imx943.dtsi | 1284 > ++++++++++++++ > > No, this is untested, uncompilable. > > We do not add dead code to the kernel. You need users. Board dts was planned for later. Will include the minimal board dts part in v2. > > > 4 files changed, 3063 insertions(+) > > create mode 100644 arch/arm64/boot/dts/freescale/imx943-clock.h > > create mode 100644 arch/arm64/boot/dts/freescale/imx943-pinfunc.h > > create mode 100644 arch/arm64/boot/dts/freescale/imx943-power.h > > create mode 100644 arch/arm64/boot/dts/freescale/imx943.dtsi > > > > diff --git a/arch/arm64/boot/dts/freescale/imx943-clock.h > > b/arch/arm64/boot/dts/freescale/imx943-clock.h ... > > +#define IMX943_CLK_EXT2 45 > > + > > +#define IMX943_CLK_NUM_SRC 46 > > Drop and all other clock numbers like that. Ok, will fix in v2. > > ... > > > +#include <dt-bindings/dma/fsl-edma.h> #include > > +<dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> > > +#include <dt-bindings/interrupt-controller/arm-gic.h> > > + > > +#include "imx943-clock.h" > > +#include "imx943-pinfunc.h" > > +#include "imx943-power.h" > > + > > +/ { > > + interrupt-parent = <&gic>; > > + #address-cells = <2>; > > + #size-cells = <2>; > > + > > + 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 = <10000>; > > + exit-latency-us = <7000>; > > + min-residency-us = <27000>; > > + wakeup-latency-us = <15000>; > > + }; > > + }; > > + > > + A55_0: cpu@0 { > > + device_type = "cpu"; > > + compatible = "arm,cortex-a55"; > > + reg = <0x0>; > > + enable-method = "psci"; > > + #cooling-cells = <2>; > > + cpu-idle-states = <&cpu_pd_wait>; > > + power-domains = <&scmi_perf IMX943_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>; > > + }; > > + > > + A55_1: cpu@100 { > > labels are always lowercase. Thx, will fix in v2. > > > + device_type = "cpu"; ... > > + edma2: dma-controller@42000000 { > > + compatible = "fsl,imx95-edma5"; > > imx943 or imx95? > Compatible with imx95, so I did not add new redundant dt binding entry. BR > Best regards, > Krzysztof