s5k6aa.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * S5K6AAFX camera sensor driver header
  3. *
  4. * Copyright (C) 2011 Samsung Electronics Co., Ltd.
  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. #ifndef S5K6AA_H
  12. #define S5K6AA_H
  13. #include <media/v4l2-mediabus.h>
  14. /**
  15. * struct s5k6aa_gpio - data structure describing a GPIO
  16. * @gpio: GPIO number
  17. * @level: indicates active state of the @gpio
  18. */
  19. struct s5k6aa_gpio {
  20. int gpio;
  21. int level;
  22. };
  23. /**
  24. * struct s5k6aa_platform_data - s5k6aa driver platform data
  25. * @set_power: an additional callback to the board code, called
  26. * after enabling the regulators and before switching
  27. * the sensor off
  28. * @mclk_frequency: sensor's master clock frequency in Hz
  29. * @gpio_reset: GPIO driving RESET pin
  30. * @gpio_stby: GPIO driving STBY pin
  31. * @nlanes: maximum number of MIPI-CSI lanes used
  32. * @horiz_flip: default horizontal image flip value, non zero to enable
  33. * @vert_flip: default vertical image flip value, non zero to enable
  34. */
  35. struct s5k6aa_platform_data {
  36. int (*set_power)(int enable);
  37. unsigned long mclk_frequency;
  38. struct s5k6aa_gpio gpio_reset;
  39. struct s5k6aa_gpio gpio_stby;
  40. enum v4l2_mbus_type bus_type;
  41. u8 nlanes;
  42. u8 horiz_flip;
  43. u8 vert_flip;
  44. };
  45. #endif /* S5K6AA_H */