
Signals
Transfer Modes by Subsystem
Interface Components
Device Tree Sources
APIs
Software Configuration
Linux Device Tree Example
QUPAC Access Control
Configuration Steps
1
Enable kernel configurations
Edit
kernel_platform/kernel/arch/arm64/configs/qcom_defconfig:2
Enable SPI node in device tree
3
Compile and flash
Compile the kernel and device tree changes, then load images to the device.
Verification
1
Compile SPI utility tool
The On an Ubuntu build host, install the cross-compiler:Set the cross-compilation environment:Compile
spidev_test.c utility is available in the Linux kernel source tree under tools/spi/. It is a simple SPI test program that uses the spidev driver and can be compiled either from the kernel source tree or from a standalone copy.Ensure the build directory contains the following files:spidev_test:2
Transfer spidev_test to device
3
Run test
Debugging
Troubleshooting
SPI Device Not Detected
SPI Device Not Detected
- Verify SPI node status is
"okay"in device tree - Verify
QUPAC_Access.csetsQUPV3_PROTOCOL_SPI,AC_HLOS,bLoad=TRUE
SPI Transfer Failures
SPI Transfer Failures
- Check GPIO drive strength and pull configuration
- Verify clock phase and polarity match the target device
GSI/DMA Mode Not Working
GSI/DMA Mode Not Working
- Verify
CONFIG_QCOM_GPI_DMA=m - Check
dmasanddma-namesin device tree - Verify
QUPAC_Access.csetsQUPV3_MODE_GSI

