1 /*
2  * Copyright (c) 2024 Microchip
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef _MICROCHIP_PIC32CXSG_I2S_INSTANCE_FIXUP_H_
8 #define _MICROCHIP_PIC32CXSG_I2S_INSTANCE_FIXUP_H_
9 
10 /* ========== Register definition for I2S peripheral ========== */
11 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
12 #define REG_I2S_CTRLA              (0x43002800) /**< \brief (I2S) Control A */
13 #define REG_I2S_CLKCTRL0           (0x43002804) /**< \brief (I2S) Clock Unit 0 Control */
14 #define REG_I2S_CLKCTRL1           (0x43002808) /**< \brief (I2S) Clock Unit 1 Control */
15 #define REG_I2S_INTENCLR           (0x4300280C) /**< \brief (I2S) Interrupt Enable Clear */
16 #define REG_I2S_INTENSET           (0x43002810) /**< \brief (I2S) Interrupt Enable Set */
17 #define REG_I2S_INTFLAG            (0x43002814) /**< \brief (I2S) Interrupt Flag Status and Clear */
18 #define REG_I2S_SYNCBUSY           (0x43002818) /**< \brief (I2S) Synchronization Status */
19 #define REG_I2S_TXCTRL             (0x43002820) /**< \brief (I2S) Tx Serializer Control */
20 #define REG_I2S_RXCTRL             (0x43002824) /**< \brief (I2S) Rx Serializer Control */
21 #define REG_I2S_TXDATA             (0x43002830) /**< \brief (I2S) Tx Data */
22 #define REG_I2S_RXDATA             (0x43002834) /**< \brief (I2S) Rx Data */
23 #else
24 #define REG_I2S_CTRLA              (*(RwReg8 *)0x43002800UL) /**< \brief (I2S) Control A */
25 #define REG_I2S_CLKCTRL0           (*(RwReg  *)0x43002804UL) /**< \brief (I2S) Clock Unit 0 Control */
26 #define REG_I2S_CLKCTRL1           (*(RwReg  *)0x43002808UL) /**< \brief (I2S) Clock Unit 1 Control */
27 #define REG_I2S_INTENCLR           (*(RwReg16*)0x4300280CUL) /**< \brief (I2S) Interrupt Enable Clear */
28 #define REG_I2S_INTENSET           (*(RwReg16*)0x43002810UL) /**< \brief (I2S) Interrupt Enable Set */
29 #define REG_I2S_INTFLAG            (*(RwReg16*)0x43002814UL) /**< \brief (I2S) Interrupt Flag Status and Clear */
30 #define REG_I2S_SYNCBUSY           (*(RoReg16*)0x43002818UL) /**< \brief (I2S) Synchronization Status */
31 #define REG_I2S_TXCTRL             (*(RwReg  *)0x43002820UL) /**< \brief (I2S) Tx Serializer Control */
32 #define REG_I2S_RXCTRL             (*(RwReg  *)0x43002824UL) /**< \brief (I2S) Rx Serializer Control */
33 #define REG_I2S_TXDATA             (*(WoReg  *)0x43002830UL) /**< \brief (I2S) Tx Data */
34 #define REG_I2S_RXDATA             (*(RoReg  *)0x43002834UL) /**< \brief (I2S) Rx Data */
35 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
36 
37 #endif /* _MICROCHIP_PIC32CXSG_I2S_INSTANCE_FIXUP_H_ */
38