Merge tag 'mvebu-dt64-6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.20 (part 1)

Add support for Armada 7020 Express Type 7 CPU module board by Marvell, including:
 - COM Express CPU module and carrier board (Marvell DB-98CX85x0)
  - DDR4 memory, 1Gbit OOB Ethernet, 10G KR Ethernet, NAND/SPI flash, PCIe, SATA, USB, and UART interfaces
Add SoC-specific compatibles for SafeXcel crypto engine on Armada 37xx and CP11x
Fix regulator type from "regulator-gpio" to "regulator-fixed" where no GPIO control is present
Add missing GPIO properties for "nxp,pca9536" on cn9131-cf-solidwan
Fix and clean up pinctrl-names properties and typos
Add missing "#phy-cells" to "usb-nop-xceiv" nodes
MAINTAINERS: Add Falcon DB to the list of maintained Marvell Armada dts files

* tag 'mvebu-dt64-6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  MAINTAINERS: Add Falcon DB
  arm64: dts: a7k: add COM Express boards
  arm64: dts: marvell: Add SoC specific compatibles to SafeXcel crypto
  arm64: dts: marvell: change regulator-gpio to regulator-fixed
  arm64: dts: marvell: cn9131-cf-solidwan: Add missing GPIO properties on "nxp,pca9536"
  arm64: dts: marvell: Fix stray and typo "pinctrl-names" properties
  arm64: dts: marvell: Add missing "#phy-cells" to "usb-nop-xceiv"

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann
2026-01-28 18:48:15 +01:00
20 changed files with 243 additions and 18 deletions

View File

@@ -2943,6 +2943,7 @@ S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu.git
F: Documentation/devicetree/bindings/arm/marvell/
F: arch/arm/boot/dts/marvell/armada*
F: arch/arm/boot/dts/marvell/db-falcon*
F: arch/arm/boot/dts/marvell/kirkwood*
F: arch/arm/configs/mvebu_*_defconfig
F: arch/arm/mach-mvebu/

View File

@@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7-emmc.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-gl-mv1000.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-turris-mox.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-uDPU.dtb
dtb-$(CONFIG_ARCH_MVEBU) += db-falcon-carrier-a7k.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-mochabin.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-clearfog-gt-8k.dtb

View File

@@ -41,6 +41,7 @@ exp_usb3_vbus: usb3-vbus {
usb3_phy: usb3-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&exp_usb3_vbus>;
};

View File

@@ -37,11 +37,11 @@ reg_usb3_vbus: usb3-vbus {
usb3_phy: usb3-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&reg_usb3_vbus>;
};
gpio-leds {
pinctrl-names = "default";
compatible = "gpio-leds";
/* No assigned functions to the LEDs by default */
led1 {

View File

@@ -26,16 +26,11 @@ memory@0 {
};
vcc_sd_reg1: regulator {
compatible = "regulator-gpio";
compatible = "regulator-fixed";
regulator-name = "vcc_sd1";
regulator-min-microvolt = <1800000>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpios-states = <0>;
states = <1800000 0x1
3300000 0x0>;
enable-active-high;
};
keys {

View File

@@ -427,7 +427,8 @@ xor11 {
};
crypto: crypto@90000 {
compatible = "inside-secure,safexcel-eip97ies";
compatible = "marvell,armada-3700-crypto",
"inside-secure,safexcel-eip97ies";
reg = <0x90000 0x20000>;
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,

View File

@@ -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 = "Marvell Armada-7020 COMEXPRESS board setup";
compatible = "marvell,armada7020-cpu-module", "marvell,armada7020",
"marvell,armada-ap806-dual", "marvell,armada-ap806";
memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x2 0x00000000>;
};
chosen {
stdout-path = "serial0:115200n8";
};
aliases {
ethernet0 = &cp0_eth0;
ethernet1 = &cp0_eth1;
};
};
&ap_clk {
status = "okay";
};
&gic {
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <100000>;
};
&spi0 {
status = "okay";
};
&uart0 {
status = "okay";
};
&cp0_mdio {
status = "okay";
phy0: ethernet-phy@10 {
reg = <0x10>;
};
};
&cp0_ethernet {
status = "okay";
};
&cp0_eth0 {
status = "okay";
phy-mode = "10gbase-r";
managed = "in-band-status";
/* Generic PHY, providing serdes lanes */
phys = <&cp0_comphy4 0>;
};
&cp0_eth1 {
status = "okay";
phy = <&phy0>;
phy-mode = "rgmii-id";
};
&cp0_usb3_0 {
status = "okay";
};
&cp0_usb3_1 {
status = "okay";
};
&cp0_clk {
status = "okay";
};
&cp0_i2c0 {
status = "okay";
clock-frequency = <100000>;
};
&cp0_nand_controller {
status = "okay";
nand@0 {
reg = <0>;
label = "main-storage";
nand-rb = <0>;
nand-ecc-mode = "hw";
nand-on-flash-bbt;
nand-ecc-strength = <8>;
nand-ecc-step-size = <512>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "U-Boot";
reg = <0 0x400000>;
};
partition@200000 {
label = "Linux";
reg = <0x400000 0x100000>;
};
partition@1000000 {
label = "Filesystem";
reg = <0x500000 0x1e00000>;
};
};
};
};
&cp0_pcie0 {
status = "okay";
num-lanes = <4>;
num-viewport = <8>;
ranges = <0x81000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x00010000
0x82000000 0x0 0x00000000 0x0 0xc0000000 0x0 0x30000000>;
/* Generic PHY, providing serdes lanes */
phys = <&cp0_comphy0 0
&cp0_comphy1 0
&cp0_comphy2 0
&cp0_comphy3 0>;
};
&cp0_sata0 {
/* CPM Lane 0 - U29 */
status = "okay";
sata-port@1 {
status = "okay";
/* Generic PHY, providing serdes lanes */
phys = <&cp0_comphy5 1>;
};
};
&cp0_sdhci0 {
pinctrl-names = "default";
pinctrl-0 = <&sdhci_pins>;
status = "okay";
bus-width = <4>;
no-1-8-v;
broken-cd;
};

View File

@@ -47,6 +47,13 @@ &cp0_syscon0 {
cp0_pinctrl: pinctrl {
compatible = "marvell,armada-7k-pinctrl";
sdhci_pins: sdhci-pins {
marvell,pins = "mpp56", "mpp57", "mpp58",
"mpp59", "mpp60", "mpp61", "mpp62";
marvell,function = "sdio";
};
nand_pins: nand-pins {
marvell,pins =
"mpp15", "mpp16", "mpp17", "mpp18",

View File

@@ -51,6 +51,7 @@ cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus {
cp0_usb3_0_phy: cp0-usb3-0-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp0_reg_usb3_0_vbus>;
};
@@ -65,6 +66,7 @@ cp1_reg_usb3_0_vbus: cp1-usb3-0-vbus {
cp1_usb3_0_phy: cp1-usb3-0-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp1_reg_usb3_0_vbus>;
};
};

View File

@@ -54,7 +54,7 @@ l2: l2-cache {
};
thermal-zones {
/delete-node/ ap-thermal-cpu2;
/delete-node/ ap-thermal-cpu3;
/delete-node/ ap-cpu2-thermal;
/delete-node/ ap-cpu3-thermal;
};
};

View File

@@ -512,7 +512,8 @@ CP11X_LABEL(sdhci0): mmc@780000 {
};
CP11X_LABEL(crypto): crypto@800000 {
compatible = "inside-secure,safexcel-eip197b";
compatible = "marvell,armada-cp110-crypto",
"inside-secure,safexcel-eip197b";
reg = <0x800000 0x200000>;
interrupts = <88 IRQ_TYPE_LEVEL_HIGH>,
<89 IRQ_TYPE_LEVEL_HIGH>,

View File

@@ -137,7 +137,7 @@ led@1 {
&cp0_pinctrl {
pinctrl-0 = <&sim_select_pins>;
pintrl-names = "default";
pinctrl-names = "default";
rear_button_pins: cp0-rear-button-pins {
marvell,pins = "mpp31";

View File

@@ -47,10 +47,12 @@ cp0_reg_usb3_vbus1: regulator-2 {
cp0_usb3_0_phy0: usb-phy-1 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
};
cp0_usb3_0_phy1: usb-phy-2 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp0_reg_usb3_vbus1>;
};
@@ -91,7 +93,6 @@ &uart0 {
/* on-board eMMC U6 */
&ap_sdhci0 {
pinctrl-names = "default";
bus-width = <8>;
status = "okay";
mmc-ddr-1_8v;

View File

@@ -50,6 +50,7 @@ cp0_reg_usb3_vbus0: regulator-2 {
cp0_usb3_0_phy0: usb-phy-1 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp0_reg_usb3_vbus0>;
};
@@ -64,6 +65,7 @@ cp0_reg_usb3_vbus1: regulator-3 {
cp0_usb3_0_phy1: usb-phy-2 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp0_reg_usb3_vbus1>;
};
@@ -109,7 +111,6 @@ &uart0 {
/* on-board eMMC - U9 */
&ap_sdhci0 {
pinctrl-names = "default";
bus-width = <8>;
vqmmc-supply = <&ap0_reg_sd_vccq>;
status = "okay";
@@ -164,7 +165,6 @@ &cp0_i2c0 {
/* U36 */
expander0: pca953x@21 {
compatible = "nxp,pca9555";
pinctrl-names = "default";
gpio-controller;
#gpio-cells = <2>;
reg = <0x21>;

View File

@@ -202,6 +202,8 @@ fan-controller@18 {
expander0: gpio@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
gpio-controller;
#gpio-cells = <2>;
usb-a-vbus0-ilimit-hog {
gpio-hog;

View File

@@ -15,8 +15,9 @@ / {
};
&ap0_reg_sd_vccq {
compatible = "regulator-fixed";
regulator-max-microvolt = <1800000>;
states = <1800000 0x1 1800000 0x0>;
/delete-property/ states;
/delete-property/ gpios;
};

View File

@@ -31,6 +31,7 @@ cp1_reg_usb3_vbus0: regulator-6 {
cp1_usb3_0_phy0: usb-phy-3 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp1_reg_usb3_vbus0>;
};

View File

@@ -28,6 +28,7 @@ cp2_reg_usb3_vbus0: regulator-7 {
cp2_usb3_0_phy0: usb-phy-4 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp2_reg_usb3_vbus0>;
};
@@ -42,6 +43,7 @@ cp2_reg_usb3_vbus1: regulator-8 {
cp2_usb3_0_phy1: usb-phy-5 {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
vcc-supply = <&cp2_reg_usb3_vbus1>;
};
@@ -140,7 +142,6 @@ i2c@1 {
/* U12 */
cp2_module_expander1: pca9555@21 {
compatible = "nxp,pca9555";
pinctrl-names = "default";
gpio-controller;
#gpio-cells = <2>;
reg = <0x21>;

View File

@@ -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 carrier
* via PCIe.
*/
#include "armada-7020-comexpress.dtsi"
#include "db-falcon-carrier.dtsi"
/ {
model = "Marvell Falcon DB COM EXPRESS type 7 carrier board with Armada 7020 CPU module";
compatible = "marvell,armada7020-falcon-carrier", "marvell,db-falcon-carrier",
"marvell,armada7020-cpu-module", "marvell,armada7020",
"marvell,armada-ap806-dual", "marvell,armada-ap806";
};

View File

@@ -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 = "Marvell Armada Falcon DB COM EXPRESS type 7 carrier board";
compatible = "marvell,db-falcon-carrier";
};