2. Function Overview¶
2.1. Purpose¶
cv180x/cv181x uses U-boot-2021.10 as Bootloader on the its EVB. When different peripheral processors are configured (i.e.the development version and the public version are different), you need to modify the U-boot related codes, mainly including registers, configuration files and drivers.
2.2. U-boot Directory Structure¶
The following table lists the common modification directories and files:
Directory |
Description |
---|---|
arch |
RISC-V processor development related code |
arch/arm/dts or arch/riscv/dts |
Linux/uboot shared DTS configuration file. The actual DTS file path (not inside the u-boot folder) is sdk _source/build/boards/$(CHIP_ARCH)/$(BOARD)/dts_riscv (riscv)/$(BOARD).dts (for cv180x) ex. cv180x/cv181x processor series EVB board named cv1800b_wevb_0008a_spinor sdk_source/build/boards/cv180x/cv1800b_wevb_0008a_spinor/ dts_riscv/$(BOARD).dts |
configs |
uboot config configuration file. The actual file path for configs is sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/u-boot/ cvitek_$(BOARD)_defconfig defconfig: uboot native or new configuration ex. cv180x/cv181x processor series EVB board named cv1800b_wevb_0008a_spinor sdk_source/build/boards/cv180x/cv1800b_wevb_0008a_spinor/ u-boot/cvitek_cv1800b_wevb_0008a_spinor_defconfig |
Board |
Relavent codes of various SOC processor manufacturers, board-side settings that need to be configured after the EVB is powered on. cvitek.h : set GPIO definition and different EVB differences cvi_board_init.c: control EVB board segment I/O, PINMUX peripheral processor settings The actual file path for board.c/cvitek.h is sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/u-boot/ cvi_board_init.c sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/u-boot/ cvitek.h ex. cv180x/cv181x processor series EVB board named cv1800b_wevb_0008a_spinor sdk_source/build/boards/cv180x/cv1800b_wevb_0008a_spinor/ u-boot/cvi_board_init.c sdk_source/build/boards/cv180x/cv1800b_wevb_0008a_spinor/ u-boot/cvitek.h |
Include |
Header files |
Include/configs |
cv180x-asic.h/cv181x-asic.h set boot command/configuration. |
cmd |
Uboot console command function codes |
drivers |
Etherent, usb, storage and other related drivers. |