Skip to content

Commit

Permalink
add(duo config):support SPINOR image compilation on IOB board
Browse files Browse the repository at this point in the history
  • Loading branch information
yue-xiaomin committed Jan 16, 2024
1 parent 22ada0c commit 7a0d47a
Show file tree
Hide file tree
Showing 44 changed files with 1,253 additions and 2 deletions.
30 changes: 30 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ function milkv_build()
popd
fi

# clean nor/nand img
if [ -f "${OUTPUT_DIR}/upgrade.zip" ]; then
rm -rf ${OUTPUT_DIR}/*
fi

clean_all
build_all
if [ $? -eq 0 ]; then
Expand Down Expand Up @@ -154,10 +159,35 @@ function milkv_pack_sd()
fi
}

function milkv_pack_nor_nand()
{
[ ! -d out ] && mkdir out

if [ -f "${OUTPUT_DIR}/upgrade.zip" ]; then
nor_out_name=${MILKV_BOARD}-`date +%Y%m%d-%H%M`
mkdir -p out/$nor_out_name

if [ "${STORAGE_TYPE}" == "spinor" ]; then
mv ${OUTPUT_DIR}/fip.bin out/$nor_out_name
mv ${OUTPUT_DIR}/*.spinor out/$nor_out_name
else
mv ${OUTPUT_DIR}/fip.bin out/$nor_out_name
mv ${OUTPUT_DIR}/*.spinand out/$nor_out_name
fi

print_info "Create spinor img successful: ${nor_out_name}"
else
print_err "Create spinor img failed!"
exit 1
fi
}

function milkv_pack()
{
if [ "${STORAGE_TYPE}" == "sd" ]; then
milkv_pack_sd
else
milkv_pack_nor_nand
fi
}

Expand Down
20 changes: 19 additions & 1 deletion build/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -562,11 +562,21 @@ br-rootfs-prepare:export CROSS_COMPILE_KERNEL=$(patsubst "%",%,$(CONFIG_CROSS_CO
br-rootfs-prepare:export CROSS_COMPILE_SDK=$(patsubst "%",%,$(CONFIG_CROSS_COMPILE_SDK))
br-rootfs-prepare:
$(call print_target)
ifneq ($(STORAGE_TYPE), sd)
#${Q}cp -r ${RAMDISK_PATH}/rootfs/buildroot_fs/arm/* $(BR_ROOTFS_DIR)
$(call TARGET_PACKAGE_INSTALL_BR_ROOTFS)
${Q}mkdir -p $(BR_ROOTFS_DIR)/etc/init.d/
${Q}python3 $(COMMON_TOOLS_PATH)/image_tool/create_automount.py $(FLASH_PARTITION_XML) $(BR_ROOTFS_DIR)/etc/init.d/
# Generate /etc/fw_env.config
# ${Q}mkdir -p $(BR_ROOTFS_DIR)/etc
${Q}python3 $(COMMON_TOOLS_PATH)/image_tool/mkcvipart.py $(FLASH_PARTITION_XML) $(BR_ROOTFS_DIR)/etc --fw_env
endif

# copy ko and mmf libs
${Q}mkdir -p $(BR_ROOTFS_DIR)/mnt/system
${Q}cp -arf ${SYSTEM_OUT_DIR}/* $(BR_ROOTFS_DIR)/mnt/system/

# copy milkv overlay files
# copy milkv overlay files
ifeq ($(MV_VENDOR), milkv)
${Q}cp -arf $(TOP_DIR)/device/$(MV_BOARD)/overlay/* $(BR_ROOTFS_DIR)/
${Q}cp -arf $(TOP_DIR)/device/$(MV_BOARD)/br_overlay/* $(BR_ROOTFS_DIR)/
Expand All @@ -587,8 +597,16 @@ br-rootfs-pack:
# ${Q}rm -rf $(BR_ROOTFS_DIR)/*
${Q}rm -rf $(BR_MV_VENDOR_DIR)
# copy rootfs to rawimg dir
ifeq ($(STORAGE_TYPE),spinand)
${Q}python3 $(COMMON_TOOLS_PATH)/spinand_tool/mkubiimg.py --ubionly $(FLASH_PARTITION_XML) ROOTFS $(TARGET_OUTPUT_DIR)/images/rootfs.squashfs $(OUTPUT_DIR)/rawimages/rootfs.spinand -b $(CONFIG_NANDFLASH_BLOCKSIZE) -p $(CONFIG_NANDFLASH_PAGESIZE)
$(call raw2cimg ,rootfs.$(STORAGE_TYPE))
else ifeq ($(STORAGE_TYPE), spinor)
${Q}cp $(TARGET_OUTPUT_DIR)/images/rootfs.squashfs $(OUTPUT_DIR)/rawimages/rootfs.$(STORAGE_TYPE)
$(call raw2cimg ,rootfs.$(STORAGE_TYPE))
else
${Q}cp $(TARGET_OUTPUT_DIR)/images/rootfs.ext4 $(OUTPUT_DIR)/rawimages/rootfs_ext4.$(STORAGE_TYPE)
$(call raw2cimg ,rootfs_ext4.$(STORAGE_TYPE))
endif

ifeq ($(CONFIG_BUILDROOT_FS),y)
rootfs:br-rootfs-prepare
Expand Down
6 changes: 6 additions & 0 deletions build/boards/cv180x/cv1800b_milkv_duo_spinor/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ddr_cfg_list": [
"ddr2_1333_x16"
],
"board_information": "C906B + SPINOR 32MB + QFN SIP 64MB"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
CONFIG_CHIP_cv1800b=y
CONFIG_BOARD_milkv_duo_spinor=y
CONFIG_DDR_CFG_ddr2_1333_x16=y
CONFIG_ARCH="riscv"
CONFIG_CROSS_COMPILE="riscv64-unknown-linux-musl-"
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_KERNEL_ENTRY_HACK=y
CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80200000"
CONFIG_TOOLCHAIN_MUSL_RISCV64=y
CONFIG_FLASH_SIZE_SHRINK=y
CONFIG_NO_FB=y
CONFIG_NO_TP=y
CONFIG_DDR_64MB_SIZE=y
CONFIG_BOOT_IMAGE_SINGLE_DTB=y
CONFIG_STORAGE_TYPE_spinor=y
CONFIG_SENSOR_TUNING_PARAM_cv180x_src_sms_sc200ai=y
CONFIG_SENSOR_SMS_SC200AI=y
CONFIG_SENSOR_GCORE_GC2053=y
CONFIG_SENSOR_GCORE_GC2083=y
CONFIG_SENSOR_SMS_SC035HGS=y
CONFIG_SENSOR_OV_OV5647=y
CONFIG_UBOOT_2021_10=y
CONFIG_KERNEL_SRC_5.10=y
CONFIG_KERNEL_LZMA=y
CONFIG_SKIP_RAMDISK=y
# CONFIG_ROOTFS_OVERLAYFS is not set
# CONFIG_TARGET_PACKAGE_CVITRACER is not set
# CONFIG_TARGET_PACKAGE_GDBSERVER is not set
# CONFIG_TARGET_PACKAGE_LIBCRYPTO is not set
# CONFIG_TARGET_PACKAGE_LIBZ is not set
# CONFIG_TARGET_PACKAGE_OTASERVER is not set
# CONFIG_TARGET_PACKAGE_RSYSLOG is not set
CONFIG_TARGET_PACKAGE_CRONTABS=y
# CONFIG_TARGET_PACKAGE_GATORD is not set
CONFIG_TARGET_PACKAGE_WIFI=y
CONFIG_TARGET_PACKAGE_DROPBEAR=y
CONFIG_TARGET_PACKAGE_NTP=y
CONFIG_ENABLE_FREERTOS=y
CONFIG_ENABLE_RTOS_DUMP_PRINT=y
CONFIG_DUMP_PRINT_SZ_IDX=17
CONFIG_USE_4K_ERASE_SIZE_FOR_JFFS2=y
CONFIG_USB_OSDRV_CVITEK_GADGET=n
CONFIG_BUILDROOT_FS=y
CONFIG_BUILD_FOR_DEBUG=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/dts-v1/;
#include "cv180x_base_riscv.dtsi"
#include "cv180x_asic_qfn.dtsi"
#include "cv180x_asic_sd.dtsi"
#include "cv180x_default_memmap.dtsi"

&mipi_rx{
snsr-reset = <&portc 8 GPIO_ACTIVE_LOW>, <&portc 8 GPIO_ACTIVE_LOW>, <&portc 8 GPIO_ACTIVE_LOW>;
};

&spi0 {
status = "okay";
flash@0 {
compatible = "winbond,w25q256", "jedec,spi-nor";
reg = <0>;
};
};

&spi2 {
status = "okay";

spidev@0 {
status = "okay";
};
};

&uart4 {
status = "okay";
};

&i2c1 {
status = "okay";
clock-frequency = <100000>;
};

/ {

};

Loading

0 comments on commit 7a0d47a

Please sign in to comment.