/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright (c) 2020 Linumiz
 * Author: Parthiban Nallathambi <parthiban@linumiz.com>
 *
 */

/dts-v1/;

#include <infineon/xmc4500_F100x1024.dtsi>
#include "xmc45_relax_kit-pinctrl.dtsi"

/ {
	model = "Infineon XMC4500 Relax Kit";
	compatible = "infineon,xm4500-relax-kit", "infineon,xmc4500",
						"infineon,xmc4xxx";

	aliases {
		led0 = &led1;
	};

	leds {
		compatible = "gpio-leds";
		/* leds are labelled LED1 and LED2 in the relax kit documentation */
		led1: led1 {
			gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
		};
		led2: led2 {
			gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
		};
	};

	chosen {
		zephyr,sram = &dsram1;
		zephyr,flash = &flash0;
		zephyr,console = &usic1ch1;
		zephyr,shell-uart = &usic1ch1;
		zephyr,flash-controller = &flash_controller;
		zephyr,code-partition = &code_partition;
	};
};

&flash_controller {
	status = "okay";
};

&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		code_partition: partition@0 {
			reg = <0x0 0x80000>;
			read-only;
		};

		storage_partition: partition@80000 {
			label = "storage";
			reg = <0x80000 0x80000>;
		};
	};
};

&cpu0 {
	clock-frequency = <120000000>;
};

&usic1ch1 {
	compatible = "infineon,xmc4xxx-uart";
	current-speed = <115200>;
	pinctrl-0 = <&uart_tx_p0_1_u1c1 &uart_rx_p0_0_u1c1>;
	pinctrl-names = "default";
	input-src = "DX0D";
	interrupts = <90 1>;
	interrupt-names = "tx-rx";
	fifo-start-offset = <0>;
	fifo-tx-size = <16>;
	fifo-rx-size = <16>;
	status = "okay";
};

&gpio1 {
	status = "okay";
};
