/* * Copyright (c) 2023 Joel Guittet * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include "wio_terminal-pinctrl.dtsi" #include "grove_connectors.dtsi" #include "raspberrypi_40pins_connector.dtsi" #include #include / { model = "Wio Terminal"; compatible = "seeed,wio-terminal"; chosen { zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &code_partition; zephyr,display = &ili9341; }; /* These aliases are provided for compatibility with samples */ aliases { led0 = &led0; sw0 = &user_button_0; sw1 = &user_button_1; sw2 = &user_button_2; i2c0 = &sercom4; i2c1 = &sercom3; spi0 = &sercom5; uart0 = &sercom2; accel0 = &lis3dh; sdhc0 = &sdhc0; }; /* LEDs */ leds { compatible = "gpio-leds"; led0: led_0 { label = "LED"; gpios = <&porta 15 GPIO_ACTIVE_HIGH>; }; }; /* Buttons */ buttons: buttons { compatible = "gpio-keys"; user_button_0: button_0 { label = "User Button 0"; gpios = <&portc 26 GPIO_ACTIVE_LOW>; zephyr,code = ; }; user_button_1: button_1 { label = "User Button 1"; gpios = <&portc 27 GPIO_ACTIVE_LOW>; zephyr,code = ; }; user_button_2: button_2 { label = "User Button 2"; gpios = <&portc 28 GPIO_ACTIVE_LOW>; zephyr,code = ; }; }; /* Joystick */ joystick: joystick { compatible = "gpio-keys"; polling-mode; debounce-interval-ms = <100>; joy_sel: joystick_selection { label = "joystick selection"; gpios = <&portd 10 GPIO_ACTIVE_LOW>; zephyr,code = ; }; joy_down: joystick_down { label = "joystick down"; gpios = <&portd 8 GPIO_ACTIVE_LOW>; zephyr,code = ; }; joy_up: joystick_up { label = "joystick up"; gpios = <&portd 20 GPIO_ACTIVE_LOW>; zephyr,code = ; }; joy_left: joystick_left { label = "joystick left"; gpios = <&portd 12 GPIO_ACTIVE_LOW>; zephyr,code = ; }; joy_right: joystick_right { label = "joystick right"; gpios = <&portd 9 GPIO_ACTIVE_LOW>; zephyr,code = ; }; }; /* Regulators */ lcd_backlight_en { compatible = "regulator-fixed"; regulator-name = "lcd_backlight_enable"; enable-gpios = <&portc 5 GPIO_ACTIVE_HIGH>; regulator-boot-on; }; rpi_power_3v3_en { compatible = "regulator-fixed"; regulator-name = "rpi_power_3v3_enable"; enable-gpios = <&portc 15 GPIO_ACTIVE_LOW>; regulator-boot-on; }; rpi_power_5v_en { compatible = "regulator-fixed"; regulator-name = "rpi_power_5v_enable"; enable-gpios = <&portc 14 GPIO_ACTIVE_HIGH>; regulator-boot-on; }; usb_power_5v_en { compatible = "regulator-fixed"; regulator-name = "usb_power_5v_en"; enable-gpios = <&porta 27 GPIO_ACTIVE_LOW>; }; /* LCD */ mipi_dbi { compatible = "zephyr,mipi-dbi-spi"; dc-gpios = <&portc 6 GPIO_ACTIVE_HIGH>; reset-gpios = <&portc 7 GPIO_ACTIVE_LOW>; #address-cells = <1>; #size-cells = <0>; spi-dev = <&sercom7>; write-only; ili9341: ili9341@0 { compatible = "ilitek,ili9341"; mipi-max-frequency = <24000000>; reg = <0>; pixel-format = ; rotation = <270>; width = <320>; height = <240>; }; }; }; &cpu0 { clock-frequency = <120000000>; }; &dmac { status = "okay"; }; &flash0 { partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; boot_partition: partition@0 { label = "uf2"; reg = <0x00000000 DT_SIZE_K(16)>; read-only; }; code_partition: partition@4000 { label = "code"; reg = <0x4000 DT_SIZE_K(512-16)>; read-only; }; }; }; /* RTL8720D (Wifi/BLE) */ &sercom0 { status = "okay"; compatible = "atmel,sam0-spi"; #address-cells = <1>; #size-cells = <0>; dipo = <2>; dopo = <0>; pinctrl-0 = <&sercom0_spi_default>; pinctrl-names = "default"; cs-gpios = <&portc 25 GPIO_ACTIVE_LOW>; }; /* RTL8720D (Wifi/BLE) */ &sercom1 { status = "okay"; compatible = "atmel,sam0-uart"; current-speed = <115200>; rxpo = <1>; txpo = <0>; pinctrl-0 = <&sercom1_uart_default>; pinctrl-names = "default"; }; /* UART, Raspberry Pi connector */ &sercom2 { status = "okay"; compatible = "atmel,sam0-uart"; current-speed = <115200>; rxpo = <1>; txpo = <0>; pinctrl-0 = <&sercom2_uart_default>; pinctrl-names = "default"; }; /* I2C1, Raspberry Pi and Groove connectors */ &sercom3 { status = "okay"; compatible = "atmel,sam0-i2c"; clock-frequency = ; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&sercom3_i2c_default>; pinctrl-names = "default"; }; /* I2C0, LIS3DH, ATECC608, Raspberry Pi connector */ &sercom4 { status = "okay"; compatible = "atmel,sam0-i2c"; clock-frequency = ; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&sercom4_i2c_default>; pinctrl-names = "default"; /* LIS3DH */ lis3dh: lis3dh@18 { compatible = "st,lis3dh", "st,lis2dh"; status = "okay"; reg = <0x18>; irq-gpios = <&portc 21 GPIO_ACTIVE_HIGH>; }; /* ATECC608A */ atecc608a@6a { compatible = "atmel,atecc608"; reg = <0x6a>; }; }; /* SPI, Raspberry Pi connector */ &sercom5 { status = "okay"; compatible = "atmel,sam0-spi"; #address-cells = <1>; #size-cells = <0>; dipo = <2>; dopo = <0>; pinctrl-0 = <&sercom5_spi_default>; pinctrl-names = "default"; cs-gpios = <&portb 1 GPIO_ACTIVE_LOW>; }; /* microSD Card */ &sercom6 { status = "okay"; compatible = "atmel,sam0-spi"; #address-cells = <1>; #size-cells = <0>; dipo = <2>; dopo = <0>; pinctrl-0 = <&sercom6_spi_default>; pinctrl-names = "default"; cs-gpios = <&portc 19 GPIO_ACTIVE_LOW>; /* microSD Card */ sdhc0: sdhc@0 { compatible = "zephyr,sdhc-spi-slot"; reg = <0>; spi-max-frequency = <24000000>; mmc { compatible = "zephyr,sdmmc-disk"; disk-name = "SD"; }; }; }; /* LCD */ &sercom7 { status = "okay"; compatible = "atmel,sam0-spi"; #address-cells = <1>; #size-cells = <0>; dipo = <2>; dopo = <3>; pinctrl-0 = <&sercom7_spi_default>; pinctrl-names = "default"; cs-gpios = <&portb 21 GPIO_ACTIVE_LOW>; }; /* USB */ zephyr_udc0: &usb0 { status = "okay"; pinctrl-0 = <&usb_dc_default>; pinctrl-names = "default"; }; #include <../boards/common/usb/cdc_acm_serial.dtsi>