/*
 * Copyright (c) 2018 Jean-Christophe Dubois <jcd@tribudubois.net>
 *
 * i.MX6ul SoC definitions
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

#ifndef FSL_IMX6UL_H
#define FSL_IMX6UL_H

#include "hw/cpu/a15mpcore.h"
#include "hw/misc/imx6ul_ccm.h"
#include "hw/misc/imx6_src.h"
#include "hw/misc/imx7_snvs.h"
#include "hw/intc/imx_gpcv2.h"
#include "hw/watchdog/wdt_imx2.h"
#include "hw/gpio/imx_gpio.h"
#include "hw/char/imx_serial.h"
#include "hw/timer/imx_gpt.h"
#include "hw/timer/imx_epit.h"
#include "hw/i2c/imx_i2c.h"
#include "hw/sd/sdhci.h"
#include "hw/ssi/imx_spi.h"
#include "hw/net/imx_fec.h"
#include "hw/usb/chipidea.h"
#include "hw/usb/imx-usb-phy.h"
#include "exec/memory.h"
#include "cpu.h"
#include "qom/object.h"
#include "qemu/units.h"

#define TYPE_FSL_IMX6UL "fsl-imx6ul"
OBJECT_DECLARE_SIMPLE_TYPE(FslIMX6ULState, FSL_IMX6UL)

enum FslIMX6ULConfiguration {
    FSL_IMX6UL_NUM_CPUS         = 1,
    FSL_IMX6UL_NUM_UARTS        = 8,
    FSL_IMX6UL_NUM_ETHS         = 2,
    FSL_IMX6UL_ETH_NUM_TX_RINGS = 2,
    FSL_IMX6UL_NUM_USDHCS       = 2,
    FSL_IMX6UL_NUM_WDTS         = 3,
    FSL_IMX6UL_NUM_GPTS         = 2,
    FSL_IMX6UL_NUM_EPITS        = 2,
    FSL_IMX6UL_NUM_IOMUXCS      = 2,
    FSL_IMX6UL_NUM_GPIOS        = 5,
    FSL_IMX6UL_NUM_I2CS         = 4,
    FSL_IMX6UL_NUM_ECSPIS       = 4,
    FSL_IMX6UL_NUM_ADCS         = 2,
    FSL_IMX6UL_NUM_USB_PHYS     = 2,
    FSL_IMX6UL_NUM_USBS         = 2,
    FSL_IMX6UL_NUM_SAIS         = 3,
    FSL_IMX6UL_NUM_CANS         = 2,
    FSL_IMX6UL_NUM_PWMS         = 8,
};

struct FslIMX6ULState {
    /*< private >*/
    DeviceState    parent_obj;

    /*< public >*/
    ARMCPU             cpu;
    A15MPPrivState     a7mpcore;
    IMXGPTState        gpt[FSL_IMX6UL_NUM_GPTS];
    IMXEPITState       epit[FSL_IMX6UL_NUM_EPITS];
    IMXGPIOState       gpio[FSL_IMX6UL_NUM_GPIOS];
    IMX6ULCCMState     ccm;
    IMX6SRCState       src;
    IMX7SNVSState      snvs;
    IMXGPCv2State      gpcv2;
    IMXSPIState        spi[FSL_IMX6UL_NUM_ECSPIS];
    IMXI2CState        i2c[FSL_IMX6UL_NUM_I2CS];
    IMXSerialState     uart[FSL_IMX6UL_NUM_UARTS];
    IMXFECState        eth[FSL_IMX6UL_NUM_ETHS];
    SDHCIState         usdhc[FSL_IMX6UL_NUM_USDHCS];
    IMX2WdtState       wdt[FSL_IMX6UL_NUM_WDTS];
    IMXUSBPHYState     usbphy[FSL_IMX6UL_NUM_USB_PHYS];
    ChipideaState      usb[FSL_IMX6UL_NUM_USBS];
    MemoryRegion       rom;
    MemoryRegion       caam;
    MemoryRegion       ocram;
    MemoryRegion       ocram_alias;

    uint32_t           phy_num[FSL_IMX6UL_NUM_ETHS];
    bool               phy_connected[FSL_IMX6UL_NUM_ETHS];
};

enum FslIMX6ULMemoryMap {
    FSL_IMX6UL_MMDC_ADDR            = 0x80000000,
    FSL_IMX6UL_MMDC_SIZE            = (2 * GiB),

    FSL_IMX6UL_QSPI1_MEM_ADDR       = 0x60000000,
    FSL_IMX6UL_QSPI1_MEM_SIZE       = (256 * MiB),

    FSL_IMX6UL_EIM_ALIAS_ADDR       = 0x58000000,
    FSL_IMX6UL_EIM_ALIAS_SIZE       = (128 * MiB),

    FSL_IMX6UL_EIM_CS_ADDR          = 0x50000000,
    FSL_IMX6UL_EIM_CS_SIZE          = (128 * MiB),

    FSL_IMX6UL_AES_ENCRYPT_ADDR     = 0x10000000,
    FSL_IMX6UL_AES_ENCRYPT_SIZE     = (1 * MiB),

    FSL_IMX6UL_QSPI1_RX_ADDR        = 0x0C000000,
    FSL_IMX6UL_QSPI1_RX_SIZE        = (32 * MiB),

    /* AIPS-2 Begin */
    FSL_IMX6UL_UART6_ADDR           = 0x021FC000,

    FSL_IMX6UL_I2C4_ADDR            = 0x021F8000,

    FSL_IMX6UL_UART5_ADDR           = 0x021F4000,
    FSL_IMX6UL_UART4_ADDR           = 0x021F0000,
    FSL_IMX6UL_UART3_ADDR           = 0x021EC000,
    FSL_IMX6UL_UART2_ADDR           = 0x021E8000,

    FSL_IMX6UL_WDOG3_ADDR           = 0x021E4000,

    FSL_IMX6UL_QSPI_ADDR            = 0x021E0000,
    FSL_IMX6UL_QSPI_SIZE            = 0x500,

    FSL_IMX6UL_SYS_CNT_CTRL_ADDR    = 0x021DC000,
    FSL_IMX6UL_SYS_CNT_CTRL_SIZE    = (16 * KiB),

    FSL_IMX6UL_SYS_CNT_CMP_ADDR     = 0x021D8000,
    FSL_IMX6UL_SYS_CNT_CMP_SIZE     = (16 * KiB),

    FSL_IMX6UL_SYS_CNT_RD_ADDR      = 0x021D4000,
    FSL_IMX6UL_SYS_CNT_RD_SIZE      = (16 * KiB),

    FSL_IMX6UL_TZASC_ADDR           = 0x021D0000,
    FSL_IMX6UL_TZASC_SIZE           = (16 * KiB),

    FSL_IMX6UL_PXP_ADDR             = 0x021CC000,
    FSL_IMX6UL_PXP_SIZE             = (16 * KiB),

    FSL_IMX6UL_LCDIF_ADDR           = 0x021C8000,
    FSL_IMX6UL_LCDIF_SIZE           = 0x100,

    FSL_IMX6UL_CSI_ADDR             = 0x021C4000,
    FSL_IMX6UL_CSI_SIZE             = 0x100,

    FSL_IMX6UL_CSU_ADDR             = 0x021C0000,
    FSL_IMX6UL_CSU_SIZE             = (16 * KiB),

    FSL_IMX6UL_OCOTP_CTRL_ADDR      = 0x021BC000,
    FSL_IMX6UL_OCOTP_CTRL_SIZE      = (4 * KiB),

    FSL_IMX6UL_EIM_ADDR             = 0x021B8000,
    FSL_IMX6UL_EIM_SIZE             = 0x100,

    FSL_IMX6UL_SIM2_ADDR            = 0x021B4000,

    FSL_IMX6UL_MMDC_CFG_ADDR        = 0x021B0000,
    FSL_IMX6UL_MMDC_CFG_SIZE        = (4 * KiB),

    FSL_IMX6UL_ROMCP_ADDR           = 0x021AC000,
    FSL_IMX6UL_ROMCP_SIZE           = 0x300,

    FSL_IMX6UL_I2C3_ADDR            = 0x021A8000,
    FSL_IMX6UL_I2C2_ADDR            = 0x021A4000,
    FSL_IMX6UL_I2C1_ADDR            = 0x021A0000,

    FSL_IMX6UL_ADC2_ADDR            = 0x0219C000,
    FSL_IMX6UL_ADC1_ADDR            = 0x02198000,
    FSL_IMX6UL_ADCn_SIZE            = 0x100,

    FSL_IMX6UL_USDHC2_ADDR          = 0x02194000,
    FSL_IMX6UL_USDHC1_ADDR          = 0x02190000,

    FSL_IMX6UL_SIM1_ADDR            = 0x0218C000,
    FSL_IMX6UL_SIMn_SIZE            = (16 * KiB),

    FSL_IMX6UL_ENET1_ADDR           = 0x02188000,

    FSL_IMX6UL_USBO2_USBMISC_ADDR   = 0x02184800,
    FSL_IMX6UL_USBO2_USB1_ADDR      = 0x02184000,
    FSL_IMX6UL_USBO2_USB2_ADDR      = 0x02184200,

    FSL_IMX6UL_USBO2_PL301_ADDR     = 0x02180000,
    FSL_IMX6UL_USBO2_PL301_SIZE     = (16 * KiB),

    FSL_IMX6UL_AIPS2_CFG_ADDR       = 0x0217C000,
    FSL_IMX6UL_AIPS2_CFG_SIZE       = 0x100,

    FSL_IMX6UL_CAAM_ADDR            = 0x02140000,
    FSL_IMX6UL_CAAM_SIZE            = (16 * KiB),

    FSL_IMX6UL_A7MPCORE_DAP_ADDR    = 0x02100000,
    FSL_IMX6UL_A7MPCORE_DAP_SIZE    = (4 * KiB),
    /* AIPS-2 End */

    /* AIPS-1 Begin */
    FSL_IMX6UL_PWM8_ADDR            = 0x020FC000,
    FSL_IMX6UL_PWM7_ADDR            = 0x020F8000,
    FSL_IMX6UL_PWM6_ADDR            = 0x020F4000,
    FSL_IMX6UL_PWM5_ADDR            = 0x020F0000,

    FSL_IMX6UL_SDMA_ADDR            = 0x020EC000,
    FSL_IMX6UL_SDMA_SIZE            = 0x300,

    FSL_IMX6UL_GPT2_ADDR            = 0x020E8000,

    FSL_IMX6UL_IOMUXC_GPR_ADDR      = 0x020E4000,
    FSL_IMX6UL_IOMUXC_GPR_SIZE      = 0x40,

    FSL_IMX6UL_IOMUXC_ADDR          = 0x020E0000,
    FSL_IMX6UL_IOMUXC_SIZE          = 0x700,

    FSL_IMX6UL_GPC_ADDR             = 0x020DC000,

    FSL_IMX6UL_SRC_ADDR             = 0x020D8000,

    FSL_IMX6UL_EPIT2_ADDR           = 0x020D4000,
    FSL_IMX6UL_EPIT1_ADDR           = 0x020D0000,

    FSL_IMX6UL_SNVS_HP_ADDR         = 0x020CC000,

    FSL_IMX6UL_USBPHY2_ADDR         = 0x020CA000,
    FSL_IMX6UL_USBPHY1_ADDR         = 0x020C9000,

    FSL_IMX6UL_ANALOG_ADDR          = 0x020C8000,
    FSL_IMX6UL_ANALOG_SIZE          = 0x300,

    FSL_IMX6UL_CCM_ADDR             = 0x020C4000,

    FSL_IMX6UL_WDOG2_ADDR           = 0x020C0000,
    FSL_IMX6UL_WDOG1_ADDR           = 0x020BC000,

    FSL_IMX6UL_KPP_ADDR             = 0x020B8000,
    FSL_IMX6UL_KPP_SIZE             = 0x10,

    FSL_IMX6UL_ENET2_ADDR           = 0x020B4000,

    FSL_IMX6UL_SNVS_LP_ADDR         = 0x020B0000,
    FSL_IMX6UL_SNVS_LP_SIZE         = (16 * KiB),

    FSL_IMX6UL_GPIO5_ADDR           = 0x020AC000,
    FSL_IMX6UL_GPIO4_ADDR           = 0x020A8000,
    FSL_IMX6UL_GPIO3_ADDR           = 0x020A4000,
    FSL_IMX6UL_GPIO2_ADDR           = 0x020A0000,
    FSL_IMX6UL_GPIO1_ADDR           = 0x0209C000,

    FSL_IMX6UL_GPT1_ADDR            = 0x02098000,

    FSL_IMX6UL_CAN2_ADDR            = 0x02094000,
    FSL_IMX6UL_CAN1_ADDR            = 0x02090000,
    FSL_IMX6UL_CANn_SIZE            = (4 * KiB),

    FSL_IMX6UL_PWM4_ADDR            = 0x0208C000,
    FSL_IMX6UL_PWM3_ADDR            = 0x02088000,
    FSL_IMX6UL_PWM2_ADDR            = 0x02084000,
    FSL_IMX6UL_PWM1_ADDR            = 0x02080000,
    FSL_IMX6UL_PWMn_SIZE            = 0x20,

    FSL_IMX6UL_AIPS1_CFG_ADDR       = 0x0207C000,
    FSL_IMX6UL_AIPS1_CFG_SIZE       = (16 * KiB),

    FSL_IMX6UL_BEE_ADDR             = 0x02044000,
    FSL_IMX6UL_BEE_SIZE             = (16 * KiB),

    FSL_IMX6UL_TOUCH_CTRL_ADDR      = 0x02040000,
    FSL_IMX6UL_TOUCH_CTRL_SIZE      = 0x100,

    FSL_IMX6UL_SPBA_ADDR            = 0x0203C000,
    FSL_IMX6UL_SPBA_SIZE            = 0x100,

    FSL_IMX6UL_ASRC_ADDR            = 0x02034000,
    FSL_IMX6UL_ASRC_SIZE            = 0x100,

    FSL_IMX6UL_SAI3_ADDR            = 0x02030000,
    FSL_IMX6UL_SAI2_ADDR            = 0x0202C000,
    FSL_IMX6UL_SAI1_ADDR            = 0x02028000,
    FSL_IMX6UL_SAIn_SIZE            = 0x200,

    FSL_IMX6UL_UART8_ADDR           = 0x02024000,
    FSL_IMX6UL_UART1_ADDR           = 0x02020000,
    FSL_IMX6UL_UART7_ADDR           = 0x02018000,

    FSL_IMX6UL_ECSPI4_ADDR          = 0x02014000,
    FSL_IMX6UL_ECSPI3_ADDR          = 0x02010000,
    FSL_IMX6UL_ECSPI2_ADDR          = 0x0200C000,
    FSL_IMX6UL_ECSPI1_ADDR          = 0x02008000,

    FSL_IMX6UL_SPDIF_ADDR           = 0x02004000,
    FSL_IMX6UL_SPDIF_SIZE           = 0x100,
    /* AIPS-1 End */

    FSL_IMX6UL_BCH_ADDR             = 0x01808000,
    FSL_IMX6UL_BCH_SIZE             = 0x200,

    FSL_IMX6UL_GPMI_ADDR            = 0x01806000,
    FSL_IMX6UL_GPMI_SIZE            = 0x200,

    FSL_IMX6UL_APBH_DMA_ADDR        = 0x01804000,
    FSL_IMX6UL_APBH_DMA_SIZE        = (4 * KiB),

    FSL_IMX6UL_A7MPCORE_ADDR        = 0x00A00000,

    FSL_IMX6UL_OCRAM_ALIAS_ADDR     = 0x00920000,
    FSL_IMX6UL_OCRAM_ALIAS_SIZE     = (384 * KiB),

    FSL_IMX6UL_OCRAM_MEM_ADDR       = 0x00900000,
    FSL_IMX6UL_OCRAM_MEM_SIZE       = (128 * KiB),

    FSL_IMX6UL_CAAM_MEM_ADDR        = 0x00100000,
    FSL_IMX6UL_CAAM_MEM_SIZE        = (32 * KiB),

    FSL_IMX6UL_ROM_ADDR             = 0x00000000,
    FSL_IMX6UL_ROM_SIZE             = (96 * KiB),
};

enum FslIMX6ULIRQs {
    FSL_IMX6UL_IOMUXC_IRQ   = 0,
    FSL_IMX6UL_DAP_IRQ      = 1,
    FSL_IMX6UL_SDMA_IRQ     = 2,
    FSL_IMX6UL_TSC_IRQ      = 3,
    FSL_IMX6UL_SNVS_IRQ     = 4,
    FSL_IMX6UL_LCDIF_IRQ    = 5,
    FSL_IMX6UL_BEE_IRQ      = 6,
    FSL_IMX6UL_CSI_IRQ      = 7,
    FSL_IMX6UL_PXP_IRQ      = 8,
    FSL_IMX6UL_SCTR1_IRQ    = 9,
    FSL_IMX6UL_SCTR2_IRQ    = 10,
    FSL_IMX6UL_WDOG3_IRQ    = 11,
    FSL_IMX6UL_APBH_DMA_IRQ = 13,
    FSL_IMX6UL_WEIM_IRQ     = 14,
    FSL_IMX6UL_RAWNAND1_IRQ = 15,
    FSL_IMX6UL_RAWNAND2_IRQ = 16,
    FSL_IMX6UL_UART6_IRQ    = 17,
    FSL_IMX6UL_SRTC_IRQ     = 19,
    FSL_IMX6UL_SRTC_SEC_IRQ = 20,
    FSL_IMX6UL_CSU_IRQ      = 21,
    FSL_IMX6UL_USDHC1_IRQ   = 22,
    FSL_IMX6UL_USDHC2_IRQ   = 23,
    FSL_IMX6UL_SAI3_IRQ     = 24,
    FSL_IMX6UL_SAI32_IRQ    = 25,

    FSL_IMX6UL_UART1_IRQ    = 26,
    FSL_IMX6UL_UART2_IRQ    = 27,
    FSL_IMX6UL_UART3_IRQ    = 28,
    FSL_IMX6UL_UART4_IRQ    = 29,
    FSL_IMX6UL_UART5_IRQ    = 30,

    FSL_IMX6UL_ECSPI1_IRQ   = 31,
    FSL_IMX6UL_ECSPI2_IRQ   = 32,
    FSL_IMX6UL_ECSPI3_IRQ   = 33,
    FSL_IMX6UL_ECSPI4_IRQ   = 34,

    FSL_IMX6UL_I2C4_IRQ     = 35,
    FSL_IMX6UL_I2C1_IRQ     = 36,
    FSL_IMX6UL_I2C2_IRQ     = 37,
    FSL_IMX6UL_I2C3_IRQ     = 38,

    FSL_IMX6UL_UART7_IRQ    = 39,
    FSL_IMX6UL_UART8_IRQ    = 40,

    FSL_IMX6UL_USB1_IRQ     = 43,
    FSL_IMX6UL_USB2_IRQ     = 42,
    FSL_IMX6UL_USB_PHY1_IRQ = 44,
    FSL_IMX6UL_USB_PHY2_IRQ = 45,

    FSL_IMX6UL_CAAM_JQ2_IRQ = 46,
    FSL_IMX6UL_CAAM_ERR_IRQ = 47,
    FSL_IMX6UL_CAAM_RTIC_IRQ = 48,
    FSL_IMX6UL_TEMP_IRQ     = 49,
    FSL_IMX6UL_ASRC_IRQ     = 50,
    FSL_IMX6UL_SPDIF_IRQ    = 52,
    FSL_IMX6UL_PMU_REG_IRQ  = 54,
    FSL_IMX6UL_GPT1_IRQ     = 55,

    FSL_IMX6UL_EPIT1_IRQ    = 56,
    FSL_IMX6UL_EPIT2_IRQ    = 57,

    FSL_IMX6UL_GPIO1_INT7_IRQ = 58,
    FSL_IMX6UL_GPIO1_INT6_IRQ = 59,
    FSL_IMX6UL_GPIO1_INT5_IRQ = 60,
    FSL_IMX6UL_GPIO1_INT4_IRQ = 61,
    FSL_IMX6UL_GPIO1_INT3_IRQ = 62,
    FSL_IMX6UL_GPIO1_INT2_IRQ = 63,
    FSL_IMX6UL_GPIO1_INT1_IRQ = 64,
    FSL_IMX6UL_GPIO1_INT0_IRQ = 65,
    FSL_IMX6UL_GPIO1_LOW_IRQ  = 66,
    FSL_IMX6UL_GPIO1_HIGH_IRQ = 67,
    FSL_IMX6UL_GPIO2_LOW_IRQ  = 68,
    FSL_IMX6UL_GPIO2_HIGH_IRQ = 69,
    FSL_IMX6UL_GPIO3_LOW_IRQ  = 70,
    FSL_IMX6UL_GPIO3_HIGH_IRQ = 71,
    FSL_IMX6UL_GPIO4_LOW_IRQ  = 72,
    FSL_IMX6UL_GPIO4_HIGH_IRQ = 73,
    FSL_IMX6UL_GPIO5_LOW_IRQ  = 74,
    FSL_IMX6UL_GPIO5_HIGH_IRQ = 75,

    FSL_IMX6UL_WDOG1_IRQ    = 80,
    FSL_IMX6UL_WDOG2_IRQ    = 81,

    FSL_IMX6UL_KPP_IRQ      = 82,

    FSL_IMX6UL_PWM1_IRQ     = 83,
    FSL_IMX6UL_PWM2_IRQ     = 84,
    FSL_IMX6UL_PWM3_IRQ     = 85,
    FSL_IMX6UL_PWM4_IRQ     = 86,

    FSL_IMX6UL_CCM1_IRQ     = 87,
    FSL_IMX6UL_CCM2_IRQ     = 88,

    FSL_IMX6UL_GPC_IRQ      = 89,

    FSL_IMX6UL_SRC_IRQ      = 91,

    FSL_IMX6UL_CPU_PERF_IRQ = 94,
    FSL_IMX6UL_CPU_CTI_IRQ  = 95,

    FSL_IMX6UL_SRC_WDOG_IRQ = 96,

    FSL_IMX6UL_SAI1_IRQ     = 97,
    FSL_IMX6UL_SAI2_IRQ     = 98,

    FSL_IMX6UL_ADC1_IRQ     = 100,
    FSL_IMX6UL_ADC2_IRQ     = 101,

    FSL_IMX6UL_SJC_IRQ      = 104,

    FSL_IMX6UL_CAAM_RING0_IRQ = 105,
    FSL_IMX6UL_CAAM_RING1_IRQ = 106,

    FSL_IMX6UL_QSPI_IRQ     = 107,

    FSL_IMX6UL_TZASC_IRQ    = 108,

    FSL_IMX6UL_GPT2_IRQ     = 109,

    FSL_IMX6UL_CAN1_IRQ     = 110,
    FSL_IMX6UL_CAN2_IRQ     = 111,

    FSL_IMX6UL_SIM1_IRQ     = 112,
    FSL_IMX6UL_SIM2_IRQ     = 113,

    FSL_IMX6UL_PWM5_IRQ     = 114,
    FSL_IMX6UL_PWM6_IRQ     = 115,
    FSL_IMX6UL_PWM7_IRQ     = 116,
    FSL_IMX6UL_PWM8_IRQ     = 117,

    FSL_IMX6UL_ENET1_IRQ    = 118,
    FSL_IMX6UL_ENET1_TIMER_IRQ = 119,
    FSL_IMX6UL_ENET2_IRQ    = 120,
    FSL_IMX6UL_ENET2_TIMER_IRQ = 121,

    FSL_IMX6UL_PMU_CORE_IRQ = 127,
    FSL_IMX6UL_MAX_IRQ      = 128,
};

#endif /* FSL_IMX6UL_H */
