#ifndef _ARM_SAMSUNG_EXYNOS4_REG_H_
#define _ARM_SAMSUNG_EXYNOS4_REG_H_
#define EXYNOS4_CORE_SIZE 0x04000000
#define EXYNOS4_SDRAM_PBASE 0x40000000
#define EXYNOS4_SYSREG_OFFSET 0x00010000
#define EXYNOS4_PMU_OFFSET 0x00020000
#define EXYNOS4_CMU_TOP_PART_OFFSET 0x00030000
#define EXYNOS4_CMU_EPLL 0x0003C010
#define EXYNOS4_CMU_VPLL 0x0003C020
#define EXYNOS4_CMU_CORE_ISP_PART_OFFSET 0x00040000
#define EXYNOS4_CMU_MPLL 0x00040008
#define EXYNOS4_CMU_APLL 0x00044000
#define EXYNOS4_MCT_OFFSET 0x00050000
#define EXYNOS4_WDT_OFFSET 0x00060000
#define EXYNOS4_RTC_OFFSET 0x00070000
#define EXYNOS4_KEYIF_OFFSET 0x000A0000
#define EXYNOS4_HDMI_CEC_OFFSET 0x000B0000
#define EXYNOS4_TMU_OFFSET 0x000C0000
#define EXYNOS4_SECKEY_OFFSET 0x00100000
#define EXYNOS4_TZPC0_OFFSET 0x00110000
#define EXYNOS4_TZPC1_OFFSET 0x00120000
#define EXYNOS4_TZPC2_OFFSET 0x00130000
#define EXYNOS4_TZPC3_OFFSET 0x00140000
#define EXYNOS4_TZPC4_OFFSET 0x00150000
#define EXYNOS4_TZPC5_OFFSET 0x00160000
#define EXYNOS4_INTCOMBINER_OFFSET 0x00440000
#define EXYNOS4_GIC_CNTR_OFFSET 0x00480000
#define EXYNOS4_GIC_DISTRIBUTOR_OFFSET 0x00490000
#define EXYNOS4_AP_C2C_OFFSET 0x00540000
#define EXYNOS4_CP_C2C_MODEM_OFFSET 0x00580000
#define EXYNOS4_DMC0_OFFSET 0x00600000
#define EXYNOS4_DMC1_OFFSET 0x00610000
#define EXYNOS4_PPMU_DMC_L_OFFSET 0x006A0000
#define EXYNOS4_PPMU_DMC_R_OFFSET 0x006B0000
#define EXYNOS4_PPMU_CPU_OFFSET 0x006C0000
#define EXYNOS4_GPIO_C2C_OFFSET 0x006E0000
#define EXYNOS4_TZASC_LR_OFFSET 0x00700000
#define EXYNOS4_TZASC_LW_OFFSET 0x00710000
#define EXYNOS4_TZASC_RR_OFFSET 0x00720000
#define EXYNOS4_TZASC_RW_OFFSET 0x00730000
#define EXYNOS4_G2D_ACP_OFFSET 0x00800000
#define EXYNOS4_SSS_OFFSET 0x00830000
#define EXYNOS4_CORESIGHT_1_OFFSET 0x00880000
#define EXYNOS4_CORESIGHT_2_OFFSET 0x00890000
#define EXYNOS4_CORESIGHT_3_OFFSET 0x008B0000
#define EXYNOS4_SMMUG2D_ACP_OFFSET 0x00A40000
#define EXYNOS4_SMMUSSS_OFFSET 0x00A50000
#define EXYNOS4_GPIO_RIGHT_OFFSET 0x01000000
#define EXYNOS4_GPIO_LEFT_OFFSET 0x01400000
#define EXYNOS4_FIMC0_OFFSET 0x01800000
#define EXYNOS4_FIMC1_OFFSET 0x01810000
#define EXYNOS4_FIMC2_OFFSET 0x01820000
#define EXYNOS4_FIMC3_OFFSET 0x01830000
#define EXYNOS4_JPEG_OFFSET 0x01840000
#define EXYNOS4_MIPI_CSI0_OFFSET 0x01880000
#define EXYNOS4_MIPI_CSI1_OFFSET 0x01890000
#define EXYNOS4_SMMUFIMC0_OFFSET 0x01A20000
#define EXYNOS4_SMMUFIMC1_OFFSET 0x01A30000
#define EXYNOS4_SMMUFIMC2_OFFSET 0x01A40000
#define EXYNOS4_SMMUFIMC3_OFFSET 0x01A50000
#define EXYNOS4_SMMUJPEG_OFFSET 0x01A60000
#define EXYNOS4_FIMD0_OFFSET 0x01C00000
#define EXYNOS4_MIPI_DSI0_OFFSET 0x01C80000
#define EXYNOS4_SMMUFIMD0_OFFSET 0x01E20000
#define EXYNOS4_FIMC_ISP_OFFSET 0x02000000
#define EXYNOS4_FIMC_DRC_TOP_OFFSET 0x02010000
#define EXYNOS4_FIMC_FD_TOP_OFFSET 0x02040000
#define EXYNOS4_MPWM_ISP_OFFSET 0x02110000
#define EXYNOS4_I2C0_ISP_OFFSET 0x02130000
#define EXYNOS4_I2C1_ISP_OFFSET 0x02140000
#define EXYNOS4_MTCADC_ISP_OFFSET 0x02150000
#define EXYNOS4_PWM_ISP_OFFSET 0x02160000
#define EXYNOS4_WDT_ISP_OFFSET 0x02170000
#define EXYNOS4_MCUCTL_ISP_OFFSET 0x02180000
#define EXYNOS4_UART_ISP_OFFSET 0x02190000
#define EXYNOS4_SPI0_ISP_OFFSET 0x021A0000
#define EXYNOS4_SPI1_ISP_OFFSET 0x021B0000
#define EXYNOS4_GIC_C_ISP_OFFSET 0x021E0000
#define EXYNOS4_GIC_D_ISP_OFFSET 0x021F0000
#define EXYNOS4_SYSMMU_FIMC_ISP_OFFSET 0x02260000
#define EXYNOS4_SYSMMU_FIMC_DRC_OFFSET 0x02270000
#define EXYNOS4_SYSMMU_FIMC_FD_OFFSET 0x022A0000
#define EXYNOS4_SYSMMU_ISPCPU_OFFSET 0x022B0000
#define EXYNOS4_FIMC_LITE0_OFFSET 0x02390000
#define EXYNOS4_FIMC_LITE1_OFFSET 0x023A0000
#define EXYNOS4_SYSMMU_FIMC_LITE0_OFFSET 0x023B0000
#define EXYNOS4_SYSMMU_FIMC_LITE1_OFFSET 0x023C0000
#define EXYNOS4_USBDEV0_OFFSET 0x02480000
#define EXYNOS4_USBDEV0_1_OFFSET 0x02480000
#define EXYNOS4_USBDEV0_2_OFFSET 0x02490000
#define EXYNOS4_USBDEV0_3_OFFSET 0x024A0000
#define EXYNOS4_USBDEV0_4_OFFSET 0x024B0000
#define EXYNOS4_TSI_OFFSET 0x02500000
#define EXYNOS4_SDMMC0_OFFSET 0x02510000
#define EXYNOS4_SDMMC1_OFFSET 0x02520000
#define EXYNOS4_SDMMC2_OFFSET 0x02530000
#define EXYNOS4_SDMMC3_OFFSET 0x02540000
#define EXYNOS4_SDMMC4_OFFSET 0x02550000
#define EXYNOS4_MIPI_HSI_OFFSET 0x02560000
#define EXYNOS4_SROMC_OFFSET 0x02570000
#define EXYNOS4_USB2HOST_OFFSET 0x02580000
#define EXYNOS4_USB2_HOST_EHCI_OFFSET 0x02580000
#define EXYNOS4_USB2_HOST_OHCI_OFFSET 0x02590000
#define EXYNOS4_USB2_HOST_PHYCTRL_OFFSET 0x025B0000
#define EXYNOS4_USBOTG1_OFFSET 0x025B0000
#define EXYNOS4_PDMA0_OFFSET 0x02680000
#define EXYNOS4_PDMA1_OFFSET 0x02690000
#define EXYNOS4_GADC_OFFSET 0x026C0000
#define EXYNOS4_ROTATOR_OFFSET 0x02810000
#define EXYNOS4_SMDMA_OFFSET 0x02840000
#define EXYNOS4_NSMDMA_OFFSET 0x02850000
#define EXYNOS4_SMMUROTATOR_OFFSET 0x02A30000
#define EXYNOS4_SMMUMDMA_OFFSET 0x02A40000
#define EXYNOS4_VP_OFFSET 0x02C00000
#define EXYNOS4_MIXER_OFFSET 0x02C10000
#define EXYNOS4_HDMI0_OFFSET 0x02D00000
#define EXYNOS4_HDMI1_OFFSET 0x02D10000
#define EXYNOS4_HDMI2_OFFSET 0x02D20000
#define EXYNOS4_HDMI3_OFFSET 0x02D30000
#define EXYNOS4_HDMI4_OFFSET 0x02D40000
#define EXYNOS4_HDMI5_OFFSET 0x02D50000
#define EXYNOS4_HDMI6_OFFSET 0x02D60000
#define EXYNOS4_SMMUTV_OFFSET 0x02E20000
#define EXYNOS4_G3D_OFFSET 0x03000000
#define EXYNOS4_PPMU_3D_OFFSET 0x03220000
#define EXYNOS4_MFC_OFFSET 0x03400000
#define EXYNOS4_SMMUMFC_L_OFFSET 0x03620000
#define EXYNOS4_SMMUMFC_R_OFFSET 0x03630000
#define EXYNOS4_PMMU_MFC_L_OFFSET 0x03660000
#define EXYNOS4_PMMU_MFC_R_OFFSET 0x03670000
#define EXYNOS4_UART0_OFFSET 0x03800000
#define EXYNOS4_UART1_OFFSET 0x03810000
#define EXYNOS4_UART2_OFFSET 0x03820000
#define EXYNOS4_UART3_OFFSET 0x03830000
#define EXYNOS4_UART4_OFFSET 0x03840000
#define EXYNOS4_I2C0_OFFSET 0x03860000
#define EXYNOS4_I2C1_OFFSET 0x03870000
#define EXYNOS4_I2C2_OFFSET 0x03880000
#define EXYNOS4_I2C3_OFFSET 0x03890000
#define EXYNOS4_I2C4_OFFSET 0x038A0000
#define EXYNOS4_I2C5_OFFSET 0x038B0000
#define EXYNOS4_I2C6_OFFSET 0x038C0000
#define EXYNOS4_I2C7_OFFSET 0x038D0000
#define EXYNOS4_I2CHDMI_OFFSET 0x038E0000
#define EXYNOS4_SPI0_OFFSET 0x03920000
#define EXYNOS4_SPI1_OFFSET 0x03930000
#define EXYNOS4_SPI2_OFFSET 0x03940000
#define EXYNOS4_I2S1_OFFSET 0x03960000
#define EXYNOS4_I2S2_OFFSET 0x03970000
#define EXYNOS4_PCM1_OFFSET 0x03980000
#define EXYNOS4_PCM2_OFFSET 0x03990000
#define EXYNOS4_AC97_OFFSET 0x039A0000
#define EXYNOS4_SPDIF_OFFSET 0x039B0000
#define EXYNOS4_PWMTIMER_OFFSET 0x039D0000
#define EXYNOS4_AUDIOCORE_OFFSET 0x04000000
#define EXYNOS4_AUDIOCORE_VBASE (EXYNOS_CORE_VBASE + EXYNOS4_AUDIOCORE_OFFSET)
#define EXYNOS4_AUDIOCORE_PBASE 0x03800000
#define EXYNOS4_AUDIOCORE_SIZE 0x00100000
#define EXYNOS4_GPIO_I2S0_OFFSET (EXYNOS4_AUDIOCORE_OFFSET + 0x00060000)
#define USB_PHYPWR 0x00
#define PHYPWR_FORCE_SUSPEND __BIT(1)
#define PHYPWR_ANALOG_POWERDOWN __BIT(3)
#define PHYPWR_OTG_DISABLE __BIT(4)
#define PHYPWR_SLEEP_PHY0 __BIT(5)
#define PHYPWR_NORMAL_MASK 0x19
#define PHYPWR_NORMAL_MASK_PHY0 (__BITS(3,3) | 1)
#define PHYPWR_NORMAL_MASK_PHY1 __BITS(6,3)
#define PHYPWR_NORMAL_MASK_HSIC0 __BITS(9,3)
#define PHYPWR_NORMAL_MASK_HSIC1 __BITS(12,3)
#define USB_PHYCLK 0x04
#define USB_RSTCON 0x08
#define RSTCON_SWRST __BIT(0)
#define RSTCON_HLINK_RWRST __BIT(1)
#define RSTCON_DEVPHYLINK_SWRST __BIT(2)
#define RSTCON_DEVPHY_SWRST __BITS(0,3)
#define RSTCON_HOSTPHY_SWRST __BITS(3,4)
#define RSTCON_HOSTPHYLINK_SWRST __BITS(7,4)
#endif