/* SPDX-License-Identifier: Apache-2.0 */

#include "armv6-m.dtsi"
#include <dt-bindings/clock/kinetis_sim.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>

/ {
	aliases {
		adc-0 = &adc0;
		gpio-a = &gpioa;
		gpio-b = &gpiob;
		gpio-c = &gpioc;
		gpio-d = &gpiod;
		gpio-e = &gpioe;
		i2c-0 = &i2c0;
		i2c-1 = &i2c1;
		uart-0 = &uart0;
		usbd-0 = &usbd;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-m0+";
			reg = <0>;
		};
	};

	sram0: memory@1FFFF000 {
		compatible = "mmio-sram";
		reg = <0x1FFFF000 0x4000>;
	};

	soc {
		flash-controller@40020000 {
			compatible = "nxp,kinetis-ftfa";
			label = "FLASH_CTRL";
			reg = <0x40020000 0x14>;
			interrupts = <5 0>;

			#address-cells = <1>;
			#size-cells = <1>;

			flash0: flash@0 {
				compatible = "soc-nv-flash";
				label = "MCUX_FLASH";
				reg = <0 0x20000>;
				erase-block-size = <1024>;
				write-block-size = <4>;
			};
		};

		i2c0: i2c@40066000 {
			compatible = "nxp,kinetis-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40066000 0x1000>;
			interrupts = <8 0>;
			clocks = <&sim KINETIS_SIM_BUS_CLK 0x1034 6>;
			label = "I2C_0";
			status = "disabled";
		};

		i2c1: i2c@40067000 {
			compatible = "nxp,kinetis-i2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40067000 0x1000>;
			interrupts = <9 0>;
			clocks = <&sim KINETIS_SIM_BUS_CLK 0x1034 7>;
			label = "I2C_1";
			status = "disabled";
		};

		sim: sim@40047000 {
			compatible = "nxp,kinetis-sim";
			reg = <0x40047000 0x1060>;
			label = "SIM";

			#clock-cells = <3>;
		};

		uart0: uart@4006a000 {
			compatible = "nxp,kinetis-lpsci";
			reg = <0x4006a000 0xc>;
			interrupts = <12 0>;
			clocks = <&sim KINETIS_SIM_CORESYS_CLK 0x1034 10>;
			label = "UART_0";

			status = "disabled";
		};

		adc0: adc@4003b000{
			compatible = "nxp,kinetis-adc16";
			reg = <0x4003b000 0x70>;
			interrupts = <15 0>;
			label = "ADC_0";
			status = "disabled";
			#io-channel-cells = <1>;
		};

		gpioa: gpio@400ff000 {
			compatible = "nxp,kinetis-gpio";
			reg = <0x400ff000 0x40>;
			interrupts = <30 2>;
			label = "GPIO_0";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpiob: gpio@400ff040 {
			compatible = "nxp,kinetis-gpio";
			reg = <0x400ff040 0x40>;
			label = "GPIO_1";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpioc: gpio@400ff080 {
			compatible = "nxp,kinetis-gpio";
			reg = <0x400ff080 0x40>;
			label = "GPIO_2";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpiod: gpio@400ff0c0 {
			compatible = "nxp,kinetis-gpio";
			reg = <0x400ff0c0 0x40>;
			interrupts = <31 2>;
			label = "GPIO_3";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpioe: gpio@400ff100 {
			compatible = "nxp,kinetis-gpio";
			reg = <0x400ff100 0x40>;
			label = "GPIO_4";
			gpio-controller;
			#gpio-cells = <2>;
		};

		usbd: usbd@40072000 {
			compatible = "nxp,kinetis-usbd";
			reg = <0x40072000 0x1000>;
			interrupts = <24 1>;
			interrupt-names = "usb_otg";
			num-bidir-endpoints = <16>;
			status = "disabled";
			label = "USBD";
		};
	};
};

&nvic {
	arm,num-irq-priority-bits = <2>;
};
