diff --git a/boards/SUMMARY.md b/boards/SUMMARY.md index e26cd5d..9ab7ac8 100644 --- a/boards/SUMMARY.md +++ b/boards/SUMMARY.md @@ -1,6 +1,7 @@ - [BW12](../boards/bw12/README.md) +- [BW15](../boards/bw15/README.md) - [CB2S](../boards/cb2s/README.md) - [WB2L](../boards/wb2l/README.md) - [WB2S](../boards/wb2s/README.md) diff --git a/boards/_base/pcb/bw15.json b/boards/_base/pcb/bw15.json new file mode 100644 index 0000000..035c23d --- /dev/null +++ b/boards/_base/pcb/bw15.json @@ -0,0 +1,79 @@ +{ + "pcb": { + "templates": [ + "esp12s", + "esp12s-shield", + "rf-16mm-type1" + ], + "vars": { + "MASK_PRESET": "mask_black", + "TRACE_COLOR": "#FAFD9D", + "SILK_COLOR": "white", + "PINTYPE_VERT": "pin_vert_2mm_cast_nohole" + }, + "pinout_hidden": "I2S,TRIG,WAKE,CTS,RTS,SD", + "pinout": { + "1": { + "IC": 38, + "ARD": "D0" + }, + "2": { + "IC": 39, + "ARD": "D1" + }, + "3": { + "IC": 14 + }, + "4": { + "IC": 18, + "ARD": "D2" + }, + "5": { + "IC": 36, + "ARD": "D3" + }, + "6": { + "IC": 20, + "ARD": "D4" + }, + "7": { + "IC": 40, + "ARD": "D5" + }, + "8": { + "PWR": 3.3 + }, + "9": { + "GND": null + }, + "10": { + "IC": 1, + "ARD": "D6" + }, + "11": { + "IC": 37, + "ARD": "D7" + }, + "12": { + "IC": 15, + "ARD": "D8" + }, + "13": { + "IC": 19, + "ARD": "D9" + }, + "14": { + "IC": 16, + "ARD": "D10" + }, + "15": { + "IC": 33, + "ARD": "D11" + }, + "16": { + "IC": 34, + "ARD": "D12" + } + } + } +} diff --git a/boards/_base/pcb/ic-rtl8720cf.json b/boards/_base/pcb/ic-rtl8720cf.json new file mode 100644 index 0000000..baf08eb --- /dev/null +++ b/boards/_base/pcb/ic-rtl8720cf.json @@ -0,0 +1,186 @@ +{ + "pcb": { + "ic": { + "1": { + "C_NAME": "PIN_A20", + "GPIO": "PA20", + "IRQ": null, + "SD": "D1", + "SPI": + "0_MISO" + , + "UART": "2_RTS", + "I2C": "0_SDA", + "PWM": 0 + }, + "3": { + "C_NAME": "PIN_A23", + "GPIO": "PA23", + "IRQ": null, + "PWM": 7 + }, + "14": { + "IO": "I", + "CTRL": "CEN" + }, + "15": { + "C_NAME": "PIN_A0", + "GPIO": "PA00", + "IRQ": null, + "JTAG": "TCK", + "UART": "1_RX", + "PWM": 0, + "SWD": "CLK" + }, + "16": { + "C_NAME": "PIN_A1", + "GPIO": "PA01", + "IRQ": null, + "JTAG": "TMS", + "UART": "1_TX", + "PWM": 1, + "SWD": "DIO" + }, + "18": { + "C_NAME": "PIN_A2", + "GPIO": "PA02", + "IRQ": null, + "JTAG": "TDO", + "UART": "1_RX", + "SPI": "0_CS", + "I2C": "0_SCL", + "PWM": 2 + }, + "19": { + "C_NAME": "PIN_A3", + "GPIO": "PA03", + "IRQ": null, + "JTAG": "TDI", + "UART": "1_TX", + "SPI": "0_SCK", + "I2C": "0_SDA", + "PWM": 3 + }, + "20": { + "C_NAME": "PIN_A4", + "GPIO": "PA04", + "IRQ": null, + "JTAG": "tRST", + "UART": "1_CTS", + "SPI": "0_MOSI", + "PWM": 4 + }, + "21": { + "C_NAME": "PIN_A7", + "GPIO": "PA07", + "IRQ": null, + "FLASH": "^FCS", + "SPI": "0_CS" + }, + "22": { + "C_NAME": "PIN_A8", + "GPIO": "PA08", + "IRQ": null, + "FLASH": "FSCK", + "SPI": "0_SCK" + }, + "23": { + "C_NAME": "PIN_A9", + "GPIO": "PA09", + "IRQ": null, + "FLASH": "FD2", + "SPI": "0_MOSI", + "UART": "0_RTS" + }, + "24": { + "C_NAME": "PIN_A10", + "GPIO": "PA10", + "IRQ": null, + "FLASH": "FD1", + "SPI": "0_MISO", + "UART": "0_CTS" + }, + "25": { + "C_NAME": "PIN_A11", + "GPIO": "PA11", + "IRQ": null, + "FLASH": "FD0", + "UART": "0_TX", + "I2C": "0_SCL", + "PWM": 0 + }, + "26": { + "C_NAME": "PIN_A12", + "GPIO": "PA12", + "IRQ": null, + "FLASH": "FD3", + "UART": "0_RX", + "I2C": "0_SDA", + "PWM": 1 + }, + "30": { + "IO": "I", + "C_NAME": "VBAT_IN" + }, + "33": { + "C_NAME": "PIN_A13", + "GPIO": "PA13", + "IRQ": null, + "UART": "0_RX", + "PWM": 7 + }, + "34": { + "C_NAME": "PIN_A14", + "GPIO": "PA14", + "IRQ": null, + "SD": "INT", + "UART": "0_TX", + "PWM": 2 + }, + "36": { + "C_NAME": "PIN_A15", + "GPIO": "PA15", + "IRQ": null, + "SD": "D2", + "SPI": "0_CS", + "UART": "2_RX", + "I2C": "0_SCL", + "PWM": 3 + }, + "37": { + "C_NAME": "PIN_A16", + "GPIO": "PA16", + "IRQ": null, + "SD": "D3", + "SPI": "0_SCK", + "UART": "2_TX", + "I2C": "0_SDA", + "PWM": 4 + }, + "38": { + "C_NAME": "PIN_A17", + "GPIO": "PA17", + "IRQ": null, + "SD": "CMD", + "PWM": 5 + }, + "39": { + "C_NAME": "PIN_A18", + "GPIO": "PA18", + "IRQ": null, + "SD": "CLK", + "PWM": 6 + }, + "40": { + "C_NAME": "PIN_A19", + "GPIO": "PA19", + "IRQ": null, + "SD": "D0", + "SPI": "0_MOSI", + "UART": "2_CTS", + "I2C": "0_SCL", + "PWM": 7 + } + } + } +} diff --git a/boards/bw15.json b/boards/bw15.json new file mode 100644 index 0000000..939b6fa --- /dev/null +++ b/boards/bw15.json @@ -0,0 +1,24 @@ +{ + "_base": [ + "realtek-ambz2", + "realtek-ambz2-8720", + "realtek-ambz2-2mb-large", + "pcb/ic-rtl8720cf", + "pcb/bw15" + ], + "build": { + "mcu": "rtl8720cf", + "variant": "bw15" + }, + "name": "BW15", + "url": "https://docs.ai-thinker.com/_media/rtl8710/docs/bw15_datasheet_en.pdf", + "vendor": "Ai-Thinker Co., Ltd.", + "pcb": { + "symbol": "BW15" + }, + "doc": { + "links": { + "Vendor datasheet": "https://docs.ai-thinker.com/_media/rtl8710/docs/bw15_datasheet_en.pdf" + } + } +} diff --git a/boards/bw15/README.md b/boards/bw15/README.md new file mode 100644 index 0000000..4e8330f --- /dev/null +++ b/boards/bw15/README.md @@ -0,0 +1,43 @@ +# BW15 + +*by Ai-Thinker Co., Ltd.* + +[Product page](https://docs.ai-thinker.com/_media/rtl8710/docs/bw15_datasheet_en.pdf) + +- [General info](../../docs/platform/realtek/README.md) +- [Vendor datasheet](https://docs.ai-thinker.com/_media/rtl8710/docs/bw15_datasheet_en.pdf) + +Parameter | Value +-------------|-------------------------- +MCU | RTL8720CF +Manufacturer | Realtek +Series | AmebaZ2 +Frequency | 100 MHz +Flash size | 2 MiB +RAM size | 256 KiB +Voltage | 3.0V - 3.6V +I/O | 13x GPIO, 8x PWM, 3x UART +Wi-Fi | 802.11 b/g/n +BLE | v4.2 + +## Pinout + +![Pinout](pinout_bw15.svg) + +## Flash memory map + +Flash size: 2 MiB / 2,097,152 B / 0x200000 + +Hex values are in bytes. + +Name | Start | Length | End +----------------|----------|-------------------|--------- +Partition Table | 0x000000 | 4 KiB / 0x1000 | 0x001000 +System Data | 0x001000 | 4 KiB / 0x1000 | 0x002000 +Calibration | 0x002000 | 4 KiB / 0x1000 | 0x003000 +(reserved) | 0x003000 | 4 KiB / 0x1000 | 0x004000 +Boot Image | 0x004000 | 32 KiB / 0x8000 | 0x00C000 +OTA1 Image | 0x00C000 | 992 KiB / 0xF8000 | 0x104000 +OTA2 Image | 0x104000 | 992 KiB / 0xF8000 | 0x1FC000 +Key-Value Store | 0x1FC000 | 8 KiB / 0x2000 | 0x1FE000 +User Data | 0x1FE000 | 8 KiB / 0x2000 | 0x200000 diff --git a/boards/bw15/pinout_bw15.svg b/boards/bw15/pinout_bw15.svg new file mode 100644 index 0000000..fc777d0 --- /dev/null +++ b/boards/bw15/pinout_bw15.svg @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PA17 + + + + D0 + + + + PWM5 + + + + + PA18 + + + + D1 + + + + PWM6 + + + + + CEN + + + + + PA02 + + + + D2 + + + + RX1 + + + + SCL0 + + + + CS0 + + + + PWM2 + + + + TDO + + + + + PA15 + + + + D3 + + + + RX2 + + + + SCL0 + + + + CS0 + + + + PWM3 + + + + + PA04 + + + + D4 + + + + MOSI0 + + + + PWM4 + + + + tRST + + + + + PA19 + + + + D5 + + + + SCL0 + + + + MOSI0 + + + + PWM7 + + + + + 3V3 + + + + + GND + + + + + PA20 + + + + D6 + + + + SDA0 + + + + MISO0 + + + + PWM0 + + + + + PA16 + + + + D7 + + + + TX2 + + + + SDA0 + + + + SCK0 + + + + PWM4 + + + + + PA00 + + + + D8 + + + + RX1 + + + + PWM0 + + + + TCK + + + + SWCLK + + + + + PA03 + + + + D9 + + + + TX1 + + + + SDA0 + + + + SCK0 + + + + PWM3 + + + + TDI + + + + + PA01 + + + + D10 + + + + TX1 + + + + PWM1 + + + + TMS + + + + SWDIO + + + + + PA13 + + + + D11 + + + + RX0 + + + + PWM7 + + + + + PA14 + + + + D12 + + + + TX0 + + + + PWM2 + diff --git a/boards/bw15/pins_arduino.h b/boards/bw15/pins_arduino.h new file mode 100644 index 0000000..1de3ade --- /dev/null +++ b/boards/bw15/pins_arduino.h @@ -0,0 +1 @@ +#include "variant.h" diff --git a/boards/bw15/variant.h b/boards/bw15/variant.h new file mode 100644 index 0000000..32b21b3 --- /dev/null +++ b/boards/bw15/variant.h @@ -0,0 +1,7 @@ +/* This file was auto-generated from bw15.json using boardgen */ + +#pragma once + +#include + +// clang-format off diff --git a/docs/supported_boards.md b/docs/supported_boards.md index 6e21e11..6b46d54 100644 --- a/docs/supported_boards.md +++ b/docs/supported_boards.md @@ -1,9 +1,10 @@ Name | MCU | Flash | RAM | Pins* | Wi-Fi | BLE | ZigBee | Family name ----------------------------------------------|-----------|-------|---------|-------------|-------|-----|--------|--------------- +---------------------------------------------|-----------|-------|---------|-------------|-------|-----|--------|---------------- **Ai-Thinker Co., Ltd.** | | | | | | | | [BW12](../boards/bw12/README.md) | RTL8710BX | 2 MiB | 256 KiB | 16 (12 I/O) | ✔️ | ❌ | ❌ | `realtek-ambz` +[BW15](../boards/bw15/README.md) | RTL8720CF | 2 MiB | 256 KiB | 16 (13 I/O) | ✔️ | ✔️ | ❌ | `realtek-ambz2` **Tuya Inc.** | | | | | | | | [CB2S](../boards/cb2s/README.md) | BK7231N | 2 MiB | 256 KiB | 11 (8 I/O) | ✔️ | ✔️ | ❌ | `beken-7231n` [WB2L](../boards/wb2l/README.md) | BK7231T | 2 MiB | 256 KiB | 7 (5 I/O) | ✔️ | ✔️ | ❌ | `beken-7231t` diff --git a/tools/boardgen b/tools/boardgen index 76d89af..65561e8 160000 --- a/tools/boardgen +++ b/tools/boardgen @@ -1 +1 @@ -Subproject commit 76d89af332a4eef56cd181e9df0c79548aad77ba +Subproject commit 65561e83a9fdd2c1ae65a6d9c52619fb23c90c7b