Commit 02739e2a authored by luo's avatar luo

[UPDATE]SDK 2.5.0.9.1

parent cdeb07d9
...@@ -71,6 +71,12 @@ rtt-nano: rtt-nano-outdoor_ipc rtt-nano-glasses rtt-nano-emmc ...@@ -71,6 +71,12 @@ rtt-nano: rtt-nano-outdoor_ipc rtt-nano-glasses rtt-nano-emmc
scons --useconfig='star_asic_defconfig_evb_v16'; \ scons --useconfig='star_asic_defconfig_evb_v16'; \
scons -j16 || exit; \ scons -j16 || exit; \
cp rtthread.bin ${ACME_IMG_PF_DIR}/star_app_evb_v16.bin; \ cp rtthread.bin ${ACME_IMG_PF_DIR}/star_app_evb_v16.bin; \
scons --useconfig='star_asic_defconfig_pt2c'; \
scons -j16 || exit; \
cp rtthread.bin ${ACME_IMG_PF_DIR}/star_app_pt2c.bin; \
# scons --useconfig='star_ov_sns_defconfig'; \
# scons -j16 || exit; \
# cp rtthread.bin ${ACME_IMG_PF_DIR}/star_app_dvfs_ov_sns.bin; \
popd popd
linux: linux:
...@@ -82,12 +88,10 @@ linux: ...@@ -82,12 +88,10 @@ linux:
pack: pack:
@cp firmware/firmware.bin ${ACME_IMG_PF_DIR} @cp firmware/*.bin ${ACME_IMG_PF_DIR}
@pushd ${ACME_TOP}/pack_tool/; \ @pushd ${ACME_TOP}/pack_tool/; \
cp boot_info/bl2/*.bin ${ACME_IMG_PF_DIR}/; \ cp boot_info/bl2/*.bin ${ACME_IMG_PF_DIR}/; \
cp boot_info/linux/*.bin ${ACME_IMG_PF_DIR}/; \ cp boot_info/linux/*.bin ${ACME_IMG_PF_DIR}/; \
cp boot_info/fpga/*.bin ${ACME_IMG_PF_DIR}/; \
cp boot_info/sensor/*.bin ${ACME_IMG_PF_DIR}/; \
cp $$(ls boot_info/nor/pt2_nor_v* |sort -rn |head -n 1) ${ACME_IMG_PF_DIR}/; \ cp $$(ls boot_info/nor/pt2_nor_v* |sort -rn |head -n 1) ${ACME_IMG_PF_DIR}/; \
cp $$(ls boot_info/nor/evb_nor_v* |sort -rn |head -n 1) ${ACME_IMG_PF_DIR}/; \ cp $$(ls boot_info/nor/evb_nor_v* |sort -rn |head -n 1) ${ACME_IMG_PF_DIR}/; \
if [ ! -f key/rotpk_sha256.bin ]; then ./key_gen.sh 0; fi; \ if [ ! -f key/rotpk_sha256.bin ]; then ./key_gen.sh 0; fi; \
...@@ -98,7 +102,7 @@ pack: ...@@ -98,7 +102,7 @@ pack:
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P75.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P75.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P75.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P75.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P55.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P55.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P5.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P5.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P55-NAND.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55-NAND.bin --real_size; \ #python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/bl2/burn_pack_BL2-6920E-0P55-NAND.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55-NAND.bin --real_size; \
# EVB-A \ # EVB-A \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-linux"$${arch_suffix}".ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-linux"$${arch_suffix}".ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin --real_size; \
dd if=${ACME_IMG_PF_DIR}/bootimg-BL2-6920A-0P75.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920A-0P75-evb-linux.bin bs=1K conv=notrunc; \ dd if=${ACME_IMG_PF_DIR}/bootimg-BL2-6920A-0P75.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920A-0P75-evb-linux.bin bs=1K conv=notrunc; \
...@@ -119,6 +123,9 @@ pack: ...@@ -119,6 +123,9 @@ pack:
dd if=${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55-evb-v24-linux.bin seek=2048 bs=1K conv=notrunc; \ dd if=${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55-evb-v24-linux.bin seek=2048 bs=1K conv=notrunc; \
dd if=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5-evb-v24-linux.bin bs=1K conv=notrunc; \ dd if=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5-evb-v24-linux.bin bs=1K conv=notrunc; \
dd if=${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5-evb-v24-linux.bin seek=2048 bs=1K conv=notrunc; \ dd if=${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P5-evb-v24-linux.bin seek=2048 bs=1K conv=notrunc; \
# python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-v24-dvfs-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin --real_size; \
# dd if=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55-evb-v24-dvfs-linux.bin bs=1K conv=notrunc; \
# dd if=${ACME_IMG_PF_DIR}/bootimg-evb-linux.bin of=${ACME_IMG_PF_DIR}/bootimg-BL2-6920E-0P55-evb-v24-dvfs-linux.bin seek=2048 bs=1K conv=notrunc; \
if [[ -n `file ${ACME_IMG_PF_DIR}/linux-5.10.106-build/vmlinux |grep "32-bit"` ]]; then \ if [[ -n `file ${ACME_IMG_PF_DIR}/linux-5.10.106-build/vmlinux |grep "32-bit"` ]]; then \
# XIP \ # XIP \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-pt2l-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-pt2l-linux.bin --real_size; \
...@@ -131,6 +138,12 @@ pack: ...@@ -131,6 +138,12 @@ pack:
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_pt2s-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-pt2s-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_pt2s-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-pt2s-linux.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc6-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P50-bc6-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc6-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P50-bc6-linux.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc4d-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-bc4d-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc4d-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-bc4d-linux.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-v16-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-evb-v16-linux.bin --real_size; \
# python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_pt2s-xip-dvfs-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-dvfs-pt2s-linux.bin --real_size; \
# python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc22e-xip-dvfs-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-dvfs-bc22e-linux.bin --real_size; \
# python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc6-xip-dvfs-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-dvfs-bc6-linux.bin --real_size; \
# python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_bc6pro-xip-dvfs-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-dvfs-bc6pro-linux.bin --real_size; \
# python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_evb-v17-xip-dvfs-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-dvfs-evb-v17-linux.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_outdoor-ipc-xip-linux$${arch_suffix}-any-image.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-outdoor-ipc-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_outdoor-ipc-xip-linux$${arch_suffix}-any-image.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-outdoor-ipc-linux.bin --real_size; \
python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_glasses-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-glasses-linux.bin --real_size; \ python3 pack_tool.py --type burn --mode 0 --ini burn_pack_ini/linux/burn_pack_glasses-xip-linux$${arch_suffix}.ini --image_dir ${ACME_IMG_PF_DIR} --out ${ACME_IMG_PF_DIR}/bootimg-XIP-6920E-0P55-glasses-linux.bin --real_size; \
fi; \ fi; \
...@@ -222,5 +235,3 @@ linux-debug: ...@@ -222,5 +235,3 @@ linux-debug:
./run.sh; \ ./run.sh; \
./run.sh install; \ ./run.sh install; \
popd popd
...@@ -4,7 +4,7 @@ dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-evb-v13.dtbo ...@@ -4,7 +4,7 @@ dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-evb-v13.dtbo
dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-evb-v10.dtbo dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-evb-v10.dtbo
dtb-$(CONFIG_ARCH_ACME) += sa6920-pt2.dtb dtb-$(CONFIG_ARCH_ACME) += sa6920-pt2.dtb
dtb-$(CONFIG_ARCH_ACME) += sa6920-pt2-1.91-8388.dtb dtb-$(CONFIG_ARCH_ACME) += sa6920-pt2-1.91-8388.dtb
#dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-pt2c.dtb dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-pt2c.dtb
dtb-$(CONFIG_ARCH_ACME) += sa6920-pt2-v1.dtbo dtb-$(CONFIG_ARCH_ACME) += sa6920-pt2-v1.dtbo
dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-pt2l.dtb dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-pt2l.dtb
dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-pt2lw.dtb dtb-$(CONFIG_ARCH_ACME) += sa6920-ipc-pt2lw.dtb
......
...@@ -33,7 +33,7 @@ SA_S32 SA_ICR_Init(const FILTER_ICR_INIT_S *pstIcrParam) ...@@ -33,7 +33,7 @@ SA_S32 SA_ICR_Init(const FILTER_ICR_INIT_S *pstIcrParam)
ServiceICR1stLevelCtrlLamp(stIcrUserAttr.icr1stLevelCtrl); ServiceICR1stLevelCtrlLamp(stIcrUserAttr.icr1stLevelCtrl);
ServiceICR2ndLevelCtrlLamp(stIcrUserAttr.icr2ndLevelCtrl); ServiceICR2ndLevelCtrlLamp(stIcrUserAttr.icr2ndLevelCtrl);
ServiceICRSetSensitivity(stIcrUserAttr.sensitivity); ServiceICRSetSensitivity(stIcrUserAttr.sensitivity);
ServiceICRSetFaceDetected(0); //应用根据PIR结果配置是否检测到人脸 ServiceICRSetFaceDetected(1); //应用根据PIR结果配置是否检测到人脸
ServiceICRSetLampLinit(stIcrUserAttr.u16LampDownFreqLimit, stIcrUserAttr.u16LampUpFreqLimit); ServiceICRSetLampLinit(stIcrUserAttr.u16LampDownFreqLimit, stIcrUserAttr.u16LampUpFreqLimit);
ServiceICRSetCurICRMode(stIcrUserAttr.enModeRes); ServiceICRSetCurICRMode(stIcrUserAttr.enModeRes);
} else { } else {
......
...@@ -85,8 +85,12 @@ extern rt_uint32_t rt_hw_timer_get(void); ...@@ -85,8 +85,12 @@ extern rt_uint32_t rt_hw_timer_get(void);
#include <sa_hal_gpio.h> #include <sa_hal_gpio.h>
#ifdef ICR_CTRL_SPI_TM8150B #ifdef ICR_CTRL_SPI_TM8150B
#ifndef TM8150B_SPI_BUS #ifndef TM8150B_SPI_BUS
#if (BOARD_PLATFORM==PLAT_BC4D)
#define TM8150B_SPI_BUS "qspi1"
#else
#define TM8150B_SPI_BUS "spi2" #define TM8150B_SPI_BUS "spi2"
#endif #endif
#endif
#ifndef TM8150B_SPI_CSN_PIN #ifndef TM8150B_SPI_CSN_PIN
#define TM8150B_SPI_CSN_PIN IRCUT_DRV_SPI_CSN_PIN #define TM8150B_SPI_CSN_PIN IRCUT_DRV_SPI_CSN_PIN
#endif #endif
...@@ -127,7 +131,14 @@ static int tm8150b_spi_init(const char *spi_dev_name) ...@@ -127,7 +131,14 @@ static int tm8150b_spi_init(const char *spi_dev_name)
/* check SPI device type */ /* check SPI device type */
RT_ASSERT(tm8150b_device->parent.type == RT_Device_Class_SPIDevice); RT_ASSERT(tm8150b_device->parent.type == RT_Device_Class_SPIDevice);
#if (BOARD_PLATFORM==PLAT_BC4D)
struct rt_qspi_configuration cfg;
cfg.parent.data_width = 8;
cfg.parent.max_hz = 500000;
cfg.parent.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB; /* SPI Compatible Modes 0 */
cfg.qspi_dl_width = 1;
rt_qspi_configure((struct rt_qspi_device*)tm8150b_device, &cfg);
#else
/* configure SPI device*/ { /* configure SPI device*/ {
struct rt_spi_configuration cfg; struct rt_spi_configuration cfg;
cfg.data_width = 8; cfg.data_width = 8;
...@@ -135,7 +146,7 @@ static int tm8150b_spi_init(const char *spi_dev_name) ...@@ -135,7 +146,7 @@ static int tm8150b_spi_init(const char *spi_dev_name)
cfg.max_hz = 500000; /* SPI Interface with Clock Speeds Up to 40 MHz */ cfg.max_hz = 500000; /* SPI Interface with Clock Speeds Up to 40 MHz */
rt_spi_configure(tm8150b_device, &cfg); rt_spi_configure(tm8150b_device, &cfg);
} }
#endif
if (rt_device_open((rt_device_t) tm8150b_device, RT_DEVICE_OFLAG_RDWR) != RT_EOK) { if (rt_device_open((rt_device_t) tm8150b_device, RT_DEVICE_OFLAG_RDWR) != RT_EOK) {
rt_kprintf("open SPI device %s error\n", spi_dev_name); rt_kprintf("open SPI device %s error\n", spi_dev_name);
return -RT_ERROR; return -RT_ERROR;
...@@ -180,8 +191,11 @@ int tm8150b_init(void) ...@@ -180,8 +191,11 @@ int tm8150b_init(void)
param.pull = GPIO_PULL_NONE;//output param.pull = GPIO_PULL_NONE;//output
tm8150b_spi_csn_pin = sa_gpio_get_pin(TM8150B_SPI_CSN_PIN); tm8150b_spi_csn_pin = sa_gpio_get_pin(TM8150B_SPI_CSN_PIN);
sa_gpio_init(tm8150b_spi_csn_pin, &param); sa_gpio_init(tm8150b_spi_csn_pin, &param);
#if (BOARD_PLATFORM==PLAT_BC4D)
tm8150b_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_qspi_device));
#else
tm8150b_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); tm8150b_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device));
#endif
RT_ASSERT(tm8150b_device != RT_NULL); RT_ASSERT(tm8150b_device != RT_NULL);
result = rt_spi_bus_attach_device(tm8150b_device, TM8150B_SPI_DEVICE, TM8150B_SPI_BUS, (void *)tm8150b_spi_cs_pin); result = rt_spi_bus_attach_device(tm8150b_device, TM8150B_SPI_DEVICE, TM8150B_SPI_BUS, (void *)tm8150b_spi_cs_pin);
if (result != RT_EOK) { if (result != RT_EOK) {
...@@ -350,6 +364,11 @@ int tm8150b_reg_write(int fd, uint8_t reg, uint8_t val) ...@@ -350,6 +364,11 @@ int tm8150b_reg_write(int fd, uint8_t reg, uint8_t val)
#define HW_PWM1_SWITCH_GPIO (-1) #define HW_PWM1_SWITCH_GPIO (-1)
#endif #endif
#endif #endif
#if (BOARD_PLATFORM==PLAT_BC4D)
#define HW_PWM1_SWITCH_GPIO GPIO_PORT_A_PIN_0 //PA0
#endif
int icr_ctrl(int on) int icr_ctrl(int on)
{ {
int ret = 0; int ret = 0;
...@@ -875,7 +894,7 @@ static int get_pmux_pwm(int pwm_id) ...@@ -875,7 +894,7 @@ static int get_pmux_pwm(int pwm_id)
static void init_pwm() static void init_pwm()
{ {
char pwm_name[6]; char pwm_name[6];
#if (BOARD_PLATFORM!=PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM!=PLAT_BC22E) && (BOARD_PLATFORM!=PLAT_BC4D) && (BOARD_PLATFORM!=PLAT_BC6)
if (PWM_ID_WL >= 0 && PWM_ID_WL <= 11) { if (PWM_ID_WL >= 0 && PWM_ID_WL <= 11) {
snprintf(pwm_name, sizeof(pwm_name), "pwm%d", PWM_ID_WL); snprintf(pwm_name, sizeof(pwm_name), "pwm%d", PWM_ID_WL);
pwm_dev_wl = (struct rt_device_pwm *)rt_device_find(pwm_name); // 白光灯的 PWM 设备 pwm_dev_wl = (struct rt_device_pwm *)rt_device_find(pwm_name); // 白光灯的 PWM 设备
...@@ -907,7 +926,7 @@ int isp_led_ctrl(LAMP_TYPE_E type, SA_U16 frq) ...@@ -907,7 +926,7 @@ int isp_led_ctrl(LAMP_TYPE_E type, SA_U16 frq)
SA_U32 dstFrq = 0; SA_U32 dstFrq = 0;
struct rt_device_pwm *pwm_dev = RT_NULL; struct rt_device_pwm *pwm_dev = RT_NULL;
SA_U8 chipID = (LAMP_IR == type) ? PWM_ID_IR : PWM_ID_WL; SA_U8 chipID = (LAMP_IR == type) ? PWM_ID_IR : PWM_ID_WL;
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
int onoff = 0; int onoff = 0;
typedef enum{ typedef enum{
E_ACTION_DO_NOTHING = 0, E_ACTION_DO_NOTHING = 0,
...@@ -948,11 +967,11 @@ int isp_led_ctrl(LAMP_TYPE_E type, SA_U16 frq) ...@@ -948,11 +967,11 @@ int isp_led_ctrl(LAMP_TYPE_E type, SA_U16 frq)
pwm_dev = pwm_dev_ir; pwm_dev = pwm_dev_ir;
} }
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
pwm_dev = pwm_dev_ir; pwm_dev = pwm_dev_ir;
#endif #endif
if (!pwm_dev) return -1; if (!pwm_dev) return -1;
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
onoff = dstFrq ? 1:0; onoff = dstFrq ? 1:0;
/* 1.already open */ /* 1.already open */
if(fill_light_state[type]) { if(fill_light_state[type]) {
...@@ -1235,7 +1254,7 @@ int g_WdrMode = 0; //0:linear;1:wdr; ...@@ -1235,7 +1254,7 @@ int g_WdrMode = 0; //0:linear;1:wdr;
int g_nightMode = ICR_NIGHTMODE_COLOR; //0:全彩夜视;1:黑白夜视;2:智能补光 int g_nightMode = ICR_NIGHTMODE_COLOR; //0:全彩夜视;1:黑白夜视;2:智能补光
int g_appNightMode = ICR_NIGHTMODE_COLOR; //用户设置的夜视模式 int g_appNightMode = ICR_NIGHTMODE_COLOR; //用户设置的夜视模式
int g_lightOff = 0; //0:正常开启补光灯;1:强制不开启补光灯 int g_lightOff = 0; //0:正常开启补光灯;1:强制不开启补光灯
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
int g_lightFrqWl = 60; //白光光固定补光灯频率。范围[0~100] int g_lightFrqWl = 60; //白光光固定补光灯频率。范围[0~100]
int g_lightFrqIR = 60; //红外光固定补光灯频率。范围[0~100] int g_lightFrqIR = 60; //红外光固定补光灯频率。范围[0~100]
#else #else
...@@ -1687,6 +1706,16 @@ int ServiceIcrProcess(int isp_dev, const FILTER_ICR_RUN_INFO_S *pstIcrRunInfo, I ...@@ -1687,6 +1706,16 @@ int ServiceIcrProcess(int isp_dev, const FILTER_ICR_RUN_INFO_S *pstIcrRunInfo, I
return 0; return 0;
} }
if(g_u8LogLevel >= 1 && pstIcrRunInfo->u32FrameCnt == 1) {
rt_kprintf("ICR LumaThr C2b %d B2c %d, IR On %d Off %d, WL On %d Off %d\n",
g_icr_cfg_default.stLumaParam.astThrParam[ICR_SENSITIVITY_MIDDLE].u32C2bLumaThr,
g_icr_cfg_default.stLumaParam.astThrParam[ICR_SENSITIVITY_MIDDLE].u32B2cLumaThr,
g_lamp_cfg_default.astCfgs[LAMP_IR].astThrParam[ICR_SENSITIVITY_MIDDLE].u32OnISO,
g_lamp_cfg_default.astCfgs[LAMP_IR].astThrParam[ICR_SENSITIVITY_MIDDLE].u32OffISO,
g_lamp_cfg_default.astCfgs[LAMP_WL].astThrParam[ICR_SENSITIVITY_MIDDLE].u32OnISO,
g_lamp_cfg_default.astCfgs[LAMP_WL].astThrParam[ICR_SENSITIVITY_MIDDLE].u32OffISO);
}
ICR_RUN_PARAM_S icrRunParams = {0}; ICR_RUN_PARAM_S icrRunParams = {0};
ICR_RESULT_S icrRes = {0}; ICR_RESULT_S icrRes = {0};
ALG_MODE_CHANG_STATUS innerChgStat = MODE_CHANGE_NONE; //内部变化 ALG_MODE_CHANG_STATUS innerChgStat = MODE_CHANGE_NONE; //内部变化
...@@ -2020,7 +2049,7 @@ int ServiceICRSetAttr(ICR_ATTR_S* pstAttr) ...@@ -2020,7 +2049,7 @@ int ServiceICRSetAttr(ICR_ATTR_S* pstAttr)
int ServiceICRGetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam) int ServiceICRGetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam)
{ {
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
memcpy(pstIcrParam, &g_icr_cfg_bc22e, sizeof(ICR_CFG_PARAMS_S)); memcpy(pstIcrParam, &g_icr_cfg_bc22e, sizeof(ICR_CFG_PARAMS_S));
#else #else
memcpy(pstIcrParam, &g_icr_cfg_default, sizeof(ICR_CFG_PARAMS_S)); memcpy(pstIcrParam, &g_icr_cfg_default, sizeof(ICR_CFG_PARAMS_S));
...@@ -2029,7 +2058,7 @@ int ServiceICRGetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam) ...@@ -2029,7 +2058,7 @@ int ServiceICRGetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam)
} }
int ServiceICRSetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam) int ServiceICRSetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam)
{ {
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
memcpy(&g_icr_cfg_bc22e, pstIcrParam, sizeof(ICR_CFG_PARAMS_S)); memcpy(&g_icr_cfg_bc22e, pstIcrParam, sizeof(ICR_CFG_PARAMS_S));
#else #else
memcpy(&g_icr_cfg_default, pstIcrParam, sizeof(ICR_CFG_PARAMS_S)); memcpy(&g_icr_cfg_default, pstIcrParam, sizeof(ICR_CFG_PARAMS_S));
...@@ -2039,7 +2068,7 @@ int ServiceICRSetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam) ...@@ -2039,7 +2068,7 @@ int ServiceICRSetIcrDef(ICR_CFG_PARAMS_S* pstIcrParam)
int ServiceICRGetLampAttr(LAMP_CFG_PARAMS_S* pstLampParam) int ServiceICRGetLampAttr(LAMP_CFG_PARAMS_S* pstLampParam)
{ {
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
memcpy(pstLampParam, &g_lamp_cfg_bc22e, sizeof(LAMP_CFG_PARAMS_S)); memcpy(pstLampParam, &g_lamp_cfg_bc22e, sizeof(LAMP_CFG_PARAMS_S));
#else #else
memcpy(pstLampParam, &g_lamp_cfg_default, sizeof(LAMP_CFG_PARAMS_S)); memcpy(pstLampParam, &g_lamp_cfg_default, sizeof(LAMP_CFG_PARAMS_S));
...@@ -2048,7 +2077,7 @@ int ServiceICRGetLampAttr(LAMP_CFG_PARAMS_S* pstLampParam) ...@@ -2048,7 +2077,7 @@ int ServiceICRGetLampAttr(LAMP_CFG_PARAMS_S* pstLampParam)
} }
int ServiceICRSetLampAttr(LAMP_CFG_PARAMS_S* pstLampParam) int ServiceICRSetLampAttr(LAMP_CFG_PARAMS_S* pstLampParam)
{ {
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) #if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
memcpy(&g_lamp_cfg_bc22e, pstLampParam, sizeof(LAMP_CFG_PARAMS_S)); memcpy(&g_lamp_cfg_bc22e, pstLampParam, sizeof(LAMP_CFG_PARAMS_S));
#else #else
memcpy(&g_lamp_cfg_default, pstLampParam, sizeof(LAMP_CFG_PARAMS_S)); memcpy(&g_lamp_cfg_default, pstLampParam, sizeof(LAMP_CFG_PARAMS_S));
......
...@@ -517,8 +517,7 @@ static void MX_GPIO_Init(void) ...@@ -517,8 +517,7 @@ static void MX_GPIO_Init(void)
rt_pin_mode(GPIO_PORT_D_PIN_16, PIN_MODE_OUTPUT); rt_pin_mode(GPIO_PORT_D_PIN_16, PIN_MODE_OUTPUT);
rt_pin_write(GPIO_PORT_D_PIN_16, PIN_HIGH); rt_pin_write(GPIO_PORT_D_PIN_16, PIN_HIGH);
#endif #endif
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6) || (BOARD_PLATFORM==PLAT_BC4D)
#if (BOARD_PLATFORM==PLAT_BC22E) || (BOARD_PLATFORM==PLAT_BC6)
sa_set_padcfs(PADCONF_GPIO_A1,PADC_FS_GPIO_A1); sa_set_padcfs(PADCONF_GPIO_A1,PADC_FS_GPIO_A1);
rt_pin_mode(GPIO_PORT_A_PIN_1, PIN_MODE_OUTPUT); rt_pin_mode(GPIO_PORT_A_PIN_1, PIN_MODE_OUTPUT);
rt_pin_write(GPIO_PORT_A_PIN_1, PIN_LOW); rt_pin_write(GPIO_PORT_A_PIN_1, PIN_LOW);
......
...@@ -950,9 +950,9 @@ int sa9901_init(void) ...@@ -950,9 +950,9 @@ int sa9901_init(void)
sa9901_write_regs(dev, SA9901_CFG2, SA9901_BUCK5_I2C_ADDR, 0xa); sa9901_write_regs(dev, SA9901_CFG2, SA9901_BUCK5_I2C_ADDR, 0xa);
sa9901_write_regs(dev, SA9901_CFG2, SA9901_BUCK7_I2C_ADDR, 0xa); sa9901_write_regs(dev, SA9901_CFG2, SA9901_BUCK7_I2C_ADDR, 0xa);
sa9901_write_regs(dev, SA9901_BUCK_DVS,SA9901_BUCK5_I2C_ADDR, 0x27); // 0.55V sa9901_write_regs(dev, SA9901_BUCK_DVS,SA9901_BUCK5_I2C_ADDR, 0x31); // 0.6V
sa9901_vol_ready(dev, SA9901_BUCK5_I2C_ADDR);//rt_hw_us_delay(1); sa9901_vol_ready(dev, SA9901_BUCK5_I2C_ADDR);//rt_hw_us_delay(1);
sa9901_write_regs(dev, SA9901_BUCK_DVS, SA9901_BUCK5_I2C_ADDR, 0x26); sa9901_write_regs(dev, SA9901_BUCK_DVS, SA9901_BUCK5_I2C_ADDR, 0x30);
#endif #endif
return 0; return 0;
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
#define FINSH_USING_MSH #define FINSH_USING_MSH
#define FINSH_THREAD_NAME "tshell" #define FINSH_THREAD_NAME "tshell"
#define FINSH_THREAD_PRIORITY 20 #define FINSH_THREAD_PRIORITY 20
#define FINSH_THREAD_STACK_SIZE 2048 #define FINSH_THREAD_STACK_SIZE 4096
#define FINSH_USING_HISTORY #define FINSH_USING_HISTORY
#define FINSH_HISTORY_LINES 5 #define FINSH_HISTORY_LINES 5
#define FINSH_USING_SYMTAB #define FINSH_USING_SYMTAB
...@@ -287,11 +287,12 @@ ...@@ -287,11 +287,12 @@
#define BSP_USING_PWM5 #define BSP_USING_PWM5
#define BSP_USING_PWM6 #define BSP_USING_PWM6
#define BSP_USING_PWM7 #define BSP_USING_PWM7
#define BSP_USING_PWM10
#define BSP_USING_PWM11
#define BSP_USING_I2C #define BSP_USING_I2C
#define BSP_USING_I2C0 #define BSP_USING_I2C0
#define BSP_USING_I2C1 #define BSP_USING_I2C1
#define BSP_USING_I2C2
#define BSP_USING_I2C3
#define SA_I2C_TEST
#define BSP_USING_STAR #define BSP_USING_STAR
#define BSP_USING_WDT #define BSP_USING_WDT
#define BSP_MOUDLE_WITHIN_WDT #define BSP_MOUDLE_WITHIN_WDT
...@@ -300,12 +301,15 @@ ...@@ -300,12 +301,15 @@
#define BSP_USING_NANO_FILTER #define BSP_USING_NANO_FILTER
#define PWM_ID_WL 10 #define PWM_ID_WL 10
#define PWM_ID_IR 11 #define PWM_ID_IR 11
#define IRCUT_DRV_EN_PIN 89
#define IRCUT_DRV_SPI_CSN_PIN 86
#define SNS_OS04D10 #define SNS_OS04D10
#define BSP_USING_SNS_RST_PIN 27 #define SNS_OS04L10
#define BSP_USING_SNS_RST_PIN 5
#define ICR_CTRL_SPI_TM8150B
#define IRCUT_DRV_EN_PIN 0
#define IRCUT_DRV_SPI_CSN_PIN 0
#define BSP_USING_SPI #define BSP_USING_SPI
#define BSP_USING_PIN #define BSP_USING_PIN
#define BSP_USE_TESTMODULE
/* Board extended module Drivers */ /* Board extended module Drivers */
...@@ -319,7 +323,7 @@ ...@@ -319,7 +323,7 @@
#define SA_USEING_LISTENING_PROCEE #define SA_USEING_LISTENING_PROCEE
#define RT_USING_CPU_USAGE #define RT_USING_CPU_USAGE
#define BSP_USING_SIMPLE_CMD #define BSP_USING_SIMPLE_CMD
#define BOARD_PLATFORM 2 #define BOARD_PLATFORM 1
#define BOOT_FROM_SFC #define BOOT_FROM_SFC
#endif #endif
...@@ -1098,7 +1098,7 @@ CONFIG_ICR_CTRL_SPI_TM8150B=y ...@@ -1098,7 +1098,7 @@ CONFIG_ICR_CTRL_SPI_TM8150B=y
CONFIG_IRCUT_DRV_EN_PIN=89 CONFIG_IRCUT_DRV_EN_PIN=89
CONFIG_IRCUT_DRV_SPI_CSN_PIN=10 CONFIG_IRCUT_DRV_SPI_CSN_PIN=10
CONFIG_BSP_USING_SPI=y CONFIG_BSP_USING_SPI=y
# CONFIG_BSP_USING_QSPI is not set CONFIG_BSP_USING_QSPI=y
CONFIG_BSP_USING_PIN=y CONFIG_BSP_USING_PIN=y
# CONFIG_BSP_USE_TESTMODULE is not set # CONFIG_BSP_USE_TESTMODULE is not set
......
...@@ -1080,20 +1080,25 @@ CONFIG_BSP_USING_DMAC=y ...@@ -1080,20 +1080,25 @@ CONFIG_BSP_USING_DMAC=y
CONFIG_BSP_USING_MAILBOX=y CONFIG_BSP_USING_MAILBOX=y
# CONFIG_SA_TEST_MAILBOX is not set # CONFIG_SA_TEST_MAILBOX is not set
CONFIG_BSP_USING_NANO_FILTER=y CONFIG_BSP_USING_NANO_FILTER=y
CONFIG_PWM_ID_WL=0
CONFIG_PWM_ID_IR=0
# CONFIG_BSP_NANO_SUPPORT_VI_TPG is not set # CONFIG_BSP_NANO_SUPPORT_VI_TPG is not set
CONFIG_PWM_ID_WL=-1 # CONFIG_BSP_USING_POWERON_QUICK_START is not set
CONFIG_PWM_ID_IR=-1
CONFIG_IRCUT_DRV_EN_PIN=-1
CONFIG_IRCUT_DRV_SPI_CSN_PIN=-1
CONFIG_SNS_OS04D10=y CONFIG_SNS_OS04D10=y
CONFIG_SNS_OS04L10=y
CONFIG_SNS_OS02N10=y
# CONFIG_SNS_OS04A10 is not set # CONFIG_SNS_OS04A10 is not set
CONFIG_SNS_OS02N10=y
CONFIG_SNS_OS04L10=y
# CONFIG_SNS_OS04J10 is not set
# CONFIG_SNS_IMX681 is not set
CONFIG_BSP_USING_SNS_RST_PIN=5 CONFIG_BSP_USING_SNS_RST_PIN=5
CONFIG_ICR_CTRL_SPI_TM8150B=y
# CONFIG_ICR_CTRL_GPIO is not set
CONFIG_IRCUT_DRV_EN_PIN=0
CONFIG_IRCUT_DRV_SPI_CSN_PIN=0
CONFIG_BSP_USING_SPI=y CONFIG_BSP_USING_SPI=y
# CONFIG_BSP_USING_QSPI is not set CONFIG_BSP_USING_QSPI=y
CONFIG_BSP_USING_PIN=y CONFIG_BSP_USING_PIN=y
CONFIG_BSP_USE_TESTMODULE=y # CONFIG_BSP_USE_TESTMODULE is not set
# #
# Board extended module Drivers # Board extended module Drivers
......
...@@ -1082,8 +1082,6 @@ CONFIG_BSP_USING_MAILBOX=y ...@@ -1082,8 +1082,6 @@ CONFIG_BSP_USING_MAILBOX=y
CONFIG_BSP_USING_NANO_FILTER=y CONFIG_BSP_USING_NANO_FILTER=y
CONFIG_PWM_ID_WL=10 CONFIG_PWM_ID_WL=10
CONFIG_PWM_ID_IR=11 CONFIG_PWM_ID_IR=11
CONFIG_IRCUT_DRV_EN_PIN=-1
CONFIG_IRCUT_DRV_SPI_CSN_PIN=-1
# CONFIG_BSP_NANO_SUPPORT_VI_TPG is not set # CONFIG_BSP_NANO_SUPPORT_VI_TPG is not set
# CONFIG_BSP_USING_POWERON_QUICK_START is not set # CONFIG_BSP_USING_POWERON_QUICK_START is not set
CONFIG_SNS_OS04D10=y CONFIG_SNS_OS04D10=y
...@@ -1093,6 +1091,10 @@ CONFIG_SNS_OS04L10=y ...@@ -1093,6 +1091,10 @@ CONFIG_SNS_OS04L10=y
# CONFIG_SNS_OS04J10 is not set # CONFIG_SNS_OS04J10 is not set
# CONFIG_SNS_IMX681 is not set # CONFIG_SNS_IMX681 is not set
CONFIG_BSP_USING_SNS_RST_PIN=5 CONFIG_BSP_USING_SNS_RST_PIN=5
CONFIG_ICR_CTRL_SPI_TM8150B=y
# CONFIG_ICR_CTRL_GPIO is not set
CONFIG_IRCUT_DRV_EN_PIN=0
CONFIG_IRCUT_DRV_SPI_CSN_PIN=0
CONFIG_BSP_USING_SPI=y CONFIG_BSP_USING_SPI=y
# CONFIG_BSP_USING_QSPI is not set # CONFIG_BSP_USING_QSPI is not set
CONFIG_BSP_USING_PIN=y CONFIG_BSP_USING_PIN=y
...@@ -1102,10 +1104,7 @@ CONFIG_BSP_USE_TESTMODULE=y ...@@ -1102,10 +1104,7 @@ CONFIG_BSP_USE_TESTMODULE=y
# Board extended module Drivers # Board extended module Drivers
# #
CONFIG_BSP_USING_RPMSG=y CONFIG_BSP_USING_RPMSG=y
CONFIG_BSP_USING_PMIC=y # CONFIG_BSP_USING_PMIC is not set
# CONFIG_PMIC_SA9710 is not set
CONFIG_PMIC_SA9901=y
CONFIG_BSP_TEST_PMIC=y
CONFIG_DEFAULT_SELECT=y CONFIG_DEFAULT_SELECT=y
# #
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
libispalg.so.2.5.0.8.5 libispalg.so.2.5.0.9.1
\ No newline at end of file \ No newline at end of file
libive.so.2.5.0.8.5 libive.so.2.5.0.9.1
\ No newline at end of file \ No newline at end of file
liblapi.so.2.5.0.8.5 liblapi.so.2.5.0.9.1
\ No newline at end of file \ No newline at end of file
libmapi.so.2.5.0.8.5 libmapi.so.2.5.0.9.1
\ No newline at end of file \ No newline at end of file
No preview for this file type
libvqe.so.2.5.0.8.5 libvqe.so.2.5.0.9.1
\ No newline at end of file \ No newline at end of file
No preview for this file type
No preview for this file type
No preview for this file type
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment