1.. zephyr:board:: bl604e_iot_dvk
2
3Overview
4********
5
6BL602/BL604 is a Wi-Fi+BLE chipset introduced by Bouffalo Lab, which is used
7for low power consumption and high performance application development.  The
8wireless subsystem includes 2.4G radio, Wi-Fi 802.11b/g/n and BLE 5.0
9baseband/MAC design.  The microcontroller subsystem includes a 32-bit RISC CPU
10with low power consumption, cache and memory.  The power management unit
11controls the low power consumption mode.  In addition, it also supports
12various security features.  The external interfaces include SDIO, SPI, UART,
13I2C, IR remote, PWM, ADC, DAC, PIR and GPIO.
14
15The BL602 Development Board features a SiFive E24 32 bit RISC-V CPU with FPU,
16it supports High Frequency clock up to 192Mhz, have 128k ROM, 276kB RAM,
172.4 GHz WIFI 1T1R mode, support 20 MHz, data rate up to 72.2 Mbps, BLE 5.0
18with 2MB phy.  It is a secure MCU which supports Secure boot, ECC-256 signed
19image, QSPI/SPI Flash On-The-Fly AES Decryption and PKA (Public Key
20Accelerator).
21
22Hardware
23********
24
25For more information about the Bouffalo Lab BL-60x MCU:
26
27- `Bouffalo Lab BL60x MCU Website`_
28- `Bouffalo Lab BL60x MCU Datasheet`_
29- `Bouffalo Lab Development Zone`_
30- `The RISC-V BL602 Book`_
31
32Supported Features
33==================
34
35.. zephyr:board-supported-hw::
36
37System Clock
38============
39
40The BL604E Development Board is configured to run at max speed (192MHz).
41
42Serial Port
43===========
44
45The ``bl604e_iot_dvk`` board uses UART0 as default serial port.  It is connected
46to USB Serial converter and port is used for both program and console.
47
48
49Programming and Debugging
50*************************
51
52.. zephyr:board-supported-runners::
53
54Samples
55=======
56
57#. Build the Zephyr kernel and the :zephyr:code-sample:`hello_world` sample
58application:
59
60   .. zephyr-app-commands::
61      :zephyr-app: samples/hello_world
62      :board: bl604e_iot_dvk
63      :goals: build flash
64
65#. Run your favorite terminal program to listen for output. Under Linux the
66   terminal should be :code:`/dev/ttyACM0`. For example:
67
68   .. code-block:: console
69
70      $ minicom -D /dev/ttyACM0 -o
71
72   The -o option tells minicom not to send the modem initialization
73   string. Connection should be configured as follows:
74
75      - Speed: 115200
76      - Data: 8 bits
77      - Parity: None
78      - Stop bits: 1
79
80   Then, press and release RST button
81
82   .. code-block:: console
83
84      *** Booting Zephyr OS build v4.1.0 ***
85      Hello World! bl604e_iot_dvk/bl604e20q2i
86
87Congratulations, you have ``bl604e_iot_dvk`` configured and running Zephyr.
88
89
90.. _Bouffalo Lab BL60x MCU Website:
91	https://en.bouffalolab.com/product/?type=detail&id=6
92
93.. _Bouffalo Lab BL60x MCU Datasheet:
94	https://github.com/bouffalolab/bl_docs/tree/main/BL602_DS/en
95
96.. _Bouffalo Lab Development Zone:
97	https://dev.bouffalolab.com/home?id=guest
98
99.. _The RISC-V BL602 Book:
100	https://lupyuen.github.io/articles/book
101
102.. _Flashing Firmware to BL602:
103	https://lupyuen.github.io/articles/book#flashing-firmware-to-bl602
104