| /* |
| * 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"; |
| 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>; |
| }; |
| }; |
| }; |