Path: blob/master/arch/arm/mach-davinci/include/mach/dm646x.h
17705 views
/*1* Chip specific defines for DM646x SoC2*3* Author: Kevin Hilman, Deep Root Systems, LLC4*5* 2007 (c) Deep Root Systems, LLC. 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_DM646X_H11#define __ASM_ARCH_DM646X_H1213#include <mach/hardware.h>14#include <mach/asp.h>15#include <linux/i2c.h>16#include <linux/videodev2.h>17#include <linux/clk.h>18#include <linux/davinci_emac.h>1920#define DM646X_EMAC_BASE (0x01C80000)21#define DM646X_EMAC_MDIO_BASE (DM646X_EMAC_BASE + 0x4000)22#define DM646X_EMAC_CNTRL_OFFSET (0x0000)23#define DM646X_EMAC_CNTRL_MOD_OFFSET (0x1000)24#define DM646X_EMAC_CNTRL_RAM_OFFSET (0x2000)25#define DM646X_EMAC_CNTRL_RAM_SIZE (0x2000)2627#define DM646X_ASYNC_EMIF_CONTROL_BASE 0x2000800028#define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x420000002930void __init dm646x_init(void);31void __init dm646x_init_mcasp0(struct snd_platform_data *pdata);32void __init dm646x_init_mcasp1(struct snd_platform_data *pdata);33void __init dm646x_board_setup_refclk(struct clk *clk);34int __init dm646x_init_edma(struct edma_rsv_info *rsv);3536void dm646x_video_init(void);3738enum vpif_if_type {39VPIF_IF_BT656,40VPIF_IF_BT1120,41VPIF_IF_RAW_BAYER42};4344struct vpif_interface {45enum vpif_if_type if_type;46unsigned hd_pol:1;47unsigned vd_pol:1;48unsigned fid_pol:1;49};5051struct vpif_subdev_info {52const char *name;53struct i2c_board_info board_info;54u32 input;55u32 output;56unsigned can_route:1;57struct vpif_interface vpif_if;58};5960struct vpif_display_config {61int (*set_clock)(int, int);62struct vpif_subdev_info *subdevinfo;63int subdev_count;64const char **output;65int output_count;66const char *card_name;67};6869struct vpif_input {70struct v4l2_input input;71const char *subdev_name;72};7374#define VPIF_CAPTURE_MAX_CHANNELS 27576struct vpif_capture_chan_config {77const struct vpif_input *inputs;78int input_count;79};8081struct vpif_capture_config {82int (*setup_input_channel_mode)(int);83int (*setup_input_path)(int, const char *);84struct vpif_capture_chan_config chan_config[VPIF_CAPTURE_MAX_CHANNELS];85struct vpif_subdev_info *subdev_info;86int subdev_count;87const char *card_name;88};8990void dm646x_setup_vpif(struct vpif_display_config *,91struct vpif_capture_config *);9293#endif /* __ASM_ARCH_DM646X_H */949596