/*
 * Copyright (c) 2019 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

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

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

	flash0: flash@e0000 {
		reg = <0x000E0000 0x38000>;
	};

	sram0: memory@118000 {
		compatible = "mmio-sram";
		reg = <0x00118000 0x8000>;
	};

	aliases {
		i2c-smb-0 = &i2c_smb_0;
		i2c-smb-1 = &i2c_smb_1;
		i2c-smb-2 = &i2c_smb_2;
		i2c-smb-3 = &i2c_smb_3;
		i2c-smb-4 = &i2c_smb_4;
	};

	pinmux: pinmux {
		compatible = "microchip,xec-pinmux";

		pinmux_000_036: pinmux-0 {
			ph-reg = <&gpio_000_036>;
			port-num = <0>;
		};
		pinmux_040_076: pinmux-1 {
			ph-reg = <&gpio_040_076>;
			port-num = <1>;
		};
		pinmux_100_136: pinmux-2 {
			ph-reg = <&gpio_100_136>;
			port-num = <2>;
		};
		pinmux_140_176: pinmux-3 {
			ph-reg = <&gpio_140_176>;
			port-num = <3>;
		};
		pinmux_200_236: pinmux-4 {
			ph-reg = <&gpio_200_236>;
			port-num = <4>;
		};
		pinmux_240_276: pinmux-5 {
			ph-reg = <&gpio_240_276>;
			port-num = <5>;
		};
	};

	soc {
		pcr: pcr@40080100 {
			reg = <0x40080100 0x100 0x4000a400 0x100>;
			reg-names = "pcrr", "vbatr";
			label = "PCR";
		};
		ecia: ecia@4000e000 {
			reg = <0x4000e000 0x400>;
			label = "ECIA_0";
			#address-cells = <1>;
			#size-cells = <1>;
		};
		rtimer: timer@40007400 {
			compatible = "microchip,xec-rtos-timer";
			reg = <0x40007400 0x10>;
			interrupts = <111 0>;
			label = "RTIMER";
			girqs = <23 10>;
		};
		bbram: bb-ram@4000a800 {
			compatible = "microchip,xec-bbram";
			reg = <0x4000a800 0x80>;
			reg-names = "memory";
			label = "BBRAM";
		};
		wdog: watchdog@40000400 {
			compatible = "microchip,xec-watchdog";
			reg = <0x40000400 0x400>;
			interrupts = <171 0>;
			girqs = <21 2>;
			pcrs = <1 9>;
			label = "WDT_0";
		};
		uart0: uart@400f2400 {
			compatible = "ns16550";
			reg = <0x400f2400 0x400>;
			interrupts = <40 0>;
			clock-frequency = <1843200>;
			current-speed = <38400>;
			label = "UART_0";
			reg-shift = <0>;
			status = "disabled";
		};
		uart1: uart@400f2800 {
			compatible = "ns16550";
			reg = <0x400f2800 0x400>;
			interrupts = <41 0>;
			clock-frequency = <1843200>;
			current-speed = <38400>;
			label = "UART_1";
			reg-shift = <0>;
			status = "disabled";
		};
		uart2: uart@400f2c00 {
			compatible = "ns16550";
			reg = <0x400f2c00 0x400>;
			interrupts = <44 0>;
			clock-frequency = <1843200>;
			current-speed = <38400>;
			label = "UART_2";
			reg-shift = <0>;
			status = "disabled";
		};
		gpio_000_036: gpio@40081000 {
			compatible = "microchip,xec-gpio";
			reg = <0x40081000 0x80>;
			interrupts = <3 2>;
			gpio-controller;
			label="GPIO000_036";
			#gpio-cells=<2>;
		};
		gpio_040_076: gpio@40081080 {
			compatible = "microchip,xec-gpio";
			reg = <0x40081080 0x80>;
			interrupts = <2 2>;
			gpio-controller;
			label="GPIO040_076";
			#gpio-cells=<2>;
		};
		gpio_100_136: gpio@40081100 {
			compatible = "microchip,xec-gpio";
			reg = <0x40081100 0x80>;
			gpio-controller;
			interrupts = <1 2>;
			label="GPIO100_136";
			#gpio-cells=<2>;
		};
		gpio_140_176: gpio@40081180 {
			compatible = "microchip,xec-gpio";
			reg = <0x40081180 0x80>;
			gpio-controller;
			interrupts = <0 2>;
			label="GPIO140_176";
			#gpio-cells=<2>;
		};
		gpio_200_236: gpio@40081200 {
			compatible = "microchip,xec-gpio";
			reg = <0x40081200 0x80>;
			gpio-controller;
			interrupts = <4 2>;
			label="GPIO200_236";
			#gpio-cells=<2>;
		};
		gpio_240_276: gpio@40081280 {
			compatible = "microchip,xec-gpio";
			reg = <0x40081280 0x80>;
			gpio-controller;
			interrupts = <17 2>;
			label="GPIO240_276";
			#gpio-cells=<2>;
		};

		i2c_smb_0: i2c@40004000 {
			compatible = "microchip,xec-i2c";
			reg = <0x40004000 0x80>;
			clock-frequency = <I2C_BITRATE_STANDARD>;
			interrupts = <20 1>;
			label = "I2C_SMB_0";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
			girq = <13>;
			girq-bit = <0>;
		};

		i2c_smb_1: i2c@40004400 {
			compatible = "microchip,xec-i2c";
			reg = <0x40004400 0x80>;
			clock-frequency = <I2C_BITRATE_STANDARD>;
			interrupts = <21 1>;
			label = "I2C_SMB_1";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
			girq = <13>;
			girq-bit = <1>;
		};

		i2c_smb_2: i2c@40004800 {
			compatible = "microchip,xec-i2c";
			reg = <0x40004800 0x80>;
			clock-frequency = <I2C_BITRATE_STANDARD>;
			interrupts = <22 1>;
			label = "I2C_SMB_2";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
			girq = <13>;
			girq-bit = <2>;
		};

		i2c_smb_3: i2c@40004c00 {
			compatible = "microchip,xec-i2c";
			reg = <0x40004C00 0x80>;
			clock-frequency = <I2C_BITRATE_STANDARD>;
			interrupts = <23 1>;
			label = "I2C_SMB_3";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
			girq = <13>;
			girq-bit = <3>;
		};

		i2c_smb_4: i2c@40005000 {
			compatible = "microchip,xec-i2c";
			reg = <0x40005000 0x80>;
			clock-frequency = <I2C_BITRATE_STANDARD>;
			interrupts = <158 1>;
			label = "I2C_SMB_4";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
			girq = <13>;
			girq-bit = <4>;
		};

		espi0: espi@400f3400 {
			compatible = "microchip,xec-espi";
			reg = <0x400f3400 0x400>;
			interrupts = <11 3>, <15 3>, <7 3>, <16 3>;
			label = "ESPI_0";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};
		espi_saf0: espi@40008000 {
			compatible = "microchip,xec-espi-saf";
			reg = < 0x40008000 0x400
				0x40070000 0x400
				0x40071000 0x400>;
			label = "ESPI_SAF_0";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		timer0: timer@40000c00 {
			compatible = "microchip,xec-timer";
			clock-frequency = <48000000>;
			reg = <0x40000c00 0x20>;
			interrupts = <136 0>;
			label = "TIMER_0";
			max-value = <0xFFFF>;
			prescaler = <0>;
			status = "disabled";
			girqs = <23 0>;
			pcrs = <1 30>;
		};
		timer1: timer@40000c20 {
			compatible = "microchip,xec-timer";
			clock-frequency = <48000000>;
			reg = <0x40000c20 0x20>;
			interrupts = <137 0>;
			label = "TIMER_1";
			max-value = <0xFFFF>;
			prescaler = <0>;
			status = "disabled";
			girqs = <23 1>;
			pcrs = <1 31>;
		};
		/*
		 * NOTE 1: timers 2 and 3 not implemented in MEC152x.
		 * NOTE 2: When RTOS timer used as kernel timer, timer4 used
		 * to provide high speed busy wait counter. Keep disabled to
		 * prevent counter driver from claiming it.
		 */
		timer4: timer@40000c80 {
			compatible = "microchip,xec-timer";
			clock-frequency = <48000000>;
			reg = <0x40000c80 0x20>;
			interrupts = <140 0>;
			label = "TIMER_4";
			max-value = <0xFFFFFFFF>;
			prescaler = <0>;
			girqs = <23 4>;
			pcrs = <3 23>;
			status = "disabled";
		};
		timer5: timer@40000ca0 {
			compatible = "microchip,xec-timer";
			clock-frequency = <48000000>;
			reg = <0x40000ca0 0x20>;
			interrupts = <141 0>;
			label = "TIMER_5";
			max-value = <0xFFFFFFFF>;
			prescaler = <0>;
			girqs = <23 5>;
			pcrs = <3 24>;
		};
		ps2_0: ps2@40009000 {
			compatible = "microchip,xec-ps2";
			reg = <0x40009000 0x40>;
			interrupts = <100 1>;
			girqs = <18 10>;
			pcrs = <3 5>;
			label = "PS2_0";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};
		ps2_1: ps2@40009040 {
			compatible = "microchip,xec-ps2";
			reg = <0x40009040 0x40>;
			interrupts = <101 1>;
			girqs = <18 11>;
			pcrs = <3 6>;
			label = "PS2_1";
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};
		pwm0: pwm@40005800 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005800 0x20>;
			pcrs = <1 4>;
			label = "PWM_0";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm1: pwm@40005810 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005810 0x20>;
			pcrs = <1 20>;
			label = "PWM_1";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm2: pwm@40005820 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005820 0x20>;
			pcrs = <1 21>;
			label = "PWM_2";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm3: pwm@40005830 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005830 0x20>;
			pcrs = <1 22>;
			label = "PWM_3";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm4: pwm@40005840 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005840 0x20>;
			pcrs = <1 23>;
			label = "PWM_4";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm5: pwm@40005850 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005850 0x20>;
			pcrs = <1 24>;
			label = "PWM_5";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm6: pwm@40005860 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005860 0x20>;
			pcrs = <1 25>;
			label = "PWM_6";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm7: pwm@40005870 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005870 0x20>;
			pcrs = <1 26>;
			label = "PWM_7";
			status = "disabled";
			#pwm-cells = <2>;
		};
		pwm8: pwm@40005880 {
			compatible = "microchip,xec-pwm";
			reg = <0x40005880 0x20>;
			pcrs = <1 27>;
			label = "PWM_8";
			status = "disabled";
			#pwm-cells = <2>;
		};
		adc0: adc@40007c00 {
			compatible = "microchip,xec-adc";
			reg = <0x40007c00 0x90>;
			interrupts = <78 0>, <79 0>;
			label = "ADC_0";
			status = "disabled";
			#io-channel-cells = <1>;
			clktime = <32>;
		};
		kscan0: kscan@40009c00 {
			compatible = "microchip,xec-kscan";
			reg = <0x40009c00 0x18>;
			interrupts = <135 0>;
			girqs = <21 25>;
			pcrs = <3 11>;
			label = "KSCAN";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
		peci0: peci@40006400 {
			compatible = "microchip,xec-peci";
			reg = <0x40006400 0x80>;
			interrupts = <70 4>;
			girqs = <17 0>;
			pcrs = <1 1>;
			label = "PECI_0";
			#address-cells = <1>;
			#size-cells = <0>;
		};
		spi0: spi@40070000 {
			compatible = "microchip,xec-qmspi";
			reg = <0x40070000 0x400>;
			interrupts = <91 2>;
			clock-frequency = <12000000>;
			label = "SPI_0";
			rxdma = <11>;
			txdma = <10>;
			lines = <1>;
			chip_select = <0>;
			dcsckon = <6>;
			dckcsoff = <4>;
			dldh = <6>;
			dcsda = <6>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};
		tach0: tach@40006000 {
			compatible = "microchip,xec-tach";
			reg = <0x40006000 0x10>;
			interrupts = <71 4>;
			girqs = <17 1>;
			pcrs = <1 2>;
			label = "TACH_0";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
		tach1: tach@40006010 {
			compatible = "microchip,xec-tach";
			reg = <0x40006010 0x10>;
			interrupts = <72 4>;
			girqs = <17 2>;
			pcrs = <1 11>;
			label = "TACH_1";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
		tach2: tach@40006020 {
			compatible = "microchip,xec-tach";
			reg = <0x40006020 0x10>;
			interrupts = <73 4>;
			girqs = <17 3>;
			pcrs = <1 12>;
			label = "TACH_2";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
		tach3: tach@40006030 {
			compatible = "microchip,xec-tach";
			reg = <0x40006030 0x10>;
			interrupts = <159 4>;
			girqs = <17 4>;
			pcrs = <1 13>;
			label = "TACH_3";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};
};

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

&systick {
	status = "disabled";
};
