# Overview of peripheral interfaces Source: [https://docs.qualcomm.com/doc/80-70017-8/topic/overview-of-wired-interfaces.html](https://docs.qualcomm.com/doc/80-70017-8/topic/overview-of-wired-interfaces.html) The Qualcomm® Linux® interfaces guide describes both the low-speed and high-speed input/output (I/O) peripheral interface subsystems used in the System-on-Chip (SoC). - The low-speed I/O interfaces operate at a lower frequency than the high-speed interfaces in the SoC. The Qualcomm universal peripheral (QUP) v3 serial engine is a hardware core that supports the following low-speed peripheral interfaces: - Universal asynchronous receiver/transmitter ([UART](https://docs.qualcomm.com/doc/80-70017-8/topic/uart.html)) - Serial peripheral interface ([SPI](https://docs.qualcomm.com/doc/80-70017-8/topic/spi.html)) - Interintegrated circuit ([I2C](https://docs.qualcomm.com/doc/80-70017-8/topic/i2c.html)) - Improved interintegrated circuit ([I3C](https://docs.qualcomm.com/doc/80-70017-8/topic/i3c.html)) interfaces These low-speed interfaces are used to communicate with low-speed peripherals, such as sensor interface devices, Bluetooth® wireless technology devices, display or touch interface devices, and other low-speed devices. - The high-speed I/O interfaces include the following peripheral interfaces: - Peripheral component interconnect express ([PCIe](https://docs.qualcomm.com/doc/80-70017-8/topic/pcie.html)) - Universal serial bus ([USB](https://docs.qualcomm.com/doc/80-70017-8/topic/usb.html)) The high-speed I/O interfaces are used to connect to high-speed devices, such as solid-state drives, network cards, external graphics cards. The following figure shows the software stack for peripheral interfaces. Figure : Peripheral interfaces software stack QualcommLinuxSoftwareStack_GA Sheet.2 Sheet.4 Sheet.5 Sheet.6 Proprietary Proprietary Sheet.7 Sheet.8 Legend Legend Sheet.9 Sheet.10 Open Source Open Source Sheet.13 Sheet.14 Bootloader Bootloader Sheet.15 Sheet.16 PCIe PCIe Sheet.19 Sheet.20 USB USB Sheet.25 Sheet.26 CAN CAN Sheet.27 Sheet.28 SPI SPI Sheet.29 Sheet.30 I2C I2C Sheet.31 Sheet.32 UART UART Sheet.33 Hardware Hardware Sheet.34 Kernel space Kernel space Sheet.36 Sheet.37 Linux Kernel Linux Kernel Sheet.38 Sheet.39 systemd boot systemdboot Sheet.42 Sheet.45 Qualcomm interface drivers Qualcomm interface drivers Sheet.50 Sheet.51 Function, class driver Function, class driver Sheet.54 Application/use cases Application/use cases Sheet.64 Sheet.65 Host, device Host, device Sheet.68 Sheet.69 DWC3 core drivers DWC3 core drivers Sheet.70 Sheet.77 Sheet.78 spi-geni-qcom.c spi-geni-qcom.c Sheet.90 Sheet.91 Sheet.92 UEFI UEFI Sheet.162 Sheet.163 Qualcomm QUP v3/aDSP charger firmware Qualcomm QUP v3/aDSP charger firmware Sheet.164 Sheet.165 Kernel platform, multimedia, connectivity, security, network,... Kernel platform, multimedia, connectivity, security, network, and peripheral drivers Sheet.177 Sheet.178 Qualcomm SoC Qualcomm SoC Sheet.179 Sheet.180 Sheet.1000 Sheet.1001 Console Console Sheet.1002 Sheet.1003 Touch Touch Sheet.1006 Sheet.1007 Display Display Sheet.1008 Sheet.1009 PCIe switch PCIe switch Sheet.1012 Sheet.1013 SSD device SSD device Sheet.1014 Sheet.1015 Sensor Sensor Sheet.1016 Sheet.1017 UAC, NCM UAC, NCM Sheet.1018 Sheet.1019 UVC UVC Sheet.1020 Sheet.1021 i2c-qcom-geni.c i2c-qcom-geni.c Sheet.1024 Sheet.1025 QMP, femto phy driver QMP, femto phy driver Sheet.43 qcom_geni_serial.c qcom_geni_serial.c Sheet.1031 Sheet.1032 CAN-UTILS CAN-UTILS Sheet.1033 Sheet.1034 SocketCAN API SocketCAN API Sheet.1035 Sheet.1036 dwc3-qcom.c dwc3-qcom.c Sheet.1037 Sheet.1038 Mass storage Mass storage Sheet.1039 NFC NFC Sheet.1042 Sheet.1041 pcie-qcom.c pcie-qcom.c Sheet.1043 Sheet.1044 mcp25xxfd-core.c mcp25xxfd-core.c ### QUP v3 Qualcomm uses QUP v3, a highly flexible and programmable hardware to support a wide range of serial interfaces. For more information on QUP v3, see the following resources: - [QUP v3 overview](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#introduction-to-qup-v3) - [Supported transfer modes in QUP v3](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#qup-v3-supported-transfer-modes) - [QUP v3 access control customization](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#customize-access-control-of-qup) - [QUP v3 firmware status verification](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#verify-qup-firmware-status) ### QCS6490 and QCS5430 interface overview The following table lists the device interface features for QCS6490 and QCS5430. For information on GPIO mapping, see [QUP v3 mapping to protocols and GPIOs in QCS6490 and QCS5430](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#qup-v3-mapping-in-qcs6490). | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | | --- | --- | --- | --- | | Serial engine instances | QUPV3\_0 | QUPV3\_1 | QUPV3\_1 | | Application processor QUP v3 serial
engine | 8 | 8 | 8 | | LPI QUP v3 serial engine | 5 | – | – | | **2xUSB controller** | **2xUSB controller** | **2xUSB controller** | **2xUSB controller** | | Controller address | 0xa600000 | 0x8c00000 | 0x8c00000 | | Max Speed | USB 3.x SuperSpeed | USB 2.0 high
speed | USB 2.0 high
speed | | HS/SS PHY power rails | | | | | **2xPCIe controller** | **2xPCIe controller** | **2xPCIe controller** | **2xPCIe controller** | | Root complex | RC1 | RC1 | RC0 | | Speed | Gen3 2L
(8 GT/s) | Gen3 2L
(8 GT/s) | Gen3 1L (8 GT/s) | | Configuration space | 0x40100000
(0x100000) 1 MB | 0x40100000
(0x100000) 1 MB | 0x60100000 (0x100000) 1 MB | | I/O space | 0x40200000
(0x100000) 1 MB | 0x40200000
(0x100000) 1 MB | 0x60200000 (0x100000) 1 MB | | Base address register space (BAR) | 0x40300000
(0x3d00000) | 0x40300000
(0x3d00000) | 0x60300000 (0x1fd00000) 509 MB | | Power rails | | | | | Interrupts | Message
signaled interrupts (MSI) and peripheral component interconnect
(PCI) legacy interrupts | Message
signaled interrupts (MSI) and peripheral component interconnect
(PCI) legacy interrupts | MSI and PCI legacy interrupts | | Power management | Active-state
power management (ASPM) L1/L1ss, L0s | Active-state
power management (ASPM) L1/L1ss, L0s | ASPM (L1/L1ss, L0s) | ### QCS9075 interface overview The following table lists the device interface features in QCS9075. For information on QCS9075 GPIO mapping, see [QUP v3 mapping to protocols and GPIOs in QCS9075](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#qup-v3-mapping-to-protocols-and-gpios-in-qcs9100). | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | | --- | --- | --- | --- | | Serial engine instances | QUPV3\_0 | QUPV3\_1 | QUPV3\_1 | | Application processor QUP v3 serial engine | 8 | 8 | 8 | | **3xUSB controller** | **3xUSB controller** | **3xUSB controller** | **3xUSB controller** | | Controller address | 0xa600000 | 0xa800000 | 0xa400000 | | Max speed | USB 3.x SuperSpeed | USB 3.x SuperSpeed | USB 2.0 high speed | | HS/SS PHY power rails | | | | | **2xPCIe controller** | **2xPCIe controller** | **2xPCIe controller** | **2xPCIe controller** | | Root complex | RC1 | RC1 | RC0 | | Speed | Gen4 2L (8 GT/s) | Gen4 2L (8 GT/s) | Gen4 4L (8 GT/s) | | Configuration space | 0x40100000 (0x100000) 1 MB | 0x40100000 (0x100000) 1 MB | 0x60100000 (0x100000) 1 MB | | I/O space | 0x40200000 (0x100000) 1 MB | 0x40200000 (0x100000) 1 MB | 0x60200000 (0x100000) 1 MB | | Base address Register space (BAR) | 0x40300000 (0x1fd00000)
509 MB | 0x40300000 (0x1fd00000)
509 MB | 0x60300000 (0x1fd00000) 509 MB | | Power rails | | | | | Interrupts | MSI and PCI legacy
interrupts | MSI and PCI legacy
interrupts | MSI and PCI legacy interrupts | | Power management | ASPM (L1/L1ss, L0s) | ASPM (L1/L1ss, L0s) | ASPM (L1/L1ss, L0s) | ### QCS8275 interface overview The following table lists the device interface features for the QCS8275. For information on QCS8275 GPIO mapping, see [QUP v3 mapping to protocols and GPIOs in QCS8275](https://docs.qualcomm.com/doc/80-70017-8/topic/references.html#qup-v3-mapping-to-protocols-and-gpios-in-qcs8275). | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | **2xQUP v3 serial engine** | | --- | --- | --- | | Serial engine
instances | QUPV3\_0 | QUPV3\_1 | | Application processor QUP v3
serial engine | 8 | 8 | | **2xUSB controller** | **2xUSB controller** | **2xUSB controller** | | Controller address | 0xa600000 | 0xa400000 | | Max speed | USB 3.x SuperSpeed | USB 2.0 high speed | | HS/SS PHY power
rails | vdda-phy-supply =
<&vreg\_l7a>; | vdda-pll-supply =
<&vreg\_l7a>; | | HS/SS PHY power
rails | vdda-pll-supply =
<&vreg\_l5a>; | vdda18-supply =
<&vreg\_l7c>; | | HS/SS PHY power
rails | vdda-pll-supply =
<&vreg\_l7a>; | vdda33-supply =
<&vreg\_l9a>; | | HS/SS PHY power
rails | vdda18-supply =
<&vreg\_l7c>; | – | | HS/SS PHY power
rails | vdda33-supply =
<&vreg\_l9a>; | – | | HS/SS PHY power
rails | | – | | **2xPCIe controller** | **2xPCIe controller** | **2xPCIe controller** | | Root complex | RC1 | RC0 | | Speed | Gen4 2L (16 GT/s) | Gen4 4L (16 GT/s) | | Configuration space | 0x40100000 (0x100000) 1 MB | 0x60100000 (0x100000) 1 MB | | I/O space | 0x40200000 (0x100000) 1 MB | 0x60200000 (0x100000) 1 MB | | Base address Register space
(BAR) | 0x40300000 (0x1fd00000) 509 MB | 0x60300000 (0x1fd00000) 509 MB | | Power
rails | vreg\_l6a (VDD\_A\_PCIE\_0\_CORE) | vreg\_l5a (VDD\_A\_PCIE\_1\_CORE) | | Power
rails | vreg\_l5a (VDD\_A\_PCIE\_0\_PLL\_1P2) | vreg\_l6a (VDD\_A\_PCIE\_1\_PLL\_1P2) | | Interrupts | MSI and PCI legacy interrupts | MSI and PCI legacy interrupts | | Power management | ASPM (L1/L1ss, L0s) | ASPM (L1/L1ss, L0s) | | | | | | | | | | | | | | | | | | | | | Note: - The source code for boot and aDSP subsystems is available to licensed developers with authorized access. - See [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-115/soc.html) that are supported on Qualcomm Linux. This guide is your primary resource for information on enabling low-speed and high-speed I/O interfaces and making configuration changes. Note: Across this guide, `` refers to QCS6490, QCS5430, QCS9075, or QCS8275. For example, for arch/arm64/boot/dts/qcom/<chipset>.dts, the corresponding device tree source (DTS) file is at [https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts](https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts) or [https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/sa8775p.dtsi](https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/sa8775p.dtsi). Last Published: Jan 31, 2025 [Next Topic Getting started](https://docs.qualcomm.com/bundle/publicresource/80-70017-8/topics/get-started.md)