Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

U-Boot serves as the second-stage bootloader in SP7350 platform. After initializing itself, U-Boot then loads Linux kernel image from external storage devices into DRAM and executes it. As it runs in DRAM, its size is no longer limited by SRAM of SP7350 (only limited by the system's DRAM size), ranging from hundreds of kilobytes to several megabytes.

Apart from being a boot-loader its role as a bootloader for loading the Linux kernel, U-Boot supports to read reading images from external storage device devices such as USB flash drives or SD cards and write writing images into NOR flash, NAND flash, and eMMC devices in system. key Key features of U-Boot of for SP7350 are listed belowas follows:

  • Support console at UART0 (@ 115,200 bps).

  • Support booting Linux from SPI-NOR flash, SPI-NAND flash, 8-bit NAND flash or eMMC device.

  • Support in-system program (ISP) for SPI-NOR flash, SPI-NAND flash, 8-bit NAND flash or eMMC device.

  • Support read images from USB flash drives or SD cards for in-system program (ISP).

  • Support secure-boot (check hash value of Linux image).

  • Support fastboot function for eMMC device.

  • Support fastboot function for SPI-NAND and 8-bit NAND flashes (only for updating Linux kernel or rootfs partition).

Drivers and features

The source files of U-Boot are conveniently located within the "boot/uboot/" directory under the project's top directory. For the SP7350 platform, a wide array of device drivers is supported. These drivers are within the "drivers" directory. Below is a reference table detailing the drivers along with their corresponding feature descriptions:

Drivers

Folders or files

 Feature descriptions

8-bit NAND

mtd/nand/raw/sp_paranand/

  1. Support Supports mtd framework.

  2. Support Supports read and write standard 2k/4k/8k ECC sectors.

  3. Support Supports read and write 1K60 ECC sectors.

  4. Support Supports block and chip erase.

Clock

clk/sunplus/

  1. Support Supports common clock framework (CCF).

  2. Support Supports clock functions for all devices.

eMMC

mmc/sp_mmc*

  1. Support Supports MMC framework.

  2. Support Supports read and write User Data Area.

  3. Support Supports read and write RPMB partition.

  4. Support Supports DMA mode.

Ethernet

net/designware.*

  1. Support Supports 802.3 packets transactions.

  2. Support Supports 100M and 1000M speeds.

  3. Support Supports RGMII and RMII interfaces.

I2C

i2c/designware_i2c*

  1. Support Supports I2C master mode access.

  2. Support Supports 100kHz and 400kHz speeds.

OTP

soc/sunplus/

  1. Support Supports write and read OTP.

  2. Support Supports rotp and wotp commands.

Reset

reset/reset-sunplus.c

  1. Support Supports reset functions for all devices.

Pinctrl

pinctrl/sunplus/

  1. Support Supports generic helper bindings.

  2. Support Supports pin-mux of all devices.

  3. Support Supports all GPIO pins.

SD card

mmc/sp_sd*

  1. Support Supports MMC framework.

  2. Support Supports read and write operations.

  3. Support Supports DMA mode.

SPI

spi/designware_spi.c

  1. Support Supports SPI master mode access.

  2. Support Supports set clock frequency in dts.

  3. Support Supports mode 0, 1, 2 and 3 in dts.

SPI-NAND

mtd/nand/raw/sp_*

  1. Support Supports mtd framework.

  2. Support Supports read and write standard 2k ECC sectors.

  3. Support Supports read and write 1K60 ECC sectors..

  4. Support Supports block and chip erase.

  5. Support Supports 4-bit operations.

  6. Support Supports set clock frequency in dts.

SPI-NOR

mtd/spi/spi-nor-ids.c

spi/sp_spi_nor.c

  1. Support Supports mtd framework.

  2. Support Supports read and write operations.

  3. Support Supports block and chip erase.

  4. Support Supports set clock frequency in dts.

UART

serial/serial_sunplus.c

  1. Support Supports U-Boot console at UART0.

  2. Baud rate is set by i-boot.

USB2.0 EHCI

usb/host/ehci-sunplus.c

  1. Support Supports high-speed read and write operations.

USB2.0 OHCI

usb/host/ohci-sunplus.c

  1. Support Supports full-speed read and write operations.

USB2.0 UDC

usb/gadget/sp_udc.c

  1. Support Supports USB device devices (gadgets).

USB3.0 DRD

usb/host/xhci-spdwc3.c

usb/gadget/spdwc3_udc.c
phy/phy-sunplus-dwc3.c

  1. Support Supports super-speed, high-speed and full-speed access.

  2. Support Supports host and device modemodes.

  3. Support Supports USB type C receptacle.

Video

video/sunplus/sp7350/disp/

  1. Support Supports U-Boot video console.

Other files or folders

Board specific files

Board-specific files of for the SP7350 platform are located at can be found in the “board/sunplus/.”

The following table lists board specific files

” directory. Below is a breakdown of the folders and their descriptions:

Folders

Descriptions

common/secure_sp7350/

Contains files related to secure - boot related filesfunctionality.

sp7350/

Contains Houses SP7350 platform-specific or hardware-specific files.

Machine (CPU) specific files

Machine (CPU) -specific files of for the SP7350 platform are located situated at “arch/arm/mach-pentagram” under within the U-Boot directory. The following table lists Here's a summary of the files or and folders.:

Files or folders

Descriptions

include/mach

Contains platform or hardware-related header files.

cpu.c

Contains Encompasses subroutines responsible for CPU reset, memory mapmapping, DRAM settingconfiguration, and etcmore.

Configuration header file

Configuration The configuration header file contains comprises board-specific configuration options, hardware parameters, and initialization settings tailored to the target platform. Configuration For the SP7350 platform, the configuration header file of SP7350 platform is “include/configs/pentagram_common_sp7350_c.h.”

...

Default configuration files of U-Boot are located under stored in the “configs” directory. Default Specifically for the SP7350 platform, default configuration files of SP7350 platform are the files prefixed with name prefixing “sp7350_”.