linux/include/linux/leds-pca9532.h
<<
>>
Prefs
   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
  14#ifndef __LINUX_PCA9532_H
  15#define __LINUX_PCA9532_H
  16
  17#include <linux/leds.h>
  18#include <linux/workqueue.h>
  19#include <dt-bindings/leds/leds-pca9532.h>
  20
  21enum pca9532_state {
  22        PCA9532_OFF  = 0x0,
  23        PCA9532_ON   = 0x1,
  24        PCA9532_PWM0 = 0x2,
  25        PCA9532_PWM1 = 0x3
  26};
  27
  28struct pca9532_led {
  29        u8 id;
  30        struct i2c_client *client;
  31        const char *name;
  32        const char *default_trigger;
  33        struct led_classdev ldev;
  34        struct work_struct work;
  35        u32 type;
  36        enum pca9532_state state;
  37};
  38
  39struct pca9532_platform_data {
  40        struct pca9532_led leds[16];
  41        u8 pwm[2];
  42        u8 psc[2];
  43        int gpio_base;
  44};
  45
  46#endif /* __LINUX_PCA9532_H */
  47
  48