How xilinx/linux-xlnx works
This is a Linux kernel source subset, not a standalone application: its components provide architecture-specific support and reusable runtime services to device drivers and userspace. Typical interactions include userspace configuring a device or consuming its interface, a subsystem driver submitting work through a kernel framework, and hardware producing results or completion events. The sampled files support several independent workflows rather than one end-to-end pipeline. The tree and excerpts are partial, so links between unsampled subsystem components are omitted.
Main entry points: spi-axi-spi-engine.c SPI Engine · f_mass_storage.c USB mass storage · crypto_engine.c Crypto engine · dmaengine.c DMAengine
Components 22
Architecture support
- ARM support
arch/arm/kernel/setup.c - ARC support
arch/arc/kernel/setup.c - Alpha support
arch/alpha/kernel/setup.c
DMA services
- DMAengine
drivers/dma/dmaengine.c - IIO DMA buffer
drivers/iio/buffer/industrialio-buffer-dmaengine.c - CCP DMA driver
drivers/crypto/ccp/ccp-dmaengine.c
Media and accelerators
- Xilinx ISP
drivers/media/platform/xilinx/xilinx-isppipeline.c - AI Engine driver
drivers/misc/xilinx-ai-engine/ai-engine-aie2ps.c - AI Engine UIO
drivers/uio/uio_xilinx_ai_engine.c - i915 engines
drivers/gpu/drm/i915/gt/intel_engine_cs.c - Xe engines
drivers/gpu/drm/xe/xe_hw_engine.c
Storage and interfaces
- SPI Engine
drivers/spi/spi-axi-spi-engine.c - USB mass storage
drivers/usb/gadget/function/f_mass_storage.c - RomFS access
fs/romfs/storage.c
Crypto services
- Crypto engine
crypto/crypto_engine.c
Other components
- Userspace
- SPI clients
- USB host
- Backing file
- Crypto clients
- V4L2 clients
- AI Engine users
Connections 11
- IIO DMA buffer → DMAengine: submits transfers
- CCP DMA driver → DMAengine: registers channels
- SPI clients → SPI Engine: submits messages
- SPI Engine → Userspace: returns results
- USB host → USB mass storage: sends commands
- USB mass storage → Backing file: reads and writes
- Crypto clients → Crypto engine: queues requests
- Crypto engine → Crypto clients: completes requests
- V4L2 clients → Xilinx ISP: sets controls
- AI Engine users → AI Engine driver: uses device interface
- AI Engine users → AI Engine UIO: maps and signals