tvp514x.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /*
  2. * drivers/media/video/tvp514x.h
  3. *
  4. * Copyright (C) 2008 Texas Instruments Inc
  5. * Author: Vaibhav Hiremath <hvaibhav@ti.com>
  6. *
  7. * Contributors:
  8. * Sivaraj R <sivaraj@ti.com>
  9. * Brijesh R Jadav <brijesh.j@ti.com>
  10. * Hardik Shah <hardik.shah@ti.com>
  11. * Manjunath Hadli <mrh@ti.com>
  12. * Karicheri Muralidharan <m-karicheri2@ti.com>
  13. *
  14. * This package is free software; you can redistribute it and/or modify
  15. * it under the terms of the GNU General Public License version 2 as
  16. * published by the Free Software Foundation.
  17. *
  18. * This program is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. * GNU General Public License for more details.
  22. *
  23. */
  24. #ifndef _TVP514X_H
  25. #define _TVP514X_H
  26. /*
  27. * Other macros
  28. */
  29. #define TVP514X_MODULE_NAME "tvp514x"
  30. #define TVP514X_XCLK_BT656 (27000000)
  31. /* Number of pixels and number of lines per frame for different standards */
  32. #define NTSC_NUM_ACTIVE_PIXELS (720)
  33. #define NTSC_NUM_ACTIVE_LINES (480)
  34. #define PAL_NUM_ACTIVE_PIXELS (720)
  35. #define PAL_NUM_ACTIVE_LINES (576)
  36. /**
  37. * enum tvp514x_input - enum for different decoder input pin
  38. * configuration.
  39. */
  40. enum tvp514x_input {
  41. /*
  42. * CVBS input selection
  43. */
  44. INPUT_CVBS_VI1A = 0x0,
  45. INPUT_CVBS_VI1B,
  46. INPUT_CVBS_VI1C,
  47. INPUT_CVBS_VI2A = 0x04,
  48. INPUT_CVBS_VI2B,
  49. INPUT_CVBS_VI2C,
  50. INPUT_CVBS_VI3A = 0x08,
  51. INPUT_CVBS_VI3B,
  52. INPUT_CVBS_VI3C,
  53. INPUT_CVBS_VI4A = 0x0C,
  54. /*
  55. * S-Video input selection
  56. */
  57. INPUT_SVIDEO_VI2A_VI1A = 0x44,
  58. INPUT_SVIDEO_VI2B_VI1B,
  59. INPUT_SVIDEO_VI2C_VI1C,
  60. INPUT_SVIDEO_VI2A_VI3A = 0x54,
  61. INPUT_SVIDEO_VI2B_VI3B,
  62. INPUT_SVIDEO_VI2C_VI3C,
  63. INPUT_SVIDEO_VI4A_VI1A = 0x4C,
  64. INPUT_SVIDEO_VI4A_VI1B,
  65. INPUT_SVIDEO_VI4A_VI1C,
  66. INPUT_SVIDEO_VI4A_VI3A = 0x5C,
  67. INPUT_SVIDEO_VI4A_VI3B,
  68. INPUT_SVIDEO_VI4A_VI3C,
  69. /* Need to add entries for
  70. * RGB, YPbPr and SCART.
  71. */
  72. INPUT_INVALID
  73. };
  74. /**
  75. * enum tvp514x_output - enum for output format
  76. * supported.
  77. *
  78. */
  79. enum tvp514x_output {
  80. OUTPUT_10BIT_422_EMBEDDED_SYNC = 0,
  81. OUTPUT_20BIT_422_SEPERATE_SYNC,
  82. OUTPUT_10BIT_422_SEPERATE_SYNC = 3,
  83. OUTPUT_INVALID
  84. };
  85. /**
  86. * struct tvp514x_platform_data - Platform data values and access functions.
  87. * @clk_polarity: Clock polarity of the current interface.
  88. * @hs_polarity: HSYNC Polarity configuration for current interface.
  89. * @vs_polarity: VSYNC Polarity configuration for current interface.
  90. */
  91. struct tvp514x_platform_data {
  92. /* Interface control params */
  93. bool clk_polarity;
  94. bool hs_polarity;
  95. bool vs_polarity;
  96. };
  97. #endif /* ifndef _TVP514X_H */