leds-pca9532.h revision e14fa82439d33cef67eaafc1a48960bbfa610c8e
1e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio/* 2e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * pca9532.h - platform data structure for pca9532 led controller 3e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * 4e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * Copyright (C) 2008 Riku Voipio <riku.voipio@movial.fi> 5e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * 6e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * This program is free software; you can redistribute it and/or modify 7e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * it under the terms of the GNU General Public License as published by 8e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * the Free Software Foundation; version 2 of the License. 9e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * 10e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * Datasheet: http://www.nxp.com/acrobat/datasheets/PCA9532_3.pdf 11e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio * 12e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio */ 13e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 14e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio#ifndef __LINUX_PCA9532_H 15e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio#define __LINUX_PCA9532_H 16e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 17e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio#include <linux/leds.h> 18e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 19e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipioenum pca9532_state { 20e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio PCA9532_OFF = 0x0, 21e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio PCA9532_ON = 0x1, 22e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio PCA9532_PWM0 = 0x2, 23e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio PCA9532_PWM1 = 0x3 24e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio}; 25e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 26e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipioenum pca9532_type { PCA9532_TYPE_NONE, PCA9532_TYPE_LED, 27e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio PCA9532_TYPE_N2100_BEEP }; 28e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 29e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipiostruct pca9532_led { 30e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio u8 id; 31e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio struct i2c_client *client; 32e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio char *name; 33e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio struct led_classdev ldev; 34e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio enum pca9532_type type; 35e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio enum pca9532_state state; 36e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio}; 37e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 38e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipiostruct pca9532_platform_data { 39e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio struct pca9532_led leds[16]; 40e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio u8 pwm[2]; 41e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio u8 psc[2]; 42e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio}; 43e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 44e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio#endif /* __LINUX_PCA9532_H */ 45e14fa82439d33cef67eaafc1a48960bbfa610c8eRiku Voipio 46