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

#include <riscv/rv32m1.dtsi>

/ {
	aliases {
		intmux = &intmux0;
		system-lptmr = &lptmr0;
	};

	cpus {
		/delete-node/ cpu@1;
	};
};

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

		/* This configuration assumes the Arm cores are disabled, as
		 * these base addresses contain the Arm core vector tables if
		 * they are used.
		 */

		ri5cy_code_partition: partition@0 {
			label = "ri5cy-code";
			reg = <0x00000000 0x000fff00>;
		};

		ri5cy_vector_partition: partition@fff00 {
			label = "ri5cy-vector";
			reg = <0x000fff00 0x100>;
		};
	};
};

/*
 * INTMUX channels below are somewhat arbitrary.
 *
 * The system timer (assumed at LPTMR0) is placed on channel 0, and peripherals
 * are in channel 1. This can be overridden with overlays, e.g. to manage IRQ
 * priorities, and it will Just Work, but using fewer channels here allows
 * disabling unused ones in Kconfig, making the binary smaller.
 *
 * Each enabled channel requires 256 bytes in _sw_isr_table, so the savings for
 * disabling channels can add up.
 */

&intmux0 {
	status = "okay";
};

&intmux0_ch0 {
	interrupt-parent = <&event0>;
	status = "okay";
};

&intmux0_ch1 {
	interrupt-parent = <&event0>;
	status = "okay";
};

&intmux0_ch2 {
	interrupt-parent = <&event0>;
};

&intmux0_ch3 {
	interrupt-parent = <&event0>;
};

&intmux0_ch4 {
	interrupt-parent = <&event0>;
};

&intmux0_ch5 {
	interrupt-parent = <&event0>;
};

&intmux0_ch6 {
	interrupt-parent = <&event0>;
};

&intmux0_ch7 {
	interrupt-parent = <&event0>;
};

/delete-node/ &intmux1;

&lptmr0 {
	interrupt-parent = <&intmux0_ch0>;
	interrupts = <7>;
};

&lptmr1 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <8>;
};

&lptmr2 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <22>;
};

&gpioa {
	interrupt-parent = <&event0>;
	interrupts = <18>;
};

&gpiob {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <15>;
};

&gpioc {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <16>;
};

&gpiod {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <17>;
};

&gpioe {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <27>;
};

&lpuart0 {
	interrupt-parent = <&event0>;
	interrupts = <17>;
};

&lpuart1 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <13>;
};

&lpuart2 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <14>;
};

&lpuart3 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <26>;
};

&lpi2c0 {
	interrupt-parent = <&event0>;
	interrupts = <15>;
};

&lpi2c1 {
	interrupt-parent = <&event0>;
	interrupts = <16>;
};

&lpi2c2 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <11>;
};

&lpi2c3 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <24>;
};

&lpspi0 {
	interrupt-parent = <&event0>;
	interrupts = <13>;
};

&lpspi1 {
	interrupt-parent = <&event0>;
	interrupts = <14>;
};

&lpspi2 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <12>;
};

&lpspi3 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <25>;
};

&generic_fsk {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <29>;
};

&tpm0 {
	interrupt-parent = <&event0>;
	interrupts = <19>;
};

&tpm1 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <9>;
};

&tpm2 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <10>;
};

&tpm3 {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <23>;
};

&trng {
	interrupt-parent = <&intmux0_ch1>;
	interrupts = <20>;
};
