mirror of
https://github.com/pine64/bl_iot_sdk.git
synced 2024-10-06 06:50:19 +00:00
bouffalolab_release_bl_iot_sdk_1.6.38-63-gae97ed42f
This commit is contained in:
parent
389fee4f9d
commit
923e89b26c
BIN
tools/flash_tool/BLDevCube
Executable file
BIN
tools/flash_tool/BLDevCube
Executable file
Binary file not shown.
BIN
tools/flash_tool/BLDevCube.exe
Normal file
BIN
tools/flash_tool/BLDevCube.exe
Normal file
Binary file not shown.
BIN
tools/flash_tool/bflb_iot_tool
Executable file
BIN
tools/flash_tool/bflb_iot_tool
Executable file
Binary file not shown.
BIN
tools/flash_tool/bflb_iot_tool.exe
Normal file
BIN
tools/flash_tool/bflb_iot_tool.exe
Normal file
Binary file not shown.
BIN
tools/flash_tool/bflb_iot_tool_Rasp
Executable file
BIN
tools/flash_tool/bflb_iot_tool_Rasp
Executable file
Binary file not shown.
43
tools/flash_tool/bflb_iot_tool_usage.txt
Normal file
43
tools/flash_tool/bflb_iot_tool_usage.txt
Normal file
@ -0,0 +1,43 @@
|
||||
Bouffalolab Iot Command Tool
|
||||
============
|
||||
|
||||
The functions of bflb_iot_tool is the same as DevCube(IOT View) which is a GUI tool for image programing.
|
||||
bflb_iot_tool is designed for the convenience of integrating into the compilation system after image buid,
|
||||
and making it more easy for users who are accustomed to using command line operations.
|
||||
|
||||
basic download config:
|
||||
|
||||
--chipname:mandatory, name of chip(bl602/bl702/bl616...)
|
||||
--interface:1.uart, 2.jlink, 3.cklink, 4.openocd, default is uart
|
||||
--port:serial port or jlink serial number
|
||||
--baudrate:baudrate of serial port, default is 115200
|
||||
--xtal:xtal on the board,for bl602,1:24M,2:32M,3:38.4M,4:40M(default value when not specified),5:26M. for bl702,1:32M(default value when not specified)
|
||||
for bl616,just use value 7(auto adjust)
|
||||
--config:eflash loader configuration file,default is chips\blXXXX\eflash_loader\eflash_loader_cfg.ini
|
||||
--ota:dir of ota file,default is chips\blXXXX\ota
|
||||
|
||||
files for download:
|
||||
|
||||
1.scattered files:
|
||||
--firmware:mandatory, select the firmware binary file which your sdk build out
|
||||
--dts:optional,select the device tree file you used
|
||||
--pt:mandatory,partition table of flash, default is located in chips/chipname/partition
|
||||
--boot2:mandatory,boot2 binary file as bootloader, default is located in chips/chipname/builtin_imgs/boot2_isp_xxxxx
|
||||
--mfg:optional, mfg binary file, only use when do RF test
|
||||
--romfs:optional, romfs dir to create romfs.bin
|
||||
|
||||
2.one whole image file:
|
||||
|
||||
--addr:address to program, default is 0
|
||||
--single:the single file to be programmed ,the tool will add nothing for this file
|
||||
|
||||
other options:
|
||||
|
||||
--build:build image only,not program into flash
|
||||
|
||||
|
||||
EXAMPLE:
|
||||
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl602.bin" --pt="chips\bl602\partition\partition_cfg_2M.toml" --dts="chips\bl602\device_tree\bl_factory_params_IoTKitA_40M.dts"
|
||||
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl602.bin" --pt="chips\bl602\partition\partition_cfg_2M.toml" --dts="chips\bl602\device_tree\bl_factory_params_IoTKitA_40M.dts" --build
|
||||
bflb_iot_tool.exe --chipname=bl602 --port=COM28 --baudrate=2000000 --addr=0x0 --firmware="helloworld_bl602.bin" --single
|
||||
|
23
tools/flash_tool/bflb_iot_tool命令行工具说明.txt
Normal file
23
tools/flash_tool/bflb_iot_tool命令行工具说明.txt
Normal file
@ -0,0 +1,23 @@
|
||||
Bouffalolab Iot Command Tool
|
||||
============
|
||||
|
||||
--chipname:mandatory, name of chip
|
||||
--interface:1.uart, 2.jlink, 3.cklink, 4.openocd, default is uart
|
||||
--port:serial port
|
||||
--baudrate:baudrate of serial port, default is 115200
|
||||
--xtal:xtal of board
|
||||
--firmware:mandatory, firmware binary file
|
||||
--dts:device tree file
|
||||
--pt:partition table of flash, default is located in chips/chipname/partition
|
||||
--boot2:boot2 binary file as bootloader, default is located in chips/chipname/builtin_imgs/boot2_isp_xxxxx
|
||||
--mfg:optional, mfg binary file, only use when do RF test
|
||||
--romfs:optional, romfs dir
|
||||
--build:build image only
|
||||
--single:single file download
|
||||
--addr:address to write, default is 0
|
||||
--config:eflash loader configuration file
|
||||
--ota:dir of ota file
|
||||
|
||||
EXAMPLE:
|
||||
bflb_iot_tool.exe --chipname=bl702 --port=COM28 --baudrate=2000000 --firmware="helloworld_bl702.bin" --dts="bl_factory_params_IoTKitA_None.dts"
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
6
tools/flash_tool/chips/bl602/conf/ota.toml
Normal file
6
tools/flash_tool/chips/bl602/conf/ota.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[ota]
|
||||
#max length of version_hardware is 15 bytes
|
||||
version_hardware = "BFL_Module_v1.1"
|
||||
#max length of version_software is 15 bytes
|
||||
version_software = "EVENT_V1.1.1"
|
||||
version_header = "BL60X_OTA_Ver1.0"
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,348 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <10 10 10 10 10 10 10 10 10 10 10 10 10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader.elf
Normal file
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader.elf
Normal file
Binary file not shown.
11579
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader.map
Normal file
11579
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader.map
Normal file
File diff suppressed because it is too large
Load Diff
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_24m.bin
Normal file
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_24m.bin
Normal file
Binary file not shown.
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_26m.bin
Normal file
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_26m.bin
Normal file
Binary file not shown.
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_32m.bin
Normal file
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_32m.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_40m.bin
Normal file
BIN
tools/flash_tool/chips/bl602/eflash_loader/eflash_loader_40m.bin
Normal file
Binary file not shown.
@ -0,0 +1,62 @@
|
||||
[LOAD_CFG]
|
||||
#jlink or uart
|
||||
interface = uart
|
||||
device = COM1
|
||||
speed_uart_boot = 500000
|
||||
speed_uart_load = 500000
|
||||
speed_jlink = 2000
|
||||
#cklink usb vid|pid
|
||||
cklink_vidpid = 42bf|b210
|
||||
cklink_type = CKLink_Lite_Vendor-rog
|
||||
#eg: rv_dbg_plus, ft2232hl, ft2232d
|
||||
openocd_config = rv_dbg_plus
|
||||
#0:without load, 1:eflash_loader load
|
||||
load_function = 1
|
||||
auto_burn = false
|
||||
do_reset = true
|
||||
#reset retry+reset hold time
|
||||
reset_hold_time = 5
|
||||
shake_hand_delay = 100
|
||||
reset_revert = false
|
||||
#cutoff revert+cutoff time
|
||||
cutoff_time = 100
|
||||
shake_hand_retry = 2
|
||||
flash_burn_retry = 1
|
||||
checksum_err_retry = 3
|
||||
#1:24M, 2:32M, 3:38.4M, 4:40M, 5:26M, 6:RC32M
|
||||
#xtal_type = 4
|
||||
erase_time_out = 15000
|
||||
#chiptype=602
|
||||
eflash_loader_file = chips/bl602/eflash_loader/eflash_loader_40m.bin
|
||||
check_mac = true
|
||||
#0:no erase,1:programmed section erase,2:chip erase
|
||||
erase = 1
|
||||
# switch eflash_loader command log save
|
||||
local_log = false
|
||||
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
|
||||
verify = 0
|
||||
tx_size = 2056
|
||||
cpu_reset_after_load = false
|
||||
boot2_isp_mode = 0
|
||||
isp_mode_speed = 2000000
|
||||
isp_shakehand_timeout = 0
|
||||
|
||||
[FLASH_CFG]
|
||||
flash_id = ef4015
|
||||
flash_clock_cfg = 1
|
||||
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
|
||||
flash_io_mode = 1
|
||||
#empty: auto,0: internal flash with io switch,1: internal flash no io switch,2: GPIO 17-22,3: GPIO 0-2&20-22
|
||||
flash_pin = ""
|
||||
#empty for auto, otherwise specified para file path: eg: chips/bl602/efuse_bootheader/flash_para.bin
|
||||
flash_para = chips/bl602/efuse_bootheader/flash_para.bin
|
||||
decompress_write = true
|
||||
file = chips/bl602/img_create/bootinfo_boot2.bin chips/bl602/img_create/img_boot2.bin chips/bl602/partition/partition.bin chips/bl602/partition/partition.bin
|
||||
address = 00000000 00002000 e000 f000
|
||||
|
||||
[EFUSE_CFG]
|
||||
burn_en = true
|
||||
factory_mode = false
|
||||
security_write = false
|
||||
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
|
||||
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,196 @@
|
||||
[EFUSE_CFG]
|
||||
########################################################################
|
||||
#2bits
|
||||
ef_sf_aes_mode = 0
|
||||
#2bits
|
||||
ef_sboot_sign_mode = 0
|
||||
#2bits
|
||||
ef_sboot_en = 0
|
||||
#2bits
|
||||
ef_dbg_jtag_dis = 0
|
||||
#4bits
|
||||
ef_dbg_mode = 0
|
||||
#32bits
|
||||
ef_dbg_pwd_low = 0
|
||||
#32bits
|
||||
ef_dbg_pwd_high = 0
|
||||
#2bits
|
||||
flash_pwr_delay = 0
|
||||
###################################################################
|
||||
ef_key_slot_2_w0 = 0
|
||||
ef_key_slot_2_w1 = 0
|
||||
ef_key_slot_2_w2 = 0
|
||||
ef_key_slot_2_w3 = 0
|
||||
ef_key_slot_3_w0 = 0
|
||||
ef_key_slot_3_w1 = 0
|
||||
ef_key_slot_3_w2 = 0
|
||||
ef_key_slot_3_w3 = 0
|
||||
ef_key_slot_4_w0 = 0
|
||||
ef_key_slot_4_w1 = 0
|
||||
ef_key_slot_4_w2 = 0
|
||||
ef_key_slot_4_w3 = 0
|
||||
|
||||
wr_lock_key_slot_4_l = 0
|
||||
wr_lock_dbg_pwd = 0
|
||||
wr_lock_key_slot_2 = 0
|
||||
wr_lock_key_slot_3 = 0
|
||||
wr_lock_key_slot_4_h = 0
|
||||
rd_lock_dbg_pwd = 0
|
||||
rd_lock_key_slot_2 = 0
|
||||
rd_lock_key_slot_3 = 0
|
||||
rd_lock_key_slot_4 = 0
|
||||
|
||||
[BOOTHEADER_CFG]
|
||||
magic_code = 0x504e4642
|
||||
revision = 0x01
|
||||
#########################flash cfg#############################
|
||||
flashcfg_magic_code = 0x47464346
|
||||
#flashcfg_magic_code=0
|
||||
io_mode = 0x10
|
||||
cont_read_support = 0
|
||||
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
|
||||
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
|
||||
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
|
||||
sfctrl_clk_delay = 1
|
||||
sfctrl_clk_invert = 0x01
|
||||
|
||||
reset_en_cmd = 0x66
|
||||
reset_cmd = 0x99
|
||||
exit_contread_cmd = 0xff
|
||||
exit_contread_cmd_size = 3
|
||||
|
||||
jedecid_cmd = 0x9f
|
||||
jedecid_cmd_dmy_clk = 0
|
||||
qpi_jedecid_cmd = 0x9f
|
||||
qpi_jedecid_dmy_clk = 0
|
||||
|
||||
sector_size = 4
|
||||
mfg_id = 0xff
|
||||
page_size = 256
|
||||
|
||||
chip_erase_cmd = 0xc7
|
||||
sector_erase_cmd = 0x20
|
||||
blk32k_erase_cmd = 0x52
|
||||
blk64k_erase_cmd = 0xd8
|
||||
|
||||
write_enable_cmd = 0x06
|
||||
page_prog_cmd = 0x02
|
||||
qpage_prog_cmd = 0x32
|
||||
qual_page_prog_addr_mode = 0
|
||||
|
||||
fast_read_cmd = 0x0b
|
||||
fast_read_dmy_clk = 1
|
||||
qpi_fast_read_cmd = 0x0b
|
||||
qpi_fast_read_dmy_clk = 1
|
||||
|
||||
fast_read_do_cmd = 0x3b
|
||||
fast_read_do_dmy_clk = 1
|
||||
fast_read_dio_cmd = 0xbb
|
||||
fast_read_dio_dmy_clk = 0
|
||||
|
||||
fast_read_qo_cmd = 0x6b
|
||||
fast_read_qo_dmy_clk = 1
|
||||
fast_read_qio_cmd = 0xeb
|
||||
fast_read_qio_dmy_clk = 2
|
||||
|
||||
qpi_fast_read_qio_cmd = 0xeb
|
||||
qpi_fast_read_qio_dmy_clk = 2
|
||||
qpi_page_prog_cmd = 0x02
|
||||
write_vreg_enable_cmd = 0x50
|
||||
|
||||
wel_reg_index = 0
|
||||
qe_reg_index = 1
|
||||
busy_reg_index = 0
|
||||
wel_bit_pos = 1
|
||||
|
||||
qe_bit_pos = 1
|
||||
busy_bit_pos = 0
|
||||
wel_reg_write_len = 2
|
||||
wel_reg_read_len = 1
|
||||
|
||||
qe_reg_write_len = 2
|
||||
qe_reg_read_len = 1
|
||||
release_power_down = 0xab
|
||||
busy_reg_read_len = 1
|
||||
|
||||
reg_read_cmd0 = 0x05
|
||||
reg_read_cmd1 = 0x35
|
||||
|
||||
reg_write_cmd0 = 0x01
|
||||
reg_write_cmd1 = 0x01
|
||||
|
||||
enter_qpi_cmd = 0x38
|
||||
exit_qpi_cmd = 0xff
|
||||
cont_read_code = 0xa0
|
||||
cont_read_exit_code = 0xff
|
||||
|
||||
burst_wrap_cmd = 0x77
|
||||
burst_wrap_dmy_clk = 0x03
|
||||
burst_wrap_data_mode = 2
|
||||
burst_wrap_code = 0x40
|
||||
|
||||
de_burst_wrap_cmd = 0x77
|
||||
de_burst_wrap_cmd_dmy_clk = 0x03
|
||||
de_burst_wrap_code_mode = 2
|
||||
de_burst_wrap_code = 0xF0
|
||||
|
||||
sector_erase_time = 300
|
||||
blk32k_erase_time = 1200
|
||||
|
||||
blk64k_erase_time = 1200
|
||||
page_prog_time = 5
|
||||
|
||||
chip_erase_time = 200000
|
||||
power_down_delay = 20
|
||||
qe_data = 0
|
||||
|
||||
flashcfg_crc32 = 0
|
||||
|
||||
#########################clk cfg####################################
|
||||
clkcfg_magic_code = 0x47464350
|
||||
#clkcfg_magic_code=0
|
||||
|
||||
#0:Not use XTAL to set PLL,1:XTAL is 24M ,2:XTAL is 32M ,3:XTAL is 38.4M
|
||||
#4:XTAL is 40M,5:XTAL is 26M,6:XTAL is RC32M
|
||||
xtal_type = 4
|
||||
#0:RC32M,1:XTAL,2:PLL 48M,3:PLL 120M,4:PLL 160M,5:PLL 192M
|
||||
pll_clk = 4
|
||||
hclk_div = 0
|
||||
bclk_div = 1
|
||||
#0:120M,1:XCLK(RC32M or XTAL),2:48M,3:80M,4:BCLK,5:96M
|
||||
flash_clk_type = 3
|
||||
flash_clk_div = 1
|
||||
clkcfg_crc32 = 0
|
||||
|
||||
########################boot cfg####################################
|
||||
#1:ECC
|
||||
sign = 0
|
||||
#1:AES128,2:AES256,3:AES192
|
||||
encrypt_type = 0
|
||||
key_sel = 0
|
||||
no_segment = 1
|
||||
cache_enable = 1
|
||||
notload_in_bootrom = 0
|
||||
aes_region_lock = 0
|
||||
cache_way_disable = 0x03
|
||||
crc_ignore = 0
|
||||
hash_ignore = 0
|
||||
|
||||
########################image cfg####################################
|
||||
#total image len or segment count
|
||||
img_len = 0x100
|
||||
bootentry = 0
|
||||
#img RAM address or flash offset
|
||||
img_start = 0x2000
|
||||
|
||||
#img hash
|
||||
hash_0 = 0xdeadbeef
|
||||
hash_1 = 0
|
||||
hash_2 = 0
|
||||
hash_3 = 0
|
||||
hash_4 = 0
|
||||
hash_5 = 0
|
||||
hash_6 = 0
|
||||
hash_7 = 0
|
||||
|
||||
crc32 = 0xdeadbeef
|
@ -0,0 +1,15 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file =
|
||||
efuse_file =
|
||||
efuse_mask_file =
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_cpu0.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file =
|
||||
img_file =
|
||||
whole_img_file =
|
||||
aes_key_org = 00000000000000000000000000000000
|
||||
aes_iv = 00000000000000000000000000000000
|
@ -0,0 +1,15 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file =
|
||||
efuse_file =
|
||||
efuse_mask_file =
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file =
|
||||
img_file =
|
||||
whole_img_file =
|
||||
aes_key_org = 11
|
||||
aes_iv = 11
|
@ -0,0 +1,13 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file = ./efuse_bootheader/bootheader.bin
|
||||
efuse_file = ./efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = ./efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = ./img_create/aesiv.bin
|
||||
publickey_file = ./img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = ./img_create/privatekey_uecc.pem
|
||||
segheader_file = ./img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file = ./img_create/bootinfo_mfg.bin
|
||||
img_file = ./img_create/img_mfg.bin
|
||||
whole_img_file = ./img_create/wholeimg_mfg_if.bin
|
@ -0,0 +1,15 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file =
|
||||
efuse_file =
|
||||
efuse_mask_file =
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_cpu0.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file =
|
||||
img_file =
|
||||
whole_img_file =
|
||||
aes_key_org = 00000000000000000000000000000000
|
||||
aes_iv = 00000000000000000000000000000000
|
@ -0,0 +1,15 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file =
|
||||
efuse_file =
|
||||
efuse_mask_file =
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file =
|
||||
img_file =
|
||||
whole_img_file =
|
||||
aes_key_org = 11
|
||||
aes_iv = 11
|
@ -0,0 +1,13 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file = ./efuse_bootheader/bootheader.bin
|
||||
efuse_file = ./efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = ./efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = ./img_create/aesiv.bin
|
||||
publickey_file = ./img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = ./img_create/privatekey_uecc.pem
|
||||
segheader_file = ./img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file = ./img_create/bootinfo_mfg.bin
|
||||
img_file = ./img_create/img_mfg.bin
|
||||
whole_img_file = ./img_create/wholeimg_mfg_if.bin
|
60
tools/flash_tool/chips/bl602/partition/partition_cfg_1M.toml
Normal file
60
tools/flash_tool/chips/bl602/partition/partition_cfg_1M.toml
Normal file
@ -0,0 +1,60 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x010000
|
||||
size0 = 0xE7000
|
||||
address1 = 0x000
|
||||
size1 = 0x000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x0F7000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "PSM"
|
||||
device = 0
|
||||
address0 = 0x0F9000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 7
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x0FB000
|
||||
size0 = 0x4000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
#if user want to put RF calibration data on flash, uncomment following pt entry
|
||||
#[[pt_entry]]
|
||||
#type = 8
|
||||
#name = "rf_para"
|
||||
#device = 0
|
||||
#address0 = 0x1FF000
|
||||
#size0 = 0x1000
|
||||
#address1 = 0
|
||||
#size1 = 0
|
||||
## compressed image must set len,normal image can left it to 0
|
||||
#len = 0
|
@ -0,0 +1,94 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x010000
|
||||
size0 = 0x96000
|
||||
address1 = 0xA6000
|
||||
size1 = 0x50000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 2
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0x000
|
||||
size0 = 0x000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x0F6000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "PSM"
|
||||
device = 0
|
||||
address0 = 0x0F8000
|
||||
size0 = 0x4000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "KEY"
|
||||
device = 0
|
||||
address0 = 0x0000
|
||||
size0 = 0x000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 6
|
||||
name = "DATA"
|
||||
device = 0
|
||||
address0 = 0x0000
|
||||
size0 = 0x000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
|
||||
[[pt_entry]]
|
||||
type = 7
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x0FC000
|
||||
size0 = 0x4000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
#if user want to put RF calibration data on flash, uncomment following pt entry
|
||||
#[[pt_entry]]
|
||||
#type = 8
|
||||
#name = "rf_para"
|
||||
#device = 0
|
||||
#address0 = 0x1FF000
|
||||
#size0 = 0x1000
|
||||
#address1 = 0
|
||||
#size1 = 0
|
||||
## compressed image must set len,normal image can left it to 0
|
||||
#len = 0
|
94
tools/flash_tool/chips/bl602/partition/partition_cfg_2M.toml
Normal file
94
tools/flash_tool/chips/bl602/partition/partition_cfg_2M.toml
Normal file
@ -0,0 +1,94 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x10000
|
||||
size0 = 0xD8000
|
||||
address1 = 0xE8000
|
||||
size1 = 0x88000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 2
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0x170000
|
||||
size0 = 0x32000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x1A2000
|
||||
size0 = 0x47000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "PSM"
|
||||
device = 0
|
||||
address0 = 0x1E9000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "KEY"
|
||||
device = 0
|
||||
address0 = 0x1F1000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 6
|
||||
name = "DATA"
|
||||
device = 0
|
||||
address0 = 0x1F3000
|
||||
size0 = 0x5000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
|
||||
[[pt_entry]]
|
||||
type = 7
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x1F8000
|
||||
size0 = 0x7000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
#if user want to put RF calibration data on flash, uncomment following pt entry
|
||||
#[[pt_entry]]
|
||||
#type = 8
|
||||
#name = "rf_para"
|
||||
#device = 0
|
||||
#address0 = 0x1FF000
|
||||
#size0 = 0x1000
|
||||
#address1 = 0
|
||||
#size1 = 0
|
||||
## compressed image must set len,normal image can left it to 0
|
||||
#len = 0
|
94
tools/flash_tool/chips/bl602/partition/partition_cfg_4M.toml
Normal file
94
tools/flash_tool/chips/bl602/partition/partition_cfg_4M.toml
Normal file
@ -0,0 +1,94 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x10000
|
||||
size0 = 0x130000
|
||||
address1 = 0x140000
|
||||
size1 = 0x100000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 2
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0x240000
|
||||
size0 = 0x32000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x272000
|
||||
size0 = 0x1000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "PSM"
|
||||
device = 0
|
||||
address0 = 0x273000
|
||||
size0 = 0x33000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "KEY"
|
||||
device = 0
|
||||
address0 = 0x2A6000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 6
|
||||
name = "DATA"
|
||||
device = 0
|
||||
address0 = 0x2A8000
|
||||
size0 = 0x5000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
|
||||
[[pt_entry]]
|
||||
type = 7
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x2AD000
|
||||
size0 = 0x7000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
|
||||
#if user want to put RF calibration data on flash, uncomment following pt entry
|
||||
#[[pt_entry]]
|
||||
#type = 8
|
||||
#name = "rf_para"
|
||||
#device = 0
|
||||
#address0 = 0x1FF000
|
||||
#size0 = 0x1000
|
||||
#address1 = 0
|
||||
#size1 = 0
|
||||
## compressed image must set len,normal image can left it to 0
|
||||
#len = 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
6
tools/flash_tool/chips/bl606p/conf/ota.toml
Normal file
6
tools/flash_tool/chips/bl606p/conf/ota.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[ota]
|
||||
#max length of version_hardware is 15 bytes
|
||||
version_hardware = "BFL_Module_v1.1"
|
||||
#max length of version_software is 15 bytes
|
||||
version_software = "EVENT_V1.1.1"
|
||||
version_header = "BL60X_OTA_Ver1.0"
|
@ -0,0 +1,349 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <16 16 16 16 16 16 16 16 16 16 16 16 16 16>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 16.
|
||||
//so 14 represents -0.5dBm; 16 represents 0dBm; 20 represents 1dBm;(step is 0.25dBm)
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,66 @@
|
||||
[LOAD_CFG]
|
||||
#jlink or uart
|
||||
interface = uart
|
||||
device = COM1
|
||||
speed_uart_boot = 500000
|
||||
speed_uart_load = 2000000
|
||||
#cklink usb vid|pid
|
||||
cklink_vidpid = 42bf|b210
|
||||
cklink_type = CKLink_Lite_Vendor-rog
|
||||
#eg: rv_dbg_plus, ft2232hl, ft2232d
|
||||
openocd_config = rv_dbg_plus
|
||||
auto_burn = false
|
||||
speed_jlink = 1000
|
||||
#0:without load, 1:eflash_loader load, 2: bootrom load
|
||||
load_function = 2
|
||||
do_reset = true
|
||||
#reset retry+hold time
|
||||
reset_hold_time = 50
|
||||
shake_hand_delay = 100
|
||||
reset_revert = false
|
||||
cutoff_time = 50
|
||||
shake_hand_retry = 3
|
||||
flash_burn_retry = 1
|
||||
checksum_err_retry = 3
|
||||
erase_time_out = 100000
|
||||
#chiptype=bl606p
|
||||
check_mac = true
|
||||
#0:no erase,1:programmed section erase,2:chip erase
|
||||
erase = 1
|
||||
# switch eflash_loader command log save
|
||||
local_log = false
|
||||
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
|
||||
verify = 0
|
||||
tx_size = 4104
|
||||
cpu_reset_after_load = false
|
||||
#empty for auto, otherwise specified clock para file path: eg: chips/bl606p/efuse_bootheader/clock_para.bin
|
||||
clock_para = chips/bl606p/efuse_bootheader/clock_para.bin
|
||||
boot2_isp_mode = 0
|
||||
isp_mode_speed = 2000000
|
||||
isp_shakehand_timeout = 0
|
||||
|
||||
[FLASH_CFG]
|
||||
flash_id = ef4016
|
||||
#bit 7-4 flash_clock_type: 0:120M wifipll, 1:xtal, 2:128M cpupll, 3:80M wifipll, 4:bclk, 5:96M wifipll
|
||||
#bit 3-0 flash_clock_div
|
||||
flash_clock_cfg = 0x41
|
||||
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
|
||||
flash_clock_delay = 0
|
||||
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
|
||||
flash_io_mode = 1
|
||||
#flash_pin value:
|
||||
#bit 7 flash pin autoscan
|
||||
#bit 6-0 flash pin cfg: 0: internal swap io0 with io3, 2: internal no swap io0 with io3, 4: external gpi34-39,
|
||||
flash_pin = 0x80
|
||||
#empty for auto, otherwise specified flash para file path: eg: chips/bl606p/efuse_bootheader/flash_para.bin
|
||||
flash_para = chips/bl606p/efuse_bootheader/flash_para.bin
|
||||
decompress_write = false
|
||||
file = chips/bl606p/img_create2/whole_img.bin
|
||||
address = 00000000
|
||||
|
||||
[EFUSE_CFG]
|
||||
burn_en = true
|
||||
factory_mode = false
|
||||
security_write = false
|
||||
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
|
||||
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin
|
@ -0,0 +1,519 @@
|
||||
[EFUSE_CFG]
|
||||
########################################################################
|
||||
ef_sf_aes_mode=0
|
||||
ef_no_xtal=0
|
||||
ef_force_no_trim=0
|
||||
ef_sf_key_re_sel=0
|
||||
ef_dbg_jtag_0_dis=0
|
||||
###################################################################
|
||||
ef_dbg_pwd_low=0
|
||||
ef_dbg_pwd_high=0
|
||||
ef_dbg_pwd2_low=0
|
||||
ef_dbg_pwd2_high=0
|
||||
ef_wifi_mac_low=0
|
||||
ef_wifi_mac_high=0
|
||||
ef_key_slot_0_w0=0
|
||||
ef_key_slot_0_w1=0
|
||||
ef_key_slot_0_w2=0
|
||||
ef_key_slot_0_w3=0
|
||||
ef_key_slot_1_w0=0
|
||||
ef_key_slot_1_w1=0
|
||||
ef_key_slot_1_w2=0
|
||||
ef_key_slot_1_w3=0
|
||||
ef_key_slot_2_w0=0
|
||||
ef_key_slot_2_w1=0
|
||||
ef_key_slot_2_w2=0
|
||||
ef_key_slot_2_w3=0
|
||||
ef_key_slot_3_w0=0
|
||||
ef_key_slot_3_w1=0
|
||||
ef_key_slot_3_w2=0
|
||||
ef_key_slot_3_w3=0
|
||||
##########################################
|
||||
ef_sw_usage_0=0
|
||||
ef_sw_usage_1=0
|
||||
ef_sw_usage_2=0
|
||||
ef_sw_usage_3=0
|
||||
ef_key_slot_11_w0=0
|
||||
ef_key_slot_11_w1=0
|
||||
ef_key_slot_11_w2=0
|
||||
ef_key_slot_11_w3=0
|
||||
###################################################################
|
||||
ef_sec_lifecycle=0
|
||||
wr_lock_rsvd_0=0
|
||||
wr_lock_boot_mode=0
|
||||
wr_lock_dbg_pwd=0
|
||||
wr_lock_wifi_mac=0
|
||||
wr_lock_key_slot_0=0
|
||||
wr_lock_key_slot_1=0
|
||||
wr_lock_key_slot_2=0
|
||||
wr_lock_key_slot_3=0
|
||||
wr_lock_sw_usage_0=0
|
||||
wr_lock_sw_usage_1=0
|
||||
wr_lock_sw_usage_2=0
|
||||
wr_lock_sw_usage_3=0
|
||||
wr_lock_key_slot_11=0
|
||||
rd_lock_dbg_pwd=0
|
||||
rd_lock_key_slot_0=0
|
||||
rd_lock_key_slot_1=0
|
||||
rd_lock_key_slot_2=0
|
||||
rd_lock_key_slot_3=0
|
||||
rd_lock_key_slot_11=0
|
||||
########################################################################
|
||||
ef_key_slot_4_w0=0
|
||||
ef_key_slot_4_w1=0
|
||||
ef_key_slot_4_w2=0
|
||||
ef_key_slot_4_w3=0
|
||||
ef_key_slot_5_w0=0
|
||||
ef_key_slot_5_w1=0
|
||||
ef_key_slot_5_w2=0
|
||||
ef_key_slot_5_w3=0
|
||||
ef_key_slot_6_w0=0
|
||||
ef_key_slot_6_w1=0
|
||||
ef_key_slot_6_w2=0
|
||||
ef_key_slot_6_w3=0
|
||||
ef_key_slot_7_w0=0
|
||||
ef_key_slot_7_w1=0
|
||||
ef_key_slot_7_w2=0
|
||||
ef_key_slot_7_w3=0
|
||||
ef_key_slot_8_w0=0
|
||||
ef_key_slot_8_w1=0
|
||||
ef_key_slot_8_w2=0
|
||||
ef_key_slot_8_w3=0
|
||||
ef_key_slot_9_w0=0
|
||||
ef_key_slot_9_w1=0
|
||||
ef_key_slot_9_w2=0
|
||||
ef_key_slot_9_w3=0
|
||||
ef_key_slot_10_w0=0
|
||||
ef_key_slot_10_w1=0
|
||||
ef_key_slot_10_w2=0
|
||||
ef_key_slot_10_w3=0
|
||||
ef_dat_1_rsvd_0=0
|
||||
ef_dat_1_rsvd_1=0
|
||||
ef_dat_1_rsvd_2=0
|
||||
########################################################################
|
||||
wr_lock_rsvd_1=0
|
||||
wr_lock_key_slot_4=0
|
||||
wr_lock_key_slot_5=0
|
||||
wr_lock_key_slot_6=0
|
||||
wr_lock_key_slot_7=0
|
||||
wr_lock_key_slot_8=0
|
||||
wr_lock_key_slot_9=0
|
||||
wr_lock_key_slot_10=0
|
||||
wr_lock_dat_1_rsvd_0=0
|
||||
wr_lock_dat_1_rsvd_1=0
|
||||
wr_lock_dat_1_rsvd_2=0
|
||||
rd_lock_key_slot_4=0
|
||||
rd_lock_key_slot_5=0
|
||||
rd_lock_key_slot_6=0
|
||||
rd_lock_key_slot_7=0
|
||||
rd_lock_key_slot_8=0
|
||||
rd_lock_key_slot_9=0
|
||||
rd_lock_key_slot_10=0
|
||||
|
||||
[BOOTHEADER_GROUP0_CFG]
|
||||
magic_code=0x504e4642
|
||||
revision=0x01
|
||||
#########################flash cfg#############################
|
||||
flashcfg_magic_code=0x47464346
|
||||
#flashcfg_magic_code=0
|
||||
io_mode=0x10
|
||||
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
|
||||
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
|
||||
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
|
||||
cont_read_support=0
|
||||
sfctrl_clk_delay=1
|
||||
sfctrl_clk_invert=0x01
|
||||
|
||||
reset_en_cmd=0x66
|
||||
reset_cmd=0x99
|
||||
exit_contread_cmd=0xff
|
||||
exit_contread_cmd_size=0x3
|
||||
|
||||
jedecid_cmd=0x9f
|
||||
jedecid_cmd_dmy_clk=0
|
||||
enter_32bits_addr_cmd=0xb7
|
||||
exit_32bits_addr_clk=0xe9
|
||||
|
||||
sector_size=4
|
||||
mfg_id=0xff
|
||||
page_size=256
|
||||
|
||||
chip_erase_cmd=0xc7
|
||||
sector_erase_cmd=0x20
|
||||
blk32k_erase_cmd=0x52
|
||||
blk64k_erase_cmd=0xd8
|
||||
|
||||
write_enable_cmd=0x06
|
||||
page_prog_cmd=0x02
|
||||
qpage_prog_cmd=0x32
|
||||
qual_page_prog_addr_mode=0
|
||||
|
||||
fast_read_cmd=0x0b
|
||||
fast_read_dmy_clk=1
|
||||
qpi_fast_read_cmd=0x0b
|
||||
qpi_fast_read_dmy_clk=1
|
||||
|
||||
fast_read_do_cmd=0x3b
|
||||
fast_read_do_dmy_clk=1
|
||||
fast_read_dio_cmd=0xbb
|
||||
fast_read_dio_dmy_clk=0
|
||||
|
||||
fast_read_qo_cmd=0x6b
|
||||
fast_read_qo_dmy_clk=1
|
||||
fast_read_qio_cmd=0xeb
|
||||
fast_read_qio_dmy_clk=2
|
||||
|
||||
qpi_fast_read_qio_cmd=0xeb
|
||||
qpi_fast_read_qio_dmy_clk=2
|
||||
qpi_page_prog_cmd=0x02
|
||||
write_vreg_enable_cmd=0x50
|
||||
|
||||
wel_reg_index=0
|
||||
qe_reg_index=1
|
||||
busy_reg_index=0
|
||||
wel_bit_pos=1
|
||||
|
||||
qe_bit_pos=1
|
||||
busy_bit_pos=0
|
||||
wel_reg_write_len=2
|
||||
wel_reg_read_len=1
|
||||
|
||||
qe_reg_write_len=2
|
||||
qe_reg_read_len=1
|
||||
release_power_down = 0xab
|
||||
busy_reg_read_len=1
|
||||
|
||||
reg_read_cmd0=0x05
|
||||
reg_read_cmd1=0x35
|
||||
|
||||
reg_write_cmd0=0x01
|
||||
reg_write_cmd1=0x01
|
||||
|
||||
enter_qpi_cmd=0x38
|
||||
exit_qpi_cmd=0xff
|
||||
cont_read_code=0x20
|
||||
cont_read_exit_code=0xf0
|
||||
|
||||
burst_wrap_cmd=0x77
|
||||
burst_wrap_dmy_clk=0x03
|
||||
burst_wrap_data_mode=2
|
||||
burst_wrap_code=0x40
|
||||
|
||||
de_burst_wrap_cmd=0x77
|
||||
de_burst_wrap_cmd_dmy_clk=0x03
|
||||
de_burst_wrap_code_mode=2
|
||||
de_burst_wrap_code=0xf0
|
||||
|
||||
sector_erase_time=300
|
||||
blk32k_erase_time=1200
|
||||
|
||||
blk64k_erase_time=1200
|
||||
|
||||
page_prog_time=50
|
||||
|
||||
chip_erase_time=200000
|
||||
power_down_delay = 20
|
||||
qe_data = 0
|
||||
|
||||
flashcfg_crc32=0
|
||||
|
||||
#########################clk cfg#####################################
|
||||
clkcfg_magic_code=0x47464350
|
||||
#clkcfg_magic_code=0
|
||||
|
||||
#0:None,1:24M,2:32M,3:38.4M,4:40M,5:26M,6:RC32M
|
||||
xtal_type=4
|
||||
#0:RC32M,1:Xtal,2:cpupll 400M,3:wifipll 192M,4:wifipll 320M
|
||||
mcu_clk=4
|
||||
mcu_clk_div=0
|
||||
mcu_bclk_div=0
|
||||
mcu_pbclk_div=3
|
||||
|
||||
lp_div=1
|
||||
|
||||
#0:RC32M,1:Xtal,2:wifipll 240M,3:wifipll 320M,4:cpupll 400M
|
||||
dsp_clk=3
|
||||
dsp_clk_div=0
|
||||
dsp_bclk_div=1
|
||||
#0:RC32M,1:Xtal,2:wifipll 160M,3:cpupll 160M,4:wifipll 240M
|
||||
dsp_pbclk=2
|
||||
dsp_pbclk_div=0
|
||||
|
||||
#0:mcu pbclk,1:cpupll 200M,2:wifipll 320M,3:cpupll 400M
|
||||
emi_clk=2
|
||||
emi_clk_div=1
|
||||
|
||||
#0:wifipll 120M,1:xtal,2:cpupll 100M,3:wifipll 80M,4:bclk,5:wifipll 96M
|
||||
flash_clk_type=1
|
||||
flash_clk_div=0
|
||||
|
||||
wifipll_pu=1
|
||||
aupll_pu=1
|
||||
cpupll_pu=1
|
||||
mipipll_pu=1
|
||||
uhspll_pu=1
|
||||
|
||||
clkcfg_crc32=0
|
||||
|
||||
########################boot cfg#####################################
|
||||
#1:ECC
|
||||
sign=0
|
||||
#1:AES128 CTR,2:AES256 CTR,3:AES192 CTR,4:AES128 XTS
|
||||
encrypt_type=0
|
||||
key_sel=0
|
||||
xts_mode=0
|
||||
aes_region_lock=0
|
||||
no_segment=1
|
||||
boot2_enable=0
|
||||
boot2_rollback=0
|
||||
cpu_master_id=0
|
||||
notload_in_bootrom=0
|
||||
crc_ignore=1
|
||||
hash_ignore=1
|
||||
power_on_mm=1
|
||||
em_sel=1
|
||||
cmds_en=1
|
||||
#0:cmds bypass wrap commands to macro, original mode;
|
||||
#1:cmds handle wrap commands, original mode;
|
||||
#2:cmds bypass wrap commands to macro, cmds force wrap16*4 splitted into two wrap8*4;
|
||||
#3:cmds handle wrap commands, cmds force wrap16*4 splitted into two wrap8*4
|
||||
cmds_wrap_mode=2
|
||||
#0:SF_CTRL_WRAP_LEN_8, 1:SF_CTRL_WRAP_LEN_16, 2:SF_CTRL_WRAP_LEN_32,
|
||||
#3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
|
||||
cmds_wrap_len=2
|
||||
icache_invalid=1
|
||||
dcache_invalid=1
|
||||
fpga_halt_release=0
|
||||
|
||||
########################image cfg####################################
|
||||
#flash controller offset
|
||||
group_image_offset=0x00002000
|
||||
aes_region_len=0
|
||||
|
||||
#total image len or segment count
|
||||
img_len_cnt=0x8000
|
||||
#img hash
|
||||
hash_0=0xdeadbeef
|
||||
hash_1=0
|
||||
hash_2=0
|
||||
hash_3=0
|
||||
hash_4=0
|
||||
hash_5=0
|
||||
hash_6=0
|
||||
hash_7=0
|
||||
|
||||
########################CPU M0 cfg###################################
|
||||
m0_config_enable=1
|
||||
m0_halt_cpu=0
|
||||
m0_cache_enable=0
|
||||
m0_cache_wa=0
|
||||
m0_cache_wb=0
|
||||
m0_cache_wt=0
|
||||
m0_cache_way_dis=0
|
||||
m0_reserved=0
|
||||
m0_cache_range_h=0
|
||||
m0_cache_range_l=0
|
||||
|
||||
#img RAM address or flash offset
|
||||
m0_image_address_offset=0x00002000
|
||||
m0_boot_entry=0x58000000
|
||||
m0_msp_val=0
|
||||
|
||||
########################CPU D0 cfg###################################
|
||||
d0_config_enable=1
|
||||
d0_halt_cpu=0
|
||||
d0_cache_enable=0
|
||||
d0_cache_wa=0
|
||||
d0_cache_wb=0
|
||||
d0_cache_wt=0
|
||||
d0_cache_way_dis=0
|
||||
d0_reserved=0
|
||||
d0_cache_range_h=0
|
||||
d0_cache_range_l=0
|
||||
|
||||
#img RAM address or flash offset
|
||||
d0_image_address_offset=0x00022000
|
||||
d0_boot_entry=0x58020000
|
||||
d0_msp_val=0
|
||||
|
||||
########################CPU LP cfg###################################
|
||||
lp_config_enable=1
|
||||
lp_halt_cpu=0
|
||||
lp_cache_enable=0
|
||||
lp_cache_wa=0
|
||||
lp_cache_wb=0
|
||||
lp_cache_wt=0
|
||||
lp_cache_way_dis=0
|
||||
lp_reserved=0
|
||||
lp_cache_range_h=0x58050000
|
||||
lp_cache_range_l=0x58040000
|
||||
|
||||
#img RAM address or flash offset
|
||||
lp_image_address_offset=0x00042000
|
||||
lp_boot_entry=0x58040000
|
||||
lp_msp_val=0
|
||||
|
||||
boot2_pt_table_0=0
|
||||
boot2_pt_table_1=0
|
||||
|
||||
flashCfgTableAddr=0
|
||||
flashCfgTableLen=0
|
||||
|
||||
########################patch on read################################
|
||||
patch_read_addr0=0
|
||||
patch_read_value0=0
|
||||
patch_read_addr1=0
|
||||
patch_read_value1=0
|
||||
patch_read_addr2=0
|
||||
patch_read_value2=0
|
||||
patch_read_addr3=0
|
||||
patch_read_value3=0
|
||||
|
||||
########################patch on jump################################
|
||||
patch_jump_addr0=0x20000320
|
||||
patch_jump_value0=0
|
||||
patch_jump_addr1=0
|
||||
patch_jump_value1=0
|
||||
patch_jump_addr2=0
|
||||
patch_jump_value2=0
|
||||
patch_jump_addr3=0
|
||||
patch_jump_value3=0
|
||||
|
||||
reserved1=0
|
||||
reserved2=0
|
||||
reserved3=0
|
||||
reserved4=0
|
||||
|
||||
crc32=0xdeadbeef
|
||||
|
||||
[BOOTHEADER_GROUP1_CFG]
|
||||
magic_code=0x50414642
|
||||
revision=1
|
||||
|
||||
#########################flash cfg(ignored for group1)###############
|
||||
#########################clk cfg(ignored for group1)#################
|
||||
########################boot cfg#####################################
|
||||
#1:ECC
|
||||
sign=0
|
||||
#1:AES128,2:AES256,3:AES192
|
||||
encrypt_type=0
|
||||
key_sel=0
|
||||
xts_mode=0
|
||||
aes_region_lock=0
|
||||
no_segment=1
|
||||
boot2_enable=0
|
||||
boot2_rollback=0
|
||||
cpu_master_id=0
|
||||
notload_in_bootrom=0
|
||||
crc_ignore=1
|
||||
hash_ignore=1
|
||||
power_on_mm=0
|
||||
em_sel=0
|
||||
cmds_en=1
|
||||
cmds_wrap_mode=2
|
||||
#2:SF_CTRL_WRAP_LEN_32, 3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
|
||||
cmds_wrap_len=2
|
||||
icache_invalid=1
|
||||
dcache_invalid=1
|
||||
fpga_halt_release=0
|
||||
|
||||
########################image cfg####################################
|
||||
#flash controller offset
|
||||
group_image_offset=0x00052000
|
||||
aes_region_len=0
|
||||
|
||||
#total image len or segment count
|
||||
img_len_cnt=0x8000
|
||||
#img hash
|
||||
hash_0=0xdeadbeef
|
||||
hash_1=0
|
||||
hash_2=0
|
||||
hash_3=0
|
||||
hash_4=0
|
||||
hash_5=0
|
||||
hash_6=0
|
||||
hash_7=0
|
||||
|
||||
########################CPU M0 cfg###################################
|
||||
m0_config_enable=1
|
||||
m0_halt_cpu=0
|
||||
m0_cache_enable=0
|
||||
m0_cache_wa=0
|
||||
m0_cache_wb=0
|
||||
m0_cache_wt=0
|
||||
m0_cache_way_dis=0
|
||||
m0_reserved=0
|
||||
m0_cache_range_h=0
|
||||
m0_cache_range_l=0
|
||||
|
||||
#img RAM address or flash offset
|
||||
m0_image_address_offset=0x00052000
|
||||
m0_boot_entry=0xD8000000
|
||||
m0_msp_val=0
|
||||
|
||||
########################CPU D0 cfg###################################
|
||||
d0_config_enable=1
|
||||
d0_halt_cpu=0
|
||||
d0_cache_enable=0
|
||||
d0_cache_wa=0
|
||||
d0_cache_wb=0
|
||||
d0_cache_wt=0
|
||||
d0_cache_way_dis=0
|
||||
d0_reserved=0
|
||||
d0_cache_range_h=0
|
||||
d0_cache_range_l=0
|
||||
|
||||
#img RAM address or flash offset
|
||||
d0_image_address_offset=0x00072000
|
||||
d0_boot_entry=0x58020000
|
||||
d0_msp_val=0
|
||||
|
||||
########################CPU LP cfg###################################
|
||||
lp_config_enable=1
|
||||
lp_halt_cpu=0
|
||||
lp_cache_enable=0
|
||||
lp_cache_wa=0
|
||||
lp_cache_wb=0
|
||||
lp_cache_wt=0
|
||||
lp_cache_way_dis=0
|
||||
lp_reserved=0
|
||||
lp_cache_range_h=0
|
||||
lp_cache_range_l=0
|
||||
|
||||
#img RAM address or flash offset
|
||||
lp_image_address_offset=0x00082000
|
||||
lp_boot_entry=0x58040000
|
||||
lp_msp_val=0
|
||||
|
||||
boot2_pt_table_0=0
|
||||
boot2_pt_table_1=0
|
||||
|
||||
flashCfgTableAddr=0
|
||||
flashCfgTableLen=0
|
||||
|
||||
########################patch on read################################
|
||||
patch_read_addr0=0
|
||||
patch_read_value0=0
|
||||
patch_read_addr1=0
|
||||
patch_read_value1=0
|
||||
patch_read_addr2=0
|
||||
patch_read_value2=0
|
||||
patch_read_addr3=0
|
||||
patch_read_value3=0
|
||||
|
||||
########################patch on jump################################
|
||||
patch_jump_addr0=0x20000320
|
||||
patch_jump_value0=0
|
||||
patch_jump_addr1=0
|
||||
patch_jump_value1=0
|
||||
patch_jump_addr2=0
|
||||
patch_jump_value2=0
|
||||
patch_jump_addr3=0
|
||||
patch_jump_value3=0
|
||||
|
||||
reserved1=0
|
||||
reserved2=0
|
||||
reserved3=0
|
||||
reserved4=0
|
||||
|
||||
crc32=0xdeadbeef
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,32 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group0.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group0.bin
|
||||
publickey_file = img_create/publickey_uecc_group0.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group0.pem
|
||||
segheader_file = img_create/segheader_group0.bin
|
||||
segdata_file = bl606p\img_create\IPC\chiptest_ipc_basic_M0.bin bl606p\img_create\IPC\chiptest_ipc_basic_M1.bin UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_LP.bin
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group0.bin
|
||||
img_file = bl606p\img_create/img_group0.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group0_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
||||
|
||||
[Img_Group1_Cfg]
|
||||
boot_header_file = bl606p\efuse_bootheader/bootheader_group1.bin
|
||||
efuse_file = bl606p\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = bl606p\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_group1.bin
|
||||
publickey_file = img_create/publickey_uecc_group1.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc_group1.pem
|
||||
segheader_file = img_create/segheader_group1.bin
|
||||
segdata_file = UNUSED UNUSED bl606p\img_create\IPC\chiptest_ipc_basic_D0.bin bl606p\img_create\IPC\chiptest_ipc_basic_D1.bin UNUSED
|
||||
bootinfo_file = bl606p\img_create2/bootinfo_group1.bin
|
||||
img_file = bl606p\img_create/img_group1.bin
|
||||
whole_img_file = bl606p\img_create/wholeimg_group1_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
@ -0,0 +1,172 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
# If version is 2, It will use dynamic mode.
|
||||
version = 2
|
||||
|
||||
[[pt_entry]]
|
||||
type = 16
|
||||
name = "Boot2"
|
||||
device = 0
|
||||
address0 = 0
|
||||
size0 = 0xE000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x10000
|
||||
size0 = 0x200000
|
||||
address1 = 0x210000
|
||||
size1 = 0x200000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 10
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0x210000
|
||||
size0 = 0xa0000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "kv"
|
||||
device = 0
|
||||
address0 = 0x410000
|
||||
size0 = 0x10000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x420000
|
||||
size0 = 0x80000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 8
|
||||
# It shows Dts in DevCube
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x4A0000
|
||||
size0 = 0x6000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 9
|
||||
name = "Imgload"
|
||||
device = 0
|
||||
address0 = 0x500000
|
||||
size0 = 0x80000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0x3efa0001
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 10
|
||||
name = "SBI"
|
||||
device = 0
|
||||
address0 = 0x580000
|
||||
size0 = 0x40000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0x3ef8000F
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 11
|
||||
name = "DTB"
|
||||
device = 0
|
||||
address0 = 0x5C0000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0x3f00000F
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 12
|
||||
name = "Kernel"
|
||||
device = 0
|
||||
address0 = 0x600000
|
||||
size0 = 0x700000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0x5100000F
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 13
|
||||
name = "Rootfs"
|
||||
device = 0
|
||||
address0 = 0xD00000
|
||||
size0 = 0x300000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0x5200000F
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
142
tools/flash_tool/chips/bl606p/partition/partition_cfg_8M.toml
Normal file
142
tools/flash_tool/chips/bl606p/partition/partition_cfg_8M.toml
Normal file
@ -0,0 +1,142 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
# If version is 2, It will use dynamic mode.
|
||||
version = 2
|
||||
|
||||
[[pt_entry]]
|
||||
type = 16
|
||||
name = "Boot2"
|
||||
device = 0
|
||||
address0 = 0
|
||||
size0 = 0xE000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x10000
|
||||
size0 = 0x280000
|
||||
address1 = 0x290000
|
||||
size1 = 0x200000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 10
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0x490000
|
||||
size0 = 0xa0000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 2
|
||||
name = "D0FW"
|
||||
device = 0
|
||||
address0 = 0x530000
|
||||
size0 = 0xE0000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "IMTB"
|
||||
device = 0
|
||||
address0 = 0x610000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "kv"
|
||||
device = 0
|
||||
address0 = 0x620000
|
||||
size0 = 0x10000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x630000
|
||||
size0 = 0x100000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 7
|
||||
name = "Yocboot"
|
||||
device = 0
|
||||
address0 = 0x730000
|
||||
size0 = 0x10000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 8
|
||||
# It shows Dts in DevCube
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x740000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
6
tools/flash_tool/chips/bl616/conf/ota.toml
Normal file
6
tools/flash_tool/chips/bl616/conf/ota.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[ota]
|
||||
#max length of version_hardware is 15 bytes
|
||||
version_hardware = "BFL_Module_v1.1"
|
||||
#max length of version_software is 15 bytes
|
||||
version_software = "EVENT_V1.1.1"
|
||||
version_header = "BL60X_OTA_Ver1.0"
|
@ -0,0 +1,349 @@
|
||||
/dts-v1/;
|
||||
/include/ "bl602_base.dtsi";
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl602 IOT board";
|
||||
compatible = "bl,bl602-sample", "bl,bl602-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <5>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "okay";
|
||||
pin = <2>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <100>;
|
||||
end = <3000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <6000>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <15000>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Hi";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
i2s {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2s@40017000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017000 0x100>;
|
||||
mclk_only = "okay";
|
||||
pin {
|
||||
mclk = <11>;
|
||||
};
|
||||
};
|
||||
i2s@40017100 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2s";
|
||||
reg = <0x40017100 0x100>;
|
||||
mclk_only = "disable";
|
||||
pin {
|
||||
bclk = <12>;
|
||||
fs = <29>;
|
||||
do = <30>;
|
||||
di = <31>;
|
||||
};
|
||||
};
|
||||
};
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
i2c@40011000 {
|
||||
status = "okay";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011000 0x100>;
|
||||
pin {
|
||||
scl = <32>;
|
||||
sda = <13>;
|
||||
};
|
||||
devices {
|
||||
list_addr = <0x18 0x21>;
|
||||
list_driver = "i2c_es8311", "i2c_gc0308>";
|
||||
};
|
||||
};
|
||||
i2c@40011100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_i2c";
|
||||
reg = <0x40011100 0x100>;
|
||||
pin {
|
||||
/*empty here*/
|
||||
};
|
||||
};
|
||||
};
|
||||
timer {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
timer@40014000 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014000 0x100>;
|
||||
};
|
||||
timer@40014100 {
|
||||
status = "disable";
|
||||
compatible = "bl602_timer";
|
||||
reg = <0x40014100 0x100>;
|
||||
};
|
||||
};
|
||||
pwm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
pwm@4000A420 {
|
||||
status = "okay";
|
||||
compatible = "bl602_pwm";
|
||||
reg = <0x4000A420 0x20>;
|
||||
path = "/dev/pwm0";
|
||||
id = <0>;
|
||||
pin = <0>;
|
||||
freq = <800000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A440 {
|
||||
status = "disable";
|
||||
reg = <0x4000A440 0x20>;
|
||||
path = "/dev/pwm1";
|
||||
id = <1>;
|
||||
pin = <1>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A460 {
|
||||
status = "disable";
|
||||
reg = <0x4000A460 0x20>;
|
||||
path = "/dev/pwm2";
|
||||
id = <2>;
|
||||
pin = <2>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A480 {
|
||||
status = "disable";
|
||||
reg = <0x4000A480 0x20>;
|
||||
path = "/dev/pwm3";
|
||||
id = <3>;
|
||||
pin = <3>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
pwm@4000A4A0 {
|
||||
status = "disable";
|
||||
reg = <0x4000A4A0 0x20>;
|
||||
path = "/dev/pwm4";
|
||||
id = <4>;
|
||||
pin = <4>;
|
||||
freq = <5000>;
|
||||
duty = <50>;
|
||||
};
|
||||
};
|
||||
ir {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ctrltype = <0>;
|
||||
tx {
|
||||
status = "disable";
|
||||
pin = <11>; // only support 11
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
interval = <100>; // ms
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
};
|
||||
rx {
|
||||
status = "okay";
|
||||
pin = <12>; // only support 12 13
|
||||
mode = "NEC"; // NEC,ExtenedNEC,RC5,SWM
|
||||
active_mode = "Hi"; //Hi,Lo
|
||||
data_check = <2>; //bit 0:check cmd, bit 1:check addr
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <7>;
|
||||
tx = <16>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "okay";
|
||||
id = <1>;
|
||||
compatible = "bl602_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
buf_size {
|
||||
rx_size = <512>;
|
||||
tx_size = <512>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi@4000F000 {
|
||||
status = "okay"; /* okay disable */
|
||||
mode = "master";
|
||||
reg = <0x4000F000 0x100>; /* 4KB */
|
||||
path = "/dev/spi0";
|
||||
port = <0>;
|
||||
polar_phase = <1>; /* 0,1,2,3 */
|
||||
freq = <6000000>;
|
||||
pin {
|
||||
clk = <3>;
|
||||
cs = <2>;
|
||||
mosi = <1>;
|
||||
miso = <0>;
|
||||
};
|
||||
dma_cfg {
|
||||
tx_dma_ch = <2>;
|
||||
rx_dma_ch = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
gpip {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
adc_key {
|
||||
status = "disable";
|
||||
pin = <9>;
|
||||
interrupt = <3>;
|
||||
key_vol = <0 100 400 300 500>;
|
||||
key_pcb = "SW1", "SW2", "SW3", "SW4","SW5";
|
||||
key_event = "Usr1", "Usr2", "Start", "Up", "Down";
|
||||
key_raw = <1 2 3 4 5>;
|
||||
};
|
||||
};
|
||||
qspi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qspi@4000A000 {
|
||||
status = "disable";
|
||||
reg = <0x4000A000 0x1000>;/* 4KB */
|
||||
};
|
||||
};
|
||||
wifi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
region {
|
||||
country_code = <86>;
|
||||
};
|
||||
mac {
|
||||
mode = "MBF";
|
||||
sta_mac_addr = [C8 43 57 82 73 40];
|
||||
ap_mac_addr = [C8 43 57 82 73 02];
|
||||
};
|
||||
sta {
|
||||
ssid = "yourssid";
|
||||
pwd = "yourapssword";
|
||||
auto_connect_enable = <0>;
|
||||
};
|
||||
ap {
|
||||
ssid = "bl_test_005";
|
||||
pwd = "12345678";
|
||||
ap_channel = <11>;
|
||||
auto_chan_detect = "disable";
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
/*
|
||||
pwr_table = < 4 3 3 186
|
||||
4 3 4 176
|
||||
4 3 5 167
|
||||
3 3 0 159
|
||||
3 3 1 149
|
||||
3 3 2 140
|
||||
3 3 3 129
|
||||
3 3 4 119
|
||||
3 3 5 110
|
||||
2 3 0 101
|
||||
2 3 1 91
|
||||
2 3 2 82
|
||||
2 3 3 72
|
||||
2 3 4 62
|
||||
2 3 5 52
|
||||
1 3 3 10>;
|
||||
*/
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
pwr_table_11b = <20 20 20 18>;//1Mbps 2Mbps 5.5Mbps 11Mbps
|
||||
pwr_table_11g = <18 18 18 18 18 18 14 14>; //6Mbps 9Mbps 12Mbps 18MBps 24Mbps 36Mbps 48Mbps 54Mbps
|
||||
pwr_table_11n = <18 18 18 18 18 16 14 14>; //MCS0 MCS1 MCS2 MCS3 MCS4 MCS5 MCS6 MCS7
|
||||
pwr_offset = <16 16 16 16 16 16 16 16 16 16 16 16 16 16>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 16.
|
||||
//so 14 represents -0.5dBm; 16 represents 0dBm; 20 represents 1dBm;(step is 0.25dBm)
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
linear_or_follow = <1>;
|
||||
Tchannels = <2412 2427 2442 2457 2472>;
|
||||
Tchannel_os = <180 168 163 160 157>;
|
||||
Tchannel_os_low = <199 186 170 165 160>;
|
||||
Troom_os = <255>;
|
||||
//negative value is NOT supported. So we use '256' for 0, '255' for -1, '257' for 1,'511' for 256
|
||||
};
|
||||
};
|
||||
bluetooth {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
brd_rf {
|
||||
pwr_table_ble = <13>; //range:0~15dbm
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,116 @@
|
||||
[LOAD_CFG]
|
||||
#jlink or uart
|
||||
interface = uart
|
||||
device = COM1
|
||||
speed_uart_boot = 500000
|
||||
speed_uart_load = 2000000
|
||||
#cklink usb vid|pid
|
||||
cklink_vidpid = 42bf|b210
|
||||
cklink_type = CKLink_Lite_Vendor-rog
|
||||
#eg: rv_dbg_plus, ft2232hl, ft2232d
|
||||
openocd_config = rv_dbg_plus
|
||||
auto_burn = false
|
||||
speed_jlink = 1000
|
||||
#0:without load, 1:eflash_loader load, 2: bootrom load
|
||||
load_function = 2
|
||||
do_reset = true
|
||||
#reset retry+hold time
|
||||
reset_hold_time = 50
|
||||
shake_hand_delay = 100
|
||||
reset_revert = false
|
||||
cutoff_time = 50
|
||||
shake_hand_retry = 3
|
||||
flash_burn_retry = 1
|
||||
checksum_err_retry = 3
|
||||
erase_time_out = 100000
|
||||
#chiptype=bl616
|
||||
check_mac = true
|
||||
#0:no erase,1:programmed section erase,2:chip erase
|
||||
erase = 1
|
||||
# switch eflash_loader command log save
|
||||
local_log = false
|
||||
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
|
||||
verify = 0
|
||||
tx_size = 2056
|
||||
cpu_reset_after_load = false
|
||||
#empty for auto, otherwise specified clock para file path: eg: chips/bl616/efuse_bootheader/clock_para.bin
|
||||
clock_para = chips/bl616/efuse_bootheader/clock_para.bin
|
||||
boot2_isp_mode = 0
|
||||
isp_mode_speed = 2000000
|
||||
isp_shakehand_timeout = 0
|
||||
|
||||
[FLASH_CFG]
|
||||
flash_id = ef4016
|
||||
#bit 7-4 flash_clock_type: 0:120M wifipll, 1:xtal, 2:128M cpupll, 3:80M wifipll, 4:bclk, 5:96M wifipll
|
||||
#bit 3-0 flash_clock_div
|
||||
flash_clock_cfg = 0x41
|
||||
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
|
||||
flash_clock_delay = 0
|
||||
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
|
||||
flash_io_mode = 1
|
||||
#flash_pin value:
|
||||
#bit 7 flash pin autoscan
|
||||
#bit 6 flash select 0: flash1, 1: flash2
|
||||
#bit 5-0 flash pin cfg:
|
||||
#0x0: single flash, sf1 internal swap io3 and io0
|
||||
#0x1: single flash, sf1 internal swap io3 with io0 and io2 with cs
|
||||
#0x2: single flash, sf1 internal no swap
|
||||
#0x3: single flash, sf1 internal swap io2 with cs
|
||||
#0x4: single flash, sf2 external GPIO4-9 and swap io3 with io0
|
||||
#0x8: single flash, sf3 external GPIO10-15
|
||||
#0x14:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x15:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x16:dual flash, sf1 internal no swap, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x17:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x24:single flash, sf2 external GPIO4-9
|
||||
#0x34:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 no swap
|
||||
#0x35:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 no swap
|
||||
#0x36:dual flash, sf1 internal no swap, sf2 external GPIO4-9 no swap
|
||||
#0x37:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 no swap
|
||||
flash_pin = 0x80
|
||||
#empty for auto, otherwise specified flash para file path: eg: chips/bl616/efuse_bootheader/flash_para.bin
|
||||
flash_para = chips/bl616/efuse_bootheader/flash_para.bin
|
||||
decompress_write = false
|
||||
file = chips/bl616/img_create2/whole_img.bin
|
||||
address = 00000000
|
||||
|
||||
[FLASH2_CFG]
|
||||
flash2_en = false
|
||||
#flash size, 0:0.5M, 1:1M, 2:2M, 4: 4M, 8: 8M, 16: 16M
|
||||
flash1_size = 4
|
||||
flash2_size = 2
|
||||
flash2_id = ef4015
|
||||
flash2_clock_cfg = 0x41
|
||||
#0:0.5T delay, 1:1T delay, 2:1.5T delay, 3:2T delay
|
||||
flash2_clock_delay = 0
|
||||
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
|
||||
flash2_io_mode = 0x10
|
||||
#flash_pin value:
|
||||
#bit 7 flash pin autoscan
|
||||
#bit 6 flash select 0: flash1, 1: flash2
|
||||
#bit 5-0 flash pin cfg:
|
||||
#0x0: single flash, sf1 internal swap io3 and io0
|
||||
#0x1: single flash, sf1 internal swap io3 with io0 and io2 with cs
|
||||
#0x2: single flash, sf1 internal no swap
|
||||
#0x3: single flash, sf1 internal swap io2 with cs
|
||||
#0x4: single flash, sf2 external GPIO4-9 and swap io3 with io0
|
||||
#0x8: single flash, sf3 external GPIO10-15
|
||||
#0x14:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x15:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x16:dual flash, sf1 internal no swap, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x17:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 swap io3 with io0
|
||||
#0x24:single flash, sf2 external GPIO4-9
|
||||
#0x34:dual flash, sf1 internal swap io3 and io0, sf2 external GPIO4-9 no swap
|
||||
#0x35:dual flash, sf1 internal swap io3 with io0 and io2 with cs, sf2 external GPIO4-9 no swap
|
||||
#0x36:dual flash, sf1 internal no swap, sf2 external GPIO4-9 no swap
|
||||
#0x37:dual flash, sf1 internal swap io2 with cs, sf2 external GPIO4-9 no swap
|
||||
flash2_pin = 0xC0
|
||||
#empty for auto, otherwise specified flash para file path: eg: chips/bl616/efuse_bootheader/flash2_para.bin
|
||||
flash2_para = chips/bl616/efuse_bootheader/flash2_para.bin
|
||||
|
||||
[EFUSE_CFG]
|
||||
burn_en = true
|
||||
factory_mode = false
|
||||
security_write = false
|
||||
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
|
||||
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin
|
@ -0,0 +1,382 @@
|
||||
[EFUSE_CFG]
|
||||
########################################################################
|
||||
ef_sf_aes_mode = 0
|
||||
ef_sboot_en = 0
|
||||
ef_dbg_jtag_0_dis = 0
|
||||
ef_dbg_mode = 0
|
||||
###################################################################
|
||||
ef_dbg_pwd_low = 0
|
||||
ef_dbg_pwd_high = 0
|
||||
##########################################
|
||||
sign_cfg = 0
|
||||
################################################################
|
||||
|
||||
ef_key_slot_0_w0 = 0
|
||||
ef_key_slot_0_w1 = 0
|
||||
ef_key_slot_0_w2 = 0
|
||||
ef_key_slot_0_w3 = 0
|
||||
ef_key_slot_1_w0 = 0
|
||||
ef_key_slot_1_w1 = 0
|
||||
ef_key_slot_1_w2 = 0
|
||||
ef_key_slot_1_w3 = 0
|
||||
ef_key_slot_2_w0 = 0
|
||||
ef_key_slot_2_w1 = 0
|
||||
ef_key_slot_2_w2 = 0
|
||||
ef_key_slot_2_w3 = 0
|
||||
ef_key_slot_3_w0 = 0
|
||||
ef_key_slot_3_w1 = 0
|
||||
ef_key_slot_3_w2 = 0
|
||||
ef_key_slot_3_w3 = 0
|
||||
wr_lock_key_slot_0 = 0
|
||||
wr_lock_key_slot_1 = 0
|
||||
wr_lock_key_slot_2 = 0
|
||||
wr_lock_key_slot_3 = 0
|
||||
wr_lock_sw_usage_0 = 0
|
||||
wr_lock_sw_usage_1 = 0
|
||||
wr_lock_sw_usage_2 = 0
|
||||
wr_lock_sw_usage_3 = 0
|
||||
wr_lock_key_slot_11 = 0
|
||||
rd_lock_dbg_pwd = 0
|
||||
rd_lock_key_slot_0 = 0
|
||||
rd_lock_key_slot_1 = 0
|
||||
rd_lock_key_slot_2 = 0
|
||||
rd_lock_key_slot_3 = 0
|
||||
rd_lock_key_slot_11 = 0
|
||||
########################################################################
|
||||
ef_key_slot_4_w0 = 0
|
||||
ef_key_slot_4_w1 = 0
|
||||
ef_key_slot_4_w2 = 0
|
||||
ef_key_slot_4_w3 = 0
|
||||
ef_key_slot_5_w0 = 0
|
||||
ef_key_slot_5_w1 = 0
|
||||
ef_key_slot_5_w2 = 0
|
||||
ef_key_slot_5_w3 = 0
|
||||
ef_key_slot_6_w0 = 0
|
||||
ef_key_slot_6_w1 = 0
|
||||
ef_key_slot_6_w2 = 0
|
||||
ef_key_slot_6_w3 = 0
|
||||
ef_key_slot_7_w0 = 0
|
||||
ef_key_slot_7_w1 = 0
|
||||
ef_key_slot_7_w2 = 0
|
||||
ef_key_slot_7_w3 = 0
|
||||
ef_key_slot_8_w0 = 0
|
||||
ef_key_slot_8_w1 = 0
|
||||
ef_key_slot_8_w2 = 0
|
||||
ef_key_slot_8_w3 = 0
|
||||
ef_key_slot_9_w0 = 0
|
||||
ef_key_slot_9_w1 = 0
|
||||
ef_key_slot_9_w2 = 0
|
||||
ef_key_slot_9_w3 = 0
|
||||
ef_key_slot_10_w0 = 0
|
||||
ef_key_slot_10_w1 = 0
|
||||
ef_key_slot_10_w2 = 0
|
||||
ef_key_slot_10_w3 = 0
|
||||
ef_dat_1_rsvd_0 = 0
|
||||
ef_dat_1_rsvd_1 = 0
|
||||
ef_dat_1_rsvd_2 = 0
|
||||
########################################################################
|
||||
wr_lock_rsvd_2 = 0
|
||||
wr_lock_key_slot_4 = 0
|
||||
wr_lock_key_slot_5 = 0
|
||||
wr_lock_key_slot_6 = 0
|
||||
wr_lock_key_slot_7 = 0
|
||||
wr_lock_key_slot_8 = 0
|
||||
wr_lock_key_slot_9 = 0
|
||||
wr_lock_key_slot_10 = 0
|
||||
wr_lock_dat_1_rsvd_0 = 0
|
||||
wr_lock_dat_1_rsvd_1 = 0
|
||||
wr_lock_dat_1_rsvd_2 = 0
|
||||
rd_lock_key_slot_4 = 0
|
||||
rd_lock_key_slot_5 = 0
|
||||
rd_lock_key_slot_6 = 0
|
||||
rd_lock_key_slot_7 = 0
|
||||
rd_lock_key_slot_8 = 0
|
||||
rd_lock_key_slot_9 = 0
|
||||
rd_lock_key_slot_10 = 0
|
||||
########################################################################
|
||||
ef_zone_00_w0 = 0
|
||||
ef_zone_00_w1 = 0
|
||||
ef_zone_00_w2 = 0
|
||||
ef_zone_00_w3 = 0
|
||||
ef_zone_01_w0 = 0
|
||||
ef_zone_01_w1 = 0
|
||||
ef_zone_01_w2 = 0
|
||||
ef_zone_01_w3 = 0
|
||||
ef_zone_02_w0 = 0
|
||||
ef_zone_02_w1 = 0
|
||||
ef_zone_02_w2 = 0
|
||||
ef_zone_02_w3 = 0
|
||||
ef_zone_03_w0 = 0
|
||||
ef_zone_03_w1 = 0
|
||||
ef_zone_03_w2 = 0
|
||||
ef_zone_03_w3 = 0
|
||||
ef_zone_04_w0 = 0
|
||||
ef_zone_04_w1 = 0
|
||||
ef_zone_04_w2 = 0
|
||||
ef_zone_04_w3 = 0
|
||||
ef_zone_05_w0 = 0
|
||||
ef_zone_05_w1 = 0
|
||||
ef_zone_05_w2 = 0
|
||||
ef_zone_05_w3 = 0
|
||||
ef_zone_06_w0 = 0
|
||||
ef_zone_06_w1 = 0
|
||||
ef_zone_06_w2 = 0
|
||||
ef_zone_06_w3 = 0
|
||||
ef_zone_07_w0 = 0
|
||||
ef_zone_07_w1 = 0
|
||||
ef_zone_07_w2 = 0
|
||||
ef_zone_07_w3 = 0
|
||||
ef_zone_08_w0 = 0
|
||||
ef_zone_08_w1 = 0
|
||||
ef_zone_08_w2 = 0
|
||||
ef_zone_08_w3 = 0
|
||||
ef_zone_09_w0 = 0
|
||||
ef_zone_09_w1 = 0
|
||||
ef_zone_09_w2 = 0
|
||||
ef_zone_09_w3 = 0
|
||||
ef_zone_10_w0 = 0
|
||||
ef_zone_10_w1 = 0
|
||||
ef_zone_10_w2 = 0
|
||||
ef_zone_10_w3 = 0
|
||||
ef_zone_11_w0 = 0
|
||||
ef_zone_11_w1 = 0
|
||||
ef_zone_11_w2 = 0
|
||||
ef_zone_11_w3 = 0
|
||||
ef_zone_12_w0 = 0
|
||||
ef_zone_12_w1 = 0
|
||||
ef_zone_12_w2 = 0
|
||||
ef_zone_12_w3 = 0
|
||||
ef_zone_13_w0 = 0
|
||||
ef_zone_13_w1 = 0
|
||||
ef_zone_13_w2 = 0
|
||||
ef_zone_13_w3 = 0
|
||||
ef_zone_14_w0 = 0
|
||||
ef_zone_14_w1 = 0
|
||||
ef_zone_14_w2 = 0
|
||||
ef_zone_14_w3 = 0
|
||||
ef_zone_15_w0 = 0
|
||||
ef_zone_15_w1 = 0
|
||||
ef_zone_15_w2 = 0
|
||||
ef_zone_15_w3 = 0
|
||||
|
||||
[BOOTHEADER_GROUP0_CFG]
|
||||
magic_code = 0x504e4642
|
||||
revision = 0x01
|
||||
#########################flash cfg#############################
|
||||
flashcfg_magic_code = 0x47464346
|
||||
#flashcfg_magic_code=0
|
||||
io_mode = 0x10
|
||||
#0.5T sfctrl_clk_delay=0 sfctrl_clk_invert=3
|
||||
#1 T sfctrl_clk_delay=1 sfctrl_clk_invert=1
|
||||
#1.5T sfctrl_clk_delay=1 sfctrl_clk_invert=3
|
||||
cont_read_support = 0
|
||||
sfctrl_clk_delay = 1
|
||||
sfctrl_clk_invert = 0x01
|
||||
|
||||
reset_en_cmd = 0x66
|
||||
reset_cmd = 0x99
|
||||
exit_contread_cmd = 0xff
|
||||
exit_contread_cmd_size = 0x3
|
||||
|
||||
jedecid_cmd = 0x9f
|
||||
jedecid_cmd_dmy_clk = 0
|
||||
enter_32bits_addr_cmd = 0xb7
|
||||
exit_32bits_addr_clk = 0xe9
|
||||
|
||||
sector_size = 4
|
||||
mfg_id = 0xff
|
||||
page_size = 256
|
||||
|
||||
chip_erase_cmd = 0xc7
|
||||
sector_erase_cmd = 0x20
|
||||
blk32k_erase_cmd = 0x52
|
||||
blk64k_erase_cmd = 0xd8
|
||||
|
||||
write_enable_cmd = 0x06
|
||||
page_prog_cmd = 0x02
|
||||
qpage_prog_cmd = 0x32
|
||||
qual_page_prog_addr_mode = 0
|
||||
|
||||
fast_read_cmd = 0x0b
|
||||
fast_read_dmy_clk = 1
|
||||
qpi_fast_read_cmd = 0x0b
|
||||
qpi_fast_read_dmy_clk = 1
|
||||
|
||||
fast_read_do_cmd = 0x3b
|
||||
fast_read_do_dmy_clk = 1
|
||||
fast_read_dio_cmd = 0xbb
|
||||
fast_read_dio_dmy_clk = 0
|
||||
|
||||
fast_read_qo_cmd = 0x6b
|
||||
fast_read_qo_dmy_clk = 1
|
||||
fast_read_qio_cmd = 0xeb
|
||||
fast_read_qio_dmy_clk = 2
|
||||
|
||||
qpi_fast_read_qio_cmd = 0xeb
|
||||
qpi_fast_read_qio_dmy_clk = 2
|
||||
qpi_page_prog_cmd = 0x02
|
||||
write_vreg_enable_cmd = 0x50
|
||||
|
||||
wel_reg_index = 0
|
||||
qe_reg_index = 1
|
||||
busy_reg_index = 0
|
||||
wel_bit_pos = 1
|
||||
|
||||
qe_bit_pos = 1
|
||||
busy_bit_pos = 0
|
||||
wel_reg_write_len = 2
|
||||
wel_reg_read_len = 1
|
||||
|
||||
qe_reg_write_len = 2
|
||||
qe_reg_read_len = 1
|
||||
release_power_down = 0xab
|
||||
busy_reg_read_len = 1
|
||||
|
||||
reg_read_cmd0 = 0x05
|
||||
reg_read_cmd1 = 0x35
|
||||
|
||||
reg_write_cmd0 = 0x01
|
||||
reg_write_cmd1 = 0x01
|
||||
|
||||
enter_qpi_cmd = 0x38
|
||||
exit_qpi_cmd = 0xff
|
||||
cont_read_code = 0x20
|
||||
cont_read_exit_code = 0xf0
|
||||
|
||||
burst_wrap_cmd = 0x77
|
||||
burst_wrap_dmy_clk = 0x03
|
||||
burst_wrap_data_mode = 2
|
||||
burst_wrap_code = 0x40
|
||||
|
||||
de_burst_wrap_cmd = 0x77
|
||||
de_burst_wrap_cmd_dmy_clk = 0x03
|
||||
de_burst_wrap_code_mode = 2
|
||||
de_burst_wrap_code = 0xf0
|
||||
|
||||
sector_erase_time = 300
|
||||
blk32k_erase_time = 1200
|
||||
|
||||
blk64k_erase_time = 1200
|
||||
|
||||
page_prog_time = 50
|
||||
|
||||
chip_erase_time = 200000
|
||||
power_down_delay = 20
|
||||
qe_data = 0
|
||||
|
||||
flashcfg_crc32 = 0
|
||||
|
||||
#########################clk cfg#####################################
|
||||
clkcfg_magic_code = 0x47464350
|
||||
#clkcfg_magic_code=0
|
||||
|
||||
#0:None,1:24M,2:32M,3:38.4M,4:40M,5:26M,6:RC32M
|
||||
xtal_type = 7
|
||||
#mcu_clk 0:RC32M;1:XTAL;2:aupll_div2;3:aupll_div1;4:wifipll_240M;5:wifipll_320M
|
||||
mcu_clk = 5
|
||||
mcu_clk_div = 0
|
||||
mcu_bclk_div = 0
|
||||
mcu_pbclk_div = 3
|
||||
|
||||
#0:mcu pbclk,1:cpupll 200M,2:wifipll 320M,3:cpupll 400M
|
||||
emi_clk = 2
|
||||
emi_clk_div = 1
|
||||
|
||||
#flash_clk_type 0:wifipll_120M;1:xtal;2:aupll_div5;3:muxpll_80M;4:bclk;5:wifipll_96M
|
||||
flash_clk_type = 1
|
||||
flash_clk_div = 0
|
||||
|
||||
wifipll_pu = 1
|
||||
aupll_pu = 1
|
||||
|
||||
rsvd0 = 0
|
||||
|
||||
clkcfg_crc32 = 0
|
||||
|
||||
########################boot cfg#####################################
|
||||
#1:ECC
|
||||
sign = 0
|
||||
#1:AES128 CTR,2:AES256 CTR,3:AES192 CTR,4:AES128 XTS
|
||||
encrypt_type = 0
|
||||
key_sel = 0
|
||||
xts_mode = 0
|
||||
aes_region_lock = 0
|
||||
no_segment = 1
|
||||
boot2_enable = 0
|
||||
boot2_rollback = 0
|
||||
cpu_master_id = 0
|
||||
notload_in_bootrom = 0
|
||||
crc_ignore = 0
|
||||
hash_ignore = 0
|
||||
power_on_mm = 1
|
||||
em_sel = 1
|
||||
cmds_en = 1
|
||||
#0:cmds bypass wrap commands to macro, original mode;
|
||||
#1:cmds handle wrap commands, original mode;
|
||||
#2:cmds bypass wrap commands to macro, cmds force wrap16*4 splitted into two wrap8*4;
|
||||
#3:cmds handle wrap commands, cmds force wrap16*4 splitted into two wrap8*4
|
||||
cmds_wrap_mode=2
|
||||
#0:SF_CTRL_WRAP_LEN_8, 1:SF_CTRL_WRAP_LEN_16, 2:SF_CTRL_WRAP_LEN_32,
|
||||
#3:SF_CTRL_WRAP_LEN_64, 9: SF_CTRL_WRAP_LEN_4096
|
||||
cmds_wrap_len = 2
|
||||
icache_invalid = 1
|
||||
dcache_invalid = 1
|
||||
fpga_halt_release = 0
|
||||
|
||||
########################image cfg####################################
|
||||
#flash controller offset
|
||||
group_image_offset = 0x2000
|
||||
aes_region_len = 0
|
||||
|
||||
#total image len or segment count
|
||||
img_len_cnt = 0x100
|
||||
#img hash
|
||||
hash_0 = 0xdeadbeef
|
||||
hash_1 = 0
|
||||
hash_2 = 0
|
||||
hash_3 = 0
|
||||
hash_4 = 0
|
||||
hash_5 = 0
|
||||
hash_6 = 0
|
||||
hash_7 = 0
|
||||
|
||||
########################CPU M0 cfg###################################
|
||||
m0_config_enable = 1
|
||||
m0_halt_cpu = 0
|
||||
m0_cache_enable = 0
|
||||
m0_cache_wa = 0
|
||||
m0_cache_wb = 0
|
||||
m0_cache_wt = 0
|
||||
m0_cache_way_dis = 0
|
||||
m0_reserved = 0
|
||||
|
||||
#img RAM address or flash offset
|
||||
m0_image_address_offset = 0x0
|
||||
m0_boot_entry = 0xA0000000
|
||||
m0_msp_val = 0
|
||||
|
||||
boot2_pt_table_0 = 0
|
||||
boot2_pt_table_1 = 0
|
||||
|
||||
flashCfgTableAddr = 0
|
||||
flashCfgTableLen = 0
|
||||
|
||||
########################patch on read################################
|
||||
patch_read_addr0 = 0
|
||||
patch_read_value0 = 0
|
||||
patch_read_addr1 = 0
|
||||
patch_read_value1 = 0
|
||||
patch_read_addr2 = 0
|
||||
patch_read_value2 = 0
|
||||
|
||||
########################patch on jump################################
|
||||
patch_jump_addr0 = 0
|
||||
patch_jump_value0 = 0
|
||||
patch_jump_addr1 = 0
|
||||
patch_jump_value1 = 0
|
||||
patch_jump_addr2 = 0
|
||||
patch_jump_value2 = 0
|
||||
|
||||
reserved = 0
|
||||
|
||||
crc32 = 0xdeadbeef
|
@ -0,0 +1,16 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = wb03\efuse_bootheader/bootheader.bin
|
||||
efuse_file = wb03\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = wb03\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file = wb03\img_create\IPC\chiptest_ipc_basic.bin
|
||||
bootinfo_file = wb03\img_create2/bootinfo.bin
|
||||
img_file = wb03\img_create/img.bin
|
||||
whole_img_file = wb03\img_create/wholeimg_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
@ -0,0 +1,16 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = wb03\efuse_bootheader/bootheader.bin
|
||||
efuse_file = wb03\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = wb03\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file = wb03\img_create\IPC\chiptest_ipc_basic.bin
|
||||
bootinfo_file = wb03\img_create2/bootinfo.bin
|
||||
img_file = wb03\img_create/img.bin
|
||||
whole_img_file = wb03\img_create/wholeimg_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
@ -0,0 +1,16 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = wb03\efuse_bootheader/bootheader.bin
|
||||
efuse_file = wb03\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = wb03\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file = wb03\img_create\IPC\chiptest_ipc_basic.bin
|
||||
bootinfo_file = wb03\img_create2/bootinfo.bin
|
||||
img_file = wb03\img_create/img.bin
|
||||
whole_img_file = wb03\img_create/wholeimg_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
@ -0,0 +1,16 @@
|
||||
[Img_Group0_Cfg]
|
||||
boot_header_file = wb03\efuse_bootheader/bootheader.bin
|
||||
efuse_file = wb03\efuse_bootheader/efusedata.bin
|
||||
efuse_mask_file = wb03\efuse_bootheader/efusedata_mask.bin
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file = wb03\img_create\IPC\chiptest_ipc_basic.bin
|
||||
bootinfo_file = wb03\img_create2/bootinfo.bin
|
||||
img_file = wb03\img_create/img.bin
|
||||
whole_img_file = wb03\img_create/wholeimg_if.bin
|
||||
aes_key_org = ""
|
||||
aes_iv = ""
|
||||
|
126
tools/flash_tool/chips/bl616/partition/partition_cfg_2M.toml
Normal file
126
tools/flash_tool/chips/bl616/partition/partition_cfg_2M.toml
Normal file
@ -0,0 +1,126 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
# If version is 2, It will use dynamic mode.
|
||||
version = 2
|
||||
|
||||
[[pt_entry]]
|
||||
type = 16
|
||||
name = "Boot2"
|
||||
device = 0
|
||||
address0 = 0
|
||||
size0 = 0xE000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x10000
|
||||
size0 = 0xE0000
|
||||
address1 = 0xF0000
|
||||
size1 = 0x80000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 10
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0xE0000
|
||||
size0 = 0x80000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 2
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x170000
|
||||
size0 = 0x79000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "PSM"
|
||||
device = 0
|
||||
address0 = 0x1E9000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "KEY"
|
||||
device = 0
|
||||
address0 = 0x1F1000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "DATA"
|
||||
device = 0
|
||||
address0 = 0x1F3000
|
||||
size0 = 0x5000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 6
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x1F8000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
126
tools/flash_tool/chips/bl616/partition/partition_cfg_4M.toml
Normal file
126
tools/flash_tool/chips/bl616/partition/partition_cfg_4M.toml
Normal file
@ -0,0 +1,126 @@
|
||||
[pt_table]
|
||||
#partition table is 4K in size
|
||||
address0 = 0xE000
|
||||
address1 = 0xF000
|
||||
# If version is 2, It will use dynamic mode.
|
||||
version = 2
|
||||
|
||||
[[pt_entry]]
|
||||
type = 16
|
||||
name = "Boot2"
|
||||
device = 0
|
||||
address0 = 0
|
||||
size0 = 0xE000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 0
|
||||
name = "FW"
|
||||
device = 0
|
||||
address0 = 0x10000
|
||||
size0 = 0x1F8000
|
||||
address1 = 0x208000
|
||||
size1 = 0x168000
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 10
|
||||
name = "mfg"
|
||||
device = 0
|
||||
address0 = 0x208000
|
||||
size0 = 0x168000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 1
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 1
|
||||
|
||||
[[pt_entry]]
|
||||
type = 2
|
||||
name = "media"
|
||||
device = 0
|
||||
address0 = 0x370000
|
||||
size0 = 0x79000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 3
|
||||
name = "PSM"
|
||||
device = 0
|
||||
address0 = 0x3E9000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 4
|
||||
name = "KEY"
|
||||
device = 0
|
||||
address0 = 0x3F1000
|
||||
size0 = 0x2000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 5
|
||||
name = "DATA"
|
||||
device = 0
|
||||
address0 = 0x3F3000
|
||||
size0 = 0x5000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security = 0
|
||||
|
||||
[[pt_entry]]
|
||||
type = 6
|
||||
name = "factory"
|
||||
device = 0
|
||||
address0 = 0x3F8000
|
||||
size0 = 0x8000
|
||||
address1 = 0
|
||||
size1 = 0
|
||||
# compressed image must set len,normal image can left it to 0
|
||||
len = 0
|
||||
# If header is 1, it will add the header.
|
||||
header = 0
|
||||
# If header is 1 and security is 1, It will be encrypted.
|
||||
security= 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
6
tools/flash_tool/chips/bl702/conf/ota.toml
Normal file
6
tools/flash_tool/chips/bl702/conf/ota.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[ota]
|
||||
#max length of version_hardware is 15 bytes
|
||||
version_hardware = "BFL_Module_v1.1"
|
||||
#max length of version_software is 15 bytes
|
||||
version_software = "EVENT_V1.1.1"
|
||||
version_header = "BL60X_OTA_Ver1.0"
|
@ -0,0 +1,116 @@
|
||||
/dts-v1/;
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl702 AVB board";
|
||||
compatible = "bl,bl702-sample", "bl,bl702-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <22>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "onoff"; //blink or hearbeat or onoff
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat or onoff
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "disable";
|
||||
pin = <5>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <30>;
|
||||
end = <4000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <4001>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <10001>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Lo";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl702_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <15>;
|
||||
tx = <14>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "disable";
|
||||
id = <1>;
|
||||
compatible = "bl702_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
wireless {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
mac {
|
||||
mode = "MBF"; // 'M': manufacture; 'B': efuse; 'F': flash
|
||||
mac_addr = [C8 43 57 82 73 40 88 88];
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
pwr = <14>; //range:0~14dbm
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
//pwr_offset = <10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
pwr_offset_zigbee = <10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10>;
|
||||
pwr_offset_ble = <10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10>;
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,116 @@
|
||||
/dts-v1/;
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl702 AVB board";
|
||||
compatible = "bl,bl702-sample", "bl,bl702-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <22>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "onoff"; //blink or hearbeat or onoff
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat or onoff
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "disable";
|
||||
pin = <5>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <30>;
|
||||
end = <4000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <4001>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <10001>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Lo";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl702_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <15>;
|
||||
tx = <14>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "disable";
|
||||
id = <1>;
|
||||
compatible = "bl702_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
wireless {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
mac {
|
||||
mode = "MBF"; // 'M': manufacture; 'B': efuse; 'F': flash
|
||||
mac_addr = [C8 43 57 82 73 40 88 88];
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
pwr = <14>; //range:0~14dbm
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
//pwr_offset = <10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
pwr_offset_zigbee = <10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10>;
|
||||
pwr_offset_ble = <10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10>;
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,116 @@
|
||||
/dts-v1/;
|
||||
// version: 17
|
||||
// last_comp_version: 16
|
||||
// boot_cpuid_phys: 0x0
|
||||
|
||||
/ {
|
||||
model = "bl bl702 AVB board";
|
||||
compatible = "bl,bl702-sample", "bl,bl702-common";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
gpio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
max_num = <40>;
|
||||
gpio0 {
|
||||
status = "okay";
|
||||
pin = <22>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "onoff"; //blink or hearbeat or onoff
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio1 {
|
||||
status = "disable";
|
||||
pin = <6>;
|
||||
feature = "led";
|
||||
active = "Hi"; //Hi or Lo
|
||||
mode = "blink"; //blink or hearbeat or onoff
|
||||
time = <100>; //duration for this mode
|
||||
};
|
||||
gpio2 {
|
||||
status = "disable";
|
||||
pin = <5>;
|
||||
feature = "button";
|
||||
active = "Hi";
|
||||
mode = "multipress";
|
||||
button {
|
||||
debounce = <10>;
|
||||
short_press_ms {
|
||||
start = <30>;
|
||||
end = <4000>;
|
||||
kevent = <2>;
|
||||
};
|
||||
long_press_ms {
|
||||
start = <4001>;
|
||||
end = <10000>;
|
||||
kevent = <3>;
|
||||
};
|
||||
longlong_press_ms {
|
||||
start = <10001>;
|
||||
kevent = <4>;
|
||||
};
|
||||
trig_level = "Lo";
|
||||
};
|
||||
hbn_use = "disable";
|
||||
};
|
||||
};
|
||||
uart {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
uart@4000A000 {
|
||||
status = "okay";
|
||||
id = <0>;
|
||||
compatible = "bl702_uart";
|
||||
path = "/dev/ttyS0";
|
||||
baudrate = <2000000>;
|
||||
pin {
|
||||
rx = <15>;
|
||||
tx = <14>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
uart@4000A100 {
|
||||
status = "disable";
|
||||
id = <1>;
|
||||
compatible = "bl702_uart";
|
||||
path = "/dev/ttyS1";
|
||||
baudrate = <115200>;
|
||||
pin {
|
||||
rx = <3>;
|
||||
tx = <4>;
|
||||
};
|
||||
feature {
|
||||
tx = "okay";
|
||||
rx = "okay";
|
||||
cts = "disable";
|
||||
rts = "disable";
|
||||
};
|
||||
};
|
||||
};
|
||||
wireless {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
mac {
|
||||
mode = "MBF"; // 'M': manufacture; 'B': efuse; 'F': flash
|
||||
mac_addr = [C8 43 57 82 73 40 88 88];
|
||||
};
|
||||
brd_rf {
|
||||
xtal_mode = "MF";
|
||||
xtal = <36 36 0 60 60>;
|
||||
pwr = <14>; //range:0~14dbm
|
||||
pwr_mode = "bf";//B: only use power offset in EFUSE; b: use power offset in EFUSE with incremental mode; F: only use power offset in Flash; f: use power offset in Flash with incremental mode
|
||||
//pwr_offset = <10 10>;//due to the limit of current DTC, negative value is used. So we work around by adding all the poweroffset with 10. so 8 represents -2; 10 represents 0; 13 represents 3
|
||||
pwr_offset_zigbee = <10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10>;
|
||||
pwr_offset_ble = <10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10>;
|
||||
};
|
||||
rf_temp {
|
||||
en_tcal = <0>;
|
||||
};
|
||||
};
|
||||
};
|
BIN
tools/flash_tool/chips/bl702/eflash_loader/eflash_loader.elf
Normal file
BIN
tools/flash_tool/chips/bl702/eflash_loader/eflash_loader.elf
Normal file
Binary file not shown.
14715
tools/flash_tool/chips/bl702/eflash_loader/eflash_loader.map
Normal file
14715
tools/flash_tool/chips/bl702/eflash_loader/eflash_loader.map
Normal file
File diff suppressed because it is too large
Load Diff
BIN
tools/flash_tool/chips/bl702/eflash_loader/eflash_loader_32m.bin
Normal file
BIN
tools/flash_tool/chips/bl702/eflash_loader/eflash_loader_32m.bin
Normal file
Binary file not shown.
@ -0,0 +1,64 @@
|
||||
[LOAD_CFG]
|
||||
#jlink or uart
|
||||
interface = uart
|
||||
device = COM1
|
||||
speed_uart_boot = 500000
|
||||
speed_uart_load = 500000
|
||||
#cklink usb vid|pid
|
||||
cklink_vidpid = 42bf|b210
|
||||
cklink_type = CKLink_Lite_Vendor-rog
|
||||
#eg: rv_dbg_plus, ft2232hl, ft2232d
|
||||
openocd_config = rv_dbg_plus
|
||||
auto_burn = false
|
||||
speed_jlink = 2000
|
||||
#0:without load, 1:eflash_loader load
|
||||
load_function = 1
|
||||
do_reset = true
|
||||
#reset retry+hold time
|
||||
reset_hold_time = 50
|
||||
shake_hand_delay = 100
|
||||
reset_revert = false
|
||||
cutoff_time = 50
|
||||
shake_hand_retry = 3
|
||||
flash_burn_retry = 1
|
||||
checksum_err_retry = 3
|
||||
#1: 32M, 2: RC32M
|
||||
#xtal_type = 2
|
||||
erase_time_out = 15000
|
||||
#chiptype=702
|
||||
eflash_loader_file=chips/bl702/eflash_loader/eflash_loader_32m.bin
|
||||
check_mac = true
|
||||
#0:no erase,1:programmed section erase,2:chip erase
|
||||
erase = 1
|
||||
# switch eflash_loader command log save
|
||||
local_log = false
|
||||
#0:verify by calculating SHA256(xip), >0:read back verify and verify by calculating SHA256(sbus)
|
||||
verify = 0
|
||||
tx_size = 2056
|
||||
cpu_reset_after_load = false
|
||||
boot2_isp_mode = 0
|
||||
isp_mode_speed = 2000000
|
||||
isp_shakehand_timeout = 0
|
||||
|
||||
[FLASH_CFG]
|
||||
flash_id = c84015
|
||||
#flash clock 0:72M, 1:36M, 2:24M, 3:18M
|
||||
flash_clock_cfg = 2
|
||||
#0:NIO, 1:DO, 2:QO, 3:DIO, 4:QIO
|
||||
flash_io_mode = 1
|
||||
#flash_pin value:
|
||||
#bit 2-3 = flash_cfg: 0: external gpio 23-28, 1: internal 512K, 2: internal 1M, 3: external gpio 17-22
|
||||
#bit 0-1 = swap_cfg: 0: do not swap, 1: swap cs&io2, 2: swap io0&io3, 3: swap cs&io2 io0&io3 both
|
||||
flash_pin = ""
|
||||
#empty for auto, otherwise specified para file path: eg: chips/bl702/efuse_bootheader/flash_para.bin
|
||||
flash_para = chips/bl702/efuse_bootheader/flash_para.bin
|
||||
decompress_write = false
|
||||
file = chips/bl702/img_create/bootinfo_boot2.bin chips/bl702/img_create/img_boot2.bin chips/bl702/partition/partition.bin chips/bl702/partition/partition.bin
|
||||
address = 00000000 00002000 e000 f000
|
||||
|
||||
[EFUSE_CFG]
|
||||
burn_en = true
|
||||
factory_mode = false
|
||||
security_write = false
|
||||
file = ../../../Tools/img_tools/efuse_bootheader/efusedata.bin
|
||||
maskfile = ../../../Tools/img_tools/efuse_bootheader/efusedata_mask.bin
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,196 @@
|
||||
[EFUSE_CFG]
|
||||
########################################################################
|
||||
#2bits
|
||||
ef_sf_aes_mode = 0
|
||||
#2bits
|
||||
ef_sboot_sign_mode = 0
|
||||
#2bits
|
||||
ef_sboot_en = 0
|
||||
#2bits
|
||||
ef_dbg_jtag_dis = 0
|
||||
#4bits
|
||||
ef_dbg_mode = 0
|
||||
#32bits
|
||||
ef_dbg_pwd_low = 0
|
||||
#32bits
|
||||
ef_dbg_pwd_high = 0
|
||||
###################################################################
|
||||
ef_key_slot_2_w0 = 0
|
||||
ef_key_slot_2_w1 = 0
|
||||
ef_key_slot_2_w2 = 0
|
||||
ef_key_slot_2_w3 = 0
|
||||
ef_key_slot_3_w0 = 0
|
||||
ef_key_slot_3_w1 = 0
|
||||
ef_key_slot_3_w2 = 0
|
||||
ef_key_slot_3_w3 = 0
|
||||
ef_key_slot_4_w0 = 0
|
||||
ef_key_slot_4_w1 = 0
|
||||
ef_key_slot_4_w2 = 0
|
||||
ef_key_slot_4_w3 = 0
|
||||
|
||||
wr_lock_key_slot_4_l = 0
|
||||
wr_lock_dbg_pwd = 0
|
||||
wr_lock_key_slot_2 = 0
|
||||
wr_lock_key_slot_3 = 0
|
||||
wr_lock_key_slot_4_h = 0
|
||||
rd_lock_dbg_pwd = 0
|
||||
rd_lock_key_slot_2 = 0
|
||||
rd_lock_key_slot_3 = 0
|
||||
rd_lock_key_slot_4 = 0
|
||||
|
||||
[BOOTHEADER_CFG]
|
||||
magic_code = 0x504e4642
|
||||
revision = 0x01
|
||||
#########################flash cfg#############################
|
||||
flashcfg_magic_code = 0x47464346
|
||||
#flashcfg_magic_code=0
|
||||
io_mode = 0x10
|
||||
cont_read_support = 0
|
||||
sfctrl_clk_delay = 0
|
||||
sfctrl_clk_invert = 0x03
|
||||
|
||||
reset_en_cmd = 0x66
|
||||
reset_cmd = 0x99
|
||||
exit_contread_cmd = 0xff
|
||||
exit_contread_cmd_size = 3
|
||||
|
||||
jedecid_cmd = 0x9f
|
||||
jedecid_cmd_dmy_clk = 0
|
||||
qpi_jedecid_cmd = 0x9f
|
||||
qpi_jedecid_dmy_clk = 0
|
||||
|
||||
sector_size = 4
|
||||
mfg_id = 0xff
|
||||
page_size = 256
|
||||
|
||||
chip_erase_cmd = 0xc7
|
||||
sector_erase_cmd = 0x20
|
||||
blk32k_erase_cmd = 0x52
|
||||
blk64k_erase_cmd = 0xd8
|
||||
|
||||
write_enable_cmd = 0x06
|
||||
page_prog_cmd = 0x02
|
||||
qpage_prog_cmd = 0x32
|
||||
qual_page_prog_addr_mode = 0
|
||||
|
||||
fast_read_cmd = 0x0b
|
||||
fast_read_dmy_clk = 1
|
||||
qpi_fast_read_cmd = 0x0b
|
||||
qpi_fast_read_dmy_clk = 1
|
||||
|
||||
fast_read_do_cmd = 0x3b
|
||||
fast_read_do_dmy_clk = 1
|
||||
fast_read_dio_cmd = 0xbb
|
||||
fast_read_dio_dmy_clk = 0
|
||||
|
||||
fast_read_qo_cmd = 0x6b
|
||||
fast_read_qo_dmy_clk = 1
|
||||
fast_read_qio_cmd = 0xeb
|
||||
fast_read_qio_dmy_clk = 2
|
||||
|
||||
qpi_fast_read_qio_cmd = 0xeb
|
||||
qpi_fast_read_qio_dmy_clk = 2
|
||||
qpi_page_prog_cmd = 0x02
|
||||
write_vreg_enable_cmd = 0x50
|
||||
|
||||
wel_reg_index = 0
|
||||
qe_reg_index = 1
|
||||
busy_reg_index = 0
|
||||
wel_bit_pos = 1
|
||||
|
||||
qe_bit_pos = 1
|
||||
busy_bit_pos = 0
|
||||
wel_reg_write_len = 2
|
||||
wel_reg_read_len = 1
|
||||
|
||||
qe_reg_write_len = 2
|
||||
qe_reg_read_len = 1
|
||||
release_power_down = 0xab
|
||||
busy_reg_read_len = 1
|
||||
|
||||
reg_read_cmd0 = 0x05
|
||||
reg_read_cmd1 = 0x35
|
||||
|
||||
reg_write_cmd0 = 0x01
|
||||
reg_write_cmd1 = 0x01
|
||||
|
||||
enter_qpi_cmd = 0x38
|
||||
exit_qpi_cmd = 0xff
|
||||
cont_read_code = 0xa0
|
||||
cont_read_exit_code = 0xff
|
||||
|
||||
burst_wrap_cmd = 0x77
|
||||
burst_wrap_dmy_clk = 0x03
|
||||
burst_wrap_data_mode = 2
|
||||
burst_wrap_code = 0x40
|
||||
|
||||
de_burst_wrap_cmd = 0x77
|
||||
de_burst_wrap_cmd_dmy_clk = 0x03
|
||||
de_burst_wrap_code_mode = 2
|
||||
de_burst_wrap_code = 0xF0
|
||||
|
||||
sector_erase_time = 300
|
||||
blk32k_erase_time = 1200
|
||||
|
||||
blk64k_erase_time = 1200
|
||||
page_prog_time = 5
|
||||
|
||||
chip_erase_time = 200000
|
||||
power_down_delay = 20
|
||||
qe_data = 0
|
||||
|
||||
flashcfg_crc32 = 0
|
||||
|
||||
#########################clk cfg####################################
|
||||
clkcfg_magic_code = 0x47464350
|
||||
#clkcfg_magic_code=0
|
||||
|
||||
#0:Not use XTAL to set PLL, 1:XTAL is 32M, 2:XTAL is RC32M
|
||||
xtal_type = 1
|
||||
#0:RC32M, 1:XTAL, 2:PLL 57.6M, 3:PLL 96M, 4:PLL 144M
|
||||
pll_clk = 1
|
||||
hclk_div = 0
|
||||
bclk_div = 0
|
||||
#0:144M, 1:XCLK(RC32M or XTAL), 2:57.6M, 3:72M, 4:BCLK, 5:96M
|
||||
flash_clk_type = 1
|
||||
flash_clk_div = 0
|
||||
clkcfg_crc32 = 0
|
||||
|
||||
########################boot cfg####################################
|
||||
#1:ECC
|
||||
sign = 0
|
||||
#1:AES128,2:AES256,3:AES192
|
||||
encrypt_type = 0
|
||||
key_sel = 1
|
||||
no_segment = 1
|
||||
cache_enable = 1
|
||||
notload_in_bootrom = 0
|
||||
aes_region_lock = 0
|
||||
cache_way_disable = 0x00
|
||||
crc_ignore = 1
|
||||
hash_ignore = 1
|
||||
boot2_enable=1
|
||||
boot2_rollback=0
|
||||
|
||||
########################image cfg####################################
|
||||
#total image len or segment count
|
||||
img_len = 0x100
|
||||
bootentry = 0
|
||||
#img RAM address or flash offset
|
||||
img_start = 0x2000
|
||||
|
||||
#img hash
|
||||
hash_0 = 0xdeadbeef
|
||||
hash_1 = 0
|
||||
hash_2 = 0
|
||||
hash_3 = 0
|
||||
hash_4 = 0
|
||||
hash_5 = 0
|
||||
hash_6 = 0
|
||||
hash_7 = 0
|
||||
|
||||
#address of partition tables for boot2 in bootrom
|
||||
boot2_pt_table_0=0x1000
|
||||
boot2_pt_table_1=0x2000
|
||||
|
||||
crc32 = 0xdeadbeef
|
@ -0,0 +1,15 @@
|
||||
[Img_Cfg]
|
||||
boot_header_file =
|
||||
efuse_file =
|
||||
efuse_mask_file =
|
||||
encrypt_key_org = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
|
||||
aesiv_file = img_create/aesiv_cpu0.bin
|
||||
publickey_file = img_create/publickey_uecc.pem
|
||||
privatekey_file_uecc = img_create/privatekey_uecc.pem
|
||||
segheader_file = img_create/segheader.bin
|
||||
segdata_file =
|
||||
bootinfo_file =
|
||||
img_file =
|
||||
whole_img_file =
|
||||
aes_key_org = 00000000000000000000000000000000
|
||||
aes_iv = 00000000000000000000000000000000
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user