penguin/monok8s

k8s image for Mono Gateway Dev Kit

kernel-build/dts/mono-gateway-dk-sdk.dts

raw ยท 10924 bytes

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Device Tree file for Freescale Layerscape-1046A family SoC.
 *
 * Copyright 2025 Mono Technologies Inc.
 *
 * Author: Tomaz Zaman <tomaz@mono.si>
 */

#include "mono-gateway-dk.dts"
#include "qoriq-qman-portals-sdk.dtsi"
#include "qoriq-bman-portals-sdk.dtsi"

/ {
	/* Boot memory regions for SDK DPAA driver */
	bootmem0@a0000000 {
		reg = <0x00 0xa0000000 0x00 0x4000000 0x00 0xa4000000 0x00 0x6000000>;
	};

	bootmem1@aa000000 {
		reg = <0x00 0xaa000000 0x00 0x4000000 0x00 0xae000000 0x00 0x6000000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		usdpaa_mem: usdpaa_mem {
			compatible = "fsl,usdpaa-mem";
            alloc-ranges = <0 0x80000000 0 0xffffffff>;
			size = <0 0x10000000>;		// 256MB
			alignment = <0 0x10000000>;
		};
	};

	cpus {
		fman0-extended-args {
			cell-index = <0x00>;
			compatible = "fsl,fman-extended-args";
			total-fifo-size = <0x3e500>;

			/* Offline ports for CDX - cell-index overridden for SDK compatibility:
			 * fman0_oh_0x3 (port@83000) = cell-index 1 (SDK style)
			 * fman0_oh_0x4 (port@84000) = cell-index 2 (SDK style)
			 */
			fman0_oh_0x3-extended-args {
				cell-index = <0x01>;  /* matches port@83000 SDK cell-index */
				compatible = "fsl,fman-port-op-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			fman0_oh_0x4-extended-args {
				cell-index = <0x02>;  /* matches port@84000 SDK cell-index */
				compatible = "fsl,fman-port-op-extended-args";
				fifo-size = <0x900 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* All 1G ports need extended-args (SDK driver requirement) */

			/* MAC1 (ethernet@e0000) - cell-index 0 - disabled but needed */
			fman0_rx0-extended-args {
				cell-index = <0x00>;
				compatible = "fsl,fman-port-1g-rx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx0-extended-args {
				cell-index = <0x00>;
				compatible = "fsl,fman-port-1g-tx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC2 (ethernet@e2000) - cell-index 1 */
			fman0_rx1-extended-args {
				cell-index = <0x01>;
				compatible = "fsl,fman-port-1g-rx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx1-extended-args {
				cell-index = <0x01>;
				compatible = "fsl,fman-port-1g-tx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC3 (ethernet@e4000) - cell-index 2 - disabled but needed */
			fman0_rx2-extended-args {
				cell-index = <0x02>;
				compatible = "fsl,fman-port-1g-rx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx2-extended-args {
				cell-index = <0x02>;
				compatible = "fsl,fman-port-1g-tx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC4 (ethernet@e6000) - cell-index 3 - disabled but needed */
			fman0_rx3-extended-args {
				cell-index = <0x03>;
				compatible = "fsl,fman-port-1g-rx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx3-extended-args {
				cell-index = <0x03>;
				compatible = "fsl,fman-port-1g-tx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC5 (ethernet@e8000) - cell-index 4 */
			fman0_rx4-extended-args {
				cell-index = <0x04>;
				compatible = "fsl,fman-port-1g-rx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx4-extended-args {
				cell-index = <0x04>;
				compatible = "fsl,fman-port-1g-tx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC6 (ethernet@ea000) - cell-index 5 */
			fman0_rx5-extended-args {
				cell-index = <0x05>;
				compatible = "fsl,fman-port-1g-rx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx5-extended-args {
				cell-index = <0x05>;
				compatible = "fsl,fman-port-1g-tx-extended-args";
				fifo-size = <0x3200 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC9 (ethernet@f0000) - 10G cell-index 0 */
			fman0_rx6-extended-args {
				cell-index = <0x00>;
				compatible = "fsl,fman-port-10g-rx-extended-args";
				fifo-size = <0x6000 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx6-extended-args {
				cell-index = <0x00>;
				compatible = "fsl,fman-port-10g-tx-extended-args";
				fifo-size = <0x4000 0x00>;
				buffer-layout = <0x60 0x40>;
			};

			/* MAC10 (ethernet@f2000) - 10G cell-index 1 */
			fman0_rx7-extended-args {
				cell-index = <0x01>;
				compatible = "fsl,fman-port-10g-rx-extended-args";
				fifo-size = <0x6000 0x00>;
				buffer-layout = <0x60 0x40>;
				vsp-window = <0x02 0x00>;
			};

			fman0_tx7-extended-args {
				cell-index = <0x01>;
				compatible = "fsl,fman-port-10g-tx-extended-args";
				fifo-size = <0x4000 0x00>;
				buffer-layout = <0x60 0x40>;
			};
		};
	};
};

&bman_fbpr {
	compatible = "fsl,bman-fbpr";
	alloc-ranges = <0 0 0x10000 0>;
};
&qman_fqd {
	compatible = "fsl,qman-fqd";
	alloc-ranges = <0 0 0x10000 0>;
};
&qman_pfdr {
	compatible = "fsl,qman-pfdr";
	alloc-ranges = <0 0 0x10000 0>;
};

&soc {
	/delete-property/ dma-coherent;

	#include "qoriq-dpaa-eth.dtsi"
	/* Note: We override cell-index values in &fman0 section to match
	 * SDK driver expectations (0-5 instead of mainline 2-7).
	 * Port@82000 with cell-index=0 becomes the HC port for PCD.
	 */
	bp7: buffer-pool@7 {
		compatible = "fsl,ls1046a-bpool", "fsl,bpool";
		fsl,bpid = <7>;
		fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
		fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
		dma-coherent;
	};

	bp8: buffer-pool@8 {
		compatible = "fsl,ls1046a-bpool", "fsl,bpool";
		fsl,bpid = <8>;
		fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
		fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
		dma-coherent;
	};

	bp9: buffer-pool@9 {
		compatible = "fsl,ls1046a-bpool", "fsl,bpool";
		fsl,bpid = <9>;
		fsl,bpool-ethernet-cfg = <0 0 0 2048 0 0xfeedabba>;
		fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
		dma-coherent;
	};

	pcie@3400000 {
		/delete-property/ iommu-map;
	};

	pcie@3500000 {
		/delete-property/ iommu-map;
	};

	pcie@3600000 {
		/delete-property/ iommu-map;
	};

	/delete-node/ iommu@9000000;
};

&fsldpaa {
	ethernet@0 { status = "disabled"; }; /* MAC1 - not on Mono Gateway DK */
	ethernet@2 { status = "disabled"; }; /* MAC3 - not on Mono Gateway DK */
	ethernet@3 { status = "disabled"; }; /* MAC4 - not on Mono Gateway DK */

	/* Enabled from qoriq-dpaa-eth.dtsi:
	 * ethernet@1 = enet1 = MAC2
	 * ethernet@4 = enet4 = MAC5
	 * ethernet@5 = enet5 = MAC6
	 * ethernet@8 = enet6 = MAC9 (10G)
	 */

	ethernet@8 {
		compatible = "fsl,dpa-ethernet";
		/delete-property/ fsl,bman-buffer-pools;
		/delete-property/ fsl,qman-frame-queues-rx;
		/delete-property/ fsl,qman-frame-queues-tx;
		dma-coherent;
	};

	/* Add MAC10 - not in qoriq-dpaa-eth.dtsi */
	ethernet@9 {
		compatible = "fsl,dpa-ethernet";
		fsl,fman-mac = <&enet7>;
		/delete-property/ fsl,bman-buffer-pools;
		/delete-property/ fsl,qman-frame-queues-rx;
		/delete-property/ fsl,qman-frame-queues-tx;
		dma-coherent;
	};
};

&fman0 {
	compatible = "fsl,fman", "simple-bus";

	/* Core FMan sub-modules */
	muram@0 {
		compatible = "fsl,fman-muram";
		reg = <0x0 0x60000>;
	};

	bmi@80000 {
		compatible = "fsl,fman-bmi";
		reg = <0x80000 0x400>;
	};

	qmi@80400 {
		compatible = "fsl,fman-qmi";
		reg = <0x80400 0x400>;
	};

	/* PCD sub-modules required for FMC/CDX */
	cc {
		compatible = "fsl,fman-cc";
	};

	policer@c0000 {
		compatible = "fsl,fman-policer";
		reg = <0xc0000 0x1000>;
	};

	keygen@c1000 {
		compatible = "fsl,fman-keygen";
		reg = <0xc1000 0x1000>;
	};

	dma@c2000 {
		compatible = "fsl,fman-dma";
		reg = <0xc2000 0x1000>;
	};

	fpm@c3000 {
		compatible = "fsl,fman-fpm";
		reg = <0xc3000 0x1000>;
	};

	parser@c7000 {
		compatible = "fsl,fman-parser";
		reg = <0xc7000 0x1000>;
	};

	vsps@dc000 {
		compatible = "fsl,fman-vsps";
		reg = <0xdc000 0x1000>;
	};

	ethernet@f0000 {
		status = "okay";
		/delete-property/ managed;
		fixed-link = <0 1 10000 0 0>;
		phy-connection-type = "xgmii";
	};

	ethernet@f2000 {
		status = "okay";
		/delete-property/ managed;
		fixed-link = <0 1 10000 0 0>;
		phy-connection-type = "xgmii";
	};

	/* Override OH port cell-index values for SDK driver compatibility.
	 * SDK driver expects cell-index 0 for HC (Host Command/PCD) port.
	 * Mainline qoriq-fman3-0.dtsi uses cell-index 2-7, but SDK needs 0-5.
	 */
	port@82000 {
		cell-index = <0>;  /* HC port - required for PCD initialization */
		compatible = "fsl,fman-port-oh";
	};

	port@83000 {
		compatible = "fsl,fman-port-oh";
		cell-index = <1>;
	};

	port@84000 {
		cell-index = <2>;
		compatible = "fsl,fman-port-oh";
	};

	port@85000 {
		cell-index = <3>;
		compatible = "fsl,fman-port-oh";
	};

	port@86000 {
		cell-index = <4>;
		compatible = "fsl,fman-port-oh";
	};

	port@87000 {
		cell-index = <5>;
		compatible = "fsl,fman-port-oh";
	};
};

&clockgen {
	dma-coherent;
};

&scfg {
	dma-coherent;
};

&crypto {
	dma-coherent;
};

&dcfg {
	dma-coherent;
};

&ifc {
	dma-coherent;
};

&qspi {
	dma-coherent;
};

&esdhc {
	dma-coherent;
};

&ddr {
	dma-coherent;
};

&tmu {
	dma-coherent;
};

&qman {
	dma-coherent;
};

&bman {
	dma-coherent;
};

&bportals {
	dma-coherent;
};

&qportals {
	dma-coherent;
};

&dspi {
	dma-coherent;
};

&i2c0 {
	dma-coherent;
};

&i2c1 {
	dma-coherent;
};

&i2c2 {
	dma-coherent;
};

&i2c3 {
	dma-coherent;
};

&duart0 {
	dma-coherent;
};

&duart1 {
	dma-coherent;
};

&duart2 {
	dma-coherent;
};

&duart3 {
	dma-coherent;
};

&gpio0 {
	dma-coherent;
};

&gpio1 {
	dma-coherent;
};

&gpio2 {
	dma-coherent;
};

&gpio3 {
	dma-coherent;
};

&lpuart0 {
	dma-coherent;
};

&lpuart1 {
	dma-coherent;
};

&lpuart2 {
	dma-coherent;
};

&lpuart3 {
	dma-coherent;
};

&lpuart4 {
	dma-coherent;
};

&lpuart5 {
	dma-coherent;
};

&ftm_alarm0 {
	dma-coherent;
};

&wdog0 {
	dma-coherent;
};

&edma0 {
	dma-coherent;
};

&sata {
	dma-coherent;
};

&qdma {
	dma-coherent;
};

&msi1 {
	dma-coherent;
};

&msi2 {
	dma-coherent;
};

&msi3 {
	dma-coherent;
};

&fman0 {
	dma-coherent;
};

&ptp_timer0 {
	dma-coherent;
};

&fsldpaa {
	dma-coherent;
    /* CDX / DPA IPsec offline port */
    dpa-fman0-oh@2 {
		compatible = "fsl,dpa-oh";
		fsl,qman-frame-queues-oh = <0x60 0x01 0x61 0x01>;
		fsl,fman-oh-port = <&fman0_oh_0x3>;
        dma-coherent;
	};
    /* CDX / VWD WiFi offline port; optional */
	dpa-fman0-oh@3 {
		compatible = "fsl,dpa-oh";
		fsl,qman-frame-queues-oh = <0x62 0x01 0x63 0x01>;
		fsl,fman-oh-port = <&fman0_oh_0x4>;
        dma-coherent;
	};
};