# Enable I2C bus in aDSP

Source: [https://docs.qualcomm.com/doc/80-88500-1/topic/51_Enable_I2C_bus_in_aDSP.html](https://docs.qualcomm.com/doc/80-88500-1/topic/51_Enable_I2C_bus_in_aDSP.html)

## About this task
As all the common QUP instances are predefined in the qup\_devcfg.c file, no code change is required in the aDSP to enable any particular QUP instance. However, in the TrustZone, customizations are required in the `QUPAC_Access.c` file as the aDSP uses the common QUPs.
      
The following example uses the `AC_NON_SECURE` parameter to assign a serial engine to the HLOS; the aDSP with `QUPV3_MODE_FIFO` also gets selected:

    const QUPv3_se_security_permissions_type qupv3_perms_default[] ={
     /*   PeriphID, ProtocolID, Mode, NsOwner, bAllowFifo, bLoad, bModExcl  */
    { QUPV3_0_SE0, QUPV3_PROTOCOL_I2C, QUPV3_MODE_FIFO, AC_NON_SECURE, TRUE, TRUE, FALSE }, 
    // 3rd party- wireless charging / IDT Wireless charger/ ADSP
    ……….
    }Copy to clipboard

**Parent Topic:** [I2C in QUP](https://docs.qualcomm.com/doc/80-88500-1/topic/41_I2C_in_QUP_v3.html)

Last Published: Aug 18, 2023

[Previous Topic
Enable I2C bus in TrustZone](https://docs.qualcomm.com/bundle/publicresource/80-88500-1/topics/50_Enable_I2C_bus_in_TrustZone.md) [Next Topic
Debug I2C in kernel](https://docs.qualcomm.com/bundle/publicresource/80-88500-1/topics/43_Debug_I2C_in_kernel.md)