Versions Compared

Key

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

...

Drivers

Folders or files

Features

8-bit NAND

mtd/nand/raw/sp_paranand/

  1. Support MTD framework.

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

  3. Support block and chip erase.

ADC (SAR12B)

iio/adc/sp-adc.c

  1. Support read 4 channels external voltage.

  2. Support IIO interface.

AXI DMA

dma/dw-axi-dmac/

  1. Support Linux DMA Engine framework.

  2. Support memory-to-memory copy.

AXI Monitor

soc/sunplus/

  1. Sunplus internal use for monitoring AXI bus.

CB DMA

dma/sp_cbdma.c

  1. Sunplus internal use. 

Clock

clk/clk-sp7350.c

  1. Support Linux Common Clock Framework.

  2. Support clock functions for all devices.

CPUFreq

cpufreq/sp7350-cpufreq.c

  1. Support CPU frequency scaling.

Crypto Engine

crypto/sunplus/

  1. Support RSA-256/512/1024/2048 encryption.

  2. Support AES-128/192/256 encryption and decryption with ECB, CBC, CTR, modes

  3. Support MD5, SHA3-224/256/384/512.

  4. Support GHASH for AES GCM mode
    RSA.

  5. Support POLY1305.

  6. Support modular exponentiation.

Display

media/platform/sunplus/display/

sp7350/

  1. Support framebuffer.

  2. Support V4L2 framework.

  3. Video input :

    1. Support 5 layers input video source, including 4 layers OSD and 1 layer image with scaling up and down.

    2. OSD layers (osd0, osd1, osd2, osd3):

      1. Support formats: ARGB8888, RGBA8888, ARGB4444, RGBA4444, ARGB1555, RGB565, YUY2, 8bpp

      2. Support source resolution upto 1920x1080.

    3. Image layer (vpp0):

      1. Supports formats: UYVY, NV12, NV24, NV16, YUY2

      2. Support up and down scaling up

      3. Support source resolution upto 3840x2880.

  4. Video output :

    1. Support MIPI/DSI TX and MIPI/CSI TX.

    2. MIPI/DSI TX:

      1. Support fromats: RGB888, RGB666_24BITS, RGB666_18BITS, RGB565

      2. Support resolution upto 1920x1080.

    3. MIPI/CSI TX:

      1. Support fromats: YUV422_20BITS, RGB888, RGB565

      2. Support resolution upto 3840x2880.

    4. Note that MIPI/DSI TX and MIPI/CSI TX share the same D-PHY.

    5. Support clock frequency up to 1.5G bps.

    6. Support 1, 2 and 4 data lanes.

eMMC

mmc/host/sunplus-mmc.*

  1. Support Linux MMC framework.

  2. Support read and write User Data Area.

  3. Support access RPMB partition.

  4. Support DDR52, HS200 and HS400 speeds.

  5. Support dma mode.

  6. Support 1.8V and 3.3V devices.

Ethernet

net/ethernet/stmicro/stmmac/

  1. Support Half-duplex / Full-duplex operations.

  2. Support RMON/MIB counters.

  3. Support IEEE 1588 time-stamping (PTP).

  4. Support ARP offloading.

  5. Support automatic CRC / PAD insertion and checking.

  6. Support checksum offload for received and transmitted packets.

  7. Support standard or jumbo Ethernet packets.

  8. Support multi-cast.

  9. Support remote wake-up detection.

  10. Support programmable burst length, threshold, queue size.

  11. Support ethtool operations.

  12. Support loading MAC address from OTP.

I2C

i2c/busses/i2c-designware-*.c

  1. Support RX and TX transferring.

  2. Support 100kHz, 400kHz, 1.6M speeds.

Mailbox

mailbox/sunplus_ipc*.*

  1. Support Linux mailbox framework.

  2. Support communication between CA55 and CM4.

  3. Support normal mode (software).

  4. Support direction mode (hardware).

MIPI/CSI-RX

media/platform/sunplus/mipicsi/
media/platform/sunplus/video/

  1. Support Linux V4L2 framework.

  2. Support RAW8, RAW10 and RAW12 formats.

  3. Support packed RAW10 and RAW12 formats output.

  4. Support enumerating camera supported formats.

  5. Support media control.

  6. Support virtual channel.

  7. Support speed upto 1.5G bps.Support 1, 2 and 4 data lanes.

NVMEM (OTP)

nvmem/sp-ocotp*.c

  1. Support read OTP.

PinCtl / GPIO

pinctrl/sunplus/

  1. Support Linux pinctrl framework.

  2. Support generic helper bindings.

  3. Support pin-mux of all devices.

  4. Support all GPIO pins.

  5. Support interrupt pins.

PWM

pwm/pwm-sunplus.c

  1. Support set frequency and duty.

  2. Support set polarity.

  3. Support enable and disable.

Regulators

regulator/rt5759-regulator.c

regulator/sti8070x-regulator.c

  1. Support Linux regulator framework.

  2. CPU frequency scaling.

Remoteproc

remote/sp_remoteproc.c

  1. Support downloading firmware of CM4.

  2. Support start and stop CM4.

  3. Support rpmsg (virtual serial port).

Reset

reset/reset-sunplus.c

  1. Support reset functions for all devices.

HW RNG

char/hw_random/sp7350-rng.c

  1. Support generating random number.

RT5759 (PMIC)

regulator/rt5759-regulator.c

 

RTC

rtc/rtc-sunplus.c

  1. Support set and read time.

  2. Support set and read alarm.

  3. Support alarm interrupt.

Semaphore

hwspinlock/sunplus_hwspinlock.c

  1. Support hardware lock and unlock.

SPI

spi/spi-dw*

  1. Support master mode RX and TX transferring.

  2. Support set clock frequency.

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

  4. Support DMA mode.

SPI-NAND

mtd/nand/raw/sp_*

  1. Support Linux mtd framework.

  2. Support read and write standard 2k ECC sectors for 1 or 2 planes.

  3. Support read and write standard 4k ECC sectors for 1 plane only.

  4. Support block and chip erase.

  5. Support 4-bit operations.

  6. Support set clock frequency.

SPI-NOR

mtd/spi-nor/controllers/

sp-spi-nor.c

  1. Support Linux mtd MTD framework.

  2. Support read and write operations.

  3. Support block and chip erase.

  4. Support set clock frequency.

SD / SDIO

mmc/host/sunplus_sd3.*

  1. Support Linux MMC framework.

  2. Support read and write operations.

  3. Support DMA mode.

  4. Support SDR25, SDR50 and SDR104 speeds.

  5. Support dynamic voltage-switching.

Thermal

thermal/sunplus_thermal.c

  1. Support Linux Thermal framework.

  2. Support Linux HW monitor.

  3. Support read temperature of chip.

  4. Chip calibration data stored in OTP.

USB2.0 EHCI

usb/host/ehci*-sunplus.*

  1. Support high-speed read and write operation.

USB2.0 OHCI

usb/host/ohci*-sunplus.*

  1. Support full-speed read and write operation.

USB2.0 PHY

phy/sunplus/phy-sunplus-usb2.c

  1. PHY driver of USB2.0.

USB2.0 UDC

usb/gadget/udc/sunplus_udc2.*

  1. Support device mode.

USB2.0 OTG

usb/phy/otg-sp7350-sunplus.c

  1. Support role switch between host mode and device mode.

  2. Support only HNP and SRP.

USB3.0 DRD

usb/dw3/

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

  2. Support host and device mode.

  3. Support dynamic-role switch.

USB3.0 extcon

extcon/extcon-usb-gpio-sunplus.c

  1. Support USB type C receptacle.

USB3.0 PHY

usb/phy/synopsysu3phy-sunplus.c

  1. PHY driver of USB3.0.

UART

tty/serial/sunplus-uart.c

  1. Support all standard Baud rate.

  2. Support non-standard Baud rate up to 3,000,000 bps.

  3. Support hardware flow-control for UART1 and UART2.

  4. Support system console and early console for UART0.

  5. Support system request (sysrq) for system console.

Video sensors

media/i2c/imx219.c

media/i2c/imx708.c

media/i2c/ov5640.c

media/i2c/ov5647.c

media/i2c/tp2815.c

  1. Support video sensors: imx219, imx708, ov5640, and ov5647.

  2. Support CVBS to mipi-csi bridge, tp2815.

VIP9000 (NPU)

media/platform/sunplus/vip9000/

  1. Support VIP9000 opoerations.

Video decoder -
(VC8000D nano)

media/platform/sunplus/

videocodec/

  1. Support H.264 decode.

    1. Support output formats:  byte stream, NAL stream, SVC stream

    2. Support resolution upto 1920*1080.

  2. Support JPEG decode.

    1. Support output formats: JFIF file format 1.02

    2. Support resolution upto 1920*1080.

  3. Support H.264 post-processing.

    1. Support output formats: YUYV422, YVYU422, UYVY422, VYUY422

  4. Support JPEG post-processing.

    1. Support output formats: YUYV422, YVYU422, UYVY422, VYUY422Drivers

      Folders or files

      Features

      8-bit NAND

      mtd/nand/raw/sp_paranand/

      Support mtd framework.

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

      Support block and chip erase.

      ADC (SAR12B)

      iio/adc/sp-adc.c

      Support read external voltage.

      Support iio interface.

      Audio (I2S)

      sound/soc/sunplus/

      Support Linux ALSA framework.

      Support S16_LE format, stereo record and play.

      Support frequencies: 32kHz, 44.1kHz, 48kHz, 64kHz, 96kHz and 192kHz.

      Support digital volume.

Video encoder -
(VC8000E nano)

media/platform/sunplus/

videocodec/

  1. Support H.264 encode.

    1. Support input formats: YUV20P,NV12, NV21, YUYV422, UYVY422

    2. Support resolution upto 1920*1080.

  2. Support VP8 encode.

    1. Support input formats: YUV20P,NV12, NV21, YUYV422, UYVY422

    2. Support resolution upto 1920*1080.

  3. Support JPEG encode.

    1. Support input formats: YUV20P,NV12, NV21, YUYV422, UYVY422

    2. Support resolution: 96*32 ~ 8192*8192

Watchdog

watchdog/sunplus_wdt.c

  1. Support pretimeout function.

  2. Support nowayout function.

For sound driverTraditionally, due to historical reason, it locates at “soc/”, instead of at drivers/reasons, the sound driver within the Linux kernel has been located at the "sound/" directory, rather than under the "drivers/" directory as might be expected.

Drivers

Folders or files

Features

Audio (I2S)

sound/soc/sunplus/

  1. Support Linux ALSA framework.

  2. Support S16_LE format, stereo record and play.

  3. Support frequencies: 32kHz, 44.1kHz, 48kHz, 64kHz, 96kHz and 192kHz.

  4. Support digital volume.

SP7350 platform-specific files

Platform-specific files are located at “arch/arm64/” under Linux kernel directory. Below table details the files along with their corresponding feature descriptions:

Type

Folders

Files

 Descriptions

dts

arch/arm64/boot/dts/sunplus/

 sp7350-ev.dts

For Evaluation board

 sp7350-dm.dts

For Demo board

defconfig files

arch/arm64/configs/

sp7350_emmc_dm_defconfig

for Demo board, eMMC boot

sp7350_sdcard_dm_defconfig

for Demo board, SD card boot

sp7350_emmc_ev_defconfig

for EVB, eMMC boot

sp7350_sdcard_ev_defconfig

for EVB, SD card boot

sp7350_nand_ev_defconfig

for EVB, SPI-NAND flash boot

sp7350_pnand_ev_defconfig

for EVB, 8-bit NAND flash boot

Kconfig

.

Kconfig.platforms

for PS7350 platform