Browse Source
boards: mikroe: Add quail board Signed-off-by: Oleg Kokorin <ole2mail@mail.com>pull/89404/head
10 changed files with 547 additions and 0 deletions
@ -0,0 +1,10 @@ |
|||||||
|
# MikroE Quail board configuration |
||||||
|
|
||||||
|
# Copyright (c) 2025 ThoseBoards |
||||||
|
# SPDX-License-Identifier: Apache-2.0 |
||||||
|
|
||||||
|
source "boards/common/usb/Kconfig.cdc_acm_serial.defconfig" |
||||||
|
|
||||||
|
config SPI_STM32_INTERRUPT |
||||||
|
default y |
||||||
|
depends on SPI |
@ -0,0 +1,5 @@ |
|||||||
|
# Copyright (c) 2025 ThoseBoards |
||||||
|
# SPDX-License-Identifier: Apache-2.0 |
||||||
|
|
||||||
|
config BOARD_MIKROE_QUAIL |
||||||
|
select SOC_STM32F427XX |
@ -0,0 +1,7 @@ |
|||||||
|
# SPDX-License-Identifier: Apache-2.0 |
||||||
|
|
||||||
|
board_runner_args(dfu-util "--pid=0483:df11" "--alt=0" "--dfuse") |
||||||
|
board_runner_args(jlink "--device=STM32F427VIT6" "--speed=4000") |
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/dfu-util.board.cmake) |
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) |
@ -0,0 +1,6 @@ |
|||||||
|
board: |
||||||
|
name: mikroe_quail |
||||||
|
full_name: MikroE Quail |
||||||
|
vendor: mikroe |
||||||
|
socs: |
||||||
|
- name: stm32f427xx |
After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,99 @@ |
|||||||
|
.. zephyr:board:: mikroe_quail |
||||||
|
|
||||||
|
Overview |
||||||
|
******** |
||||||
|
MikroE Quail for STM32 is a development board containing an `STM32F427`_ |
||||||
|
microcontroller. It is equipped with four mikroBUS sockets. |
||||||
|
The edges of the board are lined with screw terminals and USB ports for |
||||||
|
additional connectivity. |
||||||
|
|
||||||
|
Hardware |
||||||
|
******** |
||||||
|
The Quail board contains the following connections: |
||||||
|
|
||||||
|
- Four mikroBUS connectors |
||||||
|
- 32 screw terminals |
||||||
|
- two USB ports, one for programming and one for external storage |
||||||
|
|
||||||
|
Furthermore the board contains three LEDs that are connected |
||||||
|
to the microcontroller. |
||||||
|
|
||||||
|
Supported Features |
||||||
|
================== |
||||||
|
|
||||||
|
.. zephyr:board-supported-hw:: |
||||||
|
|
||||||
|
Connections and IOs |
||||||
|
=================== |
||||||
|
|
||||||
|
The four mikroBUS interfaces are aliased in the device tree so that their |
||||||
|
peripherals can be accessed using ``mikrobus_N_INTERFACE`` so e.g. the SPI on |
||||||
|
bus 2 can be found by the alias ``mikrobus_2_spi``. The numbering corresponds |
||||||
|
with the marking on the board. |
||||||
|
|
||||||
|
For connections on the edge connectors, please refer to `Quail for STM32 User Manual`_. |
||||||
|
|
||||||
|
Programming and Debugging |
||||||
|
************************* |
||||||
|
|
||||||
|
.. zephyr:board-supported-runners:: |
||||||
|
|
||||||
|
Applications for the ``mikroe_quail`` board can be built and flashed in the usual way |
||||||
|
(see :ref:`build_an_application` and :ref:`application_run` for more details). |
||||||
|
|
||||||
|
|
||||||
|
Flashing |
||||||
|
======== |
||||||
|
The board ships with a locked flash, and will fail with the message: |
||||||
|
|
||||||
|
.. code-block:: console |
||||||
|
|
||||||
|
Error: stm32x device protected |
||||||
|
|
||||||
|
Unlocking with OpenOCD makes it possible to flash. |
||||||
|
|
||||||
|
.. code-block:: console |
||||||
|
|
||||||
|
$ openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg \ |
||||||
|
-f /usr/share/openocd/scripts/target/stm32f4x.cfg -c init\ |
||||||
|
-c "reset halt" -c "stm32f4x unlock 0" -c "reset run" -c shutdown |
||||||
|
|
||||||
|
Here is an example for the :zephyr:code-sample:`hello_world` application. |
||||||
|
|
||||||
|
.. zephyr-app-commands:: |
||||||
|
:zephyr-app: samples/hello_world |
||||||
|
:board: mikroe_quail |
||||||
|
:goals: build flash |
||||||
|
|
||||||
|
You should see the following message on the console: |
||||||
|
|
||||||
|
.. code-block:: console |
||||||
|
|
||||||
|
Hello World! mikroe_quail |
||||||
|
|
||||||
|
|
||||||
|
Debugging |
||||||
|
========= |
||||||
|
|
||||||
|
You can debug an application in the usual way. Here is an example for the |
||||||
|
:zephyr:code-sample:`hello_world` application. |
||||||
|
|
||||||
|
.. zephyr-app-commands:: |
||||||
|
:zephyr-app: samples/hello_world |
||||||
|
:board: mikroe_quail |
||||||
|
:maybe-skip-config: |
||||||
|
:goals: debug |
||||||
|
|
||||||
|
References |
||||||
|
********** |
||||||
|
|
||||||
|
.. target-notes:: |
||||||
|
|
||||||
|
.. _Quail website: |
||||||
|
https://www.mikroe.com/quail |
||||||
|
.. _Quail for STM32 User Manual: |
||||||
|
https://download.mikroe.com/documents/starter-boards/other/quail/quail-board-manual-v100.pdf |
||||||
|
.. _STM32F427VIT6 Website: |
||||||
|
https://www.st.com/en/microcontrollers-microprocessors/stm32f427vi.html |
||||||
|
.. _STM32F427: |
||||||
|
https://www.st.com/resource/en/datasheet/stm32f427vg.pdf |
@ -0,0 +1,374 @@ |
|||||||
|
/* |
||||||
|
* Copyright (c) 2025 ThoseBoards |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
*/ |
||||||
|
|
||||||
|
/dts-v1/; |
||||||
|
#include <st/f4/stm32f427vi.dtsi> |
||||||
|
#include <st/f4/stm32f427v(g-i)tx-pinctrl.dtsi> |
||||||
|
#include <zephyr/dt-bindings/input/input-event-codes.h> |
||||||
|
|
||||||
|
/ { |
||||||
|
model = "MikroE Quail for STM32"; |
||||||
|
compatible = "mikroe,stm32-e427", "st,stm32f427"; |
||||||
|
|
||||||
|
chosen { |
||||||
|
zephyr,sram = &sram0; |
||||||
|
zephyr,flash = &flash0; |
||||||
|
zephyr,flash-controller = &flash1; |
||||||
|
zephyr,ccm = &ccm0; |
||||||
|
}; |
||||||
|
|
||||||
|
leds { |
||||||
|
compatible = "gpio-leds"; |
||||||
|
|
||||||
|
ld1: led_1 { |
||||||
|
gpios = <&gpioe 15 GPIO_ACTIVE_HIGH>; |
||||||
|
label = "User LD1"; |
||||||
|
}; |
||||||
|
|
||||||
|
ld2: led_2 { |
||||||
|
gpios = <&gpioe 10 GPIO_ACTIVE_HIGH>; |
||||||
|
label = "User LD2"; |
||||||
|
}; |
||||||
|
|
||||||
|
ld3: led_3 { |
||||||
|
gpios = <&gpioc 3 GPIO_ACTIVE_HIGH>; |
||||||
|
label = "User LD3"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
zephyr,user { |
||||||
|
io-channels = <&adc1 0>, <&adc1 1>, <&adc2 0>, <&adc2 1>; |
||||||
|
}; |
||||||
|
|
||||||
|
mikrobus_1_header: mikrobus-connector-1 { |
||||||
|
compatible = "mikro-bus"; |
||||||
|
#gpio-cells = <2>; |
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>; |
||||||
|
gpio-map-pass-thru = <0 0x3f>; |
||||||
|
gpio-map = <0 0 &gpioa 6 0>, /* AN */ |
||||||
|
<1 0 &gpioa 2 0>, /* RST */ |
||||||
|
<2 0 &gpioa 3 0>, /* CS */ |
||||||
|
<3 0 &gpiob 3 0>, /* SCK */ |
||||||
|
<4 0 &gpiob 4 0>, /* MISO */ |
||||||
|
<5 0 &gpiob 5 0>, /* MOSI */ |
||||||
|
/* +3.3V */ |
||||||
|
/* GND */ |
||||||
|
<6 0 &gpioe 9 0>, /* PWM */ |
||||||
|
<7 0 &gpioa 1 0>, /* INT */ |
||||||
|
<8 0 &gpiod 9 0>, /* RX */ |
||||||
|
<9 0 &gpiod 8 0>, /* TX */ |
||||||
|
<10 0 &gpiob 6 0>, /* SCL */ |
||||||
|
<11 0 &gpiob 7 0>; /* SDA */ |
||||||
|
/* +5V */ |
||||||
|
/* GND */ |
||||||
|
}; |
||||||
|
|
||||||
|
mikrobus_2_header: mikrobus-connector-2 { |
||||||
|
compatible = "mikro-bus"; |
||||||
|
#gpio-cells = <2>; |
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>; |
||||||
|
gpio-map-pass-thru = <0 0x3f>; |
||||||
|
gpio-map = <0 0 &gpioa 4 0>, /* AN */ |
||||||
|
<1 0 &gpioe 1 0>, /* RST */ |
||||||
|
<2 0 &gpioe 0 0>, /* CS */ |
||||||
|
<3 0 &gpiob 3 0>, /* SCK */ |
||||||
|
<4 0 &gpiob 4 0>, /* MISO */ |
||||||
|
<5 0 &gpiob 5 0>, /* MOSI */ |
||||||
|
/* +3.3V */ |
||||||
|
/* GND */ |
||||||
|
<6 0 &gpiod 15 0>, /* PWM */ |
||||||
|
<7 0 &gpiob 9 0>, /* INT */ |
||||||
|
<8 0 &gpiod 6 0>, /* RX */ |
||||||
|
<9 0 &gpiod 5 0>, /* TX */ |
||||||
|
<10 0 &gpiob 6 0>, /* SCL */ |
||||||
|
<11 0 &gpiob 7 0>; /* SDA */ |
||||||
|
/* +5V */ |
||||||
|
/* GND */ |
||||||
|
}; |
||||||
|
|
||||||
|
mikrobus_3_header: mikrobus-connector-3 { |
||||||
|
compatible = "mikro-bus"; |
||||||
|
#gpio-cells = <2>; |
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>; |
||||||
|
gpio-map-pass-thru = <0 0x3f>; |
||||||
|
gpio-map = <0 0 &gpioa 7 0>, /* AN */ |
||||||
|
<1 0 &gpiod 8 0>, /* RST */ |
||||||
|
<2 0 &gpiod 11 0>, /* CS */ |
||||||
|
<3 0 &gpioc 10 0>, /* SCK */ |
||||||
|
<4 0 &gpioc 11 0>, /* MISO */ |
||||||
|
<5 0 &gpioc 12 0>, /* MOSI */ |
||||||
|
/* +3.3V */ |
||||||
|
/* GND */ |
||||||
|
<6 0 &gpiod 13 0>, /* PWM */ |
||||||
|
<7 0 &gpioc 8 0>, /* INT */ |
||||||
|
<8 0 &gpioc 7 0>, /* RX */ |
||||||
|
<9 0 &gpioc 6 0>, /* TX */ |
||||||
|
<10 0 &gpiob 6 0>, /* SCL */ |
||||||
|
<11 0 &gpiob 7 0>; /* SDA */ |
||||||
|
/* +5V */ |
||||||
|
/* GND */ |
||||||
|
}; |
||||||
|
|
||||||
|
mikrobus_4_header: mikrobus-connector-4 { |
||||||
|
compatible = "mikro-bus"; |
||||||
|
#gpio-cells = <2>; |
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>; |
||||||
|
gpio-map-pass-thru = <0 0x3f>; |
||||||
|
gpio-map = <0 0 &gpioa 5 0>, /* AN */ |
||||||
|
<1 0 &gpiod 0 0>, /* RST */ |
||||||
|
<2 0 &gpiod 1 0>, /* CS */ |
||||||
|
<3 0 &gpioc 10 0>, /* SCK */ |
||||||
|
<4 0 &gpioc 11 0>, /* MISO */ |
||||||
|
<5 0 &gpioc 12 0>, /* MOSI */ |
||||||
|
/* +3.3V */ |
||||||
|
/* GND */ |
||||||
|
<6 0 &gpiod 14 0>, /* PWM */ |
||||||
|
<7 0 &gpioa 14 0>, /* INT */ |
||||||
|
<8 0 &gpioa 10 0>, /* RX */ |
||||||
|
<9 0 &gpioa 9 0>, /* TX */ |
||||||
|
<10 0 &gpiob 6 0>, /* SCL */ |
||||||
|
<11 0 &gpiob 7 0>; /* SDA */ |
||||||
|
/* +5V */ |
||||||
|
/* GND */ |
||||||
|
}; |
||||||
|
|
||||||
|
edge_header: connector { |
||||||
|
#gpio-cells = <2>; |
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>; |
||||||
|
gpio-map-pass-thru = <0 0x3f>; |
||||||
|
gpio-map = <0 0 &gpioc 5 0>, /* ,PC5 */ |
||||||
|
<1 0 &gpiob 0 0>, /* ,PB0 */ |
||||||
|
<2 0 &gpioe 7 0>, /* ,PE7 */ |
||||||
|
<3 0 &gpioe 8 0>, /* ,PE8 */ |
||||||
|
<4 0 &gpioe 11 0>, /* ,PE11 */ |
||||||
|
<5 0 &gpioc 4 0>, /* ,PC4 */ |
||||||
|
<6 0 &gpioe 13 0>, /* ,PE13 */ |
||||||
|
<7 0 &gpioe 14 0>, /* ,PE14 */ |
||||||
|
<8 0 &gpiob 10 0>, /* ,PB10 */ |
||||||
|
<9 0 &gpiob 11 0>, /* ,PB11 */ |
||||||
|
<10 0 &gpiob 12 0>, /* ,PB12 */ |
||||||
|
<11 0 &gpiob 13 0>, /* ,PB13 */ |
||||||
|
<12 0 &gpiob 6 0>, /* ,PB6 # I2C1 */ |
||||||
|
<13 0 &gpiob 7 0>, /* ,PB7 # I2C1 */ |
||||||
|
<14 0 &gpioc 10 0>, /* ,PC10 # SPI3 */ |
||||||
|
<15 0 &gpioc 11 0>, /* ,PC11 # SPI3 */ |
||||||
|
<16 0 &gpioc 12 0>, /* ,PC12 # SPI3 */ |
||||||
|
<17 0 &gpiod 10 0>, /* ,PD10 # SPI3 */ |
||||||
|
<18 0 &gpioa 15 0>, /* ,PA15 */ |
||||||
|
<19 0 &gpioc 13 0>, /* ,PC13 */ |
||||||
|
<20 0 &gpioe 6 0>, /* ,PE6 */ |
||||||
|
<21 0 &gpioe 5 0>, /* ,PE5 */ |
||||||
|
<22 0 &gpiod 2 0>, /* ,PD2 */ |
||||||
|
<23 0 &gpiod 3 0>, /* ,PD3 */ |
||||||
|
<24 0 &gpiod 4 0>, /* ,PD4 */ |
||||||
|
<25 0 &gpiod 7 0>, /* ,PD7 */ |
||||||
|
<26 0 &gpioe 2 0>, /* ,PE2 */ |
||||||
|
<27 0 &gpioe 3 0>, /* ,PE3 */ |
||||||
|
<28 0 &gpioe 4 0>; /* ,PE4 */ |
||||||
|
}; |
||||||
|
|
||||||
|
aliases { |
||||||
|
led0 = &ld1; |
||||||
|
led1 = &ld2; |
||||||
|
led2 = &ld3; |
||||||
|
volt-sensor0 = &vref; |
||||||
|
volt-sensor1 = &vbat; |
||||||
|
}; |
||||||
|
|
||||||
|
skd1: socket_1_adc { |
||||||
|
status = "okay"; |
||||||
|
io-channels = <&adc2 0>; |
||||||
|
}; |
||||||
|
|
||||||
|
skd2: socket_2_adc { |
||||||
|
status = "okay"; |
||||||
|
io-channels = <&adc1 0>; |
||||||
|
}; |
||||||
|
|
||||||
|
skd3: socket_3_adc { |
||||||
|
status = "okay"; |
||||||
|
io-channels = <&adc2 1>; |
||||||
|
}; |
||||||
|
|
||||||
|
skd4: socket_4_adc { |
||||||
|
status = "okay"; |
||||||
|
io-channels = <&adc1 1>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
&clk_lsi { |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&clk_hsi { |
||||||
|
clock-frequency = <DT_FREQ_M(16)>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&pll { |
||||||
|
div-m = <8>; |
||||||
|
mul-n = <96>; |
||||||
|
div-p = <2>; |
||||||
|
div-q = <4>; |
||||||
|
clocks = <&clk_hsi>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&rcc { |
||||||
|
clocks = <&pll>; |
||||||
|
clock-frequency = <DT_FREQ_M(96)>; |
||||||
|
ahb-prescaler = <1>; |
||||||
|
apb1-prescaler = <4>; |
||||||
|
apb2-prescaler = <2>; |
||||||
|
}; |
||||||
|
|
||||||
|
&usart1 { |
||||||
|
pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
current-speed = <115200>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&usart2 { |
||||||
|
pinctrl-0 = <&usart2_tx_pd5 &usart2_rx_pd6>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
current-speed = <115200>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&usart3 { |
||||||
|
pinctrl-0 = <&usart3_tx_pd8 &usart3_rx_pd9>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
current-speed = <115200>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&usart6 { |
||||||
|
pinctrl-0 = <&usart6_tx_pc6 &usart6_rx_pc7>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
current-speed = <115200>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&rtc { |
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, |
||||||
|
<&rcc STM32_SRC_LSI RTC_SEL(2)>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
zephyr_udc0: &usbotg_fs { |
||||||
|
pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
#include <../boards/common/usb/cdc_acm_serial.dtsi> |
||||||
|
|
||||||
|
&spi1 { |
||||||
|
pinctrl-0 = <&spi1_sck_pb3 &spi1_miso_pb4 &spi1_mosi_pb5>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
cs-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>, <&gpioe 0 GPIO_ACTIVE_LOW>; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&spi3 { |
||||||
|
status = "okay"; |
||||||
|
pinctrl-0 = <&spi3_sck_pc10 &spi3_miso_pc11 &spi3_mosi_pc12>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
|
||||||
|
cs-gpios = |
||||||
|
<&gpiod 11 GPIO_ACTIVE_LOW>, // CS0 |
||||||
|
<&gpiod 1 GPIO_ACTIVE_LOW>, // CS1 |
||||||
|
<&gpioa 13 GPIO_ACTIVE_LOW>; // CS2 |
||||||
|
}; |
||||||
|
|
||||||
|
/* Flash chip 1 (extra flash connected to CS2) */ |
||||||
|
&spi3 { |
||||||
|
flash1: flash@2 { |
||||||
|
compatible = "jedec,spi-nor"; // Typical flash chip compatibility string |
||||||
|
reg = <2>; // The CS0 pin on the SPI bus |
||||||
|
// S25FL164K flash's actual JEDEC: Device ID = 16h, Device Type = 40h, |
||||||
|
// Capacity = 17h |
||||||
|
//jedec-id = [16 40 17]; |
||||||
|
jedec-id = [01 60 17]; |
||||||
|
spi-max-frequency = <50000000>; // Max frequency for the flash chip (e.g., 50 MHz) |
||||||
|
size = <0x800000>; // Flash memory size (16MB example) |
||||||
|
page-size = <256>; // Flash page size (usually 256 or 512 bytes) |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
&i2c1 { |
||||||
|
pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb7>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&adc1 { |
||||||
|
status ="okay"; |
||||||
|
pinctrl-0 = <&adc1_in4_pa4 &adc1_in5_pa5>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
st,adc-clock-source = "SYNC"; |
||||||
|
st,adc-prescaler = <2>; |
||||||
|
}; |
||||||
|
|
||||||
|
&adc2 { |
||||||
|
status ="okay"; |
||||||
|
pinctrl-0 = <&adc2_in6_pa6 &adc2_in7_pa7>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
st,adc-clock-source = "SYNC"; |
||||||
|
st,adc-prescaler = <2>; |
||||||
|
}; |
||||||
|
|
||||||
|
&vref { |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&vbat { |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
mikrobus_1_adc: &skd1 {}; |
||||||
|
|
||||||
|
mikrobus_1_i2c: &i2c1 {}; |
||||||
|
|
||||||
|
mikrobus_1_spi: &spi1 {}; |
||||||
|
|
||||||
|
mikrobus_1_uart: &usart3 {}; |
||||||
|
|
||||||
|
mikrobus_2_adc: &skd2 {}; |
||||||
|
|
||||||
|
mikrobus_2_i2c: &i2c1 {}; |
||||||
|
|
||||||
|
mikrobus_2_spi: &spi1 {}; |
||||||
|
|
||||||
|
mikrobus_2_uart: &usart2 {}; |
||||||
|
|
||||||
|
mikrobus_3_adc: &skd3 {}; |
||||||
|
|
||||||
|
mikrobus_3_i2c: &i2c1 {}; |
||||||
|
|
||||||
|
mikrobus_3_spi: &spi3 {}; |
||||||
|
|
||||||
|
mikrobus_3_uart: &usart6 {}; |
||||||
|
|
||||||
|
mikrobus_4_adc: &skd4 {}; |
||||||
|
|
||||||
|
mikrobus_4_i2c: &i2c1 {}; |
||||||
|
|
||||||
|
mikrobus_4_spi: &spi3 {}; |
||||||
|
|
||||||
|
mikrobus_4_uart: &usart1 {}; |
||||||
|
|
||||||
|
mikrobus_adc: &skd1 {}; |
||||||
|
|
||||||
|
mikrobus_i2c: &i2c1 {}; |
||||||
|
|
||||||
|
mikrobus_spi: &spi1 {}; |
||||||
|
|
||||||
|
mikrobus_uart: &usart3 {}; |
||||||
|
|
||||||
|
mikrobus_header: &mikrobus_1_header {}; |
@ -0,0 +1,17 @@ |
|||||||
|
identifier: mikroe_quail |
||||||
|
name: MikroE Quail for STM32 |
||||||
|
type: mcu |
||||||
|
arch: arm |
||||||
|
toolchain: |
||||||
|
- zephyr |
||||||
|
- gnuarmemb |
||||||
|
ram: 256 |
||||||
|
flash: 2048 |
||||||
|
supported: |
||||||
|
- spi |
||||||
|
- i2c |
||||||
|
- uart |
||||||
|
- adc |
||||||
|
- gpio |
||||||
|
- flash |
||||||
|
vendor: mikroe |
@ -0,0 +1,11 @@ |
|||||||
|
# Enable MPU |
||||||
|
CONFIG_ARM_MPU=y |
||||||
|
|
||||||
|
CONFIG_SERIAL=y |
||||||
|
|
||||||
|
# Console |
||||||
|
CONFIG_CONSOLE=y |
||||||
|
CONFIG_UART_CONSOLE=y |
||||||
|
|
||||||
|
# Enable GPIO |
||||||
|
CONFIG_GPIO=y |
@ -0,0 +1,18 @@ |
|||||||
|
/* |
||||||
|
* Copyright (c) 2025 STMicroelectronics |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
*/ |
||||||
|
|
||||||
|
&flash0 { |
||||||
|
partitions { |
||||||
|
compatible = "fixed-partitions"; |
||||||
|
#address-cells = <1>; |
||||||
|
#size-cells = <1>; |
||||||
|
|
||||||
|
/* Set last blocks of the code flash as storage partition */ |
||||||
|
storage_partition: partition@1e0000 { |
||||||
|
label = "storage"; |
||||||
|
reg = <0x1e000 DT_SIZE_K(8)>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
Loading…
Reference in new issue