diff options
| author | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
| commit | 8e4bff4cab0ddac6060645b0715210484d02ff40 (patch) | |
| tree | 3a5c3024371a04692a3a6d9974d001cdff8ebf84 /include/soc/sprd/__hardware-sc8830.h | |
Diffstat (limited to 'include/soc/sprd/__hardware-sc8830.h')
| -rw-r--r-- | include/soc/sprd/__hardware-sc8830.h | 645 |
1 files changed, 645 insertions, 0 deletions
diff --git a/include/soc/sprd/__hardware-sc8830.h b/include/soc/sprd/__hardware-sc8830.h new file mode 100644 index 00000000..c5421259 --- /dev/null +++ b/include/soc/sprd/__hardware-sc8830.h @@ -0,0 +1,645 @@ +/* + * Copyright (C) 2012 Spreadtrum Communications Inc. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * 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 __ASM_ARCH_HARDWARE_SCX35_H +#define __ASM_ARCH_HARDWARE_SCX35_H + +#ifndef __ASM_ARCH_SCI_HARDWARE_H +#error "Don't include this file directly, include <mach/hardware.h>" +#endif + +/* + * 8830 internal I/O mappings + * 0x30000000-0x50000000 AON. + * We have the following mapping according to asic spec. + * We have set some trap gaps in the vaddr. + */ +#define SCI_IOMAP_BASE 0xF5000000 + +#define SCI_IOMAP(x) (SCI_IOMAP_BASE + (x)) + +#define SCI_IOMEMMAP_BASE 0xcc800000 + +#define SCI_IOMEMMAP(x) (SCI_IOMEMMAP_BASE + (x)) + +#ifndef SCI_ADDR +#define SCI_ADDR(_b_, _o_) ( (u32)(_b_) + (_o_) ) +#endif + +#define LL_DEBUG_UART_PHYS SPRD_UART1_PHYS +#define LL_DEBUG_UART_BASE SPRD_UART1_BASE + +//8830 mapping begin. From [0xEB000000 -- ] +#define SPRD_CORESIGHT_BASE SCI_IOMAP(0x0) +#define SPRD_CORESIGHT_PHYS 0x10000000 +#define SPRD_CORESIGHT_SIZE SZ_64K + +#define SPRD_CORE_BASE SCI_IOMAP(0x10000) +#define SPRD_CORE_PHYS 0x12000000 +#define SPRD_CORE_SIZE SZ_64K + +#define SPRD_DMA0_BASE SCI_IOMAP(0x112000) +#define SPRD_DMA0_PHYS 0X20100000 +#define SPRD_DMA0_SIZE SZ_16K + +#define SPRD_USB_BASE SCI_IOMAP(0x116000) +#define SPRD_USB_PHYS 0X20200000 +#define SPRD_USB_SIZE SZ_4K + +#define SPRD_SDIO0_BASE SCI_IOMAP(0x117000) +#define SPRD_SDIO0_PHYS 0X20300000 +#define SPRD_SDIO0_SIZE SZ_4K + +#define SPRD_SDIO1_BASE SCI_IOMAP(0x118000) +#define SPRD_SDIO1_PHYS 0X20400000 +#define SPRD_SDIO1_SIZE SZ_4K + +#define SPRD_MEMNAND_SYSTEM_BASE SCI_IOMEMMAP(0x00000) +#define SPRD_MEMNAND_SYSTEM_PHYS 0x8c800000 +#define SPRD_MEMNAND_SYSTEM_SIZE (0xaa00000) + + +#define SPRD_MEMNAND_USERDATA_BASE SCI_IOMEMMAP(0xaa00000) +#define SPRD_MEMNAND_USERDATA_PHYS 0X97200000 +#define SPRD_MEMNAND_USERDATA_SIZE (0x6a00000) + + +#define SPRD_MEMNAND_CACHE_BASE SCI_IOMEMMAP(0x6a00000+0xaa00000) +#define SPRD_MEMNAND_CACHE_PHYS (0X97200000+0x6a00000) +#define SPRD_MEMNAND_CACHE_SIZE (0x2400000) + +#define SPRD_SDIO2_BASE SCI_IOMAP(0x11a000) +#define SPRD_SDIO2_PHYS 0X20500000 +#define SPRD_SDIO2_SIZE SZ_4K + +#define SPRD_EMMC_BASE SCI_IOMAP(0x11c000) +#define SPRD_EMMC_PHYS 0X20600000 +#define SPRD_EMMC_SIZE SZ_4K + +#define SPRD_DRM_BASE SCI_IOMAP(0x120000) +#define SPRD_DRM_PHYS 0X20700000 +#define SPRD_DRM_SIZE SZ_4K + +#define SPRD_LCDC_BASE SCI_IOMAP(0x122000) +#define SPRD_LCDC_PHYS 0X20800000 +#define SPRD_LCDC_SIZE SZ_4K + +#define SPRD_LCDC1_BASE SCI_IOMAP(0x124000) +#define SPRD_LCDC1_PHYS 0X20900000 +#define SPRD_LCDC1_SIZE SZ_4K + +#define SPRD_GSP_BASE SCI_IOMAP(0x126000) +#define SPRD_GSP_PHYS 0X20A00000 +#define SPRD_GSP_SIZE SZ_4K + +#define SPRD_NFC_BASE SCI_IOMAP(0x128000) +#define SPRD_NFC_PHYS 0X20B00000 +#define SPRD_NFC_SIZE SZ_4K + +#define SPRD_HWLOCK0_BASE SCI_IOMAP(0x12a000) +#define SPRD_HWLOCK0_PHYS 0X20c00000 +#define SPRD_HWLOCK0_SIZE SZ_4K + +#define SPRD_AHB_BASE SCI_IOMAP(0x130000) +#define SPRD_AHB_PHYS 0X20D00000 +#define SPRD_AHB_SIZE SZ_64K + +#define SPRD_BM0_BASE SCI_IOMAP(0x140000) +#define SPRD_BM0_PHYS 0X20E00000 +#define SPRD_BM0_SIZE SZ_4K + +#define SPRD_BM1_BASE SCI_IOMAP(0x142000) +#define SPRD_BM1_PHYS 0X20F00000 +#define SPRD_BM1_SIZE SZ_4K + +#define SPRD_BM2_BASE SCI_IOMAP(0x144000) +#define SPRD_BM2_PHYS 0X21000000 +#define SPRD_BM2_SIZE SZ_4K + +#define SPRD_DSI_BASE SCI_IOMAP(0x146000) +#define SPRD_DSI_PHYS 0X21800000 +#define SPRD_DSI_SIZE SZ_4K + +#define SPRD_GPS_BASE SCI_IOMAP(0x150000) +#define SPRD_GPS_PHYS 0X21C00000 +#define SPRD_GPS_SIZE SZ_4K + +#define SPRD_LPDDR2_BASE SCI_IOMAP(0x160000) +#define SPRD_LPDDR2_PHYS 0X30000000 +#define SPRD_LPDDR2_SIZE SZ_4K + +#define SPRD_LPDDR2_PHY_BASE SCI_IOMAP(0x170000) +#define SPRD_LPDDR2_PHY_PHYS 0X30010000 +#define SPRD_LPDDR2_PHY_SIZE SZ_4K + +#define SPRD_PUB_BASE SCI_IOMAP(0x180000) +#define SPRD_PUB_PHYS 0X30020000 +#define SPRD_PUB_SIZE SZ_64K + +#define SPRD_AXIBM0_BASE SCI_IOMAP(0x19e000) +#define SPRD_AXIBM0_PHYS 0X30040000 +#define SPRD_AXIBM0_SIZE SZ_4K + +#define SPRD_AXIBM1_BASE SCI_IOMAP(0x1a0000) +#define SPRD_AXIBM1_PHYS 0X30050000 +#define SPRD_AXIBM1_SIZE (SZ_4K) + +#define SPRD_AXIBM2_BASE SCI_IOMAP(0x1a2000) +#define SPRD_AXIBM2_PHYS 0X30060000 +#define SPRD_AXIBM2_SIZE (SZ_4K) + +#define SPRD_AXIBM3_BASE SCI_IOMAP(0x1a4000) +#define SPRD_AXIBM3_PHYS 0X30070000 +#define SPRD_AXIBM3_SIZE (SZ_4K) + +#define SPRD_AXIBM4_BASE SCI_IOMAP(0x1a6000) +#define SPRD_AXIBM4_PHYS 0X30080000 +#define SPRD_AXIBM4_SIZE (SZ_4K) + +#define SPRD_AXIBM5_BASE SCI_IOMAP(0x1a8000) +#define SPRD_AXIBM5_PHYS 0X30090000 +#define SPRD_AXIBM5_SIZE (SZ_4K) + +#define SPRD_AXIBM6_BASE SCI_IOMAP(0x1aa000) +#define SPRD_AXIBM6_PHYS 0X300A0000 +#define SPRD_AXIBM6_SIZE (SZ_4K) + +#define SPRD_AXIBM7_BASE SCI_IOMAP(0x1ac000) +#define SPRD_AXIBM7_PHYS 0X300B0000 +#define SPRD_AXIBM7_SIZE (SZ_4K) + +#define SPRD_AXIBM8_BASE SCI_IOMAP(0x1ae000) +#define SPRD_AXIBM8_PHYS 0X300C0000 +#define SPRD_AXIBM8_SIZE (SZ_4K) + +#define SPRD_AXIBM9_BASE SCI_IOMAP(0x1b0000) +#define SPRD_AXIBM9_PHYS 0X300D0000 +#define SPRD_AXIBM9_SIZE (SZ_4K) + +#define SPRD_AUDIO_BASE SCI_IOMAP(0x1c0000) +#define SPRD_AUDIO_PHYS 0X40000000 +#define SPRD_AUDIO_SIZE SZ_8K + +#define SPRD_AUDIO_IF_BASE SCI_IOMAP(0x1d0000) +#define SPRD_AUDIO_IF_PHYS 0X40010000 +#define SPRD_AUDIO_IF_SIZE SZ_4K + +#define SPRD_VBC_BASE SCI_IOMAP(0x1e0000) +#define SPRD_VBC_PHYS 0X40020000 +#define SPRD_VBC_SIZE SZ_4K + SZ_8K + +#define SPRD_SYSTIMER_CMP_BASE SCI_IOMAP(0x1f2000) +#define SPRD_SYSTIMER_CMP_PHYS 0X40040000 +#define SPRD_SYSTIMER_CMP_SIZE SZ_4K + +#define SPRD_GPTIMER0_BASE SCI_IOMAP(0x1f4000) +#define SPRD_GPTIMER0_PHYS 0X40050000 +#define SPRD_GPTIMER0_SIZE SZ_4K + +#define SPRD_HWLOCK1_BASE SCI_IOMAP(0x1f6000) +#define SPRD_HWLOCK1_PHYS 0X40060000 +#define SPRD_HWLOCK1_SIZE SZ_4K + +#define SPRD_RFSPI_BASE SCI_IOMAP(0x1f8000) +#define SPRD_RFSPI_PHYS 0X40070000 +#define SPRD_RFSPI_SIZE SZ_4K + +#define SPRD_I2C_BASE SCI_IOMAP(0x1fa000) +#define SPRD_I2C_PHYS 0X40080000 +#define SPRD_I2C_SIZE SZ_4K + +#define SPRD_INT_BASE SCI_IOMAP(0x1fc000) +#define SPRD_INT_PHYS 0X40200000 +#define SPRD_INT_SIZE SZ_4K + +#define SPRD_EIC_BASE SCI_IOMAP(0x200000) +#define SPRD_EIC_PHYS 0X40210000 +#define SPRD_EIC_SIZE SZ_4K + +#define SPRD_APTIMER0_BASE SCI_IOMAP(0x202000) +#define SPRD_APTIMER0_PHYS 0X40220000 +#define SPRD_APTIMER0_SIZE SZ_4K + +#define SPRD_SYSCNT_BASE SCI_IOMAP(0x204000) +#define SPRD_SYSCNT_PHYS 0X40230000 +#define SPRD_SYSCNT_SIZE SZ_4K + +#define SPRD_UIDEFUSE_BASE SCI_IOMAP(0x206000) +#define SPRD_UIDEFUSE_PHYS 0X40240000 +#define SPRD_UIDEFUSE_SIZE SZ_4K + +#define SPRD_KPD_BASE SCI_IOMAP(0x208000) +#define SPRD_KPD_PHYS 0X40250000 +#define SPRD_KPD_SIZE SZ_4K + +#define SPRD_PWM_BASE SCI_IOMAP(0x20a000) +#define SPRD_PWM_PHYS 0X40260000 +#define SPRD_PWM_SIZE SZ_4K + +#define SPRD_FM_BASE SCI_IOMAP(0x210000) +#define SPRD_FM_PHYS 0X40270000 +#define SPRD_FM_SIZE SZ_4K + +#define SPRD_GPIO_BASE SCI_IOMAP(0x220000) +#define SPRD_GPIO_PHYS 0X40280000 +#define SPRD_GPIO_SIZE SZ_4K + +#define SPRD_WDG_BASE SCI_IOMAP(0x222000) +#define SPRD_WDG_PHYS 0X40290000 +#define SPRD_WDG_SIZE SZ_4K + +#define SPRD_PIN_BASE SCI_IOMAP(0x224000) +#define SPRD_PIN_PHYS 0X402A0000 +#define SPRD_PIN_SIZE SZ_4K + +#define SPRD_PMU_BASE SCI_IOMAP(0x230000) +#define SPRD_PMU_PHYS 0X402B0000 +#define SPRD_PMU_SIZE SZ_64K + +#define SPRD_IPI_BASE SCI_IOMAP(0x240000) +#define SPRD_IPI_PHYS 0X402C0000 +#define SPRD_IPI_SIZE SZ_4K + +#define SPRD_AONCKG_BASE SCI_IOMAP(0x242000) +#define SPRD_AONCKG_PHYS 0X402D0000 +#define SPRD_AONCKG_SIZE SZ_4K + +#define SPRD_AONAPB_BASE SCI_IOMAP(0x250000) +#define SPRD_AONAPB_PHYS 0X402E0000 +#define SPRD_AONAPB_SIZE SZ_64K + +#define SPRD_THM_BASE SCI_IOMAP(0x260000) +#define SPRD_THM_PHYS 0X402F0000 +#define SPRD_THM_SIZE SZ_4K + +#define SPRD_AVSCA7_BASE SCI_IOMAP(0x270000) +#define SPRD_AVSCA7_PHYS 0X40300000 +#define SPRD_AVSCA7_SIZE SZ_4K + +#define SPRD_AVSTOP_BASE SCI_IOMAP(0x280000) +#define SPRD_AVSTOP_PHYS 0X40310000 +#define SPRD_AVSTOP_SIZE SZ_4K + +// +#define SPRD_CA7WDG_BASE SCI_IOMAP(0x290000) +#define SPRD_CA7WDG_PHYS 0X40320000 +#define SPRD_CA7WDG_SIZE SZ_4K + +#define SPRD_APTIMER1_BASE SCI_IOMAP(0x292000) +#define SPRD_APTIMER1_PHYS 0X40330000 +#define SPRD_APTIMER1_SIZE SZ_4K + +#define SPRD_APTIMER2_BASE SCI_IOMAP(0x294000) +#define SPRD_APTIMER2_PHYS 0X40340000 +#define SPRD_APTIMER2_SIZE SZ_4K +// + +#define SPRD_CA7TS0_BASE SCI_IOMAP(0x2a0000) +#define SPRD_CA7TS0_PHYS 0X40400000 +#define SPRD_CA7TS0_SIZE SZ_4K + +#define SPRD_CA7TS1_BASE SCI_IOMAP(0x2b0000) +#define SPRD_CA7TS1_PHYS 0X40410000 +#define SPRD_CA7TS1_SIZE SZ_4K + +#define SPRD_MALI_BASE SCI_IOMAP(0x2c0000) +#define SPRD_MALI_PHYS 0X60000000 +#define SPRD_MALI_SIZE SZ_4K + +#define SPRD_GPUAPB_BASE SCI_IOMAP(0x2d0000) +#define SPRD_GPUAPB_PHYS 0X60100000 +#define SPRD_GPUAPB_SIZE SZ_4K + +#define SPRD_GPUCKG_BASE SCI_IOMAP(0x2e0000) +#define SPRD_GPUCKG_PHYS 0X60200000 +#define SPRD_GPUCKG_SIZE SZ_4K + +#define SPRD_DCAM_BASE SCI_IOMAP(0x2f0000) +#define SPRD_DCAM_PHYS 0X60800000 +#define SPRD_DCAM_SIZE SZ_64K + +#define SPRD_VSP_BASE SCI_IOMAP(0x300000) +#define SPRD_VSP_PHYS 0X60900000 +#define SPRD_VSP_SIZE (SZ_32K + SZ_16K) + +#define SPRD_ISP_BASE SCI_IOMAP(0x310000) +#define SPRD_ISP_PHYS 0X60A00000 +#define SPRD_ISP_SIZE SZ_32K + +#define SPRD_JPG_BASE SCI_IOMAP(0x320000) +#define SPRD_JPG_PHYS 0X60B00000 +#define SPRD_JPG_SIZE SZ_32K + +#define SPRD_CSI2_BASE SCI_IOMAP(0x330000) +#define SPRD_CSI2_PHYS 0X60C00000 +#define SPRD_CSI2_SIZE SZ_4K + +#define SPRD_MMAHB_BASE SCI_IOMAP(0x340000) +#define SPRD_MMAHB_PHYS 0X60D00000 +#define SPRD_MMAHB_SIZE SZ_16K + +#define SPRD_MMCKG_BASE SCI_IOMAP(0x350000) +#define SPRD_MMCKG_PHYS 0X60E00000 +#define SPRD_MMCKG_SIZE SZ_4K + +#define SPRD_UART0_BASE SCI_IOMAP(0x360000) +#define SPRD_UART0_PHYS 0X70000000 +#define SPRD_UART0_SIZE SZ_4K + +#define SPRD_UART1_BASE SCI_IOMAP(0x362000) +#define SPRD_UART1_PHYS 0X70100000 +#define SPRD_UART1_SIZE SZ_4K + +#define SPRD_UART2_BASE SCI_IOMAP(0x364000) +#define SPRD_UART2_PHYS 0X70200000 +#define SPRD_UART2_SIZE SZ_4K + +#define SPRD_UART3_BASE SCI_IOMAP(0x366000) +#define SPRD_UART3_PHYS 0X70300000 +#define SPRD_UART3_SIZE SZ_4K + +#define SPRD_UART4_BASE SCI_IOMAP(0x368000) +#define SPRD_UART4_PHYS 0X70400000 +#define SPRD_UART4_SIZE SZ_4K + +#define SPRD_I2C0_BASE SCI_IOMAP(0x36a000) +#define SPRD_I2C0_PHYS 0X70500000 +#define SPRD_I2C0_SIZE SZ_4K + +#define SPRD_I2C1_BASE SCI_IOMAP(0x36c000) +#define SPRD_I2C1_PHYS 0X70600000 +#define SPRD_I2C1_SIZE SZ_4K + +#define SPRD_I2C2_BASE SCI_IOMAP(0x370000) +#define SPRD_I2C2_PHYS 0X70700000 +#define SPRD_I2C2_SIZE SZ_4K + +#define SPRD_I2C3_BASE SCI_IOMAP(0x372000) +#define SPRD_I2C3_PHYS 0X70800000 +#define SPRD_I2C3_SIZE SZ_4K + +#define SPRD_I2C4_BASE SCI_IOMAP(0x374000) +#define SPRD_I2C4_PHYS 0X70900000 +#define SPRD_I2C4_SIZE SZ_4K + +#define SPRD_SPI0_BASE SCI_IOMAP(0x376000) +#define SPRD_SPI0_PHYS 0X70A00000 +#define SPRD_SPI0_SIZE SZ_4K + +#define SPRD_SPI1_BASE SCI_IOMAP(0x378000) +#define SPRD_SPI1_PHYS 0X70B00000 +#define SPRD_SPI1_SIZE SZ_4K + +#define SPRD_SPI2_BASE SCI_IOMAP(0x37a000) +#define SPRD_SPI2_PHYS 0X70C00000 +#define SPRD_SPI2_SIZE SZ_4K + +#define SPRD_IIS0_BASE SCI_IOMAP(0x37c000) +#define SPRD_IIS0_PHYS 0X70D00000 +#define SPRD_IIS0_SIZE SZ_4K + +#define SPRD_IIS1_BASE SCI_IOMAP(0x380000) +#define SPRD_IIS1_PHYS 0X70E00000 +#define SPRD_IIS1_SIZE SZ_4K + +#define SPRD_IIS2_BASE SCI_IOMAP(0x382000) +#define SPRD_IIS2_PHYS 0X70F00000 +#define SPRD_IIS2_SIZE SZ_4K + +#define SPRD_IIS3_BASE SCI_IOMAP(0x384000) +#define SPRD_IIS3_PHYS 0X71000000 +#define SPRD_IIS3_SIZE SZ_4K + +#define SPRD_SIM0_BASE SCI_IOMAP(0x390000) +#define SPRD_SIM0_PHYS 0X71100000 +#define SPRD_SIM0_SIZE SZ_4K + +#define SPRD_APBCKG_BASE SCI_IOMAP(0x3a0000) +#define SPRD_APBCKG_PHYS 0X71200000 +#define SPRD_APBCKG_SIZE SZ_4K + +#define SPRD_APBREG_BASE SCI_IOMAP(0x3b0000) +#define SPRD_APBREG_PHYS 0X71300000 +#define SPRD_APBREG_SIZE SZ_64K + +#define SPRD_INTC0_BASE SCI_IOMAP(0x3c0000) +#define SPRD_INTC0_PHYS 0X71400000 +#define SPRD_INTC0_SIZE SZ_4K + +#define SPRD_INTC1_BASE SCI_IOMAP(0x3c2000) +#define SPRD_INTC1_PHYS 0X71500000 +#define SPRD_INTC1_SIZE SZ_4K + +#define SPRD_INTC2_BASE SCI_IOMAP(0x3c4000) +#define SPRD_INTC2_PHYS 0X71600000 +#define SPRD_INTC2_SIZE SZ_4K + +#define SPRD_INTC3_BASE SCI_IOMAP(0x3c6000) +#define SPRD_INTC3_PHYS 0X71700000 +#define SPRD_INTC3_SIZE SZ_4K + +#define SPRD_IRAM0_BASE SCI_IOMAP(0x3d0000) +#define SPRD_IRAM0_PHYS 0X0 +#define SPRD_IRAM0_SIZE SZ_4K + +#define SPRD_IRAM0H_BASE SCI_IOMAP(0x3d1000) +#define SPRD_IRAM0H_PHYS 0X1000 +#define SPRD_IRAM0H_SIZE SZ_4K + +#if 0 +#define SPRD_IRAM1_BASE SCI_IOMAP(0x3e0000) +#define SPRD_IRAM1_PHYS 0X50000000 +#define SPRD_IRAM1_SIZE (SZ_32K + SZ_16K + SZ_4K) +#else +#define SPRD_IRAM1_BASE SCI_IOMAP(0x3d4000) +#define SPRD_IRAM1_PHYS 0x50000000 +#define SPRD_IRAM1_SIZE (SZ_8K + SZ_4K) + +#define SPRD_IRAM2_BASE SCI_IOMAP(0x3d7000) +#define SPRD_IRAM2_PHYS 0x50004000 +#define SPRD_IRAM2_SIZE (SZ_32K + SZ_4K) +#endif +/*begin mapping adie master and slave address */ +#define SPRD_ADI_BASE SCI_IOMAP(0x3f0000) +#define SPRD_ADI_PHYS 0X40030000 +#define SPRD_ADI_SIZE (SZ_4K) + +#define SPRD_ADISLAVE_BASE SCI_IOMAP(0x3f0000 + SZ_32K) +#define SPRD_ADISLAVE_PHYS 0X40038000 +#define SPRD_ADISLAVE_SIZE (SZ_4K) +/*end*/ +#if defined(CONFIG_ARCH_SCX15) +#define SPRD_ZIPENC_BASE SCI_IOMAP(0x3fc000) +#define SPRD_ZIPENC_PHYS 0X21200000 +#define SPRD_ZIPENC_SIZE (SZ_4K) +#define SPRD_ZIPDEC_BASE SCI_IOMAP(0x400000) +#define SPRD_ZIPDEC_PHYS 0X21300000 +#define SPRD_ZIPDEC_SIZE (SZ_4K) + +#define SPRD_GSPMMU_BASE SCI_IOMAP(0x410000) +#define SPRD_GSPMMU_PHYS 0X21400000 +#define SPRD_GSPMMU_SIZE (SZ_64K + SZ_4K) + +#define SPRD_MMMMU_BASE SCI_IOMAP(0x430000) +#define SPRD_MMMMU_PHYS 0X60F00000 +#define SPRD_MMMMU_SIZE (SZ_64K + SZ_4K) +#endif + +#if defined(CONFIG_ARCH_SCX30G) +#define SPRD_ZIPENC_BASE SCI_IOMAP(0x3fc000) +#define SPRD_ZIPENC_PHYS 0X21200000 +#define SPRD_ZIPENC_SIZE (SZ_4K) + +#define SPRD_ZIPDEC_BASE SCI_IOMAP(0x400000) +#define SPRD_ZIPDEC_PHYS 0X21300000 +#define SPRD_ZIPDEC_SIZE (SZ_4K) + +#define SPRD_GSPMMU_BASE SCI_IOMAP(0x410000) +#define SPRD_GSPMMU_PHYS 0X21400000 +#define SPRD_GSPMMU_SIZE (SZ_64K) + +#define SPRD_MMMMU_BASE SCI_IOMAP(0x430000) +#define SPRD_MMMMU_PHYS 0X60F00000 +#define SPRD_MMMMU_SIZE (SZ_128K + SZ_4K) +#endif + +#define CORE_GIC_CPU_VA (SPRD_CORE_BASE + 0x2000) +#define CORE_GIC_DIS_VA (SPRD_CORE_BASE + 0x1000) + +#ifdef CONFIG_ARCH_SCX30G +#define HOLDING_PEN_VADDR (SPRD_AHB_BASE + 0x14) +#else +#define HOLDING_PEN_VADDR (SPRD_AHB_BASE + 0x4c) +#endif +#define CPU_JUMP_VADDR (HOLDING_PEN_VADDR + 0X4) + + +/* registers for watchdog ,RTC, touch panel, aux adc, analog die... */ +#define SPRD_MISC_BASE ((unsigned int)SPRD_ADI_BASE) +#define SPRD_MISC_PHYS ((unsigned int)SPRD_ADI_PHYS) + +#define ANA_PWM_BASE (SPRD_ADISLAVE_BASE + 0x20 ) +#define ANA_WDG_BASE (SPRD_ADISLAVE_BASE + 0x40 ) +#define ANA_RTC_BASE (SPRD_ADISLAVE_BASE + 0x80 ) +#define ANA_EIC_BASE (SPRD_ADISLAVE_BASE + 0x100 ) +#define ANA_PIN_BASE (SPRD_ADISLAVE_BASE + 0x180 ) +#define ANA_THM_BASE (SPRD_ADISLAVE_BASE + 0x280 ) +#define ADC_BASE (SPRD_ADISLAVE_BASE + 0x300 ) +#define ANA_CTL_INT_BASE (SPRD_ADISLAVE_BASE + 0x380 ) +#define ANA_BTLC_INT_BASE (SPRD_ADISLAVE_BASE + 0x3c0 ) +#define ANA_AUDIFA_INT_BASE (SPRD_ADISLAVE_BASE + 0x400 ) +#define ANA_GPIO_INT_BASE (SPRD_ADISLAVE_BASE + 0x480 ) +#define ANA_FPU_INT_BASE (SPRD_ADISLAVE_BASE + 0x500 ) +#define ANA_AUDCFGA_INT_BASE (SPRD_ADISLAVE_BASE + 0x600 ) +#define ANA_HDT_INT_BASE (SPRD_ADISLAVE_BASE + 0x700 ) +#define ANA_CTL_GLB_BASE (SPRD_ADISLAVE_BASE + 0x800 ) + +#define SPRD_ANA_PIN_BASE ((unsigned int)SPRD_ADI_BASE + 0x8180) + +#ifndef REGS_AHB_BASE +#define REGS_AHB_BASE ( SPRD_AHB_BASE + 0x200) +#endif + +#define SPRD_IRAM_BASE SPRD_IRAM0_BASE + 0x1000 +#define SPRD_IRAM_PHYS SPRD_IRAM0_PHYS + 0x1000 +#define SPRD_IRAM_SIZE SZ_4K +#define SPRD_GREG_BASE SPRD_AONAPB_BASE +#define SPRD_GREG_PHYS SPRD_AONAPB_PHYS +#define SPRD_GREG_SIZE SZ_64K + +#ifndef REGS_GLB_BASE +#define REGS_GLB_BASE ( SPRD_GREG_BASE ) +#define ANA_REGS_GLB_BASE ( ANA_CTL_GLB_BASE ) +#endif + +#define CHIP_ID_LOW_REG (SPRD_AHB_BASE + 0xfc) + +#define SPRD_GPTIMER_BASE SPRD_GPTIMER0_BASE +//#define REG_GLB_GEN0 SPRD_AONAPB_BASE +#define SPRD_EFUSE_BASE SPRD_UIDEFUSE_BASE + +#define REGS_AP_AHB_BASE SPRD_AHB_BASE +#define REGS_AP_APB_BASE SPRD_APBREG_BASE +#define REGS_AON_APB_BASE SPRD_AONAPB_BASE +#define REGS_GPU_APB_BASE SPRD_GPUAPB_BASE +#define REGS_MM_AHB_BASE SPRD_MMAHB_BASE +#define REGS_PMU_APB_BASE SPRD_PMU_BASE +#define REGS_AON_CLK_BASE SPRD_AONCKG_BASE +#define REGS_AP_CLK_BASE SPRD_APBCKG_BASE +#define REGS_GPU_CLK_BASE SPRD_GPUCKG_BASE +#define REGS_MM_CLK_BASE SPRD_MMCKG_BASE +#define REGS_PUB_APB_BASE SPRD_PUB_BASE + +#if defined(CONFIG_ARCH_SCX15) +#if defined(CONFIG_SPRD_MODEM_TD) +#define SIPC_SMEM_ADDR (CONFIG_PHYS_OFFSET + 120 * SZ_1M) +#define CPT_START_ADDR (CONFIG_PHYS_OFFSET + 128 * SZ_1M) +#define CPT_TOTAL_SIZE (SZ_1M * 18) +#define CPT_RING_ADDR (CPT_START_ADDR + CPT_TOTAL_SIZE - SZ_4K) +#define CPT_RING_SIZE (SZ_4K) +#define CPT_SMEM_SIZE (SZ_1M + SZ_256K) +#define WCN_START_ADDR (CONFIG_PHYS_OFFSET + 168 * SZ_1M) +#define WCN_TOTAL_SIZE 0x281000//(SZ_1M * 5) +#define WCN_RING_ADDR (WCN_START_ADDR + WCN_TOTAL_SIZE - SZ_4K) +#define WCN_RING_SIZE (SZ_4K) +#define WCN_SMEM_SIZE (SZ_512K + SZ_256K) +#else +#define SIPC_SMEM_ADDR (CONFIG_PHYS_OFFSET + 120 * SZ_1M) +#define CPW_START_ADDR (CONFIG_PHYS_OFFSET + 128 * SZ_1M) +#define CPW_TOTAL_SIZE 0x18A0000 //(SZ_1M * 32) +#define CPW_RING_ADDR (CPW_START_ADDR + CPW_TOTAL_SIZE - SZ_4K) +#define CPW_RING_SIZE (SZ_4K) +#define CPW_SMEM_SIZE (SZ_1M + SZ_256K) +#define WCN_START_ADDR (CONFIG_PHYS_OFFSET + 168 * SZ_1M) +#define WCN_TOTAL_SIZE 0x281000//(SZ_1M * 5) +#define WCN_RING_ADDR (WCN_START_ADDR + WCN_TOTAL_SIZE - SZ_4K) +#define WCN_RING_SIZE (SZ_4K) +#define WCN_SMEM_SIZE (SZ_512K + SZ_256K) +#endif +#else +#define SIPC_SMEM_ADDR (CONFIG_PHYS_OFFSET + 120 * SZ_1M) + +#define CPT_START_ADDR (CONFIG_PHYS_OFFSET + 128 * SZ_1M) +#define CPT_TOTAL_SIZE (SZ_1M * 18) +#define CPT_RING_ADDR (CPT_START_ADDR + CPT_TOTAL_SIZE - SZ_4K) +#define CPT_RING_SIZE (SZ_4K) +#define CPT_SMEM_SIZE (SZ_1M + SZ_256K) + +#ifdef CONFIG_ARCH_SCX30G +#define CPW_START_ADDR (CONFIG_PHYS_OFFSET + 128 * SZ_1M) +#else +#define CPW_START_ADDR (CONFIG_PHYS_OFFSET + 256 * SZ_1M) +#endif +#if defined(CONFIG_MODEM_W_MEMCUT) +#define CPW_TOTAL_SIZE (SZ_1M * 28) +#elif defined CONFIG_ARCH_SCX30G +#define CPW_TOTAL_SIZE (SZ_1M * 27) +#else +#define CPW_TOTAL_SIZE (SZ_1M * 33) +#endif +#define CPW_RING_ADDR (CPW_START_ADDR + CPW_TOTAL_SIZE - SZ_4K) +#define CPW_RING_SIZE (SZ_4K) +#define CPW_SMEM_SIZE (SZ_1M + SZ_256K) + +#if defined(CONFIG_ARCH_SCX30G) +#define WCN_START_ADDR (CONFIG_PHYS_OFFSET + 168 * SZ_1M)//Tshark moves cp2 to 168M +#define WCN_TOTAL_SIZE 0x201000//Tshark 8830gea memcut to 2M+4k +#else +#define WCN_START_ADDR (CONFIG_PHYS_OFFSET + 320 * SZ_1M) +#define WCN_TOTAL_SIZE 0x281000//(SZ_1M * 5) +#endif +#define WCN_RING_ADDR (WCN_START_ADDR + WCN_TOTAL_SIZE - SZ_4K) +#define WCN_RING_SIZE (SZ_4K) +#define WCN_SMEM_SIZE (SZ_512K + SZ_256K) +#endif +#endif |
