summaryrefslogtreecommitdiff
path: root/include/soc/sprd/board.h
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
committerYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
commit8e4bff4cab0ddac6060645b0715210484d02ff40 (patch)
tree3a5c3024371a04692a3a6d9974d001cdff8ebf84 /include/soc/sprd/board.h
Initial file dump from open source releaseHEADmaster
Diffstat (limited to 'include/soc/sprd/board.h')
-rw-r--r--include/soc/sprd/board.h451
1 files changed, 451 insertions, 0 deletions
diff --git a/include/soc/sprd/board.h b/include/soc/sprd/board.h
new file mode 100644
index 00000000..3e2be639
--- /dev/null
+++ b/include/soc/sprd/board.h
@@ -0,0 +1,451 @@
+/*
+ * 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_BOARD_H
+#define __ASM_ARCH_BOARD_H
+
+#ifdef CONFIG_MACH_SP8825EA
+#include "__board-sp8825ea.h"
+#endif
+
+#ifdef CONFIG_MACH_SPX35EA
+#include "__board-sp8830ea.h"
+#endif
+
+#ifdef CONFIG_MACH_SPX35EB
+#include "__board-sp8830eb.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8835EB
+#include "__board-sp8835eb.h"
+#endif
+
+#ifdef CONFIG_MACH_SPX35EC
+#include "__board-sp8830ec.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8830GEA
+#include "__board-sp8830gea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8730SEA
+#include "__board-sp8730sea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7730GGA
+#include "__board-sp7730gga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GGA_LC
+#include "__board-sp7731gga_lc.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7730GGA_LC
+#include "__board-sp7730gga_lc.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7730GGAOPENPHONE
+#include "__board-sp7730ggaopenphone.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA
+#include "__board-sp7731gea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7732AEA
+#include "__board-sp7732Aea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8730SEEA
+#include "__board-sp8730seea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8730SEEA_QHD
+#include "__board-sp8730seea_qhd.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8730SEEA_JIG
+#include "__board-sp8730seea_jig.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA_HD2
+#include "__board-sp7731gea_hd2.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA_QHD
+#include "__board-sp7731gea_qhd.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA_HD
+#include "__board-sp7731gea_hd.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7720EA
+#include "__board-sp7720ea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA_HDR
+#include "__board-sp7731gea_hdr.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEPIKE
+#include "__board-sp7731gepike.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA_FWVGA
+#include "__board-sp7731gea_fwvga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEAOPENPHONE
+#include "__board-sp7731geaopenphone.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7731GEA_LC
+#include "__board-sp7731gea_lc.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8830GA
+#include "__board-sp8830ga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7730GA
+#include "__board-sp7730ga.h"
+#endif
+
+#ifdef CONFIG_MACH_KANAS_W
+#include "__board-kanas_w.h"
+#endif
+
+#ifdef CONFIG_MACH_KANAS_TD
+#include "__board-kanas_td.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7730EC
+#include "__board-sp7730ec.h"
+#endif
+
+#ifdef CONFIG_MACH_SC9620OPENPHONE
+#include "__board-sc9620openphone.h"
+#endif
+
+#ifdef CONFIG_MACH_SC9620OPENPHONE_ZT
+#include "__board-sc9620openphone_zt.h"
+#endif
+
+#ifdef CONFIG_MACH_SC9620FPGA
+#include "__board-sc9620fpga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7730ECTRISIM
+#include "__board-sp7730ectrisim.h"
+#endif
+
+#ifdef CONFIG_MACH_SP5735EA
+#include "__board-sp5735ea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP5735C1EA
+#include "__board-sp5735c1ea.h"
+#endif
+
+#if defined (CONFIG_MACH_SPX35FPGA) || defined (CONFIG_MACH_SPX15FPGA) || defined(CONFIG_MACH_SPX35LFPGA) || defined(CONFIG_MACH_PIKELFPGA)
+#include "__board-sp8830fpga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9820FPGA
+#include "__board-sp9820fpga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9820EA
+#include "__board-sp9820ea.h"
+#endif
+
+#ifdef CONFIG_MACH_COREPRIMELITE
+#include "__board-coreprimelite.h"
+#endif
+
+#ifdef CONFIG_MACH_TIZENZ3_3G
+#include "__board-tizenz3_3g.h"
+#endif
+
+#ifdef CONFIG_MACH_SHARKLS_Z3LTE
+#include "__board-sharkls_z3lte.h"
+#endif
+
+#if defined (CONFIG_MACH_SP9836AEA_4MOD) || defined(CONFIG_MACH_SP9836AEA_3MOD)
+#include "__board-sp9836aea.h"
+#endif
+
+#if defined (CONFIG_MACH_SP9838AEA_5MOD) || defined(CONFIG_MACH_SP9838AEA_POWER_DEBUG) || defined(CONFIG_MACH_SP9838AEA_8CORE_LIGHT_SLEEP) || defined(CONFIG_MACH_SP9838AEA_FHD) || defined(CONFIG_MACH_SP9838AEA_FPGA)
+#include "__board-sp9838aea.h"
+#endif
+
+#if defined (CONFIG_MACH_SS_SHARKLT8) || defined(CONFIG_MACH_SS_SHARKLT8LIGHTSLEEP)
+#include "__board-ss_sharklt8.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9630EA3MN
+#include "__board-sp9630ea3mn.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9630EA4MN
+#include "__board-sp9630ea4mn.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830AEA_5M_H100
+#include "__board-sp9830aea_5m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830AEA_5M_VOLTE
+#include "__board-sp9830aea_5m_volte.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830AEB_5M_H100
+#include "__board-sp9830aeb_5m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830AEC_4M_H100
+#include "__board-sp9830aec_4m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830IEA_4M_H100
+#include "__board-sp9830iea_4m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830IEA_5M_H100
+#include "__board-sp9830iea_5m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830IEB_5M_H100
+#include "__board-sp9830ieb_5m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP9830IEC_4M_H100
+#include "__board-sp9830iec_4m_h100.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7735EC
+#include "__board-sp7735ec.h"
+#endif
+
+#if defined (CONFIG_MACH_SP7715EA) || defined(CONFIG_MACH_SPX15)
+#include "__board-sp7715ea.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7715EATRISIM
+#include "__board-sp7715eatrisim.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7715EAOPENPHONE
+#include "__board-sp7715eaopenphone.h"
+#endif
+
+#ifdef CONFIG_MACH_SP6815GA
+#include "__board-sp6815ga.h"
+#endif
+#ifdef CONFIG_MACH_SP7715GA
+#include "__board-sp7715ga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP7715GATRISIM
+#include "__board-sp7715gatrisim.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8815GA
+#include "__board-sp8815ga.h"
+#endif
+
+#ifdef CONFIG_MACH_SP8815GAOPENPHONE
+#include "__board-sp8815gaopenphone.h"
+#endif
+
+#ifdef CONFIG_MACH_POCKET2
+#include "__board-pocket2.h"
+#endif
+
+#ifdef CONFIG_MACH_CORSICA_VE
+#include "__board-corsica_ve.h"
+#endif
+
+#ifdef CONFIG_MACH_VIVALTO
+#include "__board-vivalto.h"
+#endif
+
+#ifdef CONFIG_MACH_YOUNG2
+#include "__board-young2.h"
+#endif
+
+#ifdef CONFIG_MACH_HIGGS
+#include "__board-higgs.h"
+#endif
+
+#ifdef CONFIG_MACH_TSHARKWSAMSUNG
+#include "__board-tsharkwsamsung.h"
+#endif
+
+#ifdef CONFIG_MACH_CORE3
+#include "__board-core3.h"
+#endif
+#ifdef CONFIG_MACH_TSHARK2TABE
+#include "__board-tshark2tabe.h"
+#endif
+#ifdef CONFIG_MACH_GRANDPRIME3G_VE
+#include "__board-grandprime3g_ve.h"
+#endif
+#ifdef CONFIG_MACH_GRANDPRIME_DTV
+#include "__board-grandprime_dtv.h"
+#endif
+#ifdef CONFIG_MACH_PIKEAYOUNG2DTV
+#include "__board-pikeayoung2dtv.h"
+#endif
+
+#ifdef CONFIG_MACH_COREPRIME3G_VE
+#include "__board-coreprime3g_ve.h"
+#endif
+#include <asm/sizes.h>
+
+#ifdef CONFIG_SPRD_IOMMU
+ #define SPRD_H264_DECODE_SIZE (0 * SZ_1M)
+#else
+ #define SPRD_H264_DECODE_SIZE (25 * SZ_1M)
+#endif
+
+#ifdef CONFIG_ION
+ #ifdef CONFIG_ARCH_SCX35
+ #ifdef CONFIG_SPRD_IOMMU
+ #define SPRD_ION_MM_SIZE (0 * SZ_1M)
+ #else
+ #ifndef SPRD_ION_MM_SIZE /* should be defined in "__board-sp**.h" already */
+ #define SPRD_ION_MM_SIZE (76 * SZ_1M)
+ #endif
+ #endif
+
+ #ifndef SPRD_ION_OVERLAY_SIZE /* should be defined in "__board-sp**.h" already */
+ #define SPRD_ION_OVERLAY_SIZE (12 * SZ_1M)
+ #endif
+ #else
+ #ifndef SPRD_ION_MM_SIZE
+ #define SPRD_ION_MM_SIZE (CONFIG_SPRD_ION_MM_SIZE * SZ_1M)
+ #endif
+
+ #ifndef SPRD_ION_OVERLAY_SIZE
+ #define SPRD_ION_OVERLAY_SIZE (CONFIG_SPRD_ION_OVERLAY_SIZE * SZ_1M)
+ #endif
+ #endif
+#else /* !ION */
+ #define SPRD_ION_MM_SIZE (0 * SZ_1M)
+ #define SPRD_ION_OVERLAY_SIZE (0 * SZ_1M)
+#endif
+
+#ifdef CONFIG_CMA
+#ifdef CONFIG_SPRD_IOMMU
+ #define CMA_MARGIN (0 * SZ_1M)
+ #define CMA_RESERVE (0 * SZ_1M)
+ #define CMA_THRESHOLD (0 * SZ_1M)
+#else
+ #define CMA_MARGIN (0 * SZ_1M)
+ #define CMA_RESERVE (25 * SZ_1M)
+ #define CMA_THRESHOLD (4 * SZ_1M)
+#endif
+ #define CMA_ALIGNMENT (4 * SZ_1M)
+ #define SPRD_ION_MEM_RAW_SIZE (SPRD_ION_MM_SIZE + SPRD_ION_OVERLAY_SIZE + CMA_MARGIN - CMA_RESERVE)
+ /* ALIGN UP */
+ #define SPRD_ION_MEM_SIZE (((SPRD_ION_MEM_RAW_SIZE + (CMA_ALIGNMENT - 1)) & (~(CMA_ALIGNMENT - 1))) + CMA_RESERVE)
+#else
+ #define SPRD_ION_MEM_SIZE (SPRD_ION_MM_SIZE + SPRD_ION_OVERLAY_SIZE)
+#endif
+
+#define SPRD_ION_BASE_USE_VARIABLE
+#ifndef SPRD_ION_BASE_USE_VARIABLE
+#if defined(CONFIG_MACH_SP7715GA) || defined(CONFIG_MACH_SP7715GATRISIM) || defined(CONFIG_MACH_SP8815GA) || defined(CONFIG_MACH_SP8815GAOPENPHONE) || defined(CONFIG_MACH_SP6815GA) || defined(CONFIG_MACH_SP7731GEA_LC) || defined(CONFIG_MACH_SP7731GGA_LC) || defined(CONFIG_MACH_SP7730GGA_LC)/* Nand 4+2 */
+#define SPRD_ION_MEM_BASE \
+ ((CONFIG_PHYS_OFFSET & (~(SZ_256M - 1))) + SZ_256M - SPRD_ION_MEM_SIZE)
+#else
+#define SPRD_ION_MEM_BASE \
+ ((CONFIG_PHYS_OFFSET & (~(SZ_512M - 1))) + SZ_512M - SPRD_ION_MEM_SIZE)
+#endif
+#else
+
+#if (defined(CONFIG_MACH_SP8730SEEA) \
+ || defined(CONFIG_MACH_SP7732AEA) \
+ || defined(CONFIG_MACH_SP8730SEEA_QHD) || defined(CONFIG_MACH_SP8730SEEA_JIG) \
+ || defined(CONFIG_MACH_TSHARKCOREPRIME) \
+ || defined(CONFIG_MACH_TSHARKGRANDNEO) \
+ || defined(CONFIG_MACH_COREPRIME3G_VE) || defined(CONFIG_MACH_TIZENZ3_3G) || defined(CONFIG_MACH_GRANDPRIME_DTV) \
+ || defined(CONFIG_MACH_SP9830I) \
+ || defined(CONFIG_MACH_SP9830AEA_5M_H100) \
+ || defined(CONFIG_MACH_SP9830AEC_4M_H100) \
+ || defined(CONFIG_MACH_SP9830AEA_5M_VOLTE) \
+ || defined(CONFIG_MACH_SP9630EA4MN) \
+ || defined(CONFIG_MACH_SP9630EB4MN) \
+ || defined(CONFIG_MACH_GRANDPRIME3G_VE) \
+ || defined(CONFIG_MACH_SP7720EA) \
+ || defined(CONFIG_MACH_SP7731GEA_HD) \
+ || defined(CONFIG_MACH_SP7731GEA_HDR) \
+ || defined(CONFIG_MACH_SP7731GEPIKE) \
+ || defined(CONFIG_MACH_SP7731GEA_HD2) \
+ || defined(CONFIG_MACH_SP7731GEA_QHD))
+#define SPRD_ION_MEM_BASE \
+ ((CONFIG_PHYS_OFFSET & (~(SZ_1G - 1))) + SZ_1G - SPRD_ION_MEM_SIZE)
+#elif (defined(CONFIG_MACH_TSHARK2TABE))
+#define SPRD_ION_MEM_BASE \
+ ((CONFIG_PHYS_OFFSET & (~(SZ_1G_512M - 1))) + SZ_1G_512M - SPRD_ION_MEM_SIZE)
+#else
+extern phys_addr_t sprd_reserve_limit;
+#define SPRD_ION_MEM_BASE (sprd_reserve_limit - SPRD_ION_MEM_SIZE)
+#endif
+
+#endif
+
+
+#define SPRD_ION_MM_BASE (SPRD_ION_MEM_BASE)
+#define SPRD_ION_OVERLAY_BASE (SPRD_ION_MEM_BASE + SPRD_ION_MM_SIZE)
+
+#ifdef CONFIG_PSTORE_RAM
+#define SPRD_RAM_CONSOLE_SIZE 0x20000
+#define SPRD_RAM_CONSOLE_START (SPRD_ION_MEM_BASE - SPRD_RAM_CONSOLE_SIZE)
+#else
+#define SPRD_RAM_CONSOLE_START (SPRD_ION_MEM_BASE)
+#endif
+
+#ifdef CONFIG_FB_LCD_RESERVE_MEM
+//#define SPRD_FB_MEM_SIZE SZ_8M
+#define SPRD_FB_MEM_SIZE (CONFIG_SPRD_FB_SIZE*SZ_1M)
+#define SPRD_FB_MEM_BASE (SPRD_RAM_CONSOLE_START - SPRD_FB_MEM_SIZE)
+#endif
+
+#ifdef CONFIG_SPRD_IQ
+#define SPRD_IQ_SIZE SZ_128M
+#endif
+
+//#define SPRD_SYSDUMP_MAGIC (SPRD_ION_MEM_BASE + SPRD_ION_MEM_SIZE - SZ_1M)
+#define SPRD_SYSDUMP_MAGIC (0x80000000 + 0x20000000 - (1024<<10))
+
+struct sysdump_mem {
+ unsigned long paddr;
+ unsigned long vaddr;
+ unsigned long soff;
+ size_t size;
+ int type;
+};
+
+enum sysdump_type {
+ SYSDUMP_RAM,
+ SYSDUMP_MODEM,
+ SYSDUMP_IOMEM,
+};
+
+extern int sprd_dump_mem_num;
+extern struct sysdump_mem sprd_dump_mem[];
+
+#endif