htc-pasic3.h (1225B)
1/* 2 * HTC PASIC3 driver - LEDs and DS1WM 3 * 4 * Copyright (c) 2007 Philipp Zabel <philipp.zabel@gmail.com> 5 * 6 * This file is subject to the terms and conditions of the GNU General Public 7 * License. See the file COPYING in the main directory of this archive for 8 * more details. 9 * 10 */ 11 12#ifndef __PASIC3_H 13#define __PASIC3_H 14 15#include <linux/platform_device.h> 16#include <linux/leds.h> 17 18extern void pasic3_write_register(struct device *dev, u32 reg, u8 val); 19extern u8 pasic3_read_register(struct device *dev, u32 reg); 20 21/* 22 * mask for registers 0x20,0x21,0x22 23 */ 24#define PASIC3_MASK_LED0 0x04 25#define PASIC3_MASK_LED1 0x08 26#define PASIC3_MASK_LED2 0x40 27 28/* 29 * bits in register 0x06 30 */ 31#define PASIC3_BIT2_LED0 0x08 32#define PASIC3_BIT2_LED1 0x10 33#define PASIC3_BIT2_LED2 0x20 34 35struct pasic3_led { 36 struct led_classdev led; 37 unsigned int hw_num; 38 unsigned int bit2; 39 unsigned int mask; 40 struct pasic3_leds_machinfo *pdata; 41}; 42 43struct pasic3_leds_machinfo { 44 unsigned int num_leds; 45 unsigned int power_gpio; 46 struct pasic3_led *leds; 47}; 48 49struct pasic3_platform_data { 50 struct pasic3_leds_machinfo *led_pdata; 51 unsigned int clock_rate; 52}; 53 54#endif