leds-pca9532.h 959 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * pca9532.h - platform data structure for pca9532 led controller
  3. *
  4. * Copyright (C) 2008 Riku Voipio <riku.voipio@movial.fi>
  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; version 2 of the License.
  9. *
  10. * Datasheet: http://www.nxp.com/acrobat/datasheets/PCA9532_3.pdf
  11. *
  12. */
  13. #ifndef __LINUX_PCA9532_H
  14. #define __LINUX_PCA9532_H
  15. #include <linux/leds.h>
  16. enum pca9532_state {
  17. PCA9532_OFF = 0x0,
  18. PCA9532_ON = 0x1,
  19. PCA9532_PWM0 = 0x2,
  20. PCA9532_PWM1 = 0x3
  21. };
  22. enum pca9532_type { PCA9532_TYPE_NONE, PCA9532_TYPE_LED,
  23. PCA9532_TYPE_N2100_BEEP };
  24. struct pca9532_led {
  25. u8 id;
  26. struct i2c_client *client;
  27. char *name;
  28. struct led_classdev ldev;
  29. enum pca9532_type type;
  30. enum pca9532_state state;
  31. };
  32. struct pca9532_platform_data {
  33. struct pca9532_led leds[16];
  34. u8 pwm[2];
  35. u8 psc[2];
  36. };
  37. #endif /* __LINUX_PCA9532_H */