223 lines
3.3 KiB
Plaintext
223 lines
3.3 KiB
Plaintext
/*
|
|
* 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>;
|
|
};
|
|
|
|
&uart0 {
|
|
interrupt-parent = <&event0>;
|
|
interrupts = <17>;
|
|
};
|
|
|
|
&uart1 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <13>;
|
|
};
|
|
|
|
&uart2 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <14>;
|
|
};
|
|
|
|
&uart3 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <26>;
|
|
};
|
|
|
|
&i2c0 {
|
|
interrupt-parent = <&event0>;
|
|
interrupts = <15>;
|
|
};
|
|
|
|
&i2c1 {
|
|
interrupt-parent = <&event0>;
|
|
interrupts = <16>;
|
|
};
|
|
|
|
&i2c2 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <11>;
|
|
};
|
|
|
|
&i2c3 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <24>;
|
|
};
|
|
|
|
&spi0 {
|
|
interrupt-parent = <&event0>;
|
|
interrupts = <13>;
|
|
};
|
|
|
|
&spi1 {
|
|
interrupt-parent = <&event0>;
|
|
interrupts = <14>;
|
|
};
|
|
|
|
&spi2 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <12>;
|
|
};
|
|
|
|
&spi3 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <25>;
|
|
};
|
|
|
|
&generic_fsk {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <29>;
|
|
};
|
|
|
|
&pwm0 {
|
|
interrupt-parent = <&event0>;
|
|
interrupts = <19>;
|
|
};
|
|
|
|
&pwm1 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <9>;
|
|
};
|
|
|
|
&pwm2 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <10>;
|
|
};
|
|
|
|
&pwm3 {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <23>;
|
|
};
|
|
|
|
&trng {
|
|
interrupt-parent = <&intmux0_ch1>;
|
|
interrupts = <20>;
|
|
};
|