From nobody Mon Feb 9 16:17:27 2026 Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1648436F425; Thu, 22 Jan 2026 17:00:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=67.231.148.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769101210; cv=none; b=d6wDheG3EOOBBUEmVYlF8ERHlyvT8KYPEuLxMgsSP4DnPmoA2a62w9qFnh5vDsMJZV4feLcomxSmEy0r0nGloPMTl6Z29viGXIvI6XkgEFeDXUyxrNAdUQkaH/6S7yKWpyIRe4Uiv3YkNaiOdCiGH8TfcHCpjFUNim5En/AXvE4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769101210; c=relaxed/simple; bh=HzmU+dEDeeVfX0rmqw19D+wb9uuTzpy8kRRvosFoQF0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pTA/+9jrPZgybSq9FFSRNhpNbV3AgGtl18lKAsOT/vYTJLSEhE2FKApEPR8kIxWvpgwhvTy1JEtq1tnwGjOXyvvlEtNHIX8PNl+qdVqLdKsqwdfPuRL2CnlrUd8dA7/YvJ1qkJpow4P+C4aLPplQ1f03zKhi3FbnP/IzU6XlQd4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marvell.com; spf=none smtp.helo=mx0a-0016f401.pphosted.com; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b=K1LoK7Tf; arc=none smtp.client-ip=67.231.148.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marvell.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.helo=mx0a-0016f401.pphosted.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="K1LoK7Tf" Received: from pps.filterd (m0431384.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60MG6ic91133410; Thu, 22 Jan 2026 08:59:42 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pfpt0220; bh=j JONkEICJ9ITGjNTtCvM/jIxYDvTCLWbhHVQFldVd9U=; b=K1LoK7TfEjzyevAyg hBPKfvxDqGJ84761Jv5zGkduNSNqQUr+WRt8D1CTN0/ktkUjh4Y5Y+zAk/4Pjzoc 4c/L9R0NI4WKZWvbtDnN7p3q0LxizKTsQfytzDD49fA8QmhaD4xUPo2IxeirCa8m V7DIxJ1jCmThatclJ4Dd5e4j1MAPzVZ50ixtjfZWMPGaWxvSWrXMHMaYo5u50XbO GPZx0LjtmSJ9lMPqF+1Xv/3XRLYMnEoD5i8bQYooUH2/qJI1dsL0cg8xtZvoKhqM EgYzoP0KMczaQPWdvNhUouD1CNPMOvqkdjRohnlFVnv6EbwmDrkM+YaZmKmY22oq FZ/SA== Received: from dc5-exch05.marvell.com ([199.233.59.128]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 4bu8j720tr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 22 Jan 2026 08:59:42 -0800 (PST) Received: from DC5-EXCH05.marvell.com (10.69.176.209) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.25; Thu, 22 Jan 2026 08:59:56 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server id 15.2.1544.25 via Frontend Transport; Thu, 22 Jan 2026 08:59:56 -0800 Received: from c1illp-saixps-016.eng.marvell.com (c1illp-saixps-016.eng.marvell.com [10.205.40.247]) by maili.marvell.com (Postfix) with ESMTP id 652193F70AF; Thu, 22 Jan 2026 08:59:38 -0800 (PST) From: Elad Nachman To: , , , , , , , , , , , CC: Subject: [PATCH 2/3] arm64: dts: a7k: add COM Express boards Date: Thu, 22 Jan 2026 18:59:22 +0200 Message-ID: <20260122165923.2316510-3-enachman@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260122165923.2316510-1-enachman@marvell.com> References: <20260122165923.2316510-1-enachman@marvell.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: rx1zXucNW7qv365PcFNvVstpWFvOtJDc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTIyMDEyNyBTYWx0ZWRfX2/5EdO4tyRvl gAnCD+QMibB6y7jAqtAZl1i75aKbRrDV1n88GzRBT7LM9jf4wPY2WBkJgcOCU5vCyP2zHukHBE7 VLt/bT5VGqjDGWfesEUKVO12k9HdNTNC3htm8wdUTPquo7einh/mv6xYKekOEflg1dE098l4clI wU28WTBcd20/Ill1+DBmfjbINGkjcWub/zBzT+Hb40mNqVMFyk6l8Nphj30ZF8MQdBjNXa81Tfs 6jpyzqb1fXHAVjUS9hJq/xTjSLPM8M+zKHC261fM5oXiFG6ES+QDPJjEhzQd4Dbkp66f0/jTSaK GTlBQmF48QmF5rJztxHFZyhdBC+beb8nAWt86cB4BhSWrkGvtyPhAB2HFKeSLi500/mzUrGBH2h WuKmAuQE0YdPLhymA5u8OSR2RHEGlBIux/zkZjfWq1nLET+CjWbNtiPoIaL8smv1wpqhP3K7EoY 49Vfhf1yKHmP9IhZ/KA== X-Proofpoint-ORIG-GUID: rx1zXucNW7qv365PcFNvVstpWFvOtJDc X-Authority-Analysis: v=2.4 cv=Q7zfIo2a c=1 sm=1 tr=0 ts=6972577e cx=c_pps a=rEv8fa4AjpPjGxpoe8rlIQ==:117 a=rEv8fa4AjpPjGxpoe8rlIQ==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=M5GUcnROAAAA:8 a=55z1VpWbWaCzKOrxCaoA:9 a=OBjm3rFKGHvpk9ecZwUJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-22_03,2026-01-22_02,2025-10-01_01 Content-Type: text/plain; charset="utf-8" From: Elad Nachman Add support for Armada 7020 Express Type 7 CPU module board by Marvell. Define this COM Express CPU module as dtsi and provide a dtsi file for the carrier board (Marvell DB-98CX85x0 COM Express type 7 carrier board). Since memory is soldered on CPU module, memory node is on CPU module dtsi file. This Carrier board only utilizes the PCIe link, hence no special device or driver support is provided by this dtsi file. Devise a dts file for the combined com express carrier and CPU module. The Aramda 7020 CPU COM Express board offers the following features: 1. Armada 7020 CPU, with dual ARM A72 cores 2. DDR4 memory, 8GB, on board soldered 3. 1Gbit Out of Band Ethernet via RGMII to PHY and RJ45 connector, all are present on A7K CPU module (none on the carrier) 4. Optional 10G KR Ethernet going via the COM Express type 7 connector 5. On-board 8 Gbit, 8-bit bus width NAND flash 6. On-board 512 Mbit SPI flash 7. PCIe Root Complex, 4 lanes PCIe gen3 connectivity, going via the COM Express type 7 connector 8. m.2 SATA connector 9. Micro-SD card connector 10. USB 2.0 via COM Express type 7 connector 11. Two i2c interfaces - one to the CPU module, and one to the carrier board via the COM Express type 7 connector 12. UART (mini USB connector by virtue of FT2232D UART to USB converter, connected to the Armada 7020 UART0) Signed-off-by: Elad Nachman --- arch/arm64/boot/dts/marvell/Makefile | 1 + .../dts/marvell/armada-7020-comexpress.dtsi | 161 ++++++++++++++++++ arch/arm64/boot/dts/marvell/armada-70x0.dtsi | 7 + .../boot/dts/marvell/armada-ap806-dual.dtsi | 4 +- .../dts/marvell/db-falcon-carrier-a7k.dts | 27 +++ .../boot/dts/marvell/db-falcon-carrier.dtsi | 22 +++ 6 files changed, 220 insertions(+), 2 deletions(-) create mode 100644 arch/arm64/boot/dts/marvell/armada-7020-comexpress.dtsi create mode 100644 arch/arm64/boot/dts/marvell/db-falcon-carrier-a7k.dts create mode 100644 arch/arm64/boot/dts/marvell/db-falcon-carrier.dtsi diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/mar= vell/Makefile index a774bc74a0a0..09d1544041af 100644 --- a/arch/arm64/boot/dts/marvell/Makefile +++ b/arch/arm64/boot/dts/marvell/Makefile @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-3720-espressobin-v7-= emmc.dtb dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-3720-gl-mv1000.dtb dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-3720-turris-mox.dtb dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-3720-uDPU.dtb +dtb-$(CONFIG_ARCH_MVEBU) +=3D db-falcon-carrier-a7k.dtb dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-7040-db.dtb dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-7040-mochabin.dtb dtb-$(CONFIG_ARCH_MVEBU) +=3D armada-8040-clearfog-gt-8k.dtb diff --git a/arch/arm64/boot/dts/marvell/armada-7020-comexpress.dtsi b/arch= /arm64/boot/dts/marvell/armada-7020-comexpress.dtsi new file mode 100644 index 000000000000..dd91bfa9f880 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/armada-7020-comexpress.dtsi @@ -0,0 +1,161 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2023 Marvell Technology Group Ltd. + * + * Device Tree file for Marvell Armada 7020 Com Express CPU module board. + */ + +#include "armada-7020.dtsi" + +/ { + model =3D "Marvell Armada-7020 COMEXPRESS board setup"; + compatible =3D "marvell,armada7020-cpu-module", "marvell,armada7020", + "marvell,armada-ap806-dual", "marvell,armada-ap806"; + + memory@0 { + device_type =3D "memory"; + reg =3D <0x0 0x0 0x2 0x00000000>; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + aliases { + ethernet0 =3D &cp0_eth0; + ethernet1 =3D &cp0_eth1; + }; +}; + +&ap_clk { + status =3D "okay"; +}; + +&gic { + status =3D "okay"; +}; + +&i2c0 { + status =3D "okay"; + clock-frequency =3D <100000>; +}; + +&spi0 { + status =3D "okay"; +}; + +&uart0 { + status =3D "okay"; +}; + +&cp0_mdio { + status =3D "okay"; + + phy0: ethernet-phy@10 { + reg =3D <0x10>; + }; +}; + +&cp0_ethernet { + status =3D "okay"; +}; + +&cp0_eth0 { + status =3D "okay"; + phy-mode =3D "10gbase-kr"; + managed =3D "in-band-status"; + /* Generic PHY, providing serdes lanes */ + phys =3D <&cp0_comphy4 0>; +}; + +&cp0_eth1 { + status =3D "okay"; + phy =3D <&phy0>; + phy-mode =3D "rgmii-id"; +}; + +&cp0_usb3_0 { + status =3D "okay"; +}; + +&cp0_usb3_1 { + status =3D "okay"; +}; + +&cp0_clk { + status =3D "okay"; +}; + +&cp0_i2c0 { + status =3D "okay"; + clock-frequency =3D <100000>; +}; + +&cp0_nand_controller { + status =3D "okay"; + + nand@0 { + reg =3D <0>; + label =3D "main-storage"; + nand-rb =3D <0>; + nand-ecc-mode =3D "hw"; + nand-on-flash-bbt; + nand-ecc-strength =3D <8>; + nand-ecc-step-size =3D <512>; + + partitions { + compatible =3D "fixed-partitions"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + partition@0 { + label =3D "U-Boot"; + reg =3D <0 0x400000>; + }; + partition@200000 { + label =3D "Linux"; + reg =3D <0x400000 0x100000>; + }; + partition@1000000 { + label =3D "Filesystem"; + reg =3D <0x500000 0x1e00000>; + }; + }; + }; +}; + +&cp0_pcie0 { + status =3D "okay"; + num-lanes =3D <4>; + num-viewport =3D <8>; + + ranges =3D <0x81000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x00010000 + 0x82000000 0x0 0x00000000 0x0 0xc0000000 0x0 0x30000000>; + + /* Generic PHY, providing serdes lanes */ + phys =3D <&cp0_comphy0 0 + &cp0_comphy1 0 + &cp0_comphy2 0 + &cp0_comphy3 0>; +}; + +&cp0_sata0 { + /* CPM Lane 0 - U29 */ + status =3D "okay"; + + sata-port@1 { + status =3D "okay"; + /* Generic PHY, providing serdes lanes */ + phys =3D <&cp0_comphy5 1>; + }; +}; + +&cp0_sdhci0 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sdhci_pins>; + status =3D "okay"; + bus-width =3D <4>; + no-1-8-v; + broken-cd; +}; + diff --git a/arch/arm64/boot/dts/marvell/armada-70x0.dtsi b/arch/arm64/boot= /dts/marvell/armada-70x0.dtsi index df939426d258..36e0a8a0ade3 100644 --- a/arch/arm64/boot/dts/marvell/armada-70x0.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-70x0.dtsi @@ -47,6 +47,13 @@ &cp0_syscon0 { cp0_pinctrl: pinctrl { compatible =3D "marvell,armada-7k-pinctrl"; =20 + + sdhci_pins: sdhci-pins { + marvell,pins =3D "mpp56", "mpp57", "mpp58", + "mpp59", "mpp60", "mpp61", "mpp62"; + marvell,function =3D "sdio"; + }; + nand_pins: nand-pins { marvell,pins =3D "mpp15", "mpp16", "mpp17", "mpp18", diff --git a/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi b/arch/arm6= 4/boot/dts/marvell/armada-ap806-dual.dtsi index 82f4dedfc25e..0868d59d561b 100644 --- a/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi @@ -54,7 +54,7 @@ l2: l2-cache { }; =20 thermal-zones { - /delete-node/ ap-thermal-cpu2; - /delete-node/ ap-thermal-cpu3; + /delete-node/ ap-cpu2-thermal; + /delete-node/ ap-cpu3-thermal; }; }; diff --git a/arch/arm64/boot/dts/marvell/db-falcon-carrier-a7k.dts b/arch/a= rm64/boot/dts/marvell/db-falcon-carrier-a7k.dts new file mode 100644 index 000000000000..5d1ae7b35b62 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/db-falcon-carrier-a7k.dts @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2023 Marvell International Ltd. + * + * Device tree for the Falcon DB Type 7 Com Express carrier board, + * Utilizing the Armada 7020 COM Express CPU module board. + * This specific carrier board (DB-98CX8540/80) + * only maintains a PCIe link with the CPU module, + * which does not require any special DTS definitions. + * + * There is no Linux CPU booting in this mode on the carrier, only on the + * Armada 7020 COM Express CPU module. + * What runs the Linux is the Armada 7020 on the COM Express CPU module, + * And it accesses the switch end-point on the Falcon DB portion of the ca= rrier + * via PCIe. + */ + +#include "armada-7020-comexpress.dtsi" +#include "db-falcon-carrier.dtsi" + +/ { + model =3D "Marvell Falcon DB COM EXPRESS type 7 carrier board with Armada= 7020 CPU module"; + compatible =3D "marvell,armada7020-falcon-carrier", "marvell,db-falcon-ca= rrier", + "marvell,armada7020-cpu-module", "marvell,armada7020", + "marvell,armada-ap806-dual", "marvell,armada-ap806"; + +}; diff --git a/arch/arm64/boot/dts/marvell/db-falcon-carrier.dtsi b/arch/arm6= 4/boot/dts/marvell/db-falcon-carrier.dtsi new file mode 100644 index 000000000000..c85ad1547ec5 --- /dev/null +++ b/arch/arm64/boot/dts/marvell/db-falcon-carrier.dtsi @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2023 Marvell International Ltd. + * + * Device tree for the Falcon DB Type 7 Com Express carrier board, + * This (DB-98CX8540/80) specific carrier board only maintains + * a PCIe link with the COM Express CPU module, which does not + * require any special DTS definitions. + * + * The board contains the 98CX8540/80 Switch, which connects by + * PCIe to the COM Express CPU module. + * This CPU module can be any standard COM Express CPU module with + * PCIe support. + * + * There is no Linux CPU booting in this mode on the carrier, + * only on the COM Express CPU module. + */ + +/ { + model =3D "Marvell Armada Falcon DB COM EXPRESS type 7 carrier board"; + compatible =3D "marvell,db-falcon-carrier"; +}; --=20 2.25.1