/* $NetBSD: exynos5_reg.h,v 1.22 2018/07/04 23:06:05 jmcneill Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Nick Hudson.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _ARM_SAMSUNG_EXYNOS5_REG_H_
#define _ARM_SAMSUNG_EXYNOS5_REG_H_
/*
* Physical memory layout of Exynos5 SoCs as per documentation
*
* Base Address Limit Address Size Description
* 0x00000000 0x0000FFFF 64 KB iROM/iRAM/SROM
* 0x02000000 0x0200FFFF 64 KB iROM (mirror of 0x0 to 0xFFFF)
* 0x02020000 0x02077FFF 352 KB iRAM
* 0x03000000 0x03027FFF 160 KB Data memory of SRP
* 0x03028000 0x0303FFFF 96 KB I-cache of SRP
* 0x03040000 0x03048FFF 36 KB Configuration memory of SRP (write-only)
* 0x03800000 0x0386FFFF SFR region of AudioSS
* 0x04000000 0x04020000 128 KB SROMC's Bank 0
* 0x05000000 0x05020000 128 KB SROMC's Bank 1
* 0x06000000 0x06020000 128 KB SROMC's Bank 2
* 0x07000000 0x07020000 128 KB SROMC's Bank 3
* 0x10000000 0x1FFFFFFF SFR region
* 0x40000000 0xFFFFFFFF DRAM
*/
/* MJF: The GPIO offset names made no sense and the values wer wrong. */
#define EXYNOS5_GPIO_MUXA_OFFSET 0x03400000
#define EXYNOS5_GPIO_MUXB_OFFSET 0x03410000
#define EXYNOS5_GPIO_MUXC_OFFSET 0x04000000
#define EXYNOS5_GPIO_MUXD_OFFSET 0x04010000
#define EXYNOS5_GPIO_MUXE_OFFSET 0x03860000
/* CORE */
#define EXYNOS5_CORE_SIZE 0x0f000000
#define EXYNOS5_SDRAM_PBASE 0x40000000
#define EXYNOS5_CMU_CORE_PART_OFFSET 0x00010000
#define EXYNOS5_CMU_APLL 0x00010000 /* ARM core clock */
#define EXYNOS5_CMU_MPLL 0x00014000 /* MEM cntr. clock */
#define EXYNOS5_CMU_TOP_PART_OFFSET 0x00020000
#define EXYNOS5_CMU_CPLL 0x00020020 /* Video hardware codec clock */
#define EXYNOS5_CMU_DPLL 0x00020030 /* Audio and ext. interf. clock */
#define EXYNOS5_CMU_VPLL 0x00020040 /* Dither PLL (EMI reduction) clock */
#define EXYNOS5_CMU_GPLL 0x00020050 /* Graphic 3D proc. clock */
#define EXYNOS5_CMU_MEM_PART_OFFSET 0x00030000
#define EXYNOS5_CMU_BPLL 0x00030010
#define EXYNOS5_CMU_KPLL 0x00038000
#define EXYNOS5_ALIVE_OFFSET 0x00040000
#define EXYNOS5_PMU_OFFSET 0x00040000 /* alias */
#define EXYNOS5_SYSREG_OFFSET 0x00050000
#define EXYNOS5_TMU_OFFSET 0x00060000
#define EXYNOS5_MONOTONIC_CNT_OFFSET 0x000C0000
#define EXYNOS5_HDMI_CEC_OFFSET 0x001B0000
#define EXYNOS5_MCT_OFFSET 0x001C0000
#define EXYNOS5_WDT_OFFSET 0x001D0000
#define EXYNOS5_RTC_OFFSET 0x001E0000
#define EXYNOS5_INT_COMB_CPU_OFFSET 0x00440000
#define EXYNOS5_INT_COMB_IOP_OFFSET 0x00450000
#define EXYNOS5_GIC_CPU_OFFSET 0x00480000
#define EXYNOS5_GIC_IOP_DISTRIBUTOR_OFFSET 0x00481000
#define EXYNOS5_GIC_IOP_CONTROLLER_OFFSET 0x00482000
#define EXYNOS5_MPCORE PRIVATE REGION_OFFSET 0x00500000
#define EXYNOS5_NS MDMA0 0x00800000
#define EXYNOS5_SSS_OFFSET 0x00830000
#define EXYNOS5_SSS_KEY_OFFSET 0x00840000
#define EXYNOS5_2D_OFFSET 0x00850000
#define EXYNOS5_CSSYS_OFFSET 0x00880000
#if 0
#define EXYNOS5_A15 (EAGLE) 0x00890000
#define EXYNOS5_A5 (IOP) 0x008A0000
#define EXYNOS5_A5 (ISP) 0x008B0000
#endif
#define EXYNOS5_SYSMMU_MDMA_OFFSET 0x00A40000
#define EXYNOS5_SYSMMU_SSS_OFFSET 0x00A50000
#define EXYNOS5_SYSMMU_2D_OFFSET 0x00A60000
#define EXYNOS5_DREXII_PHY0_OFFSET 0x00C00000
#define EXYNOS5_DREXII_PHY1_OFFSET 0x00C10000
#define EXYNOS5_AS_A_3D_OFFSET 0x00CC0000
#define EXYNOS5_AS_A_C2C_OFFSET 0x00CD0000
#define EXYNOS5_AS_A_LEFT_BUS_OFFSET 0x00CE0000
#define EXYNOS5_AS_A_RIGHT0_BUS_OFFSET 0x00CF0000
#define EXYNOS5_AS_A_DISP1_BUS_OFFSET 0x00D00000
/*#define EXYNOS5_GPIO_C2C_OFFSET 0x00D10000*/
#define EXYNOS5_DREXII_OFFSET 0x00DD0000
#define EXYNOS5_AS_A_EFCON_OFFSET 0x00DE0000
#define EXYNOS5_AP_C2C_OFFSET 0x00E00000
#define EXYNOS5_CP_C2C_OFFSET 0x00E40000
#define EXYNOS5_AS_A_ACP_BLK_OFFSET 0x00E80000
#define EXYNOS5_AS_A_CPU_P_BLK_OFFSET 0x00E90000
#define EXYNOS5_AS_A_LBX_BUS_OFFSET 0x00F00000
#define EXYNOS5_AS_A_R1BX_BUS_OFFSET 0x00F10000
#define EXYNOS5_AS_A_R0BX_BUS_OFFSET 0x00F20000
#define EXYNOS5_AS_A_CPU_OFFSET 0x00F30000
#define EXYNOS5_MFC_OFFSET 0x01000000
#define EXYNOS5_SYSMMU_MFC0_R 0x01200000
#define EXYNOS5_SYSMMU_MFC1_L 0x01210000
/*#define EXYNOS5_GPIO_LEFT_OFFSET 0x04010000*/
#define EXYNOS5_AS_A_MFC_OFFSET 0x01680000
#define EXYNOS5_AS_A_GENX_OFFSET 0x016A0000
#define EXYNOS5_3D ENGINE_OFFSET 0x01800000
#define EXYNOS5_ROTATOR_OFFSET 0x01C00000
#define EXYNOS5_NS_MDMA1 0x01C10000
#define EXYNOS5_SYSMMU_ROTATOR_OFFSET 0x01D40000
#define EXYNOS5_SYSMMU_MDMA1 0x01D50000
#define EXYNOS5_AS_A_FILE_OFFSET 0x01DA0000
#define EXYNOS5_AS_A_GPS_OFFSET 0x01DB0000
#define EXYNOS5_AS_A_JPEG_OFFSET 0x01DC0000
#define EXYNOS5_JPEG_OFFSET 0x01E00000
#define EXYNOS5_SYSMMU_JPEG_OFFSET 0x01F20000
#define EXYNOS5_USB3_XHCI0_OFFSET 0x02000000
#define EXYNOS5_USB3_PHY0_OFFSET 0x02100000
#define EXYNOS5_USB2HOST_OFFSET 0x02110000
#define EXYNOS5_USB2_HOST_EHCI_OFFSET 0x02110000
#define EXYNOS5_USB2_HOST_OHCI_OFFSET 0x02120000
#define EXYNOS5_USB2_HOST_PHYCTRL_OFFSET 0x02130000
#define EXYNOS5_USB2_DEVICE_LINK_OFFSET 0x02140000
#define EXYNOS5_MIPI_HSI_OFFSET 0x02160000
#define EXYNOS5_SATA PHY CONTROL_OFFSET 0x02170000
#define EXYNOS5_MCUCTL_IOP_OFFSET 0x02180000 /* XXX unknown XXX */
#define EXYNOS5_WDT_IOP_OFFSET 0x02190000
#define EXYNOS5_PDMA0 0x021A0000
#define EXYNOS5_PDMA1 0x021B0000
#define EXYNOS5_RTIC_OFFSET 0x021C0000
#define EXYNOS5_SATA_I2C_PHY_CONTROL_OFFSET 0x021D0000
#define EXYNOS5_MSH0 0x02200000
#define EXYNOS5_MSH1 0x02210000
#define EXYNOS5_MSH2 0x02220000
#define EXYNOS5_MSH3 0x02230000
#define EXYNOS5_SROMC_OFFSET 0x02250000
#define EXYNOS5_SATA_OFFSET 0x022F0000
#if 0
#define EXYNOS5_AXI_FILE_D64 (GPV) 0x02300000
#define EXYNOS5_AXI_FILE_D64 (GPV) 0x02310000
#endif
#define EXYNOS5_AXI_USB_SATA_D64 0x02320000
#if 0
#define EXYNOS5_AXI_USB_SATA_D64 0x02330000
#endif
#define EXYNOS5_SYSMMU_IOPROCESSOR_OFFSET 0x02360000
#define EXYNOS5_SYSMMU_RTIC_OFFSET 0x02370000
#define EXYNOS5_AS_A_IOP_FD64X_OFFSET 0x02380000
#define EXYNOS5_AS_A_AUDIO_OFFSET 0x02390000
#define EXYNOS5_USB3_XHCI1_OFFSET 0x02400000
#define EXYNOS5_USB3_PHY1_OFFSET 0x02500000
#if 0
#define EXYNOS5_AXI_GPS (GPV) 0x02600000
#define EXYNOS5_AXI_GPS (GPV) 0x02610000
#endif
#define EXYNOS5_AS_A_GPSCPU_OFFSET 0x02620000
#define EXYNOS5_SYSMMU_GPS_OFFSET 0x02630000
#define EXYNOS5_UART0_OFFSET 0x02C00000
#define EXYNOS5_UART1_OFFSET 0x02C10000
#define EXYNOS5_UART2_OFFSET 0x02C20000
#define EXYNOS5_UART3_OFFSET 0x02C30000
#define EXYNOS5_USI0_OFFSET 0x02C50000
#define EXYNOS5_I2C0_OFFSET 0x02C60000
#define EXYNOS5_I2C1_OFFSET 0x02C70000
#define EXYNOS5_I2C2_OFFSET 0x02C80000
#define EXYNOS5_I2C3_OFFSET 0x02C90000
#define EXYNOS5_I2C4_OFFSET 0x02CA0000
#define EXYNOS5_I2C5_OFFSET 0x02CB0000
#define EXYNOS5_I2C6_OFFSET 0x02CC0000
#define EXYNOS5_I2C7_OFFSET 0x02CD0000
#define EXYNOS5_I2CHDMI_OFFSET 0x02CE0000
#define EXYNOS5_USI_OFFSET 0x02D00000
#define EXYNOS5_TSADC_OFFSET 0x02D10000
#define EXYNOS5_SPI0_OFFSET 0x02D20000
#define EXYNOS5_SPI1_OFFSET 0x02D30000
#define EXYNOS5_SPI2_OFFSET 0x02D40000
#define EXYNOS5_USI2_OFFSET 0x02D50000
#define EXYNOS5_I2S1_OFFSET 0x02D60000
#define EXYNOS5_I2S2_OFFSET 0x02D70000
#define EXYNOS5_PCM1_OFFSET 0x02D80000
#define EXYNOS5_PCM2_OFFSET 0x02D90000
#define EXYNOS5_AC97_OFFSET 0x02DA0000
#define EXYNOS5_SPDIF_OFFSET 0x02DB0000
#define EXYNOS5_PWM_OFFSET 0x02DD0000
#define EXYNOS5_USI3_OFFSET 0x02DE0000
#define EXYNOS5_FIMC_ISP_OFFSET 0x03000000
#define EXYNOS5_FIMC_DRC_TOP_OFFSET 0x03010000
#define EXYNOS5_FIMC_SCALERC_OFFSET 0x03020000
#define EXYNOS5_FIMC_SCALERP_OFFSET 0x03030000
#define EXYNOS5_FIMC_FD_TOP_OFFSET 0x03040000
#define EXYNOS5_FIMC_ODC_OFFSET 0x03050000
#define EXYNOS5_FIMC_DIS_OFFSET 0x03060000
#define EXYNOS5_FIMC_3DNR_OFFSET 0x03070000
#define EXYNOS5_ASYNC_AXI_M_OFFSET 0x030F0000
#define EXYNOS5_MPWM_ISP_OFFSET 0x03110000
#define EXYNOS5_I2C2_ISP_OFFSET 0x03120000
#define EXYNOS5_I2C0_ISP_OFFSET 0x03130000
#define EXYNOS5_I2C1_ISP_OFFSET 0x03140000
#define EXYNOS5_MTCADC_ISP_OFFSET 0x03150000
#define EXYNOS5_PWM_ISP_OFFSET 0x03160000
#define EXYNOS5_WDT_ISP_OFFSET 0x03170000
#define EXYNOS5_MCUCTL_ISP_OFFSET 0x03180000
#define EXYNOS5_UART_ISP_OFFSET 0x03190000
#define EXYNOS5_SPI0_ISP_OFFSET 0x031A0000
#define EXYNOS5_SPI1_ISP_OFFSET 0x031B0000
#define EXYNOS5_GIC_C_ISP_OFFSET 0x031E0000
#define EXYNOS5_GIC_D_ISP_OFFSET 0x031F0000
#define EXYNOS5_SYSMMU_FIMC_ISP_OFFSET 0x03260000
#define EXYNOS5_SYSMMU_FIMC_DRC_OFFSET 0x03270000
#define EXYNOS5_SYSMMU_FIMC_SCALERC_OFFSET 0x03280000
#define EXYNOS5_SYSMMU_FIMC_SCALERP_OFFSET 0x03290000
#define EXYNOS5_SYSMMU_FIMC_FD_OFFSET 0x032A0000
#define EXYNOS5_SYSMMU_ISPCPU_OFFSET 0x032B0000
#define EXYNOS5_SYSMMU_FIMC_ODC_OFFSET 0x032C0000
#define EXYNOS5_SYSMMU_FIMC_DIS0 0x032D0000
#define EXYNOS5_SYSMMU_FIMC_DIS1 0x032E0000
#define EXYNOS5_SYSMMU_FIMC_3DNR_OFFSET 0x032F0000
/*#define EXYNOS5_GPIO_RIGHT_OFFSET 0x04000000*/
#define EXYNOS5_AS_A_MFC0_OFFSET 0x03620000
#define EXYNOS5_AS_A_ISP0_OFFSET 0x03640000
#define EXYNOS5_AS_A_ISP1_OFFSET 0x03650000
#define EXYNOS5_AS_A_RIGHT1_OFFSET 0x03670000
#define EXYNOS5_FIMC_LITE0_OFFSET 0x03C00000
#define EXYNOS5_FIMC_LITE1_OFFSET 0x03C10000
#define EXYNOS5_MIPI_CSI0_OFFSET 0x03C20000
#define EXYNOS5_MIPI_CSI1_OFFSET 0x03C30000
#define EXYNOS5_SYSMMU_FIMC_LITE0_OFFSET 0x03C40000
#define EXYNOS5_SYSMMU_FIMC_LITE1_OFFSET 0x03C50000
#define EXYNOS5_FIMC_LITE2_OFFSET 0x03C90000
#define EXYNOS5_SYSMMU_FIMC_LITE2_OFFSET 0x03CA0000
#define EXYNOS5_GSCALER0_OFFSET 0x03E00000
#define EXYNOS5_GSCALER1_OFFSET 0x03E10000
#define EXYNOS5_GSCALER2_OFFSET 0x03E20000
#define EXYNOS5_GSCALER3_OFFSET 0x03E30000
#define EXYNOS5_AS_A_GS0_OFFSET 0x03E40000
#define EXYNOS5_AS_A_GS1_OFFSET 0x03E50000
#define EXYNOS5_AS_A_GS2_OFFSET 0x03E60000
#define EXYNOS5_AS_A_GS3_OFFSET 0x03E70000
#define EXYNOS5_SYSMMU_GSCALER0_OFFSET 0x03E80000
#define EXYNOS5_SYSMMU_GSCALER1_OFFSET 0x03E90000
#define EXYNOS5_SYSMMU_GSCALER2_OFFSET 0x03EA0000
#define EXYNOS5_SYSMMU_GSCALER3_OFFSET 0x03EB0000
#define EXYNOS5_GPIO_USB_OFFSET 0x04000000
#define EXYNOS5_AS_A_GSCALER_OFFSET 0x04220000
#define EXYNOS5_DISP1_MIX_OFFSET 0x04400000
#define EXYNOS5_DISP1_ENH_OFFSET 0x04410000
#define EXYNOS5_DISP1_CTRL_OFFSET 0x04420000
#define EXYNOS5_MIE_OFFSET 0x04430000
#define EXYNOS5_TV_MIXER_OFFSET 0x04450000
#define EXYNOS5_MIPI_DSI1_OFFSET 0x04500000
#define EXYNOS5_DP1_OFFSET 0x04510000
#define EXYNOS5_HDMI_0_OFFSET 0x04530000
#define EXYNOS5_HDMI_1_OFFSET 0x04540000
#define EXYNOS5_HDMI_2_OFFSET 0x04550000
#define EXYNOS5_HDMI_3_OFFSET 0x04560000
#define EXYNOS5_HDMI_4_OFFSET 0x04570000
#define EXYNOS5_HDMI_5_OFFSET 0x04580000
#define EXYNOS5_HDMI_6_OFFSET 0x04590000
#define EXYNOS5_DP1_1_OFFSET 0x045B0000
#define EXYNOS5_SYSMMU_DISP1_OFFSET 0x04640000
#define EXYNOS5_SYSMMU_TV_OFFSET 0x04650000
#define EXYNOS5_AS_A_TV_OFFSET 0x046D0000
#if 0
#define EXYNOS5_AES0&EF0 (NEW) 0x08000000
#define EXYNOS5_AES0&EF0 (NEW) 0x08010000
#define EXYNOS5_AES0&EF0 (NEW) 0x08020000
#define EXYNOS5_AES0&EF0 (NEW) 0x08030000
#define EXYNOS5_AES0&EF0 (NEW) 0x08040000
#define EXYNOS5_AES0&EF0 (NEW) 0x08050000
#define EXYNOS5_AES0&EF0 (NEW) 0x08060000
#define EXYNOS5_AES0&EF0 (NEW) 0x08070000
#define EXYNOS5_AES0&EF0 (NER) 0x08080000
#define EXYNOS5_AES0&EF0 (NER) 0x08090000
#define EXYNOS5_AES0&EF0 (NER) 0x080A0000
#define EXYNOS5_AES0&EF0 (NER) 0x080B0000
#define EXYNOS5_AES0&EF0 (NER) 0x080C0000
#define EXYNOS5_AES0&EF0 (NER) 0x080D0000
#define EXYNOS5_AES0&EF0 (NER) 0x080E0000
#define EXYNOS5_AES0&EF0 (NER) 0x080F0000
#define EXYNOS5_AES0&EF0 (EW) 0x08100000
#define EXYNOS5_AES0&EF0 (EW) 0x08110000
#define EXYNOS5_AES0&EF0 (EW) 0x08120000
#define EXYNOS5_AES0&EF0 (EW) 0x08130000
#define EXYNOS5_AES0&EF0 (EW) 0x08140000
#define EXYNOS5_AES0&EF0 (EW) 0x08150000
#define EXYNOS5_AES0&EF0 (EW) 0x08160000
#define EXYNOS5_AES0&EF0 (EW) 0x08170000
#define EXYNOS5_AES0&EF0 (ER) 0x08180000
#define EXYNOS5_AES0&EF0 (ER) 0x08190000
#define EXYNOS5_AES0&EF0 (ER) 0x081A0000
#define EXYNOS5_AES0&EF0 (ER) 0x081B0000
#define EXYNOS5_AES0&EF0 (ER) 0x081C0000
#define EXYNOS5_AES0&EF0 (ER) 0x081D0000
#define EXYNOS5_AES0&EF0 (ER) 0x081E0000
#define EXYNOS5_AES0&EF0 (ER) 0x081F0000
#define EXYNOS5_EFCON0_OFFSET 0x08200000
#define EXYNOS5_AES0 SFR_OFFSET 0x08300000
#define EXYNOS5_AES1&EF1 (NEW) 0x08400000
#define EXYNOS5_AES1&EF1 (NEW) 0x08410000
#define EXYNOS5_AES1&EF1 (NEW) 0x08420000
#define EXYNOS5_AES1&EF1 (NEW) 0x08430000
#define EXYNOS5_AES1&EF1 (NEW) 0x08440000
#define EXYNOS5_AES1&EF1 (NEW) 0x08450000
#define EXYNOS5_AES1&EF1 (NEW) 0x08460000
#define EXYNOS5_AES1&EF1 (NEW) 0x08470000
#define EXYNOS5_AES1&EF1 (NER) 0x08480000
#define EXYNOS5_AES1&EF1 (NER) 0x08490000
#define EXYNOS5_AES1&EF1 (NER) 0x084A0000
#define EXYNOS5_AES1&EF1 (NER) 0x084B0000
#define EXYNOS5_AES1&EF1 (NER) 0x084C0000
#define EXYNOS5_AES1&EF1 (NER) 0x084D0000
#define EXYNOS5_AES1&EF1 (NER) 0x084E0000
#define EXYNOS5_AES1&EF1 (NER) 0x084F0000
#define EXYNOS5_AES1&EF1 (EW) 0x08500000
#define EXYNOS5_AES1&EF1 (EW) 0x08510000
#define EXYNOS5_AES1&EF1 (EW) 0x08520000
#define EXYNOS5_AES1&EF1 (EW) 0x08530000
#define EXYNOS5_AES1&EF1 (EW) 0x08540000
#define EXYNOS5_AES1&EF1 (EW) 0x08550000
#define EXYNOS5_AES1&EF1 (EW) 0x08560000
#define EXYNOS5_AES1&EF1 (EW) 0x08570000
#define EXYNOS5_AES1&EF1 (ER) 0x08580000
#define EXYNOS5_AES1&EF1 (ER) 0x08590000
#define EXYNOS5_AES1&EF1 (ER) 0x085A0000
#define EXYNOS5_AES1&EF1 (ER) 0x085B0000
#define EXYNOS5_AES1&EF1 (ER) 0x085C0000
#define EXYNOS5_AES1&EF1 (ER) 0x085D0000
#define EXYNOS5_AES1&EF1 (ER) 0x085E0000
#define EXYNOS5_AES1&EF1 (ER) 0x085F0000
#endif
#define EXYNOS5_EFCON1_OFFSET 0x08600000
#define EXYNOS5_NS_NDMA_OFFSET 0x08680000
#define EXYNOS5_S_NDMA_OFFSET 0x08690000
#define EXYNOS5_AES1_OFFSET 0x08700000
/* AUDIOCORE */
#define EXYNOS5_AUDIOCORE_VBASE (EXYNOS_CORE_VBASE + EXYNOS5_CORE_SIZE)
#define EXYNOS5_AUDIOCORE_PBASE 0x03800000 /* Audio SFR */
#define EXYNOS5_GPIO_I2S_OFFSET (EXYNOS5_CORE_SIZE + 0x00060000)
#define EXYNOS5_AUDIOCORE_SIZE 0x00100000
#define EXYNOS5_SYSRAM_VBASE (EXYNOS5_AUDIOCORE_VBASE + EXYNOS5_AUDIOCORE_SIZE)
#define EXYNOS5_SYSRAM_PBASE 0x02000000
#define EXYNOS5_SYSRAM_SIZE 0x00100000
/* used Exynos5 USB PHY registers */
#define USB_PHY_HOST_CTRL0 0x00
#define HOST_CTRL0_PHY_SWRST __BIT(0)
#define HOST_CTRL0_LINK_SWRST __BIT(1)
#define HOST_CTRL0_UTMI_SWRST __BIT(2)
#define HOST_CTRL0_WORDINTERFACE __BIT(3)
#define HOST_CTRL0_FORCESUSPEND __BIT(4)
#define HOST_CTRL0_FORCESLEEP __BIT(5)
#define HOST_CTRL0_SIDDQ __BIT(6)
#define HOST_CTRL0_COMMONON_N __BIT(9) /* common block configuration during suspend */
#define HOST_CTRL0_RETENABLE __BIT(10)
#define HOST_CTRL0_TESTBURNIN __BIT(11)
#define HOST_CTRL0_FSEL_MASK __BITS(16, 18) /* holds FSEL_CLKSEL_ */
#define HOST_CTRL0_REFCLKSEL_MASK __BITS(19, 20)
#define HOST_CTRL0_REFCLKSEL_XTAL 0
#define HOST_CTRL0_REFCLKSEL_EXTL 1
#define HOST_CTRL0_REFCLKSEL_CLKCORE 2
#define HOST_CTRL0_PHY_SWRST_ALL __BIT(31)
#define USB_PHY_HSIC_CTRL1 0x10
#define USB_PHY_HSIC_TUNE1 0x14
#define USB_PHY_HSIC_CTRL2 0x20
#define USB_PHY_HSIC_TUNE2 0x24
#define HSIC_CTRL_PHY_SWRST __BIT(0)
#define HSIC_CTRL_UTMI_SWRST __BIT(2)
#define HSIC_CTRL_WORDINTERFACE __BIT(3)
#define HSIC_CTRL_FORCESUSPEND __BIT(4)
#define HSIC_CTRL_FORCESLEEP __BIT(5)
#define HSIC_CTRL_SIDDQ __BIT(6)
#define HSIC_CTRL_REFCLKDIV_MASK __BITS(16,22)
#define HSIC_CTRL_REFCLKDIV_12 0x24
#define HSIC_CTRL_REFCLKDIV_15 0x1c
#define HSIC_CTRL_REFCLKDIV_16 0x1a
#define HSIC_CTRL_REFCLKDIV_19_2 0x15
#define HSIC_CTRL_REFCLKDIV_20 0x14
#define HSIC_CTRL_REFCLKSEL_MASK __BITS(23, 24)
#define HSIC_CTRL_REFCLKSEL_DEFAULT 2
#define USB_PHY_HOST_EHCICTRL 0x30
#define HOST_EHCICTRL_ENA_INCR16 __BIT(26)
#define HOST_EHCICTRL_ENA_INCR8 __BIT(27)
#define HOST_EHCICTRL_ENA_INCR4 __BIT(28)
#define HOST_EHCICTRL_ENA_INCRXALIGN __BIT(29)
#define USB_PHY_HOST_OHCICTRL 0x34
#define HOST_OHCICTRL_CLKCK_RST __BIT(0)
#define HOST_OHCICTRL_CNTSEL __BIT(1)
#define HOST_OHCICTRL_APPSTARTCLK __BIT(2)
#define HOST_OHCICTRL_SUSPLGCY __BIT(3)
#define USB_PHY_OTG_SYS 0x38
#define OTG_SYS_FORCESUSPEND __BIT(0)
#define OTG_SYS_SIDDQ_UOTG __BIT(1)
#define OTG_SYS_OTGDISABLE __BIT(2)
#define OTG_SYS_FORCESLEEP __BIT(3)
#define OTG_SYS_FSEL_MASK __BITS(4, 6) /* holds FSEL_CLKSEL_ */
#define OTG_SYS_COMMON_ON __BIT(7)
#define OTG_SYS_IDPULLUP_UOTG __BIT(8)
#define OTG_SYS_REFCLKSEL_MASK __BITS(9, 10)
#define OTG_SYS_REFCLKSEL_XTAL __SHIFTIN(OTG_SYS_REFCLKSEL_MASK, 0)
#define OTG_SYS_REFCLKSEL_EXTL __SHIFTIN(OTG_SYS_REFCLKSEL_MASK, 1)
#define OTG_SYS_REFCLKSEL_CLKCORE __SHIFTIN(OTG_SYS_REFCLKSEL_MASK, 2)
#define OTG_SYS_PHY0_SWRST __BIT(12)
#define OTG_SYS_LINK_SWRST_UOTG __BIT(13)
#define OTG_SYS_PHYLINK_SWRST __BIT(14)
#endif /* _ARM_SAMSUNG_EXYNOS5_REG_H_ */