Thread (7 messages) 7 messages, 3 authors, 2019-06-03

RE: [PATCH 2/3] arm64: dts: freescale: Add i.MX8MN dtsi support

From: Anson Huang <hidden>
Date: 2019-06-03 00:57:56
Also in: linux-devicetree, lkml

Hi, Andrey
-----Original Message-----
From: Andrey Smirnov <redacted>
Sent: Saturday, June 1, 2019 3:04 AM
To: Anson Huang <redacted>
Cc: Rob Herring <robh+dt@kernel.org>; Mark Rutland
[off-list ref]; Shawn Guo [off-list ref]; Sascha
Hauer [off-list ref]; Sascha Hauer [off-list ref];
Fabio Estevam [off-list ref]; manivannan.sadhasivam@linaro.org;
bruno.thomsen@gmail.com; Aisheng Dong [off-list ref]; Jacky
Bai [off-list ref]; Leo Li [off-list ref]; Lucas Stach
[off-list ref]; Pankaj Bansal [off-list ref];
Bhaskar Upadhaya [off-list ref]; Pramod Kumar
[off-list ref]; Vabhav Sharma [off-list ref];
Leonard Crestez [off-list ref]; open list:OPEN FIRMWARE
AND FLATTENED DEVICE TREE BINDINGS [off-list ref];
linux-kernel [off-list ref]; linux-arm-kernel <linux-arm-
kernel@lists.infradead.org>; dl-linux-imx [off-list ref]
Subject: Re: [PATCH 2/3] arm64: dts: freescale: Add i.MX8MN dtsi support

On Thu, May 30, 2019 at 2:45 AM [off-list ref] wrote:
quoted
From: Anson Huang <redacted>

The i.MX8M Nano Media Applications Processor is a new SoC of the
i.MX8M family, it is a 14nm FinFET product of the growing mScale
family targeting the consumer market. It is built in Samsung 14LPP to
achieve both high performance and low power consumption and relies on
a powerful fully coherent core complex based on a quad core ARM
Cortex-A53 cluster,
Cortex-M7 low-power coprocessor and graphics accelerator.

This patch adds the basic dtsi support for i.MX8MN.

Signed-off-by: Anson Huang <redacted>
---
This patch should be based on below patches for clock and pinctrl head
files:
quoted
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
hwork.kernel.org%2Fpatch%2F10968059%2F&amp;data=02%7C01%7CAnson
.Huang%
quoted
40nxp.com%7C8d77b87aa30b4c7067ca08d6e5fac8c3%7C686ea1d3bc2b4c6fa
92cd99
quoted
c5c301635%7C0%7C0%7C636949262607301101&amp;sdata=tA55rOer30Vbq
FZ%2Badm
quoted
XC3K42Y%2BG7niE6BbAB4WD2%2Fk%3D&amp;reserved=0
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
hwork.kernel.org%2Fpatch%2F10968267%2F&amp;data=02%7C01%7CAnson
.Huang%
quoted
40nxp.com%7C8d77b87aa30b4c7067ca08d6e5fac8c3%7C686ea1d3bc2b4c6fa
92cd99
quoted
c5c301635%7C0%7C0%7C636949262607301101&amp;sdata=wMIK9tYicC3Km
xJ4zLDuw
quoted
9Wg65vOUdCkZwX8hg3EUz4%3D&amp;reserved=0
---
 arch/arm64/boot/dts/freescale/imx8mn.dtsi | 701
++++++++++++++++++++++++++++++
 1 file changed, 701 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mn.dtsi
diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
new file mode 100644
index 0000000..c318ee6
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
@@ -0,0 +1,701 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019 NXP
+ */
+
+#include <dt-bindings/clock/imx8mn-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+#include "imx8mn-pinfunc.h"
+
+/ {
+       compatible = "fsl,imx8mn";
+       interrupt-parent = <&gic>;
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       aliases {
+               ethernet0 = &fec1;
+               gpio0 = &gpio1;
+               gpio1 = &gpio2;
+               gpio2 = &gpio3;
+               gpio3 = &gpio4;
+               gpio4 = &gpio5;
+               i2c0 = &i2c1;
+               i2c1 = &i2c2;
+               i2c2 = &i2c3;
+               i2c3 = &i2c4;
+               mmc0 = &usdhc1;
+               mmc1 = &usdhc2;
+               mmc2 = &usdhc3;
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               serial3 = &uart4;
+               spi0 = &ecspi1;
+               spi1 = &ecspi2;
+               spi2 = &ecspi3;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               A53_0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x0>;
+                       clock-latency = <61036>;
+                       clocks = <&clk IMX8MN_CLK_ARM>;
+                       enable-method = "psci";
+                       next-level-cache = <&A53_L2>;
+               };
+
+               A53_1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x1>;
+                       clock-latency = <61036>;
+                       clocks = <&clk IMX8MN_CLK_ARM>;
+                       enable-method = "psci";
+                       next-level-cache = <&A53_L2>;
+               };
+
+               A53_2: cpu@2 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x2>;
+                       clock-latency = <61036>;
+                       clocks = <&clk IMX8MN_CLK_ARM>;
+                       enable-method = "psci";
+                       next-level-cache = <&A53_L2>;
+               };
+
+               A53_3: cpu@3 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x3>;
+                       clock-latency = <61036>;
+                       clocks = <&clk IMX8MN_CLK_ARM>;
+                       enable-method = "psci";
+                       next-level-cache = <&A53_L2>;
+               };
+
+               A53_L2: l2-cache0 {
+                       compatible = "cache";
+               };
+       };
+
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x0 0x40000000 0 0x80000000>;
+       };
+
+       osc_32k: clock-osc-32k {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <32768>;
+               clock-output-names = "osc_32k";
+       };
+
+       osc_24m: clock-osc-24m {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <24000000>;
+               clock-output-names = "osc_24m";
+       };
+
+       clk_ext1: clock-ext1 {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <133000000>;
+               clock-output-names = "clk_ext1";
+       };
+
+       clk_ext2: clock-ext2 {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <133000000>;
+               clock-output-names = "clk_ext2";
+       };
+
+       clk_ext3: clock-ext3 {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <133000000>;
+               clock-output-names = "clk_ext3";
+       };
+
+       clk_ext4: clock-ext4 {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency= <133000000>;
+               clock-output-names = "clk_ext4";
+       };
+
+       gic: interrupt-controller@38800000 {
+               compatible = "arm,gic-v3";
+               reg = <0x0 0x38800000 0 0x10000>,
+                     <0x0 0x38880000 0 0xC0000>;
+               #interrupt-cells = <3>;
+               interrupt-controller;
+               interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+       };
GIC should probably go into soc {} node. At least that's how we have it in
i.MX8MQ AFAICT.
Will move it in V2.

Thanks,
Anson.
Thanks,
Andrey Smirnov
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help