/*
 * Copyright (c) 2023 Schlumberger
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <mem.h>
#include <infineon/xmc4xxx.dtsi>

/ {
	psram1: memory@1ffe8000 {
		compatible = "mmio-sram";
		reg = <0x1ffe8000 DT_SIZE_K(96)>;
	};

	dsram1: memory@20000000 {
		compatible = "mmio-sram";
		reg = <0x20000000 DT_SIZE_K(128)>;
	};

	dsram2: memory@20020000 {
		compatible = "mmio-sram";
		reg = <0x20020000 DT_SIZE_K(128)>;
	};
};

&flash0 {
	reg = <0xc000000 DT_SIZE_M(2)>;
	pages_layout: pages_layout {
		pages_layout_16k: pages_layout_16k {
			pages-count = <8>;
			pages-size = <DT_SIZE_K(16)>;
		};
		pages_layout_128k: pages_layout_128k {
			pages-count = <1>;
			pages-size = <DT_SIZE_K(128)>;
		};
		pages_layout_256k: pages_layout_256k {
			pages-count = <7>;
			pages-size = <DT_SIZE_K(256)>;
		};
	};
};

&gpio0 {
	ngpios = <16>;
};

&gpio1 {
	ngpios = <16>;
};

&gpio2 {
	ngpios = <16>;
};

&gpio14 {
	ngpios = <16>;
	gpio-reserved-ranges = <10 2>;
};

&gpio15 {
	ngpios = <16>;
	gpio-reserved-ranges = <0 2>, <10 2>;
};

&pinctrl {
	gpio3: gpio@48028300 {
		compatible = "infineon,xmc4xxx-gpio";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x48028300 0x100>;
		ngpios = <16>;
		status = "disabled";
	};

	gpio4: gpio@48028400 {
		compatible = "infineon,xmc4xxx-gpio";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x48028400 0x100>;
		ngpios = <8>;
		status = "disabled";
	};

	gpio5: gpio@48028500 {
		compatible = "infineon,xmc4xxx-gpio";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x48028500 0x100>;
		ngpios = <12>;
		status = "disabled";
	};

	gpio6: gpio@48028600 {
		compatible = "infineon,xmc4xxx-gpio";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x48028600 0x100>;
		ngpios = <7>;
		status = "disabled";
	};
};
