- UART, SPI, I2C, I3C
- PCIe, USB
IQ-8275 Interface Overview
| 2× QUP v3 Serial Engine | QUP0_V3 | QUP1_V3 | QUP2_V3 |
|---|---|---|---|
| Application processor serial engine instances | 7 | 7 | 1 |
| 3× USB Controller | 0xa600000 | 0xa800000 | 0xa400000 |
|---|---|---|---|
| Maximum speed | USB 3.x SuperSpeed | USB 3.x SuperSpeed | USB 2.0 High Speed |
| 2× PCIe Controller | RC1 | RC0 |
|---|---|---|
| Speed | Gen4 2L (8 GT/s) | Gen4 4L (8 GT/s) |
| Config space | 0x40100000 (1 MB) | 0x60100000 (1 MB) |
| BAR space | 0x40300000 (509 MB) | 0x60300000 (509 MB) |
| Power management | ASPM (L1/L1ss, L0s) | ASPM (L1/L1ss, L0s) |
QUP v3 Protocol and GPIO Mapping
QUP0 (SE0–SE5)
| QUP_SE (addr) | SPI-M | I2C-M | UART | HS UART | GPIO mapping |
|---|---|---|---|---|---|
| qup0_se0 (0x980000) | spi0 | i2c0 | uart0 | — | 20, 21, 22, 23 |
| qup0_se1 (0x984000) | spi1 | i2c1 | uart1 | — | 24, 25, 26, 27 |
| qup0_se2 (0x988000) | spi2 | i2c2 | uart2 | uart2 | 36, 37, 38, 39 |
| qup0_se3 (0x98c000) | spi3 | i2c3 | uart3 | uart3 | 28, 29, 30, 31 |
| qup0_se4 (0x990000) | spi4 | i2c4 | uart4 | — | 32, 33, 34, 35 |
| qup0_se5 (0x994000) | spi5 | i2c5 | uart5 | — | 36, 37, 38, 39 |
QUP1 (SE0–SE6)
| QUP_SE (addr) | SPI-M | I2C-M | UART | HS UART | GPIO mapping |
|---|---|---|---|---|---|
| qup1_se0 (0xa80000) | spi7 | i2c7 | uart7 | — | 40, 41, 42, 43 |
| qup1_se1 (0xa84000) | spi8 | i2c8 | uart8 | — | 42, 43, 40, 41 |
| qup1_se2 (0xa88000) | spi9 | i2c9 | uart9 | uart9 | 46, 47, 44, 45 |
| qup1_se3 (0xa8c000) | spi10 | i2c10 | uart10 | uart10 | 44, 45, 46, 47 |
| qup1_se4 (0xa90000) | spi11 | i2c11 | uart11 | — | 48, 49, 50, 51 |
| qup1_se5 (0xa94000) | spi12 | i2c12 | uart12 | — | 52, 53, 54, 55 |
| qup1_se6 (0xa9c000) | — | i2c13 | uart13 | — | 56, 57, 56, 57 |
QUP2 (SE0–SE6)
| QUP_SE (addr) | SPI-M | I2C-M | UART | HS UART | GPIO mapping |
|---|---|---|---|---|---|
| qup2_se0 (0x880000) | spi14 | i2c14 | uart14 | — | 80, 81, 82, 83 |
| qup2_se1 (0x884000) | spi15 | i2c15 | uart15 | — | 84, 85, 99, 100 |
| qup2_se2 (0x888000) | spi16 | i2c16 | uart16 | uart16 | 86, 87, 88, 89, 90 |
| qup2_se3 (0x88c000) | spi17 | i2c17 | uart17 | uart17 | 91, 92, 93, 94 |
| qup2_se4 (0x890000) | spi18 | i2c18 | uart18 | — | 95, 96, 97, 98 |
| qup2_se5 (0x894000) | spi19 | i2c19 | uart19 | — | 99, 100, 95, 96 |
| qup2_se6 (0x898000) | spi20 | i2c20 | uart20 | — | 97, 98, 95, 96 |
SPI-M = SPI Master
QUP Lane to Function Mapping
| Interface | L0 | L1 | L2 | L3 | L4 | L5 |
|---|---|---|---|---|---|---|
| UART | CTS | RFR | Tx | Rx | ||
| HS UART | CTS | RFR | Tx | Rx | ||
| I2C | SDA | SCL | ||||
| SPI master | MISO | MOSI | SCLK | CS_0 | CS_1 | CS_2 |
Set Up the Device Interface
Obtain Boot Logs
List Enabled Interfaces
Load QUP v3 Firmware
Firmware files are at:Device Tree Configuration
IQ-8275 EVK reference device tree:arch/arm64/boot/dts/qcom/qcs8300.dtsi
Sample Configurations
- I2C
- SPI
- UART
Modify Serial Engine Node
Switch Serial Engine Protocol
Troubleshooting
Firmware Loading Failed
Firmware Loading Failed
CONFIG_FW_LOADER=y in kernel config.Serial Engine Not Probing
Serial Engine Not Probing
Verify device tree:
status = "okay";Protocol Conflict
Protocol Conflict
Ensure only one protocol is enabled per serial engine:
Enable Required Interfaces
- UART — see UART software device tree configuration
- SPI — see SPI software configuration
- I2C — see I2C software device tree configuration
- PCIe — see PCIe software driver configuration
- USB — see USB configuration guide

