Versions Compared

Key

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

...

  1. Versatility: U-Boot is designed to be versatile and can be adapted to various architectures, including ARM, MIPS, x86, PowerPC, and more.

  2. Open Source: U-Boot is released under the GNU General Public License (GPL), providing users with the freedom to view, modify, and distribute the source code.

  3. Boot Sequence Control: U-Boot handles the initialization and configuration of the hardware during the boot process. It allows users to interact with the bootloader through a command-line interface, enabling them to control the boot sequence, load kernel images, and set various parameters.

  4. Support for Various Storage Devices: U-Boot supports loading firmware and kernel images from a variety of storage devices, including NAND and NOR flash memory, SD cards, USB storage, TFTP servers, and more.

  5. Environment Variables: U-Boot allows the configuration of environment variables that store important settings, such as boot parameters and memory addresses.

  6. Network Booting: U-Boot supports network booting, allowing systems to load kernel images and other files over the network using protocols like TFTP or NFS.

  7. Development and Debugging Tools: U-Boot includes tools for debugging and development, such as memory and register inspection, script execution.

...

U-Boot serves as the second-stage boot-loader 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 bootloader boot-loader for loading the Linux kernel, U-Boot supports to read images from external storage device such as USB flash drives or SD cards and write images into NOR flash, NAND flash, and eMMC devices in system. key features of U-Boot of SP7350 are listed below:

...

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 under the U-Boot directory. Below is a reference table detailing the drivers along with their corresponding feature descriptions:

Drivers

Folders or files

 Features Feature descriptions

8-bit NAND

mtd/nand/raw/sp_paranand/

  1. Support U-Boot mtd framework.

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

  3. Support read and write 1K60 ECC sectors.

  4. Support block and chip erase.

Clock

clk/sunplus/

  1. Support common clock framework (CCF).

  2. Support clock functions for all devices.

eMMC

mmc/sp_mmc*.*

  1. Support U-Boot MMC framework.

  2. Support read and write User Data Area.

  3. Support read and write RPMB partition.

  4. Support DMA mode.

Giga Ethernet

net/designware.c*

  1. Support 802.3 packets transactions.

  2. Support 100M and 1000M speeds.

  3. Support RGMII and RMII interfaces.

I2C

i2c/spdesignware_i2c_mas.c*

  1. Support I2C master mode access.

  2. Support 100kHz and 400kHz speeds.

NVNEM (OTP)

soc/sunplus/

  1. Support write and read OTP.

  2. Support rotp and wotp commands.

Reset

reset/reset-sunplus.c

  1. Support reset functions for all devices used in U-Boot.

Pinctrl

pinctrl/sunplus/

  1. Support generic helper bindings.

  2. Support pin-mux of all devices.

  3. Support all GPIO pins.

SD card

mmc/sp_sd*.*

  1. Support U-Boot MMC framework.

  2. Support read and write operations.

  3. Support DMA mode.

SPI

spi/designware_spi.c

  1. Support SPI master mode access.

  2. Support set clock frequency in dts.

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

SPI-NAND

mtd/nand/raw/sp_*_q645.*

  1. Support U-Boot mtd framework.

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

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

  4. Support block and chip erase.

  5. Support 4-bit operations.

  6. Support set clock frequency in dts.

SPI-NOR

mtd/spi/spi-nor-ids.c

spi/sp_spi_nor.c

  1. Support U-Boot mtd framework.

  2. Support read and write operations.

  3. Support block and chip erase.

  4. Support set clock frequency in dts.

UART

serial/serial_sunplus.c

  1. Support U-Boot console (@ 115,200)at UART0.

  2. Baud rate is set by i-boot.

USB2.0 EHCI

usb/host/ehci-sunplus.c

  1. Support high-speed read and write operations.

USB2.0 OHCI 

usb/host/ohci-sunplus.c

  1. Support full-speed read and write operations.

USB2.0 UDC

usb/gadget/sp_udc.c

  1. Support USB device (gadgets).

USB3.0 DRD driver

usb/host/xhci-spdwc3.c

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

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

  2. Support host and device mode.

  3. Support USB type C receptacle.

Video (MIPI/DSI-TX)

video/sunplus/sp7350/disp/

  1. Support U-Boot video console.

Other files or folders

Board specific files

Board specific files of SP7350 platform are located at “board/sunplus/.”

The following table lists platform-related files or folders

...

board specific files

board/sunplus/arch

Folders

Files

 

board

Descriptions

common/

sp7350/

 

machine

Machine (CPU) specific files

Machine (CPU) specific files of SP7350 platform are located at “arch/arm/mach

...

scripts

...

include/configs/

-pentagram” under U-Boot directory.

The following table lists the files or folders.

Files or folders

Descriptions

include/mach

Contains platform or hardware-related header files.

cpu.c

Contains subroutines for CPU reset, memory map, DRAM setting, and etc.

Configuration header file

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

...

defconfig files

...

configs/

...

Default configuration files

Default configuration files of U-Boot are located under “configs” directory. Default configuration files of SP7350 platform are the files with name prefixing “sp7350_”.