Path: blob/master/arch/arm/mach-davinci/include/mach/da8xx.h
17683 views
/*1* Chip specific defines for DA8XX/OMAP L1XX SoC2*3* Author: Mark A. Greer <[email protected]>4*5* 2007, 2009-2010 (c) MontaVista Software, Inc. This file is licensed under6* the terms of the GNU General Public License version 2. This program7* is licensed "as is" without any warranty of any kind, whether express8* or implied.9*/10#ifndef __ASM_ARCH_DAVINCI_DA8XX_H11#define __ASM_ARCH_DAVINCI_DA8XX_H1213#include <video/da8xx-fb.h>1415#include <linux/platform_device.h>16#include <linux/davinci_emac.h>17#include <linux/spi/spi.h>1819#include <mach/serial.h>20#include <mach/edma.h>21#include <mach/i2c.h>22#include <mach/asp.h>23#include <mach/mmc.h>24#include <mach/usb.h>25#include <mach/pm.h>26#include <mach/spi.h>2728extern void __iomem *da8xx_syscfg0_base;29extern void __iomem *da8xx_syscfg1_base;3031/*32* If the DA850/OMAP-L138/AM18x SoC on board is of a higher speed grade33* (than the regular 300Mhz variant), the board code should set this up34* with the supported speed before calling da850_register_cpufreq().35*/36extern unsigned int da850_max_speed;3738/*39* The cp_intc interrupt controller for the da8xx isn't in the same40* chunk of physical memory space as the other registers (like it is41* on the davincis) so it needs to be mapped separately. It will be42* mapped early on when the I/O space is mapped and we'll put it just43* before the I/O space in the processor's virtual memory space.44*/45#define DA8XX_CP_INTC_BASE 0xfffee00046#define DA8XX_CP_INTC_SIZE SZ_8K47#define DA8XX_CP_INTC_VIRT (IO_VIRT - DA8XX_CP_INTC_SIZE - SZ_4K)4849#define DA8XX_SYSCFG0_BASE (IO_PHYS + 0x14000)50#define DA8XX_SYSCFG0_VIRT(x) (da8xx_syscfg0_base + (x))51#define DA8XX_JTAG_ID_REG 0x1852#define DA8XX_CFGCHIP0_REG 0x17c53#define DA8XX_CFGCHIP2_REG 0x18454#define DA8XX_CFGCHIP3_REG 0x1885556#define DA8XX_SYSCFG1_BASE (IO_PHYS + 0x22C000)57#define DA8XX_SYSCFG1_VIRT(x) (da8xx_syscfg1_base + (x))58#define DA8XX_DEEPSLEEP_REG 0x85960#define DA8XX_PSC0_BASE 0x01c1000061#define DA8XX_PLL0_BASE 0x01c1100062#define DA8XX_TIMER64P0_BASE 0x01c2000063#define DA8XX_TIMER64P1_BASE 0x01c2100064#define DA8XX_GPIO_BASE 0x01e2600065#define DA8XX_PSC1_BASE 0x01e2700066#define DA8XX_AEMIF_CS2_BASE 0x6000000067#define DA8XX_AEMIF_CS3_BASE 0x6200000068#define DA8XX_AEMIF_CTL_BASE 0x6800000069#define DA8XX_ARM_RAM_BASE 0xffff00007071void __init da830_init(void);72void __init da850_init(void);7374int da830_register_edma(struct edma_rsv_info *rsv);75int da850_register_edma(struct edma_rsv_info *rsv[2]);76int da8xx_register_i2c(int instance, struct davinci_i2c_platform_data *pdata);77int da8xx_register_spi(int instance, struct spi_board_info *info, unsigned len);78int da8xx_register_watchdog(void);79int da8xx_register_usb20(unsigned mA, unsigned potpgt);80int da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata);81int da8xx_register_emac(void);82int da8xx_register_lcdc(struct da8xx_lcdc_platform_data *pdata);83int da8xx_register_mmcsd0(struct davinci_mmc_config *config);84int da850_register_mmcsd1(struct davinci_mmc_config *config);85void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata);86int da8xx_register_rtc(void);87int da850_register_cpufreq(char *async_clk);88int da8xx_register_cpuidle(void);89void __iomem * __init da8xx_get_mem_ctlr(void);90int da850_register_pm(struct platform_device *pdev);9192extern struct platform_device da8xx_serial_device;93extern struct emac_platform_data da8xx_emac_pdata;94extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata;95extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata;96extern struct davinci_spi_platform_data da8xx_spi_pdata[];9798extern struct platform_device da8xx_wdt_device;99100extern const short da830_emif25_pins[];101extern const short da830_spi0_pins[];102extern const short da830_spi1_pins[];103extern const short da830_mmc_sd_pins[];104extern const short da830_uart0_pins[];105extern const short da830_uart1_pins[];106extern const short da830_uart2_pins[];107extern const short da830_usb20_pins[];108extern const short da830_usb11_pins[];109extern const short da830_uhpi_pins[];110extern const short da830_cpgmac_pins[];111extern const short da830_emif3c_pins[];112extern const short da830_mcasp0_pins[];113extern const short da830_mcasp1_pins[];114extern const short da830_mcasp2_pins[];115extern const short da830_i2c0_pins[];116extern const short da830_i2c1_pins[];117extern const short da830_lcdcntl_pins[];118extern const short da830_pwm_pins[];119extern const short da830_ecap0_pins[];120extern const short da830_ecap1_pins[];121extern const short da830_ecap2_pins[];122extern const short da830_eqep0_pins[];123extern const short da830_eqep1_pins[];124125extern const short da850_i2c0_pins[];126extern const short da850_i2c1_pins[];127extern const short da850_lcdcntl_pins[];128129#endif /* __ASM_ARCH_DAVINCI_DA8XX_H */130131132