[PATCH] arm64: dts: freescale: Add basic dtsi for imx943
Jacky Bai
ping.bai at nxp.com
Tue Dec 17 00:55:39 PST 2024
> 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 at nxp.com>
> > ---
> > 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 at 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 at 100 {
>
> labels are always lowercase.
Thx, will fix in v2.
>
> > + device_type = "cpu";
...
> > + edma2: dma-controller at 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
More information about the linux-arm-kernel
mailing list