Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

U-Boot (Universal Boot-loader), developed by Denx Software Engineering, serves as the second-stage boot-loader in this system. U-Boot is widely used in embedded systems, supporting various computer architectures. It is free software under the GNU General Public License. As it runs in DRAM, its size is no longer limited by SRAM (only limited by the system's DRAM size), ranging from hundreds of kilobytes to several megabytes. Apart from being a bootloader for the Linux kernel, U-Boot supports access to storage devices like USB flash drives, SD cards, hard disks, reads and burns NOR flash, NAND flash, and eMMC, and supports file systems such as FAT, ext2, ext3, ext4, nfs, ubifs. It also supports network protocols and functions like Ethernet, DHCP, BOOTP, TFTP, NFS, among many others. After initializing itself and external devices, U-Boot then loads Linux from external storage into DRAM and executes it.

General features

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

  2. Support booting Linux from SPI-NOR flash.

  3. Support booting Linux from SPI-NAND and 8-bit NAND flashes.

  4. Support booting Linux from eMMC device.

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

  6. Support in-system program SPI-NOR flash.

  7. Support in-system program SPI-NAND and 8-bit NAND flashes.

  8. Support in-system program eMMC device.

  9. Support read ISP images (stored in ISPBOOOT.BIN) from USB flash drives or SD cards.

  10. Support fastboot for eMMC device.

  11. Support fastboot for SPI-NAND and 8-bit NAND flashes.

Drivers locations and features

Drivers

Folders or files

 Features

8-bit NAND

drivers/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

drivers/clk/sunplus/

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

eMMC

drivers/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

drivers/net/designware.c

  1. Support 802.3 packets transactions.

I2C

drivers/i2c/sp_i2c_mas.c

  1. Support I2C master mode access.

  2. Support 100kHz and 400kHz speeds.

NVNEM (OTP)

drivers/soc/sunplus/

  1. Support write and read OTP.

Reset

drivers/reset/reset-sunplus.c

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

Pinctrl

drivers/pinctrl/sunplus/

  1. Support pin-mux of all devices.

  2. Support all GPIO pins.

SD card

drivers/mmc/sp_sd*.*

  1. Support U-Boot MMC framework.

  2. Support read and write operations.

  3. Support DMA mode.

SPI

drivers/spi/designware_spi.c

  1. Support SPI master mode access.

  2. Support set clock frequency.

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

SPI-NAND

drivers/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.

SPI-NOR

drivers/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.

UART

drivers/serial/serial_sunplus.c

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

USB2.0 EHCI

drivers/usb/host/ehci-sunplus.c

  1. Support high-speed read and write operations.

USB2.0 OHCI

 

  1. Support full-speed read and write operations.

USB3.0 DRD driver

drivers/usb/host/xhci-spdwc3.c
drivers/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)

drivers/video/sunplus/sp7350/disp/

  1. Support U-Boot video console.

Other files

Type

Folders

Files

 

board

board/sunplus/sp7350/

 

machine

arch/arm/mach-pentagram/

scripts

include/configs/

pentagram_common_sp7350_c.h

defconfig files

configs/

sp7350_*_defconfig

  • No labels