0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef __ASM_ARCH_DAVINCI_DA8XX_H
0010 #define __ASM_ARCH_DAVINCI_DA8XX_H
0011
0012 #include <video/da8xx-fb.h>
0013
0014 #include <linux/platform_device.h>
0015 #include <linux/davinci_emac.h>
0016 #include <linux/spi/spi.h>
0017 #include <linux/platform_data/davinci_asp.h>
0018 #include <linux/reboot.h>
0019 #include <linux/regmap.h>
0020 #include <linux/videodev2.h>
0021
0022 #include "serial.h"
0023 #include "pm.h"
0024
0025 #include <linux/platform_data/edma.h>
0026 #include <linux/platform_data/i2c-davinci.h>
0027 #include <linux/platform_data/mmc-davinci.h>
0028 #include <linux/platform_data/usb-davinci.h>
0029 #include <linux/platform_data/spi-davinci.h>
0030 #include <linux/platform_data/uio_pruss.h>
0031
0032 #include <media/davinci/vpif_types.h>
0033
0034 extern void __iomem *da8xx_syscfg0_base;
0035 extern void __iomem *da8xx_syscfg1_base;
0036
0037
0038
0039
0040
0041
0042 extern unsigned int da850_max_speed;
0043
0044
0045
0046
0047
0048
0049
0050
0051 #define DA8XX_CP_INTC_BASE 0xfffee000
0052 #define DA8XX_CP_INTC_SIZE SZ_8K
0053 #define DA8XX_CP_INTC_VIRT (IO_VIRT - DA8XX_CP_INTC_SIZE - SZ_4K)
0054
0055 #define DA8XX_SYSCFG0_BASE (IO_PHYS + 0x14000)
0056 #define DA8XX_SYSCFG0_VIRT(x) (da8xx_syscfg0_base + (x))
0057 #define DA8XX_JTAG_ID_REG 0x18
0058 #define DA8XX_HOST1CFG_REG 0x44
0059 #define DA8XX_CHIPSIG_REG 0x174
0060 #define DA8XX_CFGCHIP0_REG 0x17c
0061 #define DA8XX_CFGCHIP1_REG 0x180
0062 #define DA8XX_CFGCHIP2_REG 0x184
0063 #define DA8XX_CFGCHIP3_REG 0x188
0064 #define DA8XX_CFGCHIP4_REG 0x18c
0065
0066 #define DA8XX_SYSCFG1_BASE (IO_PHYS + 0x22C000)
0067 #define DA8XX_SYSCFG1_VIRT(x) (da8xx_syscfg1_base + (x))
0068 #define DA8XX_DEEPSLEEP_REG 0x8
0069 #define DA8XX_PWRDN_REG 0x18
0070
0071 #define DA8XX_PSC0_BASE 0x01c10000
0072 #define DA8XX_PLL0_BASE 0x01c11000
0073 #define DA8XX_TIMER64P0_BASE 0x01c20000
0074 #define DA8XX_TIMER64P1_BASE 0x01c21000
0075 #define DA8XX_VPIF_BASE 0x01e17000
0076 #define DA8XX_GPIO_BASE 0x01e26000
0077 #define DA8XX_PSC1_BASE 0x01e27000
0078
0079 #define DA8XX_DSP_L2_RAM_BASE 0x11800000
0080 #define DA8XX_DSP_L1P_RAM_BASE (DA8XX_DSP_L2_RAM_BASE + 0x600000)
0081 #define DA8XX_DSP_L1D_RAM_BASE (DA8XX_DSP_L2_RAM_BASE + 0x700000)
0082
0083 #define DA8XX_AEMIF_CS2_BASE 0x60000000
0084 #define DA8XX_AEMIF_CS3_BASE 0x62000000
0085 #define DA8XX_AEMIF_CTL_BASE 0x68000000
0086 #define DA8XX_SHARED_RAM_BASE 0x80000000
0087 #define DA8XX_ARM_RAM_BASE 0xffff0000
0088
0089 void da830_init(void);
0090 void da830_init_irq(void);
0091 void da830_init_time(void);
0092 void da830_register_clocks(void);
0093
0094 void da850_init(void);
0095 void da850_init_irq(void);
0096 void da850_init_time(void);
0097 void da850_register_clocks(void);
0098
0099 int da830_register_edma(struct edma_rsv_info *rsv);
0100 int da850_register_edma(struct edma_rsv_info *rsv[2]);
0101 int da8xx_register_i2c(int instance, struct davinci_i2c_platform_data *pdata);
0102 int da8xx_register_spi_bus(int instance, unsigned num_chipselect);
0103 int da8xx_register_watchdog(void);
0104 int da8xx_register_usb_phy(void);
0105 int da8xx_register_usb20(unsigned mA, unsigned potpgt);
0106 int da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata);
0107 int da8xx_register_usb_phy_clocks(void);
0108 int da850_register_sata_refclk(int rate);
0109 int da8xx_register_emac(void);
0110 int da8xx_register_uio_pruss(void);
0111 int da8xx_register_lcdc(struct da8xx_lcdc_platform_data *pdata);
0112 int da8xx_register_mmcsd0(struct davinci_mmc_config *config);
0113 int da850_register_mmcsd1(struct davinci_mmc_config *config);
0114 void da8xx_register_mcasp(int id, struct snd_platform_data *pdata);
0115 int da8xx_register_rtc(void);
0116 int da8xx_register_gpio(void *pdata);
0117 int da850_register_cpufreq(char *async_clk);
0118 int da8xx_register_cpuidle(void);
0119 void __iomem *da8xx_get_mem_ctlr(void);
0120 int da850_register_sata(unsigned long refclkpn);
0121 int da850_register_vpif(void);
0122 int da850_register_vpif_display
0123 (struct vpif_display_config *display_config);
0124 int da850_register_vpif_capture
0125 (struct vpif_capture_config *capture_config);
0126 void da8xx_rproc_reserve_cma(void);
0127 int da8xx_register_rproc(void);
0128 int da850_register_gpio(void);
0129 int da830_register_gpio(void);
0130 struct regmap *da8xx_get_cfgchip(void);
0131
0132 extern struct platform_device da8xx_serial_device[];
0133 extern struct emac_platform_data da8xx_emac_pdata;
0134 extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata;
0135 extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata;
0136
0137
0138 extern const short da830_emif25_pins[];
0139 extern const short da830_spi0_pins[];
0140 extern const short da830_spi1_pins[];
0141 extern const short da830_mmc_sd_pins[];
0142 extern const short da830_uart0_pins[];
0143 extern const short da830_uart1_pins[];
0144 extern const short da830_uart2_pins[];
0145 extern const short da830_usb20_pins[];
0146 extern const short da830_usb11_pins[];
0147 extern const short da830_uhpi_pins[];
0148 extern const short da830_cpgmac_pins[];
0149 extern const short da830_emif3c_pins[];
0150 extern const short da830_mcasp0_pins[];
0151 extern const short da830_mcasp1_pins[];
0152 extern const short da830_mcasp2_pins[];
0153 extern const short da830_i2c0_pins[];
0154 extern const short da830_i2c1_pins[];
0155 extern const short da830_lcdcntl_pins[];
0156 extern const short da830_pwm_pins[];
0157 extern const short da830_ecap0_pins[];
0158 extern const short da830_ecap1_pins[];
0159 extern const short da830_ecap2_pins[];
0160 extern const short da830_eqep0_pins[];
0161 extern const short da830_eqep1_pins[];
0162 extern const short da850_vpif_capture_pins[];
0163 extern const short da850_vpif_display_pins[];
0164
0165 extern const short da850_i2c0_pins[];
0166 extern const short da850_i2c1_pins[];
0167 extern const short da850_lcdcntl_pins[];
0168
0169 #endif