/* * Copyright 2018 Foundries.io Ltd * SPDX-License-Identifier: Apache-2.0 */ #include / { 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>; };