Re: [PATCH v1 14/14] arm64: dts: freescale: add initial support for verdin imx8m mini
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2022-01-10 08:49:09
Also in:
linux-devicetree, lkml
On 07/01/2022 19:03, Marcel Ziswiler wrote:
From: Marcel Ziswiler <redacted> This patch adds the device tree to support Toradex Verdin iMX8M Mini a computer on module which can be used on different carrier boards. The module consists of an NXP i.MX 8M Mini family SoC (either i.MX 8M Mini Quad or 8M Mini DualLite), a PCA9450A PMIC, a Gigabit Ethernet PHY, 1 or 2 GB of LPDDR4 RAM, an eMMC, a TLA2024 ADC, an I2C EEPROM, an RX8130 RTC, an optional SPI CAN controller plus an optional Bluetooth/ Wi-Fi module. Anything that is not self-contained on the module is disabled by default. The device tree for the Dahlia includes the module's device tree and enables the supported peripherals of the carrier board. The device tree for the Verdin Development Board includes the module's device tree as well as the Dahlia one as it is a superset and supports almost all peripherals available. So far there is no display functionality supported at all but basic console UART, USB host, eMMC and Ethernet and PCIe functionality work fine. Signed-off-by: Marcel Ziswiler <redacted> --- arch/arm64/boot/dts/freescale/Makefile | 4 + .../dts/freescale/imx8mm-verdin-dahlia.dtsi | 143 ++ .../boot/dts/freescale/imx8mm-verdin-dev.dtsi | 67 + .../imx8mm-verdin-nonwifi-dahlia.dts | 18 + .../freescale/imx8mm-verdin-nonwifi-dev.dts | 18 + .../dts/freescale/imx8mm-verdin-nonwifi.dtsi | 75 + .../freescale/imx8mm-verdin-wifi-dahlia.dts | 18 + .../dts/freescale/imx8mm-verdin-wifi-dev.dts | 18 + .../dts/freescale/imx8mm-verdin-wifi.dtsi | 95 ++ .../boot/dts/freescale/imx8mm-verdin.dtsi | 1277 +++++++++++++++++ 10 files changed, 1733 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dahlia.dts create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-dev.dts create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi.dtsi create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dahlia.dts create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dev.dts create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi.dtsi create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi
(...)
quoted hunk ↗ jump to hunk
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi new file mode 100644 index 000000000000..23eb695a5266 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi@@ -0,0 +1,1277 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2022 Toradex + */ + +#include "dt-bindings/pwm/pwm.h" +#include "imx8mm.dtsi" + +/ { + chosen { + bootargs = "console=ttymxc0,115200 earlycon";
earlycon is a debug tool, so should not be part of mainline DTS by default. Entire bootargs property looks actually not needed.
+ stdout-path = &uart1; + }; +
(...)
+/* Verdin ETH_1 (On-module PHY) */
+&fec1 {
+ fsl,magic-packet;
+ phy-handle = <ðphy0>;
+ phy-mode = "rgmii-id";
+ phy-supply = <®_ethphy>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_fec1>;
+ pinctrl-1 = <&pinctrl_fec1_sleep>;
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethphy0: ethernet-phy@7 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ interrupt-parent = <&gpio1>;
+ interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
+ micrel,led-mode = <0>;
+ reg = <7>;
+ };
+ };
+};
+
+/* Verdin QSPI_1 */
+&flexspi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexspi0>;
+#if 0Please drop it or explain with a comment why we need dead code in Linux kernel.
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <80000000>;
+ };
+#endif
+};
+Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel