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.