/*
 * Copyright 2018 Foundries.io Ltd
 * SPDX-License-Identifier: Apache-2.0
 */

#include <dt-bindings/interrupt-controller/openisa-intmux.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>

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

	aliases {
		pcc-0 = &pcc0;
		pcc-1 = &pcc1;
		pinmux-a = &pinmux_a;
		pinmux-b = &pinmux_b;
		pinmux-c = &pinmux_c;
		pinmux-d = &pinmux_d;
		pinmux-e = &pinmux_e;
		gpio-a = &gpioa;
		gpio-b = &gpiob;
		gpio-c = &gpioc;
		gpio-d = &gpiod;
		gpio-e = &gpioe;
		uart-0 = &uart0;
		uart-1 = &uart1;
		uart-2 = &uart2;
		uart-3 = &uart3;
		i2c-0 = &i2c0;
		i2c-1 = &i2c1;
		i2c-2 = &i2c2;
		i2c-3 = &i2c3;
		spi-0 = &spi0;
		spi-1 = &spi1;
		spi-2 = &spi2;
		spi-3 = &spi3;
		pwm-0 = &pwm0;
		pwm-1 = &pwm1;
		pwm-2 = &pwm2;
		pwm-3 = &pwm3;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;
		cpu@0 {
			device_type = "cpu";
			compatible = "riscv";
			reg = <0>;
		};

		cpu@1 {
			device_type = "cpu";
			compatible = "riscv";
			reg = <1>;
		};
	};

	m4_dtcm: memory@20000000 {
		compatible = "mmio-sram";
		reg = <0x20000000 0x30000>;
	};

	m0_tcm: memory@9000000 {
		compatible = "mmio-sram";
		reg = <0x09000000 0x20000>;
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges;

		pcc0: clock-controller@4002b000 {
			compatible = "openisa,rv32m1-pcc";
			reg = <0x4002b000 0x200>;
			label = "PCC0";
			#clock-cells = <1>;
		};

		pcc1: clock-controller@41027000 {
			compatible = "openisa,rv32m1-pcc";
			reg = <0x41027000 0x200>;
			label = "PCC1";
			#clock-cells = <1>;
		};

		event0: interrupt-controller@e0041000 {
			compatible = "openisa,rv32m1-event-unit";
			#interrupt-cells = <1>;
			interrupt-controller;
			reg = <0xe0041000 0x88>;
		};

		event1: interrupt-controller@4101f000 {
			compatible = "openisa,rv32m1-event-unit";
			#interrupt-cells = <1>;
			interrupt-controller;
			reg = <0x4101f000 0x88>;
		};

		intmux0: intmux@4004f000 {
			compatible = "openisa,rv32m1-intmux";
			reg = <0x4004f000 0x200>;
			clocks = <&pcc0 0x13c>;
			label = "INTMUX0";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <1>;

			ranges = <0x0 0x4004f000 0x200>;

			intmux0_ch0: interrupt-controller@0 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH0_IRQ>;
				reg = <0x0 0x40>;
				label = "INTMUX0_CH0";
				status = "disabled";
			};

			intmux0_ch1: interrupt-controller@40 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH1_IRQ>;
				reg = <0x40 0x40>;
				label = "INTMUX0_CH1";
				status = "disabled";
			};

			intmux0_ch2: interrupt-controller@80 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH2_IRQ>;
				reg = <0x80 0x40>;
				label = "INTMUX0_CH2";
				status = "disabled";
			};

			intmux0_ch3: interrupt-controller@c0 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH3_IRQ>;
				reg = <0xc0 0x40>;
				label = "INTMUX0_CH3";
				status = "disabled";
			};

			intmux0_ch4: interrupt-controller@100 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH4_IRQ>;
				reg = <0x100 0x40>;
				label = "INTMUX0_CH4";
				status = "disabled";
			};

			intmux0_ch5: interrupt-controller@140 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH5_IRQ>;
				reg = <0x140 0x40>;
				label = "INTMUX0_CH5";
				status = "disabled";
			};

			intmux0_ch6: interrupt-controller@180 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH6_IRQ>;
				reg = <0x180 0x40>;
				label = "INTMUX0_CH6";
				status = "disabled";
			};

			intmux0_ch7: interrupt-controller@1c0 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH7_IRQ>;
				reg = <0x1c0 0x40>;
				label = "INTMUX0_CH7";
				status = "disabled";
			};
		};

		intmux1: intmux@41022000 {
			compatible = "openisa,rv32m1-intmux";
			reg = <0x41022000 0x20>;
			clocks = <&pcc1 0x88>;
			label = "INTMUX1";
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <1>;

			ranges = <0x0 0x41022000 0x200>;

			intmux1_ch0: interrupt-controller@0 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH0_IRQ>;
				reg = <0x0 0x40>;
				label = "INTMUX1_CH0";
				status = "disabled";
			};

			intmux1_ch1: interrupt-controller@40 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH1_IRQ>;
				reg = <0x40 0x40>;
				label = "INTMUX1_CH1";
				status = "disabled";
			};

			intmux1_ch2: interrupt-controller@80 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH2_IRQ>;
				reg = <0x80 0x40>;
				label = "INTMUX1_CH2";
				status = "disabled";
			};

			intmux1_ch3: interrupt-controller@c0 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH3_IRQ>;
				reg = <0xc0 0x40>;
				label = "INTMUX1_CH3";
				status = "disabled";
			};

			intmux1_ch4: interrupt-controller@100 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH4_IRQ>;
				reg = <0x100 0x40>;
				label = "INTMUX1_CH4";
				status = "disabled";
			};

			intmux1_ch5: interrupt-controller@140 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH5_IRQ>;
				reg = <0x140 0x40>;
				label = "INTMUX1_CH5";
				status = "disabled";
			};

			intmux1_ch6: interrupt-controller@180 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH6_IRQ>;
				reg = <0x180 0x40>;
				label = "INTMUX1_CH6";
				status = "disabled";
			};

			intmux1_ch7: interrupt-controller@1c0 {
				compatible = "openisa,rv32m1-intmux-ch";
				#interrupt-cells = <1>;
				interrupt-controller;
				interrupts = <INTMUX_CH7_IRQ>;
				reg = <0x1c0 0x40>;
				label = "INTMUX1_CH7";
				status = "disabled";
			};
		};

		lptmr0: timer@40032000 {
			compatible = "openisa,rv32m1-lptmr";
			reg = <0x40032000 0x10>;
			label = "LPTMR_0";
		};

		lptmr1: timer@40033000 {
			compatible = "openisa,rv32m1-lptmr";
			reg = <0x40033000 0x10>;
			label = "LPTMR_1";
		};

		lptmr2: timer@4102b000 {
			compatible = "openisa,rv32m1-lptmr";
			reg = <0x4102b000 0x10>;
			label = "LPTMR_2";
		};

		pinmux_a: pinmux@40046000 {
			compatible = "openisa,rv32m1-pinmux";
			reg = <0x40046000 0xd0>;
			clocks = <&pcc0 0x118>;
		};

		pinmux_b: pinmux@40047000 {
			compatible = "openisa,rv32m1-pinmux";
			reg = <0x40047000 0xd0>;
			clocks = <&pcc0 0x11c>;
		};

		pinmux_c: pinmux@40048000 {
			compatible = "openisa,rv32m1-pinmux";
			reg = <0x40048000 0xd0>;
			clocks = <&pcc0 0x120>;
		};

		pinmux_d: pinmux@40049000 {
			compatible = "openisa,rv32m1-pinmux";
			reg = <0x40049000 0xd0>;
			clocks = <&pcc0 0x124>;
		};

		pinmux_e: pinmux@41037000 {
			compatible = "openisa,rv32m1-pinmux";
			reg = <0x41037000 0xd0>;
			clocks = <&pcc1 0xdc>;
		};

		gpioa: gpio@48020000 {
			compatible = "openisa,rv32m1-gpio";
			reg = <0x48020000 0x14>;
			label = "GPIO_0";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpiob: gpio@48020040 {
			compatible = "openisa,rv32m1-gpio";
			reg = <0x48020040 0x14>;
			label = "GPIO_1";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpioc: gpio@48020080 {
			compatible = "openisa,rv32m1-gpio";
			reg = <0x48020080 0x14>;
			label = "GPIO_2";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpiod: gpio@480200c0 {
			compatible = "openisa,rv32m1-gpio";
			reg = <0x480200c0 0x14>;
			label = "GPIO_3";
			gpio-controller;
			#gpio-cells = <2>;
		};

		gpioe: gpio@4100f000 {
			compatible = "openisa,rv32m1-gpio";
			reg = <0x4100f000 0x14>;
			label = "GPIO_4";
			gpio-controller;
			#gpio-cells = <2>;
			clocks = <&pcc1 0x3c>;
		};

		uart0: lpuart@40042000 {
			compatible = "openisa,rv32m1-lpuart";
			reg = <0x40042000 0x2c>;
			clocks = <&pcc0 0x108>;
			label = "UART_0";
			status = "disabled";
		};

		uart1: lpuart@40043000 {
			compatible = "openisa,rv32m1-lpuart";
			reg = <0x40043000 0x2c>;
			clocks = <&pcc0 0x10c>;
			label = "UART_1";
			status = "disabled";
		};

		uart2: lpuart@40044000 {
			compatible = "openisa,rv32m1-lpuart";
			reg = <0x40044000 0x2c>;
			clocks = <&pcc0 0x110>;
			label = "UART_2";
			status = "disabled";
		};

		uart3: lpuart@41036000 {
			compatible = "openisa,rv32m1-lpuart";
			reg = <0x41036000 0x2c>;
			clocks = <&pcc0 0xd8>;
			label = "UART_3";
			status = "disabled";
		};

		i2c0: lpi2c@4003a000 {
			compatible = "openisa,rv32m1-lpi2c";
			reg = <0x4003a000 0x170>;
			clocks = <&pcc0 0xe8>;
			label = "I2C_0";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		i2c1: lpi2c@4003b000 {
			compatible = "openisa,rv32m1-lpi2c";
			reg = <0x4003b000 0x170>;
			clocks = <&pcc0 0xec>;
			label = "I2C_1";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		i2c2: lpi2c@4003c000 {
			compatible = "openisa,rv32m1-lpi2c";
			reg = <0x4003c000 0x170>;
			clocks = <&pcc0 0xf0>;
			label = "I2C_2";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		i2c3: lpi2c@4102e000 {
			compatible = "openisa,rv32m1-lpi2c";
			reg = <0x4102e000 0x170>;
			clocks = <&pcc1 0xb8>;
			label = "I2C_3";
			clock-frequency = <I2C_BITRATE_STANDARD>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		spi0: spi@4003f000 {
			compatible = "openisa,rv32m1-lpspi";
			reg = <0x4003f000 0x78>;
			label = "SPI_0";
			status = "disabled";
			clocks = <&pcc0 0xfc>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		spi1: spi@40040000 {
			compatible = "openisa,rv32m1-lpspi";
			reg = <0x40040000 0x78>;
			label = "SPI_1";
			status = "disabled";
			clocks = <&pcc0 0x100>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		spi2: spi@40041000 {
			compatible = "openisa,rv32m1-lpspi";
			reg = <0x40041000 0x78>;
			label = "SPI_2";
			status = "disabled";
			clocks = <&pcc0 0x104>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		spi3: spi@41035000 {
			compatible = "openisa,rv32m1-lpspi";
			reg = <0x41035000 0x78>;
			label = "SPI_3";
			status = "disabled";
			clocks = <&pcc1 0xd4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		generic_fsk: generic_fsk@41033000 {
			compatible = "openisa,rv32m1-genfsk";
			reg = <0x41033000 0x90>;
			#address-cells = <1>;
			#size-cells = <0>;
		};

		pwm0: pwm@40035000 {
			compatible = "openisa,rv32m1-tpm";
			reg = <0x40035000 0x88>;
			clocks = <&pcc0 0xd4>;
			label = "PWM_0";
			status = "disabled";
			#pwm-cells = <3>;
		};

		pwm1: pwm@40036000 {
			compatible = "openisa,rv32m1-tpm";
			reg = <0x40036000 0x88>;
			clocks = <&pcc0 0xd8>;
			label = "PWM_1";
			status = "disabled";
			#pwm-cells = <3>;
		};

		pwm2: pwm@40037000 {
			compatible = "openisa,rv32m1-tpm";
			reg = <0x40037000 0x88>;
			clocks = <&pcc0 0xdc>;
			label = "PWM_2";
			status = "disabled";
			#pwm-cells = <3>;
		};

		pwm3: pwm@4102d000 {
			compatible = "openisa,rv32m1-tpm";
			reg = <0x4102d000 0x88>;
			clocks = <&pcc1 0xb4>;
			label = "PWM_3";
			status = "disabled";
			#pwm-cells = <3>;
		};

		flash-controller@40023000 {
			compatible = "openisa,rv32m1-ftfe";
			label = "FLASH_CTRL";
			reg = <0x40023000 0x18>;

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

			m4_flash: flash@0 {
				compatible = "soc-nv-flash";
				label = "M4_FLASH";
				reg = <0 0x100000>;
				erase-block-size = <4096>;
				write-block-size = <8>;
			};

			m0_flash: flash@1000000 {
				compatible = "soc-nv-flash";
				label = "M0_FLASH";
				reg = <0x01000000 0x40000>;
				erase-block-size = <4096>;
				write-block-size = <8>;
			};
		};
	};
};
