You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
3.3 KiB
187 lines
3.3 KiB
/* |
|
* Copyright (c) 2023 Benjamin Cabé <benjamin@zephyrproject.org> |
|
* |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
/dts-v1/; |
|
|
|
#include <espressif/esp32s3/esp32s3_fn8.dtsi> |
|
#include "m5stack_atoms3-pinctrl.dtsi" |
|
#include "grove_connectors.dtsi" |
|
#include <zephyr/dt-bindings/input/input-event-codes.h> |
|
|
|
/ { |
|
model = "M5Stack AtomS3 PROCPU"; |
|
compatible = "m5stack,atoms3"; |
|
|
|
chosen { |
|
zephyr,sram = &sram0; |
|
zephyr,console = &usb_serial; |
|
zephyr,shell-uart = &usb_serial; |
|
zephyr,flash = &flash0; |
|
zephyr,code-partition = &slot0_partition; |
|
zephyr,display = &st7789v; |
|
}; |
|
|
|
aliases { |
|
sw0 = &user_button_0; |
|
watchdog0 = &wdt0; |
|
accel0 = &mpu6886; |
|
}; |
|
|
|
gpio_keys { |
|
compatible = "gpio-keys"; |
|
|
|
/* This is the button that's underneath the LCD display */ |
|
user_button_0: button_0 { |
|
label = "User button 0"; |
|
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; // G42 |
|
zephyr,code = <INPUT_KEY_0>; |
|
}; |
|
}; |
|
|
|
/* Regulators */ |
|
lcd_backlight_en { |
|
compatible = "regulator-fixed"; |
|
regulator-name = "lcd_backlight_enable"; |
|
enable-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; |
|
regulator-boot-on; |
|
}; |
|
|
|
}; |
|
|
|
&cpu0 { |
|
clock-frequency = <ESP32_CLK_CPU_240M>; |
|
}; |
|
|
|
&cpu1 { |
|
clock-frequency = <ESP32_CLK_CPU_240M>; |
|
}; |
|
|
|
&usb_serial { |
|
status = "okay"; |
|
}; |
|
|
|
&uart0 { |
|
status = "okay"; |
|
current-speed = <115200>; |
|
pinctrl-0 = <&uart0_default>; |
|
pinctrl-names = "default"; |
|
}; |
|
|
|
&i2c0 { |
|
status = "okay"; |
|
clock-frequency = <I2C_BITRATE_STANDARD>; |
|
pinctrl-0 = <&i2c0_default>; |
|
pinctrl-names = "default"; |
|
|
|
mpu6886: mpu6886@68 { |
|
compatible = "invensense,mpu6050"; |
|
reg = <0x68>; |
|
status = "okay"; |
|
}; |
|
}; |
|
|
|
&i2c1 { |
|
status = "okay"; |
|
clock-frequency = <I2C_BITRATE_STANDARD>; |
|
pinctrl-0 = <&i2c1_default>; |
|
pinctrl-names = "default"; |
|
}; |
|
|
|
&trng0 { |
|
status = "okay"; |
|
}; |
|
|
|
&spi2 { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
status = "okay"; |
|
pinctrl-0 = <&spim2_default>; |
|
pinctrl-names = "default"; |
|
|
|
st7789v: st7789v@0 { |
|
compatible = "sitronix,st7789v"; |
|
reg = <0>; |
|
spi-max-frequency = <27000000>; |
|
cmd-data-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; /* G33 */ |
|
reset-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; /* G34 */ |
|
|
|
width = <128>; |
|
height = <128>; |
|
x-offset = <2>; |
|
y-offset = <1>; |
|
|
|
vcom = <0x28>; |
|
gctrl = <0x35>; |
|
vrhs = <0x10>; |
|
vdvs = <0x20>; |
|
mdac = <0x00>; |
|
gamma = <0x01>; |
|
colmod = <0x55>; |
|
lcm = <0x0c>; |
|
porch-param = [0c 0c 00 33 33]; |
|
cmd2en-param = [5a 69 02 00]; |
|
pwctrl1-param = [a4 a1]; |
|
pvgam-param = [d0 00 02 07 0a 28 32 44 42 06 0e 12 14 17]; |
|
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e]; |
|
ram-param = [00 E0]; |
|
rgb-param = [40 02 14]; |
|
}; |
|
|
|
}; |
|
|
|
&gpio0 { |
|
status = "okay"; |
|
}; |
|
|
|
&gpio1 { |
|
status = "okay"; |
|
}; |
|
|
|
&wdt0 { |
|
status = "okay"; |
|
}; |
|
|
|
&timer0 { |
|
status = "okay"; |
|
}; |
|
|
|
&timer1 { |
|
status = "okay"; |
|
}; |
|
|
|
&flash0 { |
|
status = "okay"; |
|
partitions { |
|
compatible = "fixed-partitions"; |
|
#address-cells = <1>; |
|
#size-cells = <1>; |
|
|
|
boot_partition: partition@0 { |
|
label = "mcuboot"; |
|
reg = <0x00000000 0x0000F000>; |
|
read-only; |
|
}; |
|
|
|
slot0_partition: partition@10000 { |
|
label = "image-0"; |
|
reg = <0x00010000 0x00100000>; |
|
}; |
|
|
|
slot1_partition: partition@110000 { |
|
label = "image-1"; |
|
reg = <0x00110000 0x00100000>; |
|
}; |
|
|
|
scratch_partition: partition@210000 { |
|
label = "image-scratch"; |
|
reg = <0x00210000 0x00040000>; |
|
}; |
|
|
|
storage_partition: partition@250000 { |
|
label = "storage"; |
|
reg = <0x00250000 0x00006000>; |
|
}; |
|
}; |
|
};
|
|
|