| /* |
| * Copyright 2018 Foundries.io Ltd |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <riscv/openisa/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 { |
| reg = <0x01000000 0x0003ff00>; |
| }; |
| |
| zero_riscy_vector_partition: partition@3ff00 { |
| 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>; |
| }; |
| |
| &lpuart0 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <21>; |
| }; |
| |
| &lpuart1 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <22>; |
| }; |
| |
| &lpuart2 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <23>; |
| }; |
| |
| &lpuart3 { |
| interrupt-parent = <&event1>; |
| interrupts = <20>; |
| }; |
| |
| &lpi2c0 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <13>; |
| }; |
| |
| &lpi2c1 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <14>; |
| }; |
| |
| &lpi2c2 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <15>; |
| }; |
| |
| &lpi2c3 { |
| interrupt-parent = <&event1>; |
| interrupts = <16>; |
| }; |
| |
| &lpspi0 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <18>; |
| }; |
| |
| &lpspi1 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <19>; |
| }; |
| |
| &lpspi2 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <20>; |
| }; |
| |
| &lpspi3 { |
| interrupt-parent = <&event1>; |
| interrupts = <19>; |
| }; |
| |
| &generic_fsk { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <17>; |
| }; |
| |
| &tpm0 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <8>; |
| }; |
| |
| &tpm1 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <9>; |
| }; |
| |
| &tpm2 { |
| interrupt-parent = <&intmux1_ch0>; |
| interrupts = <10>; |
| }; |
| |
| &tpm3 { |
| interrupt-parent = <&event1>; |
| interrupts = <15>; |
| }; |
| |
| &trng { |
| interrupt-parent = <&event1>; |
| interrupts = <12>; |
| }; |