Sipeed M0S Dock
Overview
The M0S is a very small module measuring 10x11mm using the BL616 SoC as the main control chip, with the following features:
Tri-Mode Wireless: WiFi6 / BT 5.2 / Zigbee
High Frequency:320MHz default
Ultra-low Power Consumption:Wifi6 low power consumption feature
High speed USB:Support USB2.0 HS OTG,up to 480Mbps
Rich peripheral ports:Support RGB LCD,DVP Camera,Ethernet RMII and SDIO
Tiny Size:Place ceramic antenna on 10x11 mm tiny size, and route all IO out
The M0S Dock is a carrier board for the M0S module and pushes out some of its I/O pins.
Hardware
For more information about the Bouffalo Lab BL-61x MCU:
Supported Features
The maix_m0s_dock board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
maix_m0s_dock/bl616c50q2i target
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
Xuantie E907 Core CPU1 |
|
Clock control |
on-chip |
Generic fixed-rate clock provider2 |
|
on-chip |
The BL61x WIFI PLL1 |
||
on-chip |
The BL61x Audio PLL1 |
||
on-chip |
The BL61x Root Clock Represents both FCLK and HCLK, which should be kept the same1 |
||
on-chip |
The BCLK clock, or peripheral clock Source Clock -> Root Clock -> / divider -> BCLK1 |
||
on-chip |
The BL61x Flash Clock Source -> divider -> CLK Only has settings for Bank 1 (boot flash) at the moment1 |
||
on-chip |
Bouffalolab BL61x Clock Controller1 |
||
DMA |
on-chip |
Bouffalo Lab DMA1 |
|
Flash controller |
on-chip |
Bouffalolab Flash Controller1 |
|
GPIO & Headers |
on-chip |
BouffaloLab GPIO node for BL61X serie1 |
|
I2C |
on-chip |
||
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
Nuclei ECLIC interrupt controller1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Memory controller |
on-chip |
BL61x pseudo-static RAM controller1 |
|
MIPI-DBI |
on-chip |
BFLB MIPI DBI controller When used with devices that dont match MIPI DBI properly (eg commands are fully with DC set, not DC then data, for example SSD1327), you MUST use cs-gpios and dc-gpio to allow holding the lines for command via software and not use hardware DC and CS1 |
|
MTD |
on-board |
Flash node1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
Pin control |
on-chip |
Bouffalo Lab Pinctrl node1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
Bouffalolab SPI1 |
|
SRAM |
on-chip |
Generic on-chip SRAM2 |
|
System controller |
on-chip |
BouffaloLab Efuse1 |
|
Timer |
on-chip |
RISC-V Machine Timer1 |
System Clock
The M0S (BL616) Dock Board is configured to run at maximum speed (320MHz) and can be overclocked to 480 MHz.
Serial Port
The maix_m0s_dock board uses UART0 as default serial port. It is connected to the pins on the
side of the USB port.
Programming and Debugging
Samples
Build the Zephyr kernel and the Hello World sample application:
# From the root of the zephyr repository west build -b maix_m0s_dock samples/hello_world west flash
Run your favorite terminal program to listen for output. Under Linux the terminal should be
/dev/ttyUSB0. For example:$ screen /dev/ttyUSB0 115200
Connection should be configured as follows:
Speed: 115200
Data: 8 bits
Parity: None
Stop bits: 1
Then, unpower and re-power the board.
*** Booting Zephyr OS build v4.2.0 *** Hello World! maix_m0s_dock/bl616c50q2i
Congratulations, you have maix_m0s_dock configured and running Zephyr.