[beken-72xx] Add initial BK7231Q support, add WA2 board
This commit is contained in:
170
boards/_base/ic/bk7231q-qfn40.json
Normal file
170
boards/_base/ic/bk7231q-qfn40.json
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
{
|
||||||
|
"pcb": {
|
||||||
|
"ic": {
|
||||||
|
"11": {
|
||||||
|
"C_NAME": "GPIO30",
|
||||||
|
"GPIO": "P30",
|
||||||
|
"IRQ": null,
|
||||||
|
"USB": "DN"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"C_NAME": "GPIO29",
|
||||||
|
"GPIO": "P29",
|
||||||
|
"IRQ": null,
|
||||||
|
"USB": "DP"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"C_NAME": "GPIO6",
|
||||||
|
"GPIO": "P6",
|
||||||
|
"IRQ": null,
|
||||||
|
"PWM": 0
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"C_NAME": "GPIO7",
|
||||||
|
"GPIO": "P7",
|
||||||
|
"IRQ": null,
|
||||||
|
"PWM": 1
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"C_NAME": "GPIO8",
|
||||||
|
"GPIO": "P8",
|
||||||
|
"IRQ": null,
|
||||||
|
"PWM": 2
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"C_NAME": "GPIO17",
|
||||||
|
"GPIO": "P17",
|
||||||
|
"IRQ": null,
|
||||||
|
"SD": "D1",
|
||||||
|
"SPI": "MISO"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"C_NAME": "GPIO16",
|
||||||
|
"GPIO": "P16",
|
||||||
|
"IRQ": null,
|
||||||
|
"SD": "D0",
|
||||||
|
"SPI": "MOSI"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"C_NAME": "GPIO14",
|
||||||
|
"GPIO": "P14",
|
||||||
|
"IRQ": null,
|
||||||
|
"SD": "CLK",
|
||||||
|
"SPI": "SCK"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"C_NAME": "GPIO15",
|
||||||
|
"GPIO": "P15",
|
||||||
|
"IRQ": null,
|
||||||
|
"SD": "CMD",
|
||||||
|
"SPI": "CS"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"C_NAME": "GPIO19",
|
||||||
|
"GPIO": "P19",
|
||||||
|
"IRQ": null,
|
||||||
|
"SD": "D3",
|
||||||
|
"PWM": 5
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"C_NAME": "GPIO18",
|
||||||
|
"GPIO": "P18",
|
||||||
|
"IRQ": null,
|
||||||
|
"SD": "D2",
|
||||||
|
"PWM": 4
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"IO": "I",
|
||||||
|
"CTRL": "TEST"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"C_NAME": "GPIO9",
|
||||||
|
"GPIO": "P9",
|
||||||
|
"IRQ": null,
|
||||||
|
"PWM": 3
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"C_NAME": "GPIO10",
|
||||||
|
"GPIO": "P10",
|
||||||
|
"IRQ": null,
|
||||||
|
"UART": "1_RX"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"C_NAME": "GPIO11",
|
||||||
|
"GPIO": "P11",
|
||||||
|
"IRQ": null,
|
||||||
|
"UART": "1_TX"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"C_NAME": "GPIO1",
|
||||||
|
"GPIO": "P1",
|
||||||
|
"IRQ": null,
|
||||||
|
"UART": "2_RX",
|
||||||
|
"I2C": "2_SDA"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"C_NAME": "GPIO0",
|
||||||
|
"GPIO": "P0",
|
||||||
|
"IRQ": null,
|
||||||
|
"UART": "2_TX",
|
||||||
|
"I2C": "2_SCL"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"C_NAME": "GPIO20",
|
||||||
|
"GPIO": "P20",
|
||||||
|
"IRQ": null,
|
||||||
|
"I2C": "1_SCL",
|
||||||
|
"JTAG": "TCK",
|
||||||
|
"FLASH": "FSCK"
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"C_NAME": "GPIO21",
|
||||||
|
"GPIO": "P21",
|
||||||
|
"IRQ": null,
|
||||||
|
"I2C": "1_SDA",
|
||||||
|
"JTAG": "TMS",
|
||||||
|
"FLASH": "^FCS"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"C_NAME": "GPIO22",
|
||||||
|
"GPIO": "P22",
|
||||||
|
"IRQ": null,
|
||||||
|
"JTAG": "TDI",
|
||||||
|
"FLASH": "FSI"
|
||||||
|
},
|
||||||
|
"32": {
|
||||||
|
"C_NAME": "GPIO23",
|
||||||
|
"GPIO": "P23",
|
||||||
|
"IRQ": null,
|
||||||
|
"ADC": 3,
|
||||||
|
"JTAG": "TDO",
|
||||||
|
"FLASH": "FSO"
|
||||||
|
},
|
||||||
|
"33": {
|
||||||
|
"C_NAME": "GPIO25",
|
||||||
|
"GPIO": "P25",
|
||||||
|
"IRQ": null
|
||||||
|
},
|
||||||
|
"34": {
|
||||||
|
"C_NAME": "GPIO28",
|
||||||
|
"GPIO": "P28",
|
||||||
|
"IRQ": null
|
||||||
|
},
|
||||||
|
"35": {
|
||||||
|
"C_NAME": "GPIO4",
|
||||||
|
"GPIO": "P4",
|
||||||
|
"IRQ": null,
|
||||||
|
"ADC": 1,
|
||||||
|
"I2S": "DIN"
|
||||||
|
},
|
||||||
|
"36": {
|
||||||
|
"IO": "I",
|
||||||
|
"CTRL": "CODE"
|
||||||
|
},
|
||||||
|
"37": {
|
||||||
|
"IO": "I",
|
||||||
|
"CTRL": "CEN"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
"C_NAME": "GPIO19",
|
"C_NAME": "GPIO19",
|
||||||
"GPIO": "P19",
|
"GPIO": "P19",
|
||||||
"IRQ": null,
|
"IRQ": null,
|
||||||
"SD": "D1"
|
"SD": "D3"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"C_NAME": "GPIO17",
|
"C_NAME": "GPIO17",
|
||||||
|
|||||||
143
boards/_base/pcb/wa2-test.json
Normal file
143
boards/_base/pcb/wa2-test.json
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
"pcb": {
|
||||||
|
"test_pads": {
|
||||||
|
"TTEST": "wa2.back.test.anchor",
|
||||||
|
"TTX2": "wa2.back.2tx.anchor",
|
||||||
|
"TGND": "wa2.back.gnd.anchor",
|
||||||
|
"TSCK": "wa2.back.sck.anchor",
|
||||||
|
"TCSN": "wa2.back.csn.anchor",
|
||||||
|
"TSI": "wa2.back.si.anchor",
|
||||||
|
"TSO": "wa2.back.so.anchor",
|
||||||
|
"TP4": "wa2.back.p4.anchor",
|
||||||
|
"TVCC": "wa2.back.vbat.anchor"
|
||||||
|
},
|
||||||
|
"back": [
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "2.6,6.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sck",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "2.6,5.4",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "left",
|
||||||
|
"W": 1.3,
|
||||||
|
"H": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "4.6,6.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "so",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "4.6,5.4",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "left",
|
||||||
|
"W": 3.3,
|
||||||
|
"H": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "7.0,6.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "p4",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "7.0,5.4",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "right",
|
||||||
|
"W": 0,
|
||||||
|
"H": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "3.0,8.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "csn",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "2.2,8.4",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "left",
|
||||||
|
"W": 0.9,
|
||||||
|
"H": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "5.2,8.8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "si",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "6.0,8.9",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "right",
|
||||||
|
"W": 1,
|
||||||
|
"H": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "2.1,11.6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2tx",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "1.3,11.7",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "left",
|
||||||
|
"W": 0,
|
||||||
|
"H": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "4.3,11.6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "test",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "5.1,11.7",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "right",
|
||||||
|
"W": 1.9,
|
||||||
|
"H": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "2.5,14.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vbat",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "1.7,14.6",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "left",
|
||||||
|
"W": 0.4,
|
||||||
|
"H": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_pad_1mm",
|
||||||
|
"pos": "4.8,14.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "gnd",
|
||||||
|
"name": "label_line_up",
|
||||||
|
"pos": "5.6,14.6",
|
||||||
|
"vars": {
|
||||||
|
"DIR": "right",
|
||||||
|
"W": 1.4,
|
||||||
|
"H": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
93
boards/_base/pcb/wa2.json
Normal file
93
boards/_base/pcb/wa2.json
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
{
|
||||||
|
"pcb": {
|
||||||
|
"scale": 10.5,
|
||||||
|
"templates": [
|
||||||
|
"tuya2",
|
||||||
|
"pcb-blue-light",
|
||||||
|
"rf-type1"
|
||||||
|
],
|
||||||
|
"pinout_hidden": "I2S,SD",
|
||||||
|
"pinout": {
|
||||||
|
"1": {
|
||||||
|
"PWR": 3.3
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"IC": 16,
|
||||||
|
"ARD": "D0"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"GND": null
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"IC": 15,
|
||||||
|
"ARD": "D1"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"IC": 25,
|
||||||
|
"ARD": "D4"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"IC": 14,
|
||||||
|
"ARD": "D2"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"IC": 26,
|
||||||
|
"ARD": "D5"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"IC": 32,
|
||||||
|
"ARD": [
|
||||||
|
"D3",
|
||||||
|
"A0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"IC": 22,
|
||||||
|
"ARD": "D6"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"IC": 37
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"IC": 21,
|
||||||
|
"ARD": "D7"
|
||||||
|
},
|
||||||
|
"TSCK": {
|
||||||
|
"IC": 29,
|
||||||
|
"ARD": "D8"
|
||||||
|
},
|
||||||
|
"TP4": {
|
||||||
|
"IC": 35,
|
||||||
|
"ARD": "D9"
|
||||||
|
},
|
||||||
|
"TTEST": {
|
||||||
|
"IC": 23
|
||||||
|
},
|
||||||
|
"TTX2": {
|
||||||
|
"IC": 28,
|
||||||
|
"ARD": "D10"
|
||||||
|
},
|
||||||
|
"TCSN": {
|
||||||
|
"IC": 30,
|
||||||
|
"ARD": "D11"
|
||||||
|
},
|
||||||
|
"TSI": {
|
||||||
|
"IC": 31,
|
||||||
|
"ARD": "D12"
|
||||||
|
},
|
||||||
|
"TSO": {
|
||||||
|
"IC": 32,
|
||||||
|
"ARD": [
|
||||||
|
"D3",
|
||||||
|
"A0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"TVCC": {
|
||||||
|
"PWR": 3.3
|
||||||
|
},
|
||||||
|
"TGND": {
|
||||||
|
"GND": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -42,7 +42,7 @@ PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
|
|||||||
{GPIO17, PIN_GPIO | PIN_IRQ | PIN_SPI, PIN_NONE, 0},
|
{GPIO17, PIN_GPIO | PIN_IRQ | PIN_SPI, PIN_NONE, 0},
|
||||||
// D16: P18, SD_D2
|
// D16: P18, SD_D2
|
||||||
{GPIO18, PIN_GPIO | PIN_IRQ, PIN_NONE, 0},
|
{GPIO18, PIN_GPIO | PIN_IRQ, PIN_NONE, 0},
|
||||||
// D17: P19, SD_D1
|
// D17: P19, SD_D3
|
||||||
{GPIO19, PIN_GPIO | PIN_IRQ, PIN_NONE, 0},
|
{GPIO19, PIN_GPIO | PIN_IRQ, PIN_NONE, 0},
|
||||||
// D18: P20, I2C1_SCL, TCK, FSCK
|
// D18: P20, I2C1_SCL, TCK, FSCK
|
||||||
{GPIO20, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_JTAG, PIN_NONE, 0},
|
{GPIO20, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_JTAG, PIN_NONE, 0},
|
||||||
|
|||||||
54
boards/variants/wa2.c
Normal file
54
boards/variants/wa2.c
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
/* This file was auto-generated from wa2.json using boardgen */
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
#ifdef LT_VARIANT_INCLUDE
|
||||||
|
#include LT_VARIANT_INCLUDE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
|
||||||
|
// D0: P8, PWM2
|
||||||
|
{GPIO8, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
|
||||||
|
// D1: P7, PWM1
|
||||||
|
{GPIO7, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
|
||||||
|
// D2: P6, PWM0
|
||||||
|
{GPIO6, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
|
||||||
|
// D3: P23, ADC3, TDO, FSO
|
||||||
|
{GPIO23, PIN_GPIO | PIN_IRQ | PIN_ADC | PIN_JTAG, PIN_NONE, 0},
|
||||||
|
// D4: P10, UART1_RX
|
||||||
|
{GPIO10, PIN_GPIO | PIN_IRQ | PIN_UART, PIN_NONE, 0},
|
||||||
|
// D5: P11, UART1_TX
|
||||||
|
{GPIO11, PIN_GPIO | PIN_IRQ | PIN_UART, PIN_NONE, 0},
|
||||||
|
// D6: P18, SD_D2, PWM4
|
||||||
|
{GPIO18, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
|
||||||
|
// D7: P19, SD_D3, PWM5
|
||||||
|
{GPIO19, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
|
||||||
|
// D8: P20, I2C1_SCL, TCK, FSCK
|
||||||
|
{GPIO20, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_JTAG, PIN_NONE, 0},
|
||||||
|
// D9: P4, ADC1, DIN
|
||||||
|
{GPIO4, PIN_GPIO | PIN_IRQ | PIN_I2S, PIN_NONE, 0},
|
||||||
|
// D10: P0, UART2_TX, I2C2_SCL
|
||||||
|
{GPIO0, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_UART, PIN_NONE, 0},
|
||||||
|
// D11: P21, I2C1_SDA, TMS, ^FCS
|
||||||
|
{GPIO21, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_JTAG, PIN_NONE, 0},
|
||||||
|
// D12: P22, TDI, FSI
|
||||||
|
{GPIO22, PIN_GPIO | PIN_IRQ | PIN_JTAG, PIN_NONE, 0},
|
||||||
|
};
|
||||||
|
|
||||||
|
PinInfo *lt_arduino_pin_gpio_map[] = {
|
||||||
|
[0] = &(lt_arduino_pin_info_list[10]), // GPIO0 (D10)
|
||||||
|
[4] = &(lt_arduino_pin_info_list[9]), // GPIO4 (D9)
|
||||||
|
[6] = &(lt_arduino_pin_info_list[2]), // GPIO6 (D2)
|
||||||
|
[7] = &(lt_arduino_pin_info_list[1]), // GPIO7 (D1)
|
||||||
|
[8] = &(lt_arduino_pin_info_list[0]), // GPIO8 (D0)
|
||||||
|
[10] = &(lt_arduino_pin_info_list[4]), // GPIO10 (D4)
|
||||||
|
[11] = &(lt_arduino_pin_info_list[5]), // GPIO11 (D5)
|
||||||
|
[18] = &(lt_arduino_pin_info_list[6]), // GPIO18 (D6)
|
||||||
|
[19] = &(lt_arduino_pin_info_list[7]), // GPIO19 (D7)
|
||||||
|
[20] = &(lt_arduino_pin_info_list[8]), // GPIO20 (D8)
|
||||||
|
[21] = &(lt_arduino_pin_info_list[11]), // GPIO21 (D11)
|
||||||
|
[22] = &(lt_arduino_pin_info_list[12]), // GPIO22 (D12)
|
||||||
|
[23] = &(lt_arduino_pin_info_list[3]), // GPIO23 (D3)
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
95
boards/variants/wa2.h
Normal file
95
boards/variants/wa2.h
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
/* This file was auto-generated from wa2.json using boardgen */
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
|
||||||
|
// Pins
|
||||||
|
// ----
|
||||||
|
#define PINS_COUNT 13 // Total GPIO count
|
||||||
|
#define NUM_DIGITAL_PINS 13 // Digital inputs/outputs
|
||||||
|
#define NUM_ANALOG_INPUTS 1 // ADC inputs
|
||||||
|
#define NUM_ANALOG_OUTPUTS 5 // PWM & DAC outputs
|
||||||
|
#define PINS_GPIO_MAX 23 // Last usable GPIO number
|
||||||
|
|
||||||
|
// Wire Interfaces
|
||||||
|
// ---------------
|
||||||
|
#define PIN_WIRE1_SCL 20u // GPIO20
|
||||||
|
#define PIN_WIRE1_SDA 21u // GPIO21
|
||||||
|
|
||||||
|
// Serial ports
|
||||||
|
// ------------
|
||||||
|
#define PIN_SERIAL1_RX 10u // GPIO10
|
||||||
|
#define PIN_SERIAL1_TX 11u // GPIO11
|
||||||
|
#define PIN_SERIAL2_TX 0u // GPIO0
|
||||||
|
|
||||||
|
// Pin function macros
|
||||||
|
// -------------------
|
||||||
|
#define PIN_ADC1 4u // GPIO4
|
||||||
|
#define PIN_ADC3 23u // GPIO23
|
||||||
|
#define PIN_P0 0u // GPIO0
|
||||||
|
#define PIN_P4 4u // GPIO4
|
||||||
|
#define PIN_P6 6u // GPIO6
|
||||||
|
#define PIN_P7 7u // GPIO7
|
||||||
|
#define PIN_P8 8u // GPIO8
|
||||||
|
#define PIN_P10 10u // GPIO10
|
||||||
|
#define PIN_P11 11u // GPIO11
|
||||||
|
#define PIN_P18 18u // GPIO18
|
||||||
|
#define PIN_P19 19u // GPIO19
|
||||||
|
#define PIN_P20 20u // GPIO20
|
||||||
|
#define PIN_P21 21u // GPIO21
|
||||||
|
#define PIN_P22 22u // GPIO22
|
||||||
|
#define PIN_P23 23u // GPIO23
|
||||||
|
#define PIN_PWM0 6u // GPIO6
|
||||||
|
#define PIN_PWM1 7u // GPIO7
|
||||||
|
#define PIN_PWM2 8u // GPIO8
|
||||||
|
#define PIN_PWM4 18u // GPIO18
|
||||||
|
#define PIN_PWM5 19u // GPIO19
|
||||||
|
#define PIN_RX1 10u // GPIO10
|
||||||
|
#define PIN_SCL1 20u // GPIO20
|
||||||
|
#define PIN_SCL2 0u // GPIO0
|
||||||
|
#define PIN_SDA1 21u // GPIO21
|
||||||
|
#define PIN_TX1 11u // GPIO11
|
||||||
|
#define PIN_TX2 0u // GPIO0
|
||||||
|
|
||||||
|
// Port availability
|
||||||
|
// -----------------
|
||||||
|
#define HAS_SERIAL1 1
|
||||||
|
#define HAS_SERIAL2 1
|
||||||
|
#define HAS_WIRE1 1
|
||||||
|
#define SERIAL_INTERFACES_COUNT 2
|
||||||
|
#define WIRE_INTERFACES_COUNT 1
|
||||||
|
|
||||||
|
// Arduino pin names
|
||||||
|
// -----------------
|
||||||
|
#define PIN_D0 8u // GPIO8
|
||||||
|
#define PIN_D1 7u // GPIO7
|
||||||
|
#define PIN_D2 6u // GPIO6
|
||||||
|
#define PIN_D3 23u // GPIO23
|
||||||
|
#define PIN_D4 10u // GPIO10
|
||||||
|
#define PIN_D5 11u // GPIO11
|
||||||
|
#define PIN_D6 18u // GPIO18
|
||||||
|
#define PIN_D7 19u // GPIO19
|
||||||
|
#define PIN_D8 20u // GPIO20
|
||||||
|
#define PIN_D9 4u // GPIO4
|
||||||
|
#define PIN_D10 0u // GPIO0
|
||||||
|
#define PIN_D11 21u // GPIO21
|
||||||
|
#define PIN_D12 22u // GPIO22
|
||||||
|
#define PIN_A0 23u // GPIO23
|
||||||
|
|
||||||
|
// Static pin names
|
||||||
|
// ----------------
|
||||||
|
static const unsigned char A0 = PIN_A0;
|
||||||
|
static const unsigned char D0 = PIN_D0;
|
||||||
|
static const unsigned char D1 = PIN_D1;
|
||||||
|
static const unsigned char D2 = PIN_D2;
|
||||||
|
static const unsigned char D3 = PIN_D3;
|
||||||
|
static const unsigned char D4 = PIN_D4;
|
||||||
|
static const unsigned char D5 = PIN_D5;
|
||||||
|
static const unsigned char D6 = PIN_D6;
|
||||||
|
static const unsigned char D7 = PIN_D7;
|
||||||
|
static const unsigned char D8 = PIN_D8;
|
||||||
|
static const unsigned char D9 = PIN_D9;
|
||||||
|
static const unsigned char D10 = PIN_D10;
|
||||||
|
static const unsigned char D11 = PIN_D11;
|
||||||
|
static const unsigned char D12 = PIN_D12;
|
||||||
20
boards/wa2.json
Normal file
20
boards/wa2.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"_base": [
|
||||||
|
"beken-72xx",
|
||||||
|
"beken-7231",
|
||||||
|
"beken-7231q",
|
||||||
|
"ic/bk7231q-qfn40",
|
||||||
|
"pcb/wa2",
|
||||||
|
"pcb/wa2-test"
|
||||||
|
],
|
||||||
|
"build": {
|
||||||
|
"mcu": "bk7231q",
|
||||||
|
"variant": "wa2"
|
||||||
|
},
|
||||||
|
"name": "WA2 Wi-Fi Module",
|
||||||
|
"url": "https://docs.libretiny.eu/boards/wa2/",
|
||||||
|
"vendor": "Tuya Inc.",
|
||||||
|
"pcb": {
|
||||||
|
"symbol": "WA2"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,7 +27,7 @@ SOC_BK7271 = 4
|
|||||||
SOC_BK7231N = 5
|
SOC_BK7231N = 5
|
||||||
SOC_BK7236 = 6
|
SOC_BK7236 = 6
|
||||||
SOC_NAMES = {
|
SOC_NAMES = {
|
||||||
SOC_BK7231: "bk7231",
|
SOC_BK7231: "bk7231u",
|
||||||
SOC_BK7231U: "bk7231u",
|
SOC_BK7231U: "bk7231u",
|
||||||
SOC_BK7251: "bk7251",
|
SOC_BK7251: "bk7251",
|
||||||
SOC_BK7271: "bk7271",
|
SOC_BK7271: "bk7271",
|
||||||
@@ -98,13 +98,13 @@ queue.AppendPrivate(
|
|||||||
srcs_core = []
|
srcs_core = []
|
||||||
|
|
||||||
# Fix for BK7231T's bootloader compatibility
|
# Fix for BK7231T's bootloader compatibility
|
||||||
if board.get("build.bkboot_version") == "1.0.5-bk7231s":
|
if board.get("build.bkboot_version") in ["1.0.5-bk7231s", "bk7231q"]:
|
||||||
# this has to be public, so that fixups/intc.c sees it
|
# this has to be public, so that fixups/intc.c sees it
|
||||||
queue.AppendPublic(CPPDEFINES=[("CFG_SUPPORT_BOOTLOADER", "1")])
|
queue.AppendPublic(CPPDEFINES=[("CFG_SUPPORT_BOOTLOADER", "1")])
|
||||||
queue.AddLibrary(
|
queue.AddLibrary(
|
||||||
name="bdk_boot",
|
name="bdk_boot",
|
||||||
base_dir="$FAMILY_DIR/base/fixups",
|
base_dir="$CORES_DIR/beken-72xx/base/fixups",
|
||||||
srcs=["+<boot_handlers_105_bk7231s.S>"],
|
srcs=["+<boot_handlers_bk7231u.S>"],
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
srcs_core.append("+<driver/entry/boot_handlers.S>")
|
srcs_core.append("+<driver/entry/boot_handlers.S>")
|
||||||
@@ -216,7 +216,7 @@ queue.AddLibrary(
|
|||||||
"+<func.c>",
|
"+<func.c>",
|
||||||
"+<airkiss/*.c>",
|
"+<airkiss/*.c>",
|
||||||
"+<base64/*.c>",
|
"+<base64/*.c>",
|
||||||
"+<ble_wifi_exchange/*.c>",
|
SOC != SOC_BK7231 and "+<ble_wifi_exchange/*.c>",
|
||||||
"+<camera_intf/*.c>",
|
"+<camera_intf/*.c>",
|
||||||
"+<hostapd_intf/*.c>",
|
"+<hostapd_intf/*.c>",
|
||||||
"+<joint_up/*.c>",
|
"+<joint_up/*.c>",
|
||||||
@@ -320,7 +320,7 @@ queue.AddLibrary(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Sources - chip-specific drivers
|
# Sources - chip-specific drivers
|
||||||
if SOC in [SOC_BK7231U, SOC_BK7251]:
|
if SOC in [SOC_BK7231, SOC_BK7231U, SOC_BK7251]:
|
||||||
queue.AddLibrary(
|
queue.AddLibrary(
|
||||||
name="bdk_driver_spi",
|
name="bdk_driver_spi",
|
||||||
base_dir=join(DRIVER_DIR, "spi"),
|
base_dir=join(DRIVER_DIR, "spi"),
|
||||||
@@ -486,7 +486,7 @@ queue.AppendPublic(
|
|||||||
"sensor",
|
"sensor",
|
||||||
"usb",
|
"usb",
|
||||||
# "wpa", # this is compiled from func/hostapd_intf/hostapd_intf.c
|
# "wpa", # this is compiled from func/hostapd_intf/hostapd_intf.c
|
||||||
f"ble_{SOC_NAMES[SOC]}",
|
SOC != SOC_BK7231 and f"ble_{SOC_NAMES[SOC]}",
|
||||||
f"cal_{SOC_NAMES[SOC]}",
|
f"cal_{SOC_NAMES[SOC]}",
|
||||||
f"rf_test_{SOC_NAMES[SOC]}",
|
f"rf_test_{SOC_NAMES[SOC]}",
|
||||||
f"rf_use_{SOC_NAMES[SOC]}",
|
f"rf_use_{SOC_NAMES[SOC]}",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ def add_base_dir(
|
|||||||
):
|
):
|
||||||
out = []
|
out = []
|
||||||
for expr in expressions:
|
for expr in expressions:
|
||||||
if expr == False:
|
if expr == False or expr is None:
|
||||||
# support '[cond] and [path]' logical expressions
|
# support '[cond] and [path]' logical expressions
|
||||||
continue
|
continue
|
||||||
if expr[1] != "<" or expr[-1] != ">":
|
if expr[1] != "<" or expr[-1] != ">":
|
||||||
@@ -39,6 +39,9 @@ def add_base_dir(
|
|||||||
|
|
||||||
def iter_expressions(expressions: List[str]) -> Generator[Tuple[str, str], None, None]:
|
def iter_expressions(expressions: List[str]) -> Generator[Tuple[str, str], None, None]:
|
||||||
for expr in expressions:
|
for expr in expressions:
|
||||||
|
if expr == False or expr is None:
|
||||||
|
# support '[cond] and [path]' logical expressions
|
||||||
|
continue
|
||||||
if expr[1:2] != "<" or expr[-1:] != ">":
|
if expr[1:2] != "<" or expr[-1:] != ">":
|
||||||
yield ("+", expr)
|
yield ("+", expr)
|
||||||
continue
|
continue
|
||||||
|
|||||||
105
cores/beken-7231q/base/config/sys_config.h
Normal file
105
cores/beken-7231q/base/config/sys_config.h
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define CFG_AIRKISS_TEST 0
|
||||||
|
#define CFG_AP_MONITOR_COEXIST 0
|
||||||
|
#define CFG_AP_SUPPORT_HT_IE 0
|
||||||
|
#define CFG_BACKGROUND_PRINT 0
|
||||||
|
#define CFG_BK_AWARE 0
|
||||||
|
#define CFG_BK_AWARE_OUI "\xC8\x47\x8C"
|
||||||
|
#define CFG_EASY_FLASH 1
|
||||||
|
#define CFG_ENABLE_BUTTON 0
|
||||||
|
#define CFG_ENABLE_DEMO_TEST 0
|
||||||
|
#define CFG_ENABLE_WPA_LOG 0
|
||||||
|
#define CFG_GENERAL_DMA 1
|
||||||
|
#define CFG_IEEE80211N 1
|
||||||
|
#define CFG_IEEE80211W 0
|
||||||
|
#define CFG_IPERF_TEST 0
|
||||||
|
#define CFG_JTAG_ENABLE 0
|
||||||
|
#define CFG_LESS_MEMERY_IN_RWNX 0
|
||||||
|
#define CFG_MAC_PHY_BAPASS 1
|
||||||
|
#define CFG_MSDU_RESV_HEAD_LEN 96
|
||||||
|
#define CFG_MSDU_RESV_TAIL_LEN 16
|
||||||
|
#define CFG_REAL_SDIO 0
|
||||||
|
#define CFG_RELEASE_FIRMWARE 0
|
||||||
|
#define CFG_RF_OTA_TEST 0
|
||||||
|
#define CFG_RF_USER_BLE 0
|
||||||
|
#define CFG_ROLE_LAUNCH 0
|
||||||
|
#define CFG_RUNNING_PLATFORM SOC_PLATFORM
|
||||||
|
#define CFG_RWNX_QOS_MSDU 1
|
||||||
|
#define CFG_RX_SENSITIVITY_TEST 1
|
||||||
|
#define CFG_SARADC_CALIBRATE 0
|
||||||
|
#define CFG_SDIO 0
|
||||||
|
#define CFG_SDIO_TRANS 0
|
||||||
|
#define CFG_SOC_NAME SOC_BK7231
|
||||||
|
#define CFG_SUPPORT_BKREG 1
|
||||||
|
#define CFG_SUPPORT_BLE 0
|
||||||
|
#define CFG_SUPPORT_BSSID_CONNECT 0
|
||||||
|
#define CFG_SUPPORT_CALIBRATION 1
|
||||||
|
#define CFG_SUPPORT_MANUAL_CALI 1
|
||||||
|
#define CFG_SUPPORT_OTA_HTTP 1
|
||||||
|
#define CFG_SUPPORT_OTA_TFTP 0
|
||||||
|
#define CFG_SUPPORT_TPC_PA_MAP 1
|
||||||
|
#define CFG_SYS_REDUCE_NORMAL_POWER 0
|
||||||
|
#define CFG_TCP_SERVER_TEST 0
|
||||||
|
#define CFG_TX_EVM_TEST 1
|
||||||
|
#define CFG_UART_DEBUG 0
|
||||||
|
#define CFG_UART_DEBUG_COMMAND_LINE 1
|
||||||
|
#define CFG_UDISK_MP3 0
|
||||||
|
#define CFG_USB 0
|
||||||
|
#define CFG_USE_AP_IDLE 0
|
||||||
|
#define CFG_USE_AP_PS 0
|
||||||
|
#define CFG_USE_APP_DEMO_VIDEO_TRANSFER 0
|
||||||
|
#define CFG_USE_AUD_ADC 0
|
||||||
|
#define CFG_USE_AUD_DAC 0
|
||||||
|
#define CFG_USE_AUDIO 0
|
||||||
|
#define CFG_USE_BLE_PS 0
|
||||||
|
#define CFG_USE_CAMERA_INTF 0
|
||||||
|
#define CFG_USE_DEEP_PS 1
|
||||||
|
#define CFG_USE_DHCP 1
|
||||||
|
#define CFG_USE_FAKERTC_PS 0
|
||||||
|
#define CFG_USE_FTPD_UPGRADE 0
|
||||||
|
#define CFG_USE_HSLAVE_SPI 0
|
||||||
|
#define CFG_USE_LWIP_NETSTACK 1
|
||||||
|
#define CFG_USE_MCU_PS 0
|
||||||
|
#define CFG_USE_SDCARD_HOST 0
|
||||||
|
#define CFG_USE_SPIDMA 0
|
||||||
|
#define CFG_USE_STA_PS 1
|
||||||
|
#define CFG_USE_TEMPERATURE_DETECT 0
|
||||||
|
#define CFG_USE_TICK_CAL 0
|
||||||
|
#define CFG_USE_UART1 0
|
||||||
|
#define CFG_USE_USB_CHARGE 0
|
||||||
|
#define CFG_USE_USB_HOST 0
|
||||||
|
#define CFG_USE_WPA_29 1
|
||||||
|
#define CFG_WFA_CERT 0
|
||||||
|
#define CFG_WIFI_RAW_TX_CMD 0
|
||||||
|
#define CFG_WIFI_SENSOR 0
|
||||||
|
#define CFG_WLAN_FAST_CONNECT 0
|
||||||
|
#define CFG_WPA_CTRL_IFACE 1
|
||||||
|
#define CFG_WPA3 0
|
||||||
|
#define CFG_XTAL_FREQUENCE CFG_XTAL_FREQUENCE_26M
|
||||||
|
#define CFG_XTAL_FREQUENCE_26M 26000000
|
||||||
|
#define CFG_XTAL_FREQUENCE_40M 40000000
|
||||||
|
#define CONFIG_APP_MP3PLAYER 0
|
||||||
|
#define FPGA_PLATFORM 0
|
||||||
|
#define OSMALLOC_STATISTICAL 0
|
||||||
|
#define RF_USE_POLICY WIFI_DEFAULT_BLE_REQUEST
|
||||||
|
#define SOC_BK7221U 3
|
||||||
|
#define SOC_BK7231 1
|
||||||
|
#define SOC_BK7231N 5
|
||||||
|
#define SOC_BK7231U 2
|
||||||
|
#define SOC_PLATFORM 1
|
||||||
|
#define THD_APPLICATION_PRIORITY 3
|
||||||
|
#define THD_CORE_PRIORITY 2
|
||||||
|
#define THD_EXTENDED_APP_PRIORITY 5
|
||||||
|
#define THD_HOSTAPD_PRIORITY 5
|
||||||
|
#define THD_INIT_PRIORITY 4
|
||||||
|
#define THD_LWIP_PRIORITY 4
|
||||||
|
#define THD_MEDIA_PRIORITY 4
|
||||||
|
#define THD_RECONNECT_PRIORITY 4
|
||||||
|
#define THD_UBG_PRIORITY 5
|
||||||
|
#define THD_UMP3_PRIORITY 4
|
||||||
|
#define THD_WPAS_PRIORITY 5
|
||||||
|
#define THDD_KEY_SCAN_PRIORITY 7
|
||||||
|
#define UART1_USE_FIFO_REC 0
|
||||||
|
#define UART2_USE_FIFO_REC 0
|
||||||
|
#define WIFI_DEFAULT_BLE_REQUEST 1
|
||||||
26
cores/beken-7231q/base/fixups/bk7231q.c
Normal file
26
cores/beken-7231q/base/fixups/bk7231q.c
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* Copyright (c) Kuba Szczodrzyński 2023-06-20. */
|
||||||
|
|
||||||
|
int ble_active = 0;
|
||||||
|
int ble_switch_mac_sleeped = 0;
|
||||||
|
|
||||||
|
int wifi_notice_ble_status() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wn_txl_hd_pending_is_allow() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int if_ble_sleep() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ble_switch_rf_to_wifi() {}
|
||||||
|
|
||||||
|
int rwip_get_current_time() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rwip_get_next_target_time() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
19
cores/beken-7231q/base/fixups/bk7231q.h
Normal file
19
cores/beken-7231q/base/fixups/bk7231q.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/* Copyright (c) Kuba Szczodrzyński 2023-06-20. */
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define GPIO_SD1_DMA_MODULE GPIO_SD_DMA_MODULE
|
||||||
|
#define SARADC_ADC_SATURATION_CFG (SARADC_BASE + 3 * 4)
|
||||||
|
#define SARADC_ADC_SAT_CTRL_MASK (0x3)
|
||||||
|
#define SARADC_ADC_DAT_AFTER_STA SARADC_ADC_DATA
|
||||||
|
|
||||||
|
#define CMD_GET_SCTRL_RETETION 0xC123F48
|
||||||
|
#define CMD_SET_SCTRL_RETETION 0xC123F49
|
||||||
|
|
||||||
|
inline void turnon_PA_in_temp_dect() {}
|
||||||
|
|
||||||
|
inline void turnoff_PA_in_temp_dect() {}
|
||||||
|
|
||||||
|
inline int if_ble_sleep() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
@@ -9,6 +9,11 @@
|
|||||||
#include <rtos_pub.h>
|
#include <rtos_pub.h>
|
||||||
#include <sys_rtos.h>
|
#include <sys_rtos.h>
|
||||||
|
|
||||||
|
#if LT_BK7231Q
|
||||||
|
#undef LT_MICROS_HIGH_RES
|
||||||
|
#define LT_MICROS_HIGH_RES 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TICKS_PER_US (CFG_XTAL_FREQUENCE / 1000 / 1000)
|
#define TICKS_PER_US (CFG_XTAL_FREQUENCE / 1000 / 1000)
|
||||||
#define US_PER_OVERFLOW (portTICK_PERIOD_MS * 1000)
|
#define US_PER_OVERFLOW (portTICK_PERIOD_MS * 1000)
|
||||||
#define TICKS_PER_OVERFLOW (TICKS_PER_US * US_PER_OVERFLOW)
|
#define TICKS_PER_OVERFLOW (TICKS_PER_US * US_PER_OVERFLOW)
|
||||||
@@ -17,6 +22,7 @@ void delayMilliseconds(unsigned long ms) {
|
|||||||
rtos_delay_milliseconds(ms);
|
rtos_delay_milliseconds(ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LT_MICROS_HIGH_RES
|
||||||
static uint32_t getTicksCount() {
|
static uint32_t getTicksCount() {
|
||||||
// copied from bk_timer_ctrl(), for speeds
|
// copied from bk_timer_ctrl(), for speeds
|
||||||
uint32_t timeout = 0;
|
uint32_t timeout = 0;
|
||||||
@@ -28,6 +34,7 @@ static uint32_t getTicksCount() {
|
|||||||
}
|
}
|
||||||
return REG_READ(TIMER0_2_READ_VALUE);
|
return REG_READ(TIMER0_2_READ_VALUE);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void delayMicroseconds(unsigned int us) {
|
void delayMicroseconds(unsigned int us) {
|
||||||
#if LT_MICROS_HIGH_RES
|
#if LT_MICROS_HIGH_RES
|
||||||
@@ -61,10 +68,6 @@ unsigned long millis() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsigned long micros() {
|
unsigned long micros() {
|
||||||
#if (CFG_SOC_NAME == SOC_BK7231)
|
|
||||||
#error "Not implemented"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if LT_MICROS_HIGH_RES
|
#if LT_MICROS_HIGH_RES
|
||||||
static uint32_t lastMillis = 0;
|
static uint32_t lastMillis = 0;
|
||||||
static uint32_t correctedMillis = 0;
|
static uint32_t correctedMillis = 0;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include "uart_pub.h"
|
#include "uart_pub.h"
|
||||||
|
|
||||||
// from lt_config.h
|
// from lt_config.h
|
||||||
#ifndef LT_MICROS_HIGH_RES
|
#if !defined(LT_MICROS_HIGH_RES) && !LT_BK7231Q
|
||||||
#define LT_MICROS_HIGH_RES 1
|
#define LT_MICROS_HIGH_RES 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ static void fclk_hdl(UINT8 param);
|
|||||||
|
|
||||||
void fclk_init(void) {
|
void fclk_init(void) {
|
||||||
#if (CFG_SOC_NAME == SOC_BK7231)
|
#if (CFG_SOC_NAME == SOC_BK7231)
|
||||||
fclk_timer_hw_init(BK_PWM_TIMER_ID0);
|
fclk_timer_hw_init(BK_PWM_TIMER_ID3);
|
||||||
#elif LT_MICROS_HIGH_RES
|
#elif LT_MICROS_HIGH_RES
|
||||||
fclk_timer_hw_init(BK_TIMER_ID0);
|
fclk_timer_hw_init(BK_TIMER_ID0);
|
||||||
#else
|
#else
|
||||||
@@ -51,7 +51,7 @@ static void fclk_timer_hw_init(BK_HW_TIMER_INDEX timer_id) {
|
|||||||
fclk_id = timer_id;
|
fclk_id = timer_id;
|
||||||
if (fclk_id >= BK_PWM_TIMER_ID0) { // pwm timer
|
if (fclk_id >= BK_PWM_TIMER_ID0) { // pwm timer
|
||||||
pwm_param_t param;
|
pwm_param_t param;
|
||||||
param.channel = (fclk_id - PWM0);
|
param.channel = (fclk_id - BK_PWM_TIMER_ID0);
|
||||||
param.cfg.bits.en = PWM_ENABLE;
|
param.cfg.bits.en = PWM_ENABLE;
|
||||||
param.cfg.bits.int_en = PWM_INT_EN;
|
param.cfg.bits.int_en = PWM_INT_EN;
|
||||||
param.cfg.bits.mode = PWM_TIMER_MODE;
|
param.cfg.bits.mode = PWM_TIMER_MODE;
|
||||||
|
|||||||
@@ -6,3 +6,7 @@
|
|||||||
|
|
||||||
// force including fixups/generic.h, even by BDK/include.h
|
// force including fixups/generic.h, even by BDK/include.h
|
||||||
#include "generic.h"
|
#include "generic.h"
|
||||||
|
|
||||||
|
#if CFG_SOC_NAME == SOC_BK7231
|
||||||
|
#include "bk7231q.h"
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ Options for controlling default UART log output.
|
|||||||
### Misc options
|
### Misc options
|
||||||
|
|
||||||
- `LT_USE_TIME` (0) - enables implementation of `gettimeofday()` and `settimeofday()`; checks for `millis()` overflows periodically
|
- `LT_USE_TIME` (0) - enables implementation of `gettimeofday()` and `settimeofday()`; checks for `millis()` overflows periodically
|
||||||
- `LT_MICROS_HIGH_RES` (1) - count runtime microseconds using a high-resolution timer; disable if your application doesn't need `micros()`
|
- `LT_MICROS_HIGH_RES` (1) - count runtime microseconds using a high-resolution timer (if possible); disable if your application doesn't need `micros()`
|
||||||
- `LT_AUTO_DOWNLOAD_REBOOT` (1) - automatically reboot into "download mode" after detecting a flashing protocol command; [read more](../flashing/tools/adr.md)
|
- `LT_AUTO_DOWNLOAD_REBOOT` (1) - automatically reboot into "download mode" after detecting a flashing protocol command; [read more](../flashing/tools/adr.md)
|
||||||
|
|
||||||
### Family feature config
|
### Family feature config
|
||||||
|
|||||||
Reference in New Issue
Block a user