zephyr/dts/riscv/rv32m1_zero_riscy.dtsi

192 lines
2.9 KiB
Plaintext

/*
* Copyright 2018 Foundries.io Ltd
* SPDX-License-Identifier: Apache-2.0
*/
#include <riscv/rv32m1.dtsi>
/ {
aliases {
intmux = &intmux1;
system-lptmr = &lptmr2;
};
cpus {
/delete-node/ cpu@0;
};
};
&m0_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.
*/
zero_riscy_code_partition: partition@1000000 {
label = "zero-riscy-code";
reg = <0x01000000 0x0003ff00>;
};
zero_riscy_vector_partition: partition@3ff00 {
label = "zero-riscy-vector";
reg = <0x0003ff00 0x100>;
};
};
};
/*
* INTMUX channels below are somewhat arbitrary.
*
* The peripherals are all placed in channel 0. 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.
*/
/delete-node/ &intmux0;
&intmux1 {
status = "okay";
};
&intmux1_ch0 {
interrupt-parent = <&event1>;
status = "okay";
};
&intmux1_ch1 {
interrupt-parent = <&event1>;
};
&intmux1_ch2 {
interrupt-parent = <&event1>;
};
&intmux1_ch3 {
interrupt-parent = <&event1>;
};
&intmux1_ch4 {
interrupt-parent = <&event1>;
};
&intmux1_ch5 {
interrupt-parent = <&event1>;
};
&intmux1_ch6 {
interrupt-parent = <&event1>;
};
&intmux1_ch7 {
interrupt-parent = <&event1>;
};
&lptmr0 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <6>;
};
&lptmr1 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <7>;
};
&lptmr2 {
interrupt-parent = <&event1>;
interrupts = <14>;
};
&gpioa {
interrupt-parent = <&intmux1_ch0>;
interrupts = <25>;
};
&gpiob {
interrupt-parent = <&intmux1_ch0>;
interrupts = <26>;
};
&gpioc {
interrupt-parent = <&intmux1_ch0>;
interrupts = <27>;
};
&gpiod {
interrupt-parent = <&intmux1_ch0>;
interrupts = <28>;
};
&gpioe {
interrupt-parent = <&event1>;
interrupts = <21>;
};
&uart0 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <21>;
};
&uart1 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <22>;
};
&uart2 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <23>;
};
&uart3 {
interrupt-parent = <&event1>;
interrupts = <20>;
};
&i2c0 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <13>;
};
&i2c1 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <14>;
};
&i2c2 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <15>;
};
&i2c3 {
interrupt-parent = <&event1>;
interrupts = <16>;
};
&spi0 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <18>;
};
&spi1 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <19>;
};
&spi2 {
interrupt-parent = <&intmux1_ch0>;
interrupts = <20>;
};
&spi3 {
interrupt-parent = <&event1>;
interrupts = <19>;
};