diff --git a/boards/doiting/dt_bl10_devkit/Kconfig.dt_bl10_devkit b/boards/doiting/dt_bl10_devkit/Kconfig.dt_bl10_devkit new file mode 100644 index 00000000000..634561d9d12 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/Kconfig.dt_bl10_devkit @@ -0,0 +1,5 @@ +# Copyright (c) 2021-2025 ATL Electronics +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_DT_BL10_DEVKIT + select SOC_BL602C20Q2I diff --git a/boards/doiting/dt_bl10_devkit/board.cmake b/boards/doiting/dt_bl10_devkit/board.cmake new file mode 100644 index 00000000000..d8e6ac40147 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/board.cmake @@ -0,0 +1,7 @@ +# Copyright (c) 2021-2025 ATL Electronics +# SPDX-License-Identifier: Apache-2.0 + +board_runner_args(bflb_mcu_tool --chipname bl602) +include(${ZEPHYR_BASE}/boards/common/bflb_mcu_tool.board.cmake) + +board_set_flasher(bflb_mcu_tool) diff --git a/boards/doiting/dt_bl10_devkit/board.yml b/boards/doiting/dt_bl10_devkit/board.yml new file mode 100644 index 00000000000..9c080ef4bce --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/board.yml @@ -0,0 +1,6 @@ +board: + name: dt_bl10_devkit + full_name: DT-BL10 coexistence Module Development Kit + vendor: doiting + socs: + - name: bl602c20q2i diff --git a/boards/doiting/dt_bl10_devkit/doc/img/dt_bl10_devkit.webp b/boards/doiting/dt_bl10_devkit/doc/img/dt_bl10_devkit.webp new file mode 100644 index 00000000000..e65768b9fab Binary files /dev/null and b/boards/doiting/dt_bl10_devkit/doc/img/dt_bl10_devkit.webp differ diff --git a/boards/doiting/dt_bl10_devkit/doc/img/dt_bl10_pinout.webp b/boards/doiting/dt_bl10_devkit/doc/img/dt_bl10_pinout.webp new file mode 100644 index 00000000000..2efa8764c61 Binary files /dev/null and b/boards/doiting/dt_bl10_devkit/doc/img/dt_bl10_pinout.webp differ diff --git a/boards/doiting/dt_bl10_devkit/doc/index.rst b/boards/doiting/dt_bl10_devkit/doc/index.rst new file mode 100644 index 00000000000..2f351a77f25 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/doc/index.rst @@ -0,0 +1,124 @@ +.. zephyr:board:: dt_bl10_devkit + +DT-BL10 Development Kit +####################### + +Overview +******** + +DT-BL10 Wi-Fi and BLE coexistence Module is a highly integrated single-chip +low power 802.11n Wireless LAN (WLAN) network controller. It combines an RISC +CPU, WLAN MAC, a lT1R capable WLAN baseband, RF, and Bluetooth in a single chip. +It also provides a bunch of configurable GPIO, which are configured as digital +peripherals for different applications and control usage. + +DT-BL10 WiFi Module use BL602 as Wi-Fi and BLE coexistence soc chip. DT-BL10 +WiFi Module integrates internal memories for complete WIFI protocol functions. +The embedded memory configuration also provides simple application developments. + +DT-BL10 WiFi module supports the standard IEEE 802.11 b/g/n/e/i protocol and the +complete TCP/IP protocol stack. User can use it to add the WiFi function for the +installed devices, and also can be viewed as a independent network controller. + +Hardware +******** + +For more information about the Bouffalo Lab BL-602 MCU: + +- `Bouffalo Lab BL602 MCU Website`_ +- `Bouffalo Lab BL602 MCU Datasheet`_ +- `Bouffalo Lab Development Zone`_ +- `dt_bl10_devkit Schematic`_ +- `Doctors of Intelligence & Technology (www.doiting.com)`_ +- `The RISC-V BL602 Book`_ + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +System Clock +============ + +The DT-BL10 board is configured to run at max speed (192MHz). + +Serial Port +=========== + +The ``dt_bl10_devkit`` board uses UART0 as default serial port. It is connected +to USB Serial converter and port is used for both program and console. + + +Programming and Debugging +************************* + +.. zephyr:board-supported-runners:: + +Samples +======= + +#. Build the Zephyr kernel and the :zephyr:code-sample:`hello_world` sample +application: + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: dt_bl10_devkit + :goals: build + +#. To flash an image using blflash runner: + + #. Press D8 button + + #. Press and release EN button + + #. Release D8 button + + .. code-block:: console + + west flash + +#. Run your favorite terminal program to listen for output. Under Linux the + terminal should be :code:`/dev/ttyUSB0`. For example: + + .. code-block:: console + + $ minicom -D /dev/ttyUSB0 -o + + The -o option tells minicom not to send the modem initialization + string. Connection should be configured as follows: + + - Speed: 115200 + - Data: 8 bits + - Parity: None + - Stop bits: 1 + + Then, press and release EN button + + .. code-block:: console + + *** Booting Zephyr OS build v4.1.0-4682-g21b20de1eb34 *** + Hello World! dt_bl10_devkit/bl602c20q2i + +Congratulations, you have ``dt_bl10_devkit`` configured and running Zephyr. + + +.. _Bouffalo Lab BL602 MCU Website: + https://www.bouffalolab.com/bl602 + +.. _Bouffalo Lab BL602 MCU Datasheet: + https://github.com/bouffalolab/bl_docs/tree/main/BL602_DS/en + +.. _Bouffalo Lab Development Zone: + https://dev.bouffalolab.com/home?id=guest + +.. _dt_bl10_devkit Schematic: + https://github.com/SmartArduino/Doiting_BL/blob/master/board/DT-BL10%20User%20Mannual.pdf + +.. _Doctors of Intelligence & Technology (www.doiting.com): + https://www.doiting.com + +.. _The RISC-V BL602 Book: + https://lupyuen.github.io/articles/book + +.. _Flashing Firmware to BL602: + https://lupyuen.github.io/articles/book#flashing-firmware-to-bl602 diff --git a/boards/doiting/dt_bl10_devkit/dt_bl10_devkit-pinctrl.dtsi b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit-pinctrl.dtsi new file mode 100644 index 00000000000..6909cc44715 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit-pinctrl.dtsi @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2021-2025 ATL Electronics + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +&pinctrl { + uart0_default: uart0_default { + group1 { + pinmux = , + ; + bias-pull-up; + input-schmitt-enable; + }; + }; + + uart0_sleep: uart0_sleep { + group1 { + pinmux = , + ; + bias-high-impedance; + }; + }; +}; diff --git a/boards/doiting/dt_bl10_devkit/dt_bl10_devkit.dts b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit.dts new file mode 100644 index 00000000000..34ce0613736 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit.dts @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2021-2025 ATL Electronics + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "dt_bl10_devkit-pinctrl.dtsi" + +/ { + model = "2.4GHz Wi-Fi and BLE coexistence Module Development Kit"; + compatible = "bflb,bl602"; + + chosen { + zephyr,flash = &flash0; + zephyr,itcm = &itcm; + zephyr,dtcm = &dtcm; + zephyr,sram = &sram0; + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + }; +}; + +&cpu0 { + clock-frequency = ; +}; + +&spi1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0x4000b000 0x1000 0x23000000 0xc00000>; + + flash0: flash@0 { + compatible = "issi,is25lp128", "jedec,spi-nor"; + status = "disabled"; + size = ; + jedec-id = [96 60 18]; + reg = <0>; + spi-max-frequency = ; + }; +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; + + pinctrl-0 = <&uart0_default>; + pinctrl-1 = <&uart0_sleep>; + pinctrl-names = "default", "sleep"; +}; diff --git a/boards/doiting/dt_bl10_devkit/dt_bl10_devkit.yaml b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit.yaml new file mode 100644 index 00000000000..8a0921fd9d8 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2021-2025 ATL Electronics +# SPDX-License-Identifier: Apache-2.0 + +identifier: dt_bl10_devkit +name: DT-BL10 coexistence Module Development Kit +type: mcu +arch: riscv +ram: 64 +toolchain: + - zephyr +testing: + ignore_tags: + - net + - bluetooth +supported: + - pinctrl + - uart +vendor: doiting diff --git a/boards/doiting/dt_bl10_devkit/dt_bl10_devkit_defconfig b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit_defconfig new file mode 100644 index 00000000000..b4c911b77c4 --- /dev/null +++ b/boards/doiting/dt_bl10_devkit/dt_bl10_devkit_defconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2021-2025 ATL Electronics +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_CONSOLE=y +CONFIG_SERIAL=y + +CONFIG_UART_CONSOLE=y +CONFIG_UART_INTERRUPT_DRIVEN=y diff --git a/boards/doiting/index.rst b/boards/doiting/index.rst new file mode 100644 index 00000000000..8be7f522dbd --- /dev/null +++ b/boards/doiting/index.rst @@ -0,0 +1,10 @@ +.. _boards-doiting: + +Doctors of Intelligence & Technology +#################################### + +.. toctree:: + :maxdepth: 1 + :glob: + + **/*