xref: /openbmc/qemu/include/hw/arm/fsl-imx6ul.h (revision 7a1dc45af581d2b643cdbf33c01fd96271616fbd)
131cbf933SJean-Christophe Dubois /*
231cbf933SJean-Christophe Dubois  * Copyright (c) 2018 Jean-Christophe Dubois <jcd@tribudubois.net>
331cbf933SJean-Christophe Dubois  *
431cbf933SJean-Christophe Dubois  * i.MX6ul SoC definitions
531cbf933SJean-Christophe Dubois  *
631cbf933SJean-Christophe Dubois  * This program is free software; you can redistribute it and/or modify
731cbf933SJean-Christophe Dubois  * it under the terms of the GNU General Public License as published by
831cbf933SJean-Christophe Dubois  * the Free Software Foundation; either version 2 of the License, or
931cbf933SJean-Christophe Dubois  * (at your option) any later version.
1031cbf933SJean-Christophe Dubois  *
1131cbf933SJean-Christophe Dubois  * This program is distributed in the hope that it will be useful,
1231cbf933SJean-Christophe Dubois  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1331cbf933SJean-Christophe Dubois  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1431cbf933SJean-Christophe Dubois  * GNU General Public License for more details.
1531cbf933SJean-Christophe Dubois  */
1631cbf933SJean-Christophe Dubois 
1731cbf933SJean-Christophe Dubois #ifndef FSL_IMX6UL_H
1831cbf933SJean-Christophe Dubois #define FSL_IMX6UL_H
1931cbf933SJean-Christophe Dubois 
2031cbf933SJean-Christophe Dubois #include "hw/cpu/a15mpcore.h"
2131cbf933SJean-Christophe Dubois #include "hw/misc/imx6ul_ccm.h"
2231cbf933SJean-Christophe Dubois #include "hw/misc/imx6_src.h"
2331cbf933SJean-Christophe Dubois #include "hw/misc/imx7_snvs.h"
2431cbf933SJean-Christophe Dubois #include "hw/intc/imx_gpcv2.h"
2537f95959SGuenter Roeck #include "hw/watchdog/wdt_imx2.h"
2631cbf933SJean-Christophe Dubois #include "hw/gpio/imx_gpio.h"
2731cbf933SJean-Christophe Dubois #include "hw/char/imx_serial.h"
2831cbf933SJean-Christophe Dubois #include "hw/timer/imx_gpt.h"
2931cbf933SJean-Christophe Dubois #include "hw/timer/imx_epit.h"
3031cbf933SJean-Christophe Dubois #include "hw/i2c/imx_i2c.h"
3131cbf933SJean-Christophe Dubois #include "hw/sd/sdhci.h"
3231cbf933SJean-Christophe Dubois #include "hw/ssi/imx_spi.h"
3331cbf933SJean-Christophe Dubois #include "hw/net/imx_fec.h"
3417372bd8SGuenter Roeck #include "hw/usb/chipidea.h"
3517372bd8SGuenter Roeck #include "hw/usb/imx-usb-phy.h"
3631cbf933SJean-Christophe Dubois #include "exec/memory.h"
3731cbf933SJean-Christophe Dubois #include "cpu.h"
38db1015e9SEduardo Habkost #include "qom/object.h"
390cd4926bSJean-Christophe Dubois #include "qemu/units.h"
4031cbf933SJean-Christophe Dubois 
41e178113fSMarkus Armbruster #define TYPE_FSL_IMX6UL "fsl-imx6ul"
428063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(FslIMX6ULState, FSL_IMX6UL)
4331cbf933SJean-Christophe Dubois 
4431cbf933SJean-Christophe Dubois enum FslIMX6ULConfiguration {
4531cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_CPUS         = 1,
4631cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_UARTS        = 8,
4731cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_ETHS         = 2,
4831cbf933SJean-Christophe Dubois     FSL_IMX6UL_ETH_NUM_TX_RINGS = 2,
4931cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_USDHCS       = 2,
5031cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_WDTS         = 3,
5131cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_GPTS         = 2,
5231cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_EPITS        = 2,
5331cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_IOMUXCS      = 2,
5431cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_GPIOS        = 5,
5531cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_I2CS         = 4,
5631cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_ECSPIS       = 4,
5731cbf933SJean-Christophe Dubois     FSL_IMX6UL_NUM_ADCS         = 2,
5817372bd8SGuenter Roeck     FSL_IMX6UL_NUM_USB_PHYS     = 2,
5917372bd8SGuenter Roeck     FSL_IMX6UL_NUM_USBS         = 2,
600cd4926bSJean-Christophe Dubois     FSL_IMX6UL_NUM_SAIS         = 3,
610cd4926bSJean-Christophe Dubois     FSL_IMX6UL_NUM_CANS         = 2,
62f6020845SJean-Christophe Dubois     FSL_IMX6UL_NUM_PWMS         = 8,
6331cbf933SJean-Christophe Dubois };
6431cbf933SJean-Christophe Dubois 
65db1015e9SEduardo Habkost struct FslIMX6ULState {
6631cbf933SJean-Christophe Dubois     /*< private >*/
6731cbf933SJean-Christophe Dubois     DeviceState    parent_obj;
6831cbf933SJean-Christophe Dubois 
6931cbf933SJean-Christophe Dubois     /*< public >*/
70bc8c2ecfSPeter Maydell     ARMCPU             cpu;
7131cbf933SJean-Christophe Dubois     A15MPPrivState     a7mpcore;
7231cbf933SJean-Christophe Dubois     IMXGPTState        gpt[FSL_IMX6UL_NUM_GPTS];
7331cbf933SJean-Christophe Dubois     IMXEPITState       epit[FSL_IMX6UL_NUM_EPITS];
7431cbf933SJean-Christophe Dubois     IMXGPIOState       gpio[FSL_IMX6UL_NUM_GPIOS];
7531cbf933SJean-Christophe Dubois     IMX6ULCCMState     ccm;
7631cbf933SJean-Christophe Dubois     IMX6SRCState       src;
7731cbf933SJean-Christophe Dubois     IMX7SNVSState      snvs;
7831cbf933SJean-Christophe Dubois     IMXGPCv2State      gpcv2;
7931cbf933SJean-Christophe Dubois     IMXSPIState        spi[FSL_IMX6UL_NUM_ECSPIS];
8031cbf933SJean-Christophe Dubois     IMXI2CState        i2c[FSL_IMX6UL_NUM_I2CS];
8131cbf933SJean-Christophe Dubois     IMXSerialState     uart[FSL_IMX6UL_NUM_UARTS];
8231cbf933SJean-Christophe Dubois     IMXFECState        eth[FSL_IMX6UL_NUM_ETHS];
8331cbf933SJean-Christophe Dubois     SDHCIState         usdhc[FSL_IMX6UL_NUM_USDHCS];
8431cbf933SJean-Christophe Dubois     IMX2WdtState       wdt[FSL_IMX6UL_NUM_WDTS];
8517372bd8SGuenter Roeck     IMXUSBPHYState     usbphy[FSL_IMX6UL_NUM_USB_PHYS];
8617372bd8SGuenter Roeck     ChipideaState      usb[FSL_IMX6UL_NUM_USBS];
8731cbf933SJean-Christophe Dubois     MemoryRegion       rom;
8831cbf933SJean-Christophe Dubois     MemoryRegion       caam;
8931cbf933SJean-Christophe Dubois     MemoryRegion       ocram;
9031cbf933SJean-Christophe Dubois     MemoryRegion       ocram_alias;
91456914afSJean-Christophe Dubois 
92456914afSJean-Christophe Dubois     uint32_t           phy_num[FSL_IMX6UL_NUM_ETHS];
93bc14018cSGuenter Roeck     bool               phy_connected[FSL_IMX6UL_NUM_ETHS];
94db1015e9SEduardo Habkost };
9531cbf933SJean-Christophe Dubois 
9631cbf933SJean-Christophe Dubois enum FslIMX6ULMemoryMap {
9731cbf933SJean-Christophe Dubois     FSL_IMX6UL_MMDC_ADDR            = 0x80000000,
980cd4926bSJean-Christophe Dubois     FSL_IMX6UL_MMDC_SIZE            = (2 * GiB),
9931cbf933SJean-Christophe Dubois 
10031cbf933SJean-Christophe Dubois     FSL_IMX6UL_QSPI1_MEM_ADDR       = 0x60000000,
1010cd4926bSJean-Christophe Dubois     FSL_IMX6UL_QSPI1_MEM_SIZE       = (256 * MiB),
10231cbf933SJean-Christophe Dubois 
1030cd4926bSJean-Christophe Dubois     FSL_IMX6UL_EIM_ALIAS_ADDR       = 0x58000000,
1040cd4926bSJean-Christophe Dubois     FSL_IMX6UL_EIM_ALIAS_SIZE       = (128 * MiB),
1050cd4926bSJean-Christophe Dubois 
1060cd4926bSJean-Christophe Dubois     FSL_IMX6UL_EIM_CS_ADDR          = 0x50000000,
1070cd4926bSJean-Christophe Dubois     FSL_IMX6UL_EIM_CS_SIZE          = (128 * MiB),
1080cd4926bSJean-Christophe Dubois 
1090cd4926bSJean-Christophe Dubois     FSL_IMX6UL_AES_ENCRYPT_ADDR     = 0x10000000,
1100cd4926bSJean-Christophe Dubois     FSL_IMX6UL_AES_ENCRYPT_SIZE     = (1 * MiB),
1110cd4926bSJean-Christophe Dubois 
1120cd4926bSJean-Christophe Dubois     FSL_IMX6UL_QSPI1_RX_ADDR        = 0x0C000000,
1130cd4926bSJean-Christophe Dubois     FSL_IMX6UL_QSPI1_RX_SIZE        = (32 * MiB),
1140cd4926bSJean-Christophe Dubois 
1150cd4926bSJean-Christophe Dubois     /* AIPS-2 Begin */
11631cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART6_ADDR           = 0x021FC000,
1170cd4926bSJean-Christophe Dubois 
11831cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C4_ADDR            = 0x021F8000,
1190cd4926bSJean-Christophe Dubois 
12031cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART5_ADDR           = 0x021F4000,
12131cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART4_ADDR           = 0x021F0000,
12231cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART3_ADDR           = 0x021EC000,
12331cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART2_ADDR           = 0x021E8000,
1240cd4926bSJean-Christophe Dubois 
12531cbf933SJean-Christophe Dubois     FSL_IMX6UL_WDOG3_ADDR           = 0x021E4000,
1260cd4926bSJean-Christophe Dubois 
12731cbf933SJean-Christophe Dubois     FSL_IMX6UL_QSPI_ADDR            = 0x021E0000,
1280cd4926bSJean-Christophe Dubois     FSL_IMX6UL_QSPI_SIZE            = 0x500,
1290cd4926bSJean-Christophe Dubois 
13031cbf933SJean-Christophe Dubois     FSL_IMX6UL_SYS_CNT_CTRL_ADDR    = 0x021DC000,
1310cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SYS_CNT_CTRL_SIZE    = (16 * KiB),
1320cd4926bSJean-Christophe Dubois 
13331cbf933SJean-Christophe Dubois     FSL_IMX6UL_SYS_CNT_CMP_ADDR     = 0x021D8000,
1340cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SYS_CNT_CMP_SIZE     = (16 * KiB),
1350cd4926bSJean-Christophe Dubois 
13631cbf933SJean-Christophe Dubois     FSL_IMX6UL_SYS_CNT_RD_ADDR      = 0x021D4000,
1370cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SYS_CNT_RD_SIZE      = (16 * KiB),
1380cd4926bSJean-Christophe Dubois 
13931cbf933SJean-Christophe Dubois     FSL_IMX6UL_TZASC_ADDR           = 0x021D0000,
1400cd4926bSJean-Christophe Dubois     FSL_IMX6UL_TZASC_SIZE           = (16 * KiB),
1410cd4926bSJean-Christophe Dubois 
14231cbf933SJean-Christophe Dubois     FSL_IMX6UL_PXP_ADDR             = 0x021CC000,
1430cd4926bSJean-Christophe Dubois     FSL_IMX6UL_PXP_SIZE             = (16 * KiB),
1440cd4926bSJean-Christophe Dubois 
14531cbf933SJean-Christophe Dubois     FSL_IMX6UL_LCDIF_ADDR           = 0x021C8000,
1460cd4926bSJean-Christophe Dubois     FSL_IMX6UL_LCDIF_SIZE           = 0x100,
1470cd4926bSJean-Christophe Dubois 
14831cbf933SJean-Christophe Dubois     FSL_IMX6UL_CSI_ADDR             = 0x021C4000,
1490cd4926bSJean-Christophe Dubois     FSL_IMX6UL_CSI_SIZE             = 0x100,
1500cd4926bSJean-Christophe Dubois 
15131cbf933SJean-Christophe Dubois     FSL_IMX6UL_CSU_ADDR             = 0x021C0000,
1520cd4926bSJean-Christophe Dubois     FSL_IMX6UL_CSU_SIZE             = (16 * KiB),
1530cd4926bSJean-Christophe Dubois 
15431cbf933SJean-Christophe Dubois     FSL_IMX6UL_OCOTP_CTRL_ADDR      = 0x021BC000,
1550cd4926bSJean-Christophe Dubois     FSL_IMX6UL_OCOTP_CTRL_SIZE      = (4 * KiB),
1560cd4926bSJean-Christophe Dubois 
15731cbf933SJean-Christophe Dubois     FSL_IMX6UL_EIM_ADDR             = 0x021B8000,
1580cd4926bSJean-Christophe Dubois     FSL_IMX6UL_EIM_SIZE             = 0x100,
1590cd4926bSJean-Christophe Dubois 
16031cbf933SJean-Christophe Dubois     FSL_IMX6UL_SIM2_ADDR            = 0x021B4000,
1610cd4926bSJean-Christophe Dubois 
16231cbf933SJean-Christophe Dubois     FSL_IMX6UL_MMDC_CFG_ADDR        = 0x021B0000,
1630cd4926bSJean-Christophe Dubois     FSL_IMX6UL_MMDC_CFG_SIZE        = (4 * KiB),
1640cd4926bSJean-Christophe Dubois 
16531cbf933SJean-Christophe Dubois     FSL_IMX6UL_ROMCP_ADDR           = 0x021AC000,
1660cd4926bSJean-Christophe Dubois     FSL_IMX6UL_ROMCP_SIZE           = 0x300,
1670cd4926bSJean-Christophe Dubois 
16831cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C3_ADDR            = 0x021A8000,
16931cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C2_ADDR            = 0x021A4000,
17031cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C1_ADDR            = 0x021A0000,
1710cd4926bSJean-Christophe Dubois 
17231cbf933SJean-Christophe Dubois     FSL_IMX6UL_ADC2_ADDR            = 0x0219C000,
17331cbf933SJean-Christophe Dubois     FSL_IMX6UL_ADC1_ADDR            = 0x02198000,
1740cd4926bSJean-Christophe Dubois     FSL_IMX6UL_ADCn_SIZE            = 0x100,
1750cd4926bSJean-Christophe Dubois 
17631cbf933SJean-Christophe Dubois     FSL_IMX6UL_USDHC2_ADDR          = 0x02194000,
17731cbf933SJean-Christophe Dubois     FSL_IMX6UL_USDHC1_ADDR          = 0x02190000,
17831cbf933SJean-Christophe Dubois 
1790cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SIM1_ADDR            = 0x0218C000,
1800cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SIMn_SIZE            = (16 * KiB),
1810cd4926bSJean-Christophe Dubois 
1820cd4926bSJean-Christophe Dubois     FSL_IMX6UL_ENET1_ADDR           = 0x02188000,
1830cd4926bSJean-Christophe Dubois 
1840cd4926bSJean-Christophe Dubois     FSL_IMX6UL_USBO2_USBMISC_ADDR   = 0x02184800,
185*b0d1021eSGuenter Roeck     FSL_IMX6UL_USBO2_USBMISC_SIZE   = 0x200,
186*b0d1021eSGuenter Roeck 
1870cd4926bSJean-Christophe Dubois     FSL_IMX6UL_USBO2_USB1_ADDR      = 0x02184000,
1880cd4926bSJean-Christophe Dubois     FSL_IMX6UL_USBO2_USB2_ADDR      = 0x02184200,
1890cd4926bSJean-Christophe Dubois 
1900cd4926bSJean-Christophe Dubois     FSL_IMX6UL_USBO2_PL301_ADDR     = 0x02180000,
1910cd4926bSJean-Christophe Dubois     FSL_IMX6UL_USBO2_PL301_SIZE     = (16 * KiB),
1920cd4926bSJean-Christophe Dubois 
1930cd4926bSJean-Christophe Dubois     FSL_IMX6UL_AIPS2_CFG_ADDR       = 0x0217C000,
1940cd4926bSJean-Christophe Dubois     FSL_IMX6UL_AIPS2_CFG_SIZE       = 0x100,
1950cd4926bSJean-Christophe Dubois 
1960cd4926bSJean-Christophe Dubois     FSL_IMX6UL_CAAM_ADDR            = 0x02140000,
1970cd4926bSJean-Christophe Dubois     FSL_IMX6UL_CAAM_SIZE            = (16 * KiB),
1980cd4926bSJean-Christophe Dubois 
1990cd4926bSJean-Christophe Dubois     FSL_IMX6UL_A7MPCORE_DAP_ADDR    = 0x02100000,
2000cd4926bSJean-Christophe Dubois     FSL_IMX6UL_A7MPCORE_DAP_SIZE    = (4 * KiB),
2010cd4926bSJean-Christophe Dubois     /* AIPS-2 End */
2020cd4926bSJean-Christophe Dubois 
2030cd4926bSJean-Christophe Dubois     /* AIPS-1 Begin */
20431cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM8_ADDR            = 0x020FC000,
20531cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM7_ADDR            = 0x020F8000,
20631cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM6_ADDR            = 0x020F4000,
20731cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM5_ADDR            = 0x020F0000,
2080cd4926bSJean-Christophe Dubois 
20931cbf933SJean-Christophe Dubois     FSL_IMX6UL_SDMA_ADDR            = 0x020EC000,
2100cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SDMA_SIZE            = 0x300,
2110cd4926bSJean-Christophe Dubois 
21231cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPT2_ADDR            = 0x020E8000,
2130cd4926bSJean-Christophe Dubois 
21431cbf933SJean-Christophe Dubois     FSL_IMX6UL_IOMUXC_GPR_ADDR      = 0x020E4000,
2150cd4926bSJean-Christophe Dubois     FSL_IMX6UL_IOMUXC_GPR_SIZE      = 0x40,
2160cd4926bSJean-Christophe Dubois 
21731cbf933SJean-Christophe Dubois     FSL_IMX6UL_IOMUXC_ADDR          = 0x020E0000,
2180cd4926bSJean-Christophe Dubois     FSL_IMX6UL_IOMUXC_SIZE          = 0x700,
2190cd4926bSJean-Christophe Dubois 
22031cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPC_ADDR             = 0x020DC000,
2210cd4926bSJean-Christophe Dubois 
22231cbf933SJean-Christophe Dubois     FSL_IMX6UL_SRC_ADDR             = 0x020D8000,
2230cd4926bSJean-Christophe Dubois 
22431cbf933SJean-Christophe Dubois     FSL_IMX6UL_EPIT2_ADDR           = 0x020D4000,
22531cbf933SJean-Christophe Dubois     FSL_IMX6UL_EPIT1_ADDR           = 0x020D0000,
2260cd4926bSJean-Christophe Dubois 
22731cbf933SJean-Christophe Dubois     FSL_IMX6UL_SNVS_HP_ADDR         = 0x020CC000,
2280cd4926bSJean-Christophe Dubois 
22917372bd8SGuenter Roeck     FSL_IMX6UL_USBPHY2_ADDR         = 0x020CA000,
23017372bd8SGuenter Roeck     FSL_IMX6UL_USBPHY1_ADDR         = 0x020C9000,
2310cd4926bSJean-Christophe Dubois 
23231cbf933SJean-Christophe Dubois     FSL_IMX6UL_ANALOG_ADDR          = 0x020C8000,
2330cd4926bSJean-Christophe Dubois     FSL_IMX6UL_ANALOG_SIZE          = 0x300,
2340cd4926bSJean-Christophe Dubois 
23531cbf933SJean-Christophe Dubois     FSL_IMX6UL_CCM_ADDR             = 0x020C4000,
2360cd4926bSJean-Christophe Dubois 
23731cbf933SJean-Christophe Dubois     FSL_IMX6UL_WDOG2_ADDR           = 0x020C0000,
23831cbf933SJean-Christophe Dubois     FSL_IMX6UL_WDOG1_ADDR           = 0x020BC000,
2390cd4926bSJean-Christophe Dubois 
24031cbf933SJean-Christophe Dubois     FSL_IMX6UL_KPP_ADDR             = 0x020B8000,
2410cd4926bSJean-Christophe Dubois     FSL_IMX6UL_KPP_SIZE             = 0x10,
2420cd4926bSJean-Christophe Dubois 
24331cbf933SJean-Christophe Dubois     FSL_IMX6UL_ENET2_ADDR           = 0x020B4000,
2440cd4926bSJean-Christophe Dubois 
24531cbf933SJean-Christophe Dubois     FSL_IMX6UL_SNVS_LP_ADDR         = 0x020B0000,
2460cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SNVS_LP_SIZE         = (16 * KiB),
2470cd4926bSJean-Christophe Dubois 
24831cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO5_ADDR           = 0x020AC000,
24931cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO4_ADDR           = 0x020A8000,
25031cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO3_ADDR           = 0x020A4000,
25131cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO2_ADDR           = 0x020A0000,
25231cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_ADDR           = 0x0209C000,
2530cd4926bSJean-Christophe Dubois 
25431cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPT1_ADDR            = 0x02098000,
2550cd4926bSJean-Christophe Dubois 
25631cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAN2_ADDR            = 0x02094000,
25731cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAN1_ADDR            = 0x02090000,
2580cd4926bSJean-Christophe Dubois     FSL_IMX6UL_CANn_SIZE            = (4 * KiB),
2590cd4926bSJean-Christophe Dubois 
26031cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM4_ADDR            = 0x0208C000,
26131cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM3_ADDR            = 0x02088000,
26231cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM2_ADDR            = 0x02084000,
26331cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM1_ADDR            = 0x02080000,
2640cd4926bSJean-Christophe Dubois     FSL_IMX6UL_PWMn_SIZE            = 0x20,
2650cd4926bSJean-Christophe Dubois 
26631cbf933SJean-Christophe Dubois     FSL_IMX6UL_AIPS1_CFG_ADDR       = 0x0207C000,
2670cd4926bSJean-Christophe Dubois     FSL_IMX6UL_AIPS1_CFG_SIZE       = (16 * KiB),
2680cd4926bSJean-Christophe Dubois 
26931cbf933SJean-Christophe Dubois     FSL_IMX6UL_BEE_ADDR             = 0x02044000,
2700cd4926bSJean-Christophe Dubois     FSL_IMX6UL_BEE_SIZE             = (16 * KiB),
2710cd4926bSJean-Christophe Dubois 
27231cbf933SJean-Christophe Dubois     FSL_IMX6UL_TOUCH_CTRL_ADDR      = 0x02040000,
2730cd4926bSJean-Christophe Dubois     FSL_IMX6UL_TOUCH_CTRL_SIZE      = 0x100,
2740cd4926bSJean-Christophe Dubois 
27531cbf933SJean-Christophe Dubois     FSL_IMX6UL_SPBA_ADDR            = 0x0203C000,
2760cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SPBA_SIZE            = 0x100,
2770cd4926bSJean-Christophe Dubois 
27831cbf933SJean-Christophe Dubois     FSL_IMX6UL_ASRC_ADDR            = 0x02034000,
2790cd4926bSJean-Christophe Dubois     FSL_IMX6UL_ASRC_SIZE            = 0x100,
2800cd4926bSJean-Christophe Dubois 
28131cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI3_ADDR            = 0x02030000,
28231cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI2_ADDR            = 0x0202C000,
28331cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI1_ADDR            = 0x02028000,
2840cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SAIn_SIZE            = 0x200,
2850cd4926bSJean-Christophe Dubois 
28631cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART8_ADDR           = 0x02024000,
28731cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART1_ADDR           = 0x02020000,
28831cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART7_ADDR           = 0x02018000,
2890cd4926bSJean-Christophe Dubois 
29031cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI4_ADDR          = 0x02014000,
29131cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI3_ADDR          = 0x02010000,
29231cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI2_ADDR          = 0x0200C000,
29331cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI1_ADDR          = 0x02008000,
2940cd4926bSJean-Christophe Dubois 
29531cbf933SJean-Christophe Dubois     FSL_IMX6UL_SPDIF_ADDR           = 0x02004000,
2960cd4926bSJean-Christophe Dubois     FSL_IMX6UL_SPDIF_SIZE           = 0x100,
2970cd4926bSJean-Christophe Dubois     /* AIPS-1 End */
2980cd4926bSJean-Christophe Dubois 
2990cd4926bSJean-Christophe Dubois     FSL_IMX6UL_BCH_ADDR             = 0x01808000,
3000cd4926bSJean-Christophe Dubois     FSL_IMX6UL_BCH_SIZE             = 0x200,
3010cd4926bSJean-Christophe Dubois 
3020cd4926bSJean-Christophe Dubois     FSL_IMX6UL_GPMI_ADDR            = 0x01806000,
3030cd4926bSJean-Christophe Dubois     FSL_IMX6UL_GPMI_SIZE            = 0x200,
30431cbf933SJean-Christophe Dubois 
30531cbf933SJean-Christophe Dubois     FSL_IMX6UL_APBH_DMA_ADDR        = 0x01804000,
3060cd4926bSJean-Christophe Dubois     FSL_IMX6UL_APBH_DMA_SIZE        = (4 * KiB),
30731cbf933SJean-Christophe Dubois 
30831cbf933SJean-Christophe Dubois     FSL_IMX6UL_A7MPCORE_ADDR        = 0x00A00000,
30931cbf933SJean-Christophe Dubois 
31031cbf933SJean-Christophe Dubois     FSL_IMX6UL_OCRAM_ALIAS_ADDR     = 0x00920000,
3110cd4926bSJean-Christophe Dubois     FSL_IMX6UL_OCRAM_ALIAS_SIZE     = (384 * KiB),
3120cd4926bSJean-Christophe Dubois 
31331cbf933SJean-Christophe Dubois     FSL_IMX6UL_OCRAM_MEM_ADDR       = 0x00900000,
3140cd4926bSJean-Christophe Dubois     FSL_IMX6UL_OCRAM_MEM_SIZE       = (128 * KiB),
3150cd4926bSJean-Christophe Dubois 
31631cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAAM_MEM_ADDR        = 0x00100000,
3170cd4926bSJean-Christophe Dubois     FSL_IMX6UL_CAAM_MEM_SIZE        = (32 * KiB),
3180cd4926bSJean-Christophe Dubois 
31931cbf933SJean-Christophe Dubois     FSL_IMX6UL_ROM_ADDR             = 0x00000000,
3200cd4926bSJean-Christophe Dubois     FSL_IMX6UL_ROM_SIZE             = (96 * KiB),
32131cbf933SJean-Christophe Dubois };
32231cbf933SJean-Christophe Dubois 
32331cbf933SJean-Christophe Dubois enum FslIMX6ULIRQs {
32431cbf933SJean-Christophe Dubois     FSL_IMX6UL_IOMUXC_IRQ   = 0,
32531cbf933SJean-Christophe Dubois     FSL_IMX6UL_DAP_IRQ      = 1,
32631cbf933SJean-Christophe Dubois     FSL_IMX6UL_SDMA_IRQ     = 2,
32731cbf933SJean-Christophe Dubois     FSL_IMX6UL_TSC_IRQ      = 3,
32831cbf933SJean-Christophe Dubois     FSL_IMX6UL_SNVS_IRQ     = 4,
32931cbf933SJean-Christophe Dubois     FSL_IMX6UL_LCDIF_IRQ    = 5,
33031cbf933SJean-Christophe Dubois     FSL_IMX6UL_BEE_IRQ      = 6,
33131cbf933SJean-Christophe Dubois     FSL_IMX6UL_CSI_IRQ      = 7,
33231cbf933SJean-Christophe Dubois     FSL_IMX6UL_PXP_IRQ      = 8,
33331cbf933SJean-Christophe Dubois     FSL_IMX6UL_SCTR1_IRQ    = 9,
33431cbf933SJean-Christophe Dubois     FSL_IMX6UL_SCTR2_IRQ    = 10,
33531cbf933SJean-Christophe Dubois     FSL_IMX6UL_WDOG3_IRQ    = 11,
33631cbf933SJean-Christophe Dubois     FSL_IMX6UL_APBH_DMA_IRQ = 13,
33731cbf933SJean-Christophe Dubois     FSL_IMX6UL_WEIM_IRQ     = 14,
33831cbf933SJean-Christophe Dubois     FSL_IMX6UL_RAWNAND1_IRQ = 15,
33931cbf933SJean-Christophe Dubois     FSL_IMX6UL_RAWNAND2_IRQ = 16,
34031cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART6_IRQ    = 17,
34131cbf933SJean-Christophe Dubois     FSL_IMX6UL_SRTC_IRQ     = 19,
34231cbf933SJean-Christophe Dubois     FSL_IMX6UL_SRTC_SEC_IRQ = 20,
34331cbf933SJean-Christophe Dubois     FSL_IMX6UL_CSU_IRQ      = 21,
34431cbf933SJean-Christophe Dubois     FSL_IMX6UL_USDHC1_IRQ   = 22,
34531cbf933SJean-Christophe Dubois     FSL_IMX6UL_USDHC2_IRQ   = 23,
34631cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI3_IRQ     = 24,
34731cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI32_IRQ    = 25,
34831cbf933SJean-Christophe Dubois 
34931cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART1_IRQ    = 26,
35031cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART2_IRQ    = 27,
35131cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART3_IRQ    = 28,
35231cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART4_IRQ    = 29,
35331cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART5_IRQ    = 30,
35431cbf933SJean-Christophe Dubois 
35531cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI1_IRQ   = 31,
35631cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI2_IRQ   = 32,
35731cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI3_IRQ   = 33,
35831cbf933SJean-Christophe Dubois     FSL_IMX6UL_ECSPI4_IRQ   = 34,
35931cbf933SJean-Christophe Dubois 
36031cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C4_IRQ     = 35,
36131cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C1_IRQ     = 36,
36231cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C2_IRQ     = 37,
36331cbf933SJean-Christophe Dubois     FSL_IMX6UL_I2C3_IRQ     = 38,
36431cbf933SJean-Christophe Dubois 
36531cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART7_IRQ    = 39,
36631cbf933SJean-Christophe Dubois     FSL_IMX6UL_UART8_IRQ    = 40,
36731cbf933SJean-Christophe Dubois 
368630e2af0SGuenter Roeck     FSL_IMX6UL_USB1_IRQ     = 43,
369630e2af0SGuenter Roeck     FSL_IMX6UL_USB2_IRQ     = 42,
37031cbf933SJean-Christophe Dubois     FSL_IMX6UL_USB_PHY1_IRQ = 44,
371630e2af0SGuenter Roeck     FSL_IMX6UL_USB_PHY2_IRQ = 45,
37231cbf933SJean-Christophe Dubois 
37331cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAAM_JQ2_IRQ = 46,
37431cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAAM_ERR_IRQ = 47,
37531cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAAM_RTIC_IRQ = 48,
37631cbf933SJean-Christophe Dubois     FSL_IMX6UL_TEMP_IRQ     = 49,
37731cbf933SJean-Christophe Dubois     FSL_IMX6UL_ASRC_IRQ     = 50,
37831cbf933SJean-Christophe Dubois     FSL_IMX6UL_SPDIF_IRQ    = 52,
37931cbf933SJean-Christophe Dubois     FSL_IMX6UL_PMU_REG_IRQ  = 54,
38031cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPT1_IRQ     = 55,
38131cbf933SJean-Christophe Dubois 
38231cbf933SJean-Christophe Dubois     FSL_IMX6UL_EPIT1_IRQ    = 56,
38331cbf933SJean-Christophe Dubois     FSL_IMX6UL_EPIT2_IRQ    = 57,
38431cbf933SJean-Christophe Dubois 
38531cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT7_IRQ = 58,
38631cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT6_IRQ = 59,
38731cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT5_IRQ = 60,
38831cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT4_IRQ = 61,
38931cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT3_IRQ = 62,
39031cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT2_IRQ = 63,
39131cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT1_IRQ = 64,
39231cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_INT0_IRQ = 65,
39331cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_LOW_IRQ  = 66,
39431cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO1_HIGH_IRQ = 67,
39531cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO2_LOW_IRQ  = 68,
39631cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO2_HIGH_IRQ = 69,
39731cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO3_LOW_IRQ  = 70,
39831cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO3_HIGH_IRQ = 71,
39931cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO4_LOW_IRQ  = 72,
40031cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO4_HIGH_IRQ = 73,
40131cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO5_LOW_IRQ  = 74,
40231cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPIO5_HIGH_IRQ = 75,
40331cbf933SJean-Christophe Dubois 
40431cbf933SJean-Christophe Dubois     FSL_IMX6UL_WDOG1_IRQ    = 80,
40531cbf933SJean-Christophe Dubois     FSL_IMX6UL_WDOG2_IRQ    = 81,
40631cbf933SJean-Christophe Dubois 
40731cbf933SJean-Christophe Dubois     FSL_IMX6UL_KPP_IRQ      = 82,
40831cbf933SJean-Christophe Dubois 
40931cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM1_IRQ     = 83,
41031cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM2_IRQ     = 84,
41131cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM3_IRQ     = 85,
41231cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM4_IRQ     = 86,
41331cbf933SJean-Christophe Dubois 
41431cbf933SJean-Christophe Dubois     FSL_IMX6UL_CCM1_IRQ     = 87,
41531cbf933SJean-Christophe Dubois     FSL_IMX6UL_CCM2_IRQ     = 88,
41631cbf933SJean-Christophe Dubois 
41731cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPC_IRQ      = 89,
41831cbf933SJean-Christophe Dubois 
41931cbf933SJean-Christophe Dubois     FSL_IMX6UL_SRC_IRQ      = 91,
42031cbf933SJean-Christophe Dubois 
42131cbf933SJean-Christophe Dubois     FSL_IMX6UL_CPU_PERF_IRQ = 94,
42231cbf933SJean-Christophe Dubois     FSL_IMX6UL_CPU_CTI_IRQ  = 95,
42331cbf933SJean-Christophe Dubois 
42431cbf933SJean-Christophe Dubois     FSL_IMX6UL_SRC_WDOG_IRQ = 96,
42531cbf933SJean-Christophe Dubois 
42631cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI1_IRQ     = 97,
42731cbf933SJean-Christophe Dubois     FSL_IMX6UL_SAI2_IRQ     = 98,
42831cbf933SJean-Christophe Dubois 
42931cbf933SJean-Christophe Dubois     FSL_IMX6UL_ADC1_IRQ     = 100,
43031cbf933SJean-Christophe Dubois     FSL_IMX6UL_ADC2_IRQ     = 101,
43131cbf933SJean-Christophe Dubois 
43231cbf933SJean-Christophe Dubois     FSL_IMX6UL_SJC_IRQ      = 104,
43331cbf933SJean-Christophe Dubois 
43431cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAAM_RING0_IRQ = 105,
43531cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAAM_RING1_IRQ = 106,
43631cbf933SJean-Christophe Dubois 
43731cbf933SJean-Christophe Dubois     FSL_IMX6UL_QSPI_IRQ     = 107,
43831cbf933SJean-Christophe Dubois 
43931cbf933SJean-Christophe Dubois     FSL_IMX6UL_TZASC_IRQ    = 108,
44031cbf933SJean-Christophe Dubois 
44131cbf933SJean-Christophe Dubois     FSL_IMX6UL_GPT2_IRQ     = 109,
44231cbf933SJean-Christophe Dubois 
44331cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAN1_IRQ     = 110,
44431cbf933SJean-Christophe Dubois     FSL_IMX6UL_CAN2_IRQ     = 111,
44531cbf933SJean-Christophe Dubois 
44631cbf933SJean-Christophe Dubois     FSL_IMX6UL_SIM1_IRQ     = 112,
44731cbf933SJean-Christophe Dubois     FSL_IMX6UL_SIM2_IRQ     = 113,
44831cbf933SJean-Christophe Dubois 
44931cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM5_IRQ     = 114,
45031cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM6_IRQ     = 115,
45131cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM7_IRQ     = 116,
45231cbf933SJean-Christophe Dubois     FSL_IMX6UL_PWM8_IRQ     = 117,
45331cbf933SJean-Christophe Dubois 
45431cbf933SJean-Christophe Dubois     FSL_IMX6UL_ENET1_IRQ    = 118,
45531cbf933SJean-Christophe Dubois     FSL_IMX6UL_ENET1_TIMER_IRQ = 119,
45631cbf933SJean-Christophe Dubois     FSL_IMX6UL_ENET2_IRQ    = 120,
45731cbf933SJean-Christophe Dubois     FSL_IMX6UL_ENET2_TIMER_IRQ = 121,
45831cbf933SJean-Christophe Dubois 
45931cbf933SJean-Christophe Dubois     FSL_IMX6UL_PMU_CORE_IRQ = 127,
46031cbf933SJean-Christophe Dubois     FSL_IMX6UL_MAX_IRQ      = 128,
46131cbf933SJean-Christophe Dubois };
46231cbf933SJean-Christophe Dubois 
46331cbf933SJean-Christophe Dubois #endif /* FSL_IMX6UL_H */
464