s5k6aa.h 1.2 KB

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