aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/media/ir-rx51.h1
-rw-r--r--include/linux/platform_data/pwm_omap_dmtimer.h21
2 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/platform_data/media/ir-rx51.h b/include/linux/platform_data/media/ir-rx51.h
index 104aa892f31b..3038120ca46e 100644
--- a/include/linux/platform_data/media/ir-rx51.h
+++ b/include/linux/platform_data/media/ir-rx51.h
@@ -5,6 +5,7 @@ struct lirc_rx51_platform_data {
5 int pwm_timer; 5 int pwm_timer;
6 6
7 int(*set_max_mpu_wakeup_lat)(struct device *dev, long t); 7 int(*set_max_mpu_wakeup_lat)(struct device *dev, long t);
8 struct pwm_omap_dmtimer_pdata *dmtimer;
8}; 9};
9 10
10#endif 11#endif
diff --git a/include/linux/platform_data/pwm_omap_dmtimer.h b/include/linux/platform_data/pwm_omap_dmtimer.h
index 59384217208f..e7d521e48855 100644
--- a/include/linux/platform_data/pwm_omap_dmtimer.h
+++ b/include/linux/platform_data/pwm_omap_dmtimer.h
@@ -35,6 +35,16 @@
35#ifndef __PWM_OMAP_DMTIMER_PDATA_H 35#ifndef __PWM_OMAP_DMTIMER_PDATA_H
36#define __PWM_OMAP_DMTIMER_PDATA_H 36#define __PWM_OMAP_DMTIMER_PDATA_H
37 37
38/* clock sources */
39#define PWM_OMAP_DMTIMER_SRC_SYS_CLK 0x00
40#define PWM_OMAP_DMTIMER_SRC_32_KHZ 0x01
41#define PWM_OMAP_DMTIMER_SRC_EXT_CLK 0x02
42
43/* timer interrupt enable bits */
44#define PWM_OMAP_DMTIMER_INT_CAPTURE (1 << 2)
45#define PWM_OMAP_DMTIMER_INT_OVERFLOW (1 << 1)
46#define PWM_OMAP_DMTIMER_INT_MATCH (1 << 0)
47
38/* trigger types */ 48/* trigger types */
39#define PWM_OMAP_DMTIMER_TRIGGER_NONE 0x00 49#define PWM_OMAP_DMTIMER_TRIGGER_NONE 0x00
40#define PWM_OMAP_DMTIMER_TRIGGER_OVERFLOW 0x01 50#define PWM_OMAP_DMTIMER_TRIGGER_OVERFLOW 0x01
@@ -45,15 +55,23 @@ typedef struct omap_dm_timer pwm_omap_dmtimer;
45 55
46struct pwm_omap_dmtimer_pdata { 56struct pwm_omap_dmtimer_pdata {
47 pwm_omap_dmtimer *(*request_by_node)(struct device_node *np); 57 pwm_omap_dmtimer *(*request_by_node)(struct device_node *np);
58 pwm_omap_dmtimer *(*request_specific)(int timer_id);
59 pwm_omap_dmtimer *(*request)(void);
60
48 int (*free)(pwm_omap_dmtimer *timer); 61 int (*free)(pwm_omap_dmtimer *timer);
49 62
50 void (*enable)(pwm_omap_dmtimer *timer); 63 void (*enable)(pwm_omap_dmtimer *timer);
51 void (*disable)(pwm_omap_dmtimer *timer); 64 void (*disable)(pwm_omap_dmtimer *timer);
52 65
66 int (*get_irq)(pwm_omap_dmtimer *timer);
67 int (*set_int_enable)(pwm_omap_dmtimer *timer, unsigned int value);
68 int (*set_int_disable)(pwm_omap_dmtimer *timer, u32 mask);
69
53 struct clk *(*get_fclk)(pwm_omap_dmtimer *timer); 70 struct clk *(*get_fclk)(pwm_omap_dmtimer *timer);
54 71
55 int (*start)(pwm_omap_dmtimer *timer); 72 int (*start)(pwm_omap_dmtimer *timer);
56 int (*stop)(pwm_omap_dmtimer *timer); 73 int (*stop)(pwm_omap_dmtimer *timer);
74 int (*set_source)(pwm_omap_dmtimer *timer, int source);
57 75
58 int (*set_load)(pwm_omap_dmtimer *timer, int autoreload, 76 int (*set_load)(pwm_omap_dmtimer *timer, int autoreload,
59 unsigned int value); 77 unsigned int value);
@@ -63,7 +81,10 @@ struct pwm_omap_dmtimer_pdata {
63 int toggle, int trigger); 81 int toggle, int trigger);
64 int (*set_prescaler)(pwm_omap_dmtimer *timer, int prescaler); 82 int (*set_prescaler)(pwm_omap_dmtimer *timer, int prescaler);
65 83
84 unsigned int (*read_counter)(pwm_omap_dmtimer *timer);
66 int (*write_counter)(pwm_omap_dmtimer *timer, unsigned int value); 85 int (*write_counter)(pwm_omap_dmtimer *timer, unsigned int value);
86 unsigned int (*read_status)(pwm_omap_dmtimer *timer);
87 int (*write_status)(pwm_omap_dmtimer *timer, unsigned int value);
67}; 88};
68 89
69#endif /* __PWM_OMAP_DMTIMER_PDATA_H */ 90#endif /* __PWM_OMAP_DMTIMER_PDATA_H */