camera-mx3.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * mx3_camera.h - i.MX3x camera driver header file
  3. *
  4. * Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 2 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. */
  16. #ifndef _MX3_CAMERA_H_
  17. #define _MX3_CAMERA_H_
  18. #include <linux/device.h>
  19. #define MX3_CAMERA_CLK_SRC 1
  20. #define MX3_CAMERA_EXT_VSYNC 2
  21. #define MX3_CAMERA_DP 4
  22. #define MX3_CAMERA_PCP 8
  23. #define MX3_CAMERA_HSP 0x10
  24. #define MX3_CAMERA_VSP 0x20
  25. #define MX3_CAMERA_DATAWIDTH_4 0x40
  26. #define MX3_CAMERA_DATAWIDTH_8 0x80
  27. #define MX3_CAMERA_DATAWIDTH_10 0x100
  28. #define MX3_CAMERA_DATAWIDTH_15 0x200
  29. #define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \
  30. MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15)
  31. struct v4l2_async_subdev;
  32. /**
  33. * struct mx3_camera_pdata - i.MX3x camera platform data
  34. * @flags: MX3_CAMERA_* flags
  35. * @mclk_10khz: master clock frequency in 10kHz units
  36. * @dma_dev: IPU DMA device to match against in channel allocation
  37. */
  38. struct mx3_camera_pdata {
  39. unsigned long flags;
  40. unsigned long mclk_10khz;
  41. struct device *dma_dev;
  42. struct v4l2_async_subdev **asd; /* Flat array, arranged in groups */
  43. int *asd_sizes; /* 0-terminated array of asd group sizes */
  44. };
  45. #endif