/*
 * Copyright (c) 2019-2021 Vestas Wind Systems A/S
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <arm/armv7-m.dtsi>
#include <dt-bindings/clock/kinetis_pcc.h>
#include <dt-bindings/clock/kinetis_scg.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>

/ {
	aliases {
		watchdog0 = &wdog;
	};

	chosen {
		zephyr,flash-controller = &ftfe;
	};

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

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

	power-states {
		idle: idle {
			compatible = "zephyr,power-state";
			power-state-name = "runtime-idle";
		};

		stop: stop {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <0>;
		};

		pstop1: pstop1 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <1>;
		};

		pstop2: pstop2 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <2>;
		};
	};

	temp0: temp0 {
		compatible = "nxp,kinetis-temperature";
		io-channels = <&adc0 26>, <&adc0 27>;
		io-channel-names = "SENSOR", "BANDGAP";
		bandgap-voltage = <1000000>;
		vtemp25 = <740500>;
		sensor-slope-cold = <1564>;
		sensor-slope-hot = <1564>;
		label = "TEMP0";
		status = "disabled";
	};

	temp1: temp1 {
		compatible = "nxp,kinetis-temperature";
		io-channels = <&adc1 26>, <&adc1 27>;
		io-channel-names = "SENSOR", "BANDGAP";
		bandgap-voltage = <1000000>;
		vtemp25 = <740500>;
		sensor-slope-cold = <1564>;
		sensor-slope-hot = <1564>;
		label = "TEMP1";
		status = "disabled";
	};

	temp2: temp2 {
		compatible = "nxp,kinetis-temperature";
		io-channels = <&adc2 26>, <&adc2 27>;
		io-channel-names = "SENSOR", "BANDGAP";
		bandgap-voltage = <1000000>;
		vtemp25 = <740500>;
		sensor-slope-cold = <1564>;
		sensor-slope-hot = <1564>;
		label = "TEMP2";
		status = "disabled";
	};

	/* Dummy pinctrl node, filled with pin mux options at board level */
	pinctrl: pinctrl {
		compatible = "nxp,kinetis-pinctrl";
		status = "okay";
	};

	soc {
		edma: dma-controller@40008000 {
			compatible = "nxp,mcux-edma";
			dma-channels = <16>;
			dma-requests = <64>;
			nxp,mem2mem;
			reg = <0x40008000 0x1000>, <0x40021000 0x1000>;
			interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
				     <4 0>, <5 0>, <6 0>, <7 0>,
				     <8 0>, <9 0>, <10 0>, <11 0>,
				     <12 0>, <13 0>, <14 0>, <15 0>,
				     <16 0>;
			status = "disabled";
			label = "EDMA";
			#dma-cells = <2>;
		};

		mpu: mpu@4000d000 {
			compatible = "nxp,kinetis-mpu";
			reg = <0x4000d000 0x1000>;
			status = "disabled";
		};

		sim: sim@40048000 {
			compatible = "nxp,kinetis-ke1xf-sim";
			reg = <0x40048000 0x1000>;
			label = "SIM";
		};

		scg: scg@40064000 {
			compatible = "nxp,kinetis-scg";
			reg = <0x40064000 0x1000>;
			label = "SCG";
			#clock-cells = <1>;

			sosc_clk: sosc_clk {
				compatible = "fixed-clock";
				status = "disabled";
				#clock-cells = <0>;
			};

			sirc_clk: sirc_clk {
				compatible = "fixed-clock";
				clock-frequency = <8000000>;
				#clock-cells = <0>;
			};

			firc_clk: firc_clk {
				compatible = "fixed-clock";
				clock-frequency = <48000000>;
				#clock-cells = <0>;
			};

			pll: pll {
				compatible = "fixed-factor-clock";
				clocks = <&sosc_clk>;
				clock-div = <1>;
				clock-mult = <16>;
				#clock-cells = <0>;
			};

			spll_clk: spll_clk {
				compatible = "fixed-factor-clock";
				clocks = <&pll>;
				clock-div = <2>;
				#clock-cells = <0>;
			};

			core_clk: core_clk {
				compatible = "fixed-factor-clock";
				clocks = <&firc_clk>;
				clock-div = <1>;
				#clock-cells = <0>;
			};

			bus_clk: bus_clk {
				compatible = "fixed-factor-clock";
				clocks = <&core_clk>;
				clock-div = <1>;
				#clock-cells = <0>;
			};

			slow_clk: slow_clk {
				compatible = "fixed-factor-clock";
				clocks = <&core_clk>;
				clock-div = <2>;
				#clock-cells = <0>;
			};

			clkout_clk: clkout_clk {
				compatible = "fixed-factor-clock";
				status = "disabled";
				clocks = <&firc_clk>;
				#clock-cells = <0>;
			};

			splldiv1_clk: splldiv1_clk {
				compatible = "fixed-factor-clock";
				clocks = <&spll_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			splldiv2_clk: splldiv2_clk {
				compatible = "fixed-factor-clock";
				clocks = <&spll_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			sircdiv1_clk: sircdiv1_clk {
				compatible = "fixed-factor-clock";
				clocks = <&sirc_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			sircdiv2_clk: sircdiv2_clk {
				compatible = "fixed-factor-clock";
				clocks = <&sirc_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			fircdiv1_clk: fircdiv1_clk {
				compatible = "fixed-factor-clock";
				clocks = <&firc_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			fircdiv2_clk: fircdiv2_clk {
				compatible = "fixed-factor-clock";
				clocks = <&firc_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			soscdiv1_clk: soscdiv1_clk {
				compatible = "fixed-factor-clock";
				clocks = <&sosc_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};

			soscdiv2_clk: soscdiv2_clk {
				compatible = "fixed-factor-clock";
				clocks = <&sosc_clk>;
				clock-div = <0>;
				#clock-cells = <0>;
			};
		};

		pmc: pmc@4007d000 {
			reg = <0x4007d000 0x1000>;
			label = "PMC";

			lpo: lpo128k {
			/* LPO clock */
				compatible = "fixed-clock";
				clock-frequency = <128000>;
				#clock-cells = <0>;
			};
		};

		pcc: pcc@40065000 {
			compatible = "nxp,kinetis-pcc";
			reg = <0x40065000 0x1000>;
			label = "PCC";
			#clock-cells = <2>;
		};

		rtc: rtc@4003d000 {
			compatible = "nxp,kinetis-rtc";
			reg = <0x4003d000 0x1000>;
			interrupts = <46 0>, <47 0>;
			interrupt-names = "alarm", "seconds";
			clock-frequency = <32768>;
			prescaler = <32768>;
			label = "RTC_0";
		};

		dac0: dac@4003f000 {
			compatible = "nxp,kinetis-dac32";
			reg = <0x4003f000 0x1000>;
			interrupts = <56 0>;
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			voltage-reference = <1>;
			buffered;
			label = "DAC_0";
			status = "disabled";
			#io-channel-cells = <1>;
		};

		lptmr0: lptmr@40040000 {
			compatible = "nxp,kinetis-lptmr";
			reg = <0x40040000 0x1000>;
			interrupts = <58 0>;
			clock-frequency = <128000>;
			prescaler = <1>;
			clk-source = <1>;
			label = "LPTMR_0";
		};

		wdog: watchdog@40052000 {
			compatible = "nxp,kinetis-wdog32";
			reg = <0x40052000 0x1000>;
			interrupts = <22 0>;
			clocks = <&lpo>;
			clk-source = <1>;
			clk-divider = <256>;
			label = "WDT_0";
		};

		pwt: pwt@40056000 {
			compatible = "nxp,kinetis-pwt";
			reg = <0x40056000 0x1000>;
			interrupts = <29 0>;
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			prescaler = <1>;
			label = "PWT_0";
			status = "disabled";

			#pwm-cells = <3>;
		};

		ftfe: flash-controller@40020000 {
			compatible = "nxp,kinetis-ftfe";
			label = "FLASH_CTRL";
			reg = <0x40020000 0x1000>;
			interrupts = <18 0>, <19 0>;
			interrupt-names = "command-complete", "read-collision";

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

		lpuart0: uart@4006a000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x4006a000 0x1000>;
			interrupts = <31 0>, <32 0>;
			interrupt-names = "transmit", "receive";
			clocks = <&pcc 0x1a8 KINETIS_PCC_SRC_FIRC_ASYNC>;
			dmas = <&edma 1 2>, <&edma 2 3>;
			dma-names = "rx", "tx";
			label = "UART_0";
			status = "disabled";
		};

		lpuart1: uart@4006b000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x4006b000 0x1000>;
			interrupts = <33 0>, <34 0>;
			interrupt-names = "transmit", "receive";
			clocks = <&pcc 0x1ac KINETIS_PCC_SRC_FIRC_ASYNC>;
			dmas = <&edma 3 4>, <&edma 4 5>;
			dma-names = "rx", "tx";
			label = "UART_1";
			status = "disabled";
		};

		lpuart2: uart@4006c000 {
			compatible = "nxp,kinetis-lpuart";
			reg = <0x4006c000 0x1000>;
			interrupts = <35 0>, <36 0>;
			interrupt-names = "transmit", "receive";
			clocks = <&pcc 0x1b0 KINETIS_PCC_SRC_FIRC_ASYNC>;
			dmas = <&edma 5 6>, <&edma 5 7>;
			dma-names = "rx", "tx";
			label = "UART_2";
			status = "disabled";
		};

		lpi2c0: i2c@40066000 {
			compatible = "nxp,imx-lpi2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40066000 0x1000>;
			interrupts = <24 0>;
			clocks = <&pcc 0x198 KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "I2C_0";
			status = "disabled";
		};

		lpi2c1: i2c@40067000 {
			compatible = "nxp,imx-lpi2c";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x40067000 0x1000>;
			interrupts = <25 0>;
			clocks = <&pcc 0x19c KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "I2C_1";
			status = "disabled";
		};

		lpspi0: spi@4002c000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x4002c000 0x1000>;
			interrupts = <26 0>;
			clocks = <&pcc 0xb0 KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "SPI_0";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		lpspi1: spi@4002d000 {
			compatible = "nxp,imx-lpspi";
			reg = <0x4002d000 0x1000>;
			interrupts = <27 0>;
			clocks = <&pcc 0xb4 KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "SPI_1";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		flexcan0: can@40024000 {
			compatible = "nxp,kinetis-flexcan";
			reg = <0x40024000 0x1000>;
			interrupts = <78 0>, <79 0>, <80 0>, <81 0>;
			interrupt-names = "warning", "error", "wake-up",
					  "mb-0-15";
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			clk-source = <1>;
			label = "CAN_0";
			sjw = <1>;
			sample-point = <875>;
			status = "disabled";
		};

		flexcan1: can@40025000 {
			compatible = "nxp,kinetis-flexcan";
			reg = <0x40025000 0x1000>;
			interrupts = <85 0>, <86 0>, <87 0>, <88 0>;
			interrupt-names = "warning", "error", "wake-up",
					  "mb-0-15";
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			clk-source = <1>;
			label = "CAN_1";
			sjw = <1>;
			sample-point = <875>;
			status = "disabled";
		};

		porta: pinmux@40049000 {
			compatible = "nxp,kinetis-pinmux";
			reg = <0x40049000 0x1000>;
			clocks = <&pcc 0x124 KINETIS_PCC_SRC_NONE_OR_EXT>;
		};

		portb: pinmux@4004a000 {
			compatible = "nxp,kinetis-pinmux";
			reg = <0x4004a000 0x1000>;
			clocks = <&pcc 0x128 KINETIS_PCC_SRC_NONE_OR_EXT>;
		};

		portc: pinmux@4004b000 {
			compatible = "nxp,kinetis-pinmux";
			reg = <0x4004b000 0x1000>;
			clocks = <&pcc 0x12c KINETIS_PCC_SRC_NONE_OR_EXT>;
		};

		portd: pinmux@4004c000 {
			compatible = "nxp,kinetis-pinmux";
			reg = <0x4004c000 0x1000>;
			clocks = <&pcc 0x130 KINETIS_PCC_SRC_NONE_OR_EXT>;
		};

		porte: pinmux@4004d000 {
			compatible = "nxp,kinetis-pinmux";
			reg = <0x4004d000 0x1000>;
			clocks = <&pcc 0x134 KINETIS_PCC_SRC_NONE_OR_EXT>;
		};

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

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

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

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

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

		adc0: adc@4003b000 {
			compatible = "nxp,kinetis-adc12";
			reg = <0x4003b000 0x1000>;
			interrupts = <39 0>;
			clocks = <&pcc 0xec KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "ADC_0";
			clk-source = <0>;
			clk-divider = <1>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		adc1: adc@40027000 {
			compatible = "nxp,kinetis-adc12";
			reg = <0x40027000 0x1000>;
			interrupts = <73 0>;
			clocks = <&pcc 0x9c KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "ADC_1";
			clk-source = <0>;
			clk-divider = <1>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		adc2: adc@4003c000 {
			compatible = "nxp,kinetis-adc12";
			reg = <0x4003c000 0x1000>;
			interrupts = <74 0>;
			clocks = <&pcc 0xf0 KINETIS_PCC_SRC_FIRC_ASYNC>;
			label = "ADC_2";
			clk-source = <0>;
			clk-divider = <1>;
			status = "disabled";
			#io-channel-cells = <1>;
		};

		ftm0: ftm@40038000 {
			compatible = "nxp,kinetis-ftm";
			reg = <0x40038000 0x1000>;
			interrupts = <42 0>;
			clocks = <&pcc 0xe0 KINETIS_PCC_SRC_FIRC_ASYNC>;
			prescaler = <16>;
			label = "FTM_0";
			status = "disabled";
		};

		ftm1: ftm@40039000 {
			compatible = "nxp,kinetis-ftm";
			reg = <0x40039000 0x1000>;
			interrupts = <43 0>;
			clocks = <&pcc 0xe4 KINETIS_PCC_SRC_FIRC_ASYNC>;
			prescaler = <16>;
			label = "FTM_1";
			status = "disabled";
		};

		ftm2: ftm@4003a000 {
			compatible = "nxp,kinetis-ftm";
			reg = <0x4003a000 0x1000>;
			interrupts = <44 0>;
			clocks = <&pcc 0xe8 KINETIS_PCC_SRC_FIRC_ASYNC>;
			prescaler = <16>;
			label = "FTM_2";
			status = "disabled";
		};

		ftm3: ftm@40026000 {
			compatible = "nxp,kinetis-ftm";
			reg = <0x40026000 0x1000>;
			interrupts = <71 0>;
			clocks = <&pcc 0x98 KINETIS_PCC_SRC_FIRC_ASYNC>;
			prescaler = <16>;
			label = "FTM_3";
			status = "disabled";
		};

		cmp0: cmp@40073000 {
			compatible = "nxp,kinetis-acmp";
			reg = <0x40073000 0x1000>;
			interrupts = <40 0>;
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			label = "CMP_0";
			status = "disabled";
			#io-channel-cells = <2>;
		};

		cmp1: cmp@40074000 {
			compatible = "nxp,kinetis-acmp";
			reg = <0x40074000 0x1000>;
			interrupts = <41 0>;
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			label = "CMP_1";
			status = "disabled";
			#io-channel-cells = <2>;
		};

		cmp2: cmp@40075000 {
			compatible = "nxp,kinetis-acmp";
			reg = <0x40075000 0x1000>;
			interrupts = <70 0>;
			clocks = <&scg KINETIS_SCG_BUS_CLK>;
			label = "CMP_2";
			status = "disabled";
			#io-channel-cells = <2>;
		};
	};
};

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