zephyr/dts/arm/adi/max32/max32690.dtsi

237 lines
5.0 KiB
Plaintext

/*
* Copyright (c) 2023-2024 Analog Devices, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <arm/armv7-m.dtsi>
#include <adi/max32/max32xxx.dtsi>
#include <zephyr/dt-bindings/dma/max32690_dma.h>
&clk_ipo {
clock-frequency = <DT_FREQ_M(120)>;
};
&sram0 {
reg = <0x20000000 DT_SIZE_K(128)>;
};
&flash0 {
reg = <0x10000000 DT_SIZE_M(3)>;
erase-block-size = <16384>;
};
&pinctrl {
reg = <0x40008000 0x3220>;
gpio2: gpio@4000a000 {
reg = <0x4000a000 0x1000>;
compatible = "adi,max32-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupts = <26 0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS0 2>;
status = "disabled";
};
gpio3: gpio@40080400 {
reg = <0x40080400 0x200>;
compatible = "adi,max32-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupts = <58 0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS2 0>;
status = "disabled";
};
gpio4: gpio@4000c000 {
reg = <0x4000c000 0x20>;
compatible = "adi,max32-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupts = <54 0>;
status = "disabled";
};
};
&adc {
compatible = "adi,max32-adc-sar", "adi,max32-adc";
clock-source = <ADI_MAX32_PRPH_CLK_SRC_PCLK>;
clock-divider = <16>;
channel-count = <21>;
track-count = <4>;
idle-count = <5>;
vref-mv = <1250>;
resolution = <12>;
};
/* MAX32690 extra peripherals. */
/ {
soc {
sram1: memory@20020000 {
compatible = "mmio-sram";
reg = <0x20020000 DT_SIZE_K(128)>;
};
sram2: memory@20040000 {
compatible = "mmio-sram";
reg = <0x20040000 DT_SIZE_K(128)>;
};
sram3: memory@20060000 {
compatible = "mmio-sram";
reg = <0x20060000 DT_SIZE_K(128)>;
};
sram4: memory@20080000 {
compatible = "mmio-sram";
reg = <0x20080000 DT_SIZE_K(128)>;
};
sram5: memory@200a0000 {
compatible = "mmio-sram";
reg = <0x200a0000 DT_SIZE_K(128)>;
};
sram6: memory@200c0000 {
compatible = "mmio-sram";
reg = <0x200c0000 DT_SIZE_K(64)>;
};
sram7: memory@200d0000 {
compatible = "mmio-sram";
reg = <0x200d0000 DT_SIZE_K(64)>;
};
flc1: flash_controller@40029400 {
compatible = "adi,max32-flash-controller";
reg = <0x40029400 0x400>;
#address-cells = <1>;
#size-cells = <1>;
status = "okay";
flash1: flash@10080000 {
compatible = "soc-nv-flash";
reg = <0x10080000 DT_SIZE_K(256)>;
write-block-size = <16>;
erase-block-size = <16384>;
};
};
spi0: spi@40046000 {
compatible = "adi,max32-spi";
reg = <0x40046000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS0 6>;
interrupts = <16 0>;
status = "disabled";
};
spi1: spi@40047000 {
compatible = "adi,max32-spi";
reg = <0x40047000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS0 7>;
interrupts = <17 0>;
status = "disabled";
};
spi2: spi@40048000 {
compatible = "adi,max32-spi";
reg = <0x40048000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS0 8>;
interrupts = <18 0>;
status = "disabled";
};
spi3: spi@400be000 {
compatible = "adi,max32-spi";
reg = <0x400be000 0x400>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS1 16>;
interrupts = <56 0>;
status = "disabled";
};
spi4: spi@400be400 {
compatible = "adi,max32-spi";
reg = <0x400be400 0x400>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS1 17>;
interrupts = <105 0>;
status = "disabled";
};
uart3: serial@40081400 {
compatible = "adi,max32-uart";
reg = <0x40081400 0x400>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS2 4>;
clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
interrupts = <88 0>;
status = "disabled";
};
dma0: dma@40028000 {
compatible = "adi,max32-dma";
reg = <0x40028000 0x1000>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS0 5>;
interrupts = <28 0>, <29 0>, <30 0>, <31 0>;
dma-channels = <16>;
status = "disabled";
#dma-cells = <2>;
};
wdt1: watchdog@40080800 {
compatible = "adi,max32-watchdog";
reg = <0x40080800 0x400>;
interrupts = <57 0>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS2 1>;
clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
status = "disabled";
};
lptimer0: timer@40080c00 {
compatible = "adi,max32-timer";
reg = <0x40080c00 0x400>;
interrupts = <9 0>;
status = "disabled";
clocks = <&gcr ADI_MAX32_CLOCK_BUS2 2>;
clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
prescaler = <1>;
counter {
compatible = "adi,max32-counter";
status = "disabled";
};
};
lptimer1: timer@40081000 {
compatible = "adi,max32-timer";
reg = <0x40081000 0x400>;
interrupts = <10 0>;
status = "disabled";
clocks = <&gcr ADI_MAX32_CLOCK_BUS2 3>;
clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
prescaler = <1>;
counter {
compatible = "adi,max32-counter";
status = "disabled";
};
};
w1: w1@4003d000 {
compatible = "adi,max32-w1";
reg = <0x4003d000 0x1000>;
clocks = <&gcr ADI_MAX32_CLOCK_BUS1 13>;
interrupts = <67 0>;
status = "disabled";
};
};
};