zephyr/dts/riscv/espressif/esp32c3/esp32c3_common.dtsi
Henrik Brix Andersen 41960ab366 dts: bindings: can: remove optional sample point properties
Remove all optional, initial CAN sample point properties and rely on the
CAN timing calculations to automatically pick the preferred sample point
location based on the initial bitrate.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-17 15:36:19 +01:00

293 lines
6.7 KiB
Plaintext

/*
* Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <mem.h>
#include <zephyr/dt-bindings/adc/adc.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/interrupt-controller/esp-esp32c3-intmux.h>
#include <zephyr/dt-bindings/clock/esp32c3_clock.h>
#include <dt-bindings/pinctrl/esp32-pinctrl.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
aliases {
die-temp0 = &coretemp;
};
chosen {
zephyr,canbus = &twai;
zephyr,entropy = &trng0;
zephyr,flash-controller = &flash;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "espressif,riscv", "riscv";
riscv,isa = "rv32imc_zicsr";
reg = <0>;
cpu-power-states = <&light_sleep &deep_sleep>;
};
power-states {
light_sleep: light_sleep {
compatible = "zephyr,power-state";
power-state-name = "standby";
min-residency-us = <200>;
exit-latency-us = <60>;
};
deep_sleep: deep_sleep {
compatible = "zephyr,power-state";
power-state-name = "soft-off";
min-residency-us = <660>;
exit-latency-us = <105>;
};
};
};
pinctrl: pin-controller {
compatible = "espressif,esp32-pinctrl";
status = "okay";
};
wifi: wifi {
compatible = "espressif,esp32-wifi";
status = "disabled";
};
soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
sram0: memory@3fc7c000 {
compatible = "mmio-sram";
reg = <0x3fc7c000 0x50000>;
};
intc: interrupt-controller@600c2000 {
compatible = "espressif,esp32-intc";
#address-cells = <0>;
#interrupt-cells = <1>;
interrupt-controller;
reg = <0x600c2000 0x198>;
status = "okay";
};
systimer0: systimer@60023000 {
compatible = "espressif,esp32-systimer";
reg = <0x60023000 0x80>;
interrupts = <SYSTIMER_TARGET0_EDGE_INTR_SOURCE>;
interrupt-parent = <&intc>;
status = "okay";
};
rtc: rtc@60008000 {
compatible = "espressif,esp32-rtc";
reg = <0x60008000 0x1000>;
xtal-freq = <ESP32_CLK_XTAL_40M>;
#clock-cells = <1>;
status = "okay";
rtc_timer: rtc_timer {
compatible = "espressif,esp32-rtc-timer";
slow-clk-freq = <ESP32_RTC_SLOW_CLK_FREQ_90K>;
interrupts = <RTC_CORE_INTR_SOURCE>;
interrupt-parent = <&intc>;
status = "okay";
};
};
flash: flash-controller@60002000 {
compatible = "espressif,esp32-flash-controller";
reg = <0x60002000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
flash0: flash@0 {
compatible = "soc-nv-flash";
reg = <0 0x400000>;
erase-block-size = <4096>;
write-block-size = <4>;
};
};
gpio0: gpio@60004000 {
compatible = "espressif,esp32-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x60004000 0x800>;
interrupts = <GPIO_INTR_SOURCE>;
interrupt-parent = <&intc>;
/* Maximum available pins (per port)
* Actual occupied pins are specified
* on part number dtsi level, using
* the `gpio-reserved-ranges` property.
*/
ngpios = <26>; /* 0..25 */
};
i2c0: i2c@60013000 {
compatible = "espressif,esp32-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x60013000 0x1000>;
interrupts = <I2C_EXT0_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_I2C0_MODULE>;
status = "disabled";
};
uart0: uart@60000000 {
compatible = "espressif,esp32-uart";
reg = <0x60000000 0x400>;
status = "disabled";
interrupts = <UART0_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_UART0_MODULE>;
};
uart1: uart@60010000 {
compatible = "espressif,esp32-uart";
reg = <0x60010000 0x400>;
status = "disabled";
interrupts = <UART1_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_UART1_MODULE>;
current-speed = <115200>;
};
ledc0: ledc@60019000 {
compatible = "espressif,esp32-ledc";
pwm-controller;
#pwm-cells = <3>;
reg = <0x60019000 0x1000>;
clocks = <&rtc ESP32_LEDC_MODULE>;
status = "disabled";
};
usb_serial: uart@60043000 {
compatible = "espressif,esp32-usb-serial";
reg = <0x60043000 0x400>;
status = "disabled";
interrupts = <USB_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_USB_MODULE>;
};
timer0: counter@6001f000 {
compatible = "espressif,esp32-timer";
reg = <0x6001F000 DT_SIZE_K(4)>;
group = <0>;
index = <0>;
interrupts = <TG0_T0_LEVEL_INTR_SOURCE>;
interrupt-parent = <&intc>;
status = "disabled";
};
timer1: counter@60020000 {
compatible = "espressif,esp32-timer";
reg = <0x60020000 DT_SIZE_K(4)>;
group = <1>;
index = <0>;
interrupts = <TG1_T0_LEVEL_INTR_SOURCE>;
interrupt-parent = <&intc>;
status = "disabled";
};
trng0: trng@3ff700b0 {
compatible = "espressif,esp32-trng";
reg = <0x3FF700B0 0x4>;
status = "disabled";
};
twai: can@6002b000 {
compatible = "espressif,esp32-twai";
reg = <0x6002b000 DT_SIZE_K(4)>;
interrupts = <TWAI_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_TWAI_MODULE>;
status = "disabled";
};
spi2: spi@60024000 {
compatible = "espressif,esp32-spi";
reg = <0x60024000 DT_SIZE_K(4)>;
interrupts = <SPI2_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_SPI2_MODULE>;
dma-clk = <ESP32_GDMA_MODULE>;
dma-host = <0>;
status = "disabled";
};
wdt0: watchdog@6001f048 {
compatible = "espressif,esp32-watchdog";
reg = <0x6001f048 0x20>;
interrupts = <TG0_WDT_LEVEL_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_TIMG0_MODULE>;
status = "disabled";
};
wdt1: watchdog@60020048 {
compatible = "espressif,esp32-watchdog";
reg = <0x60020048 0x20>;
interrupts = <TG1_WDT_LEVEL_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_TIMG1_MODULE>;
status = "disabled";
};
coretemp: coretemp@60040058 {
compatible = "espressif,esp32-temp";
friendly-name = "coretemp";
reg = <0x60040058 0x4>;
status = "disabled";
};
adc0: adc@60040000 {
compatible = "espressif,esp32-adc";
reg = <0x60040000 4>;
unit = <1>;
channel-count = <5>;
#io-channel-cells = <1>;
status = "disabled";
};
adc1: adc@60040004 {
compatible = "espressif,esp32-adc";
reg = <0x60040004 4>;
unit = <2>;
channel-count = <2>;
#io-channel-cells = <1>;
status = "disabled";
};
dma: dma@6003f000 {
compatible = "espressif,esp32-gdma";
reg = <0x6003f000 DT_SIZE_K(4)>;
#dma-cells = <1>;
interrupts = <DMA_CH0_INTR_SOURCE DMA_CH1_INTR_SOURCE DMA_CH2_INTR_SOURCE>;
interrupt-parent = <&intc>;
clocks = <&rtc ESP32_GDMA_MODULE>;
dma-channels = <6>;
dma-buf-addr-alignment = <4>;
status = "disabled";
};
};
};