Skip to content

Commit b3fee14

Browse files
authored
[boards] Add generic RTL8720CM and CR3L boards (#353)
* [common] Add W701 and W701M CPU model * [boards] Add 4MB/1712k flash layout for realtek-ambz2 * [boards] Add CR3L and generic RTL8720CM boards * [boards] Add missing variant files
1 parent 5d49ddb commit b3fee14

10 files changed

Lines changed: 638 additions & 0 deletions

boards/_base/pcb/cr3l.json

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{
2+
"pcb": {
3+
"templates": [
4+
"esp12s",
5+
"tuya-16x24",
6+
"rf-type1",
7+
"pcb-white"
8+
],
9+
"pinout_hidden": "I2S,WAKE,SD,JTAG,SWD,FLASH,TRIG,CTS,RTS",
10+
"pinout": {
11+
"1": {
12+
"IC": 14
13+
},
14+
"2": {
15+
"NC": null
16+
},
17+
"3": {
18+
"IC": 14
19+
},
20+
"4": {
21+
"IC": 1,
22+
"ARD": "D0"
23+
},
24+
"5": {
25+
"IC": 18,
26+
"ARD": "D1"
27+
},
28+
"6": {
29+
"IC": 19,
30+
"ARD": "D2"
31+
},
32+
"7": {
33+
"IC": 20,
34+
"ARD": "D3"
35+
},
36+
"8": {
37+
"PWR": 3.3
38+
},
39+
"9": {
40+
"GND": null
41+
},
42+
"10": {
43+
"IC": 36,
44+
"ARD": "D4"
45+
},
46+
"11": {
47+
"IC": 37,
48+
"ARD": "D5"
49+
},
50+
"12": {
51+
"IC": 38,
52+
"ARD": "D6"
53+
},
54+
"13": {
55+
"IC": 39,
56+
"ARD": "D7"
57+
},
58+
"14": {
59+
"IC": 40,
60+
"ARD": "D8"
61+
},
62+
"15": {
63+
"IC": 33,
64+
"ARD": "D9"
65+
},
66+
"16": {
67+
"IC": 34,
68+
"ARD": "D10"
69+
}
70+
}
71+
}
72+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"flash": {
3+
"ota1": "0x010000+0x1AC000",
4+
"ota2": "0x1BC000+0x1AC000",
5+
"kvs": "0x3F8000+0x8000"
6+
},
7+
"upload": {
8+
"flash_size": 4194304,
9+
"maximum_size": 1753088
10+
},
11+
"doc": {
12+
"params": {
13+
"layout": "**Tuya** (2x 1712k apps)"
14+
}
15+
}
16+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"flash": {
3+
"tuya": "0x37F000+0x11000"
4+
}
5+
}

boards/cr3l.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"_base": [
3+
"realtek-ambz2",
4+
"realtek-ambz2-8720",
5+
"realtek-ambz2-tuya-4mb",
6+
"realtek-ambz2-image",
7+
"realtek-ambz2-4mb-1712k",
8+
"ic/rtl8720cf",
9+
"pcb/cr3l"
10+
],
11+
"build": {
12+
"mcu": "rtl8720cm",
13+
"variant": "cr3l"
14+
},
15+
"name": "CR3L Wi-Fi Module",
16+
"url": "https://developer.tuya.com/en/docs/iot/cr3l-module-datasheet?id=Ka3gl6ria8f1t",
17+
"vendor": "Tuya Inc.",
18+
"doc": {
19+
"fccid": "2ANDL-CR3L"
20+
},
21+
"pcb": {
22+
"symbol": "CR3L"
23+
}
24+
}
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
{
2+
"_base": [
3+
"generic",
4+
"realtek-ambz2",
5+
"realtek-ambz2-8720",
6+
"realtek-ambz2-image",
7+
"realtek-ambz2-4mb-1712k",
8+
"ic/rtl8720cf"
9+
],
10+
"build": {
11+
"mcu": "rtl8720cm",
12+
"variant": "generic-rtl8720cf-4mb-1712k"
13+
},
14+
"name": "Generic - RTL8720CM (4M/1712k)",
15+
"symbol": "RTL8720CM (4M/1712k)",
16+
"url": "https://docs.libretiny.eu/boards/generic-rtl8720cm-4mb-1712k/",
17+
"vendor": "Generic",
18+
"pcb": {
19+
"pinout": {
20+
"1": {
21+
"IC": 15,
22+
"ARD": "D0"
23+
},
24+
"2": {
25+
"IC": 16,
26+
"ARD": "D1"
27+
},
28+
"3": {
29+
"IC": 18,
30+
"ARD": "D2"
31+
},
32+
"4": {
33+
"IC": 19,
34+
"ARD": "D3"
35+
},
36+
"5": {
37+
"IC": 20,
38+
"ARD": "D4"
39+
},
40+
"6": {
41+
"IC": 21,
42+
"ARD": "D5"
43+
},
44+
"7": {
45+
"IC": 22,
46+
"ARD": "D6"
47+
},
48+
"8": {
49+
"IC": 23,
50+
"ARD": "D7"
51+
},
52+
"9": {
53+
"IC": 24,
54+
"ARD": "D8"
55+
},
56+
"10": {
57+
"IC": 25,
58+
"ARD": "D9"
59+
},
60+
"11": {
61+
"IC": 26,
62+
"ARD": "D10"
63+
},
64+
"12": {
65+
"IC": 33,
66+
"ARD": "D11"
67+
},
68+
"13": {
69+
"IC": 34,
70+
"ARD": "D12"
71+
},
72+
"14": {
73+
"IC": 36,
74+
"ARD": "D13"
75+
},
76+
"15": {
77+
"IC": 37,
78+
"ARD": "D14"
79+
},
80+
"16": {
81+
"IC": 38,
82+
"ARD": "D15"
83+
},
84+
"17": {
85+
"IC": 39,
86+
"ARD": "D16"
87+
},
88+
"18": {
89+
"IC": 40,
90+
"ARD": "D17"
91+
},
92+
"19": {
93+
"IC": 1,
94+
"ARD": "D18"
95+
},
96+
"20": {
97+
"IC": 3,
98+
"ARD": "D19"
99+
}
100+
}
101+
}
102+
}

boards/variants/cr3l.c

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/* This file was auto-generated from cr3l.json using boardgen */
2+
3+
#include <Arduino.h>
4+
5+
#ifdef LT_VARIANT_INCLUDE
6+
#include LT_VARIANT_INCLUDE
7+
#endif
8+
9+
// clang-format off
10+
PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
11+
// D0: PA20, SD_D1, SPI0_MISO, UART2_RTS, I2C0_SDA, PWM0
12+
{PIN_A20, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_SPI | PIN_UART, PIN_NONE, 0},
13+
// D1: PA02, TDO, UART1_RX, SPI0_CS, I2C0_SCL, PWM2
14+
{PIN_A2, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_JTAG | PIN_SPI | PIN_UART, PIN_NONE, 0},
15+
// D2: PA03, TDI, UART1_TX, SPI0_SCK, I2C0_SDA, PWM3
16+
{PIN_A3, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_JTAG | PIN_SPI | PIN_UART, PIN_NONE, 0},
17+
// D3: PA04, tRST, UART1_CTS, SPI0_MOSI, PWM4
18+
{PIN_A4, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_JTAG | PIN_SPI | PIN_UART, PIN_NONE, 0},
19+
// D4: PA15, SD_D2, SPI0_CS, UART2_RX, I2C0_SCL, PWM3
20+
{PIN_A15, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_SPI | PIN_UART, PIN_NONE, 0},
21+
// D5: PA16, SD_D3, SPI0_SCK, UART2_TX, I2C0_SDA, PWM4
22+
{PIN_A16, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_SPI | PIN_UART, PIN_NONE, 0},
23+
// D6: PA17, SD_CMD, PWM5
24+
{PIN_A17, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
25+
// D7: PA18, SD_CLK, PWM6
26+
{PIN_A18, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
27+
// D8: PA19, SD_D0, SPI0_MOSI, UART2_CTS, I2C0_SCL, PWM7
28+
{PIN_A19, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_SPI | PIN_UART, PIN_NONE, 0},
29+
// D9: PA13, UART0_RX, PWM7
30+
{PIN_A13, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_UART, PIN_NONE, 0},
31+
// D10: PA14, SD_INT, UART0_TX, PWM2
32+
{PIN_A14, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_UART, PIN_NONE, 0},
33+
};
34+
35+
PinInfo *lt_arduino_pin_gpio_map[] = {
36+
[2] = &(lt_arduino_pin_info_list[1]), // PIN_A2 (D1)
37+
[3] = &(lt_arduino_pin_info_list[2]), // PIN_A3 (D2)
38+
[4] = &(lt_arduino_pin_info_list[3]), // PIN_A4 (D3)
39+
[13] = &(lt_arduino_pin_info_list[9]), // PIN_A13 (D9)
40+
[14] = &(lt_arduino_pin_info_list[10]), // PIN_A14 (D10)
41+
[15] = &(lt_arduino_pin_info_list[4]), // PIN_A15 (D4)
42+
[16] = &(lt_arduino_pin_info_list[5]), // PIN_A16 (D5)
43+
[17] = &(lt_arduino_pin_info_list[6]), // PIN_A17 (D6)
44+
[18] = &(lt_arduino_pin_info_list[7]), // PIN_A18 (D7)
45+
[19] = &(lt_arduino_pin_info_list[8]), // PIN_A19 (D8)
46+
[20] = &(lt_arduino_pin_info_list[0]), // PIN_A20 (D0)
47+
};
48+
// clang-format on

0 commit comments

Comments
 (0)