aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-05-17 09:06:31 -0400
committerArnd Bergmann <arnd@arndb.de>2016-05-17 09:06:31 -0400
commit2e629ebc24d463ffb6c17b15daf908e6f968a1de (patch)
tree49c44ffee62d06955bff6c928b5d349078f3a12c /include/linux/platform_data
parent3b9d78a4f3886f84db0a58dc986fbabb937799c6 (diff)
parentff628a4dbdc4867ef9706b306fb1e8b1abbe8062 (diff)
Merge branches 'next/cleanup' and 'next/fixes-non-critical' into next/cleanups-fixes
This is a merge of the cleanup and fixes-non-critical branches for the 4.7 merge window. It seems more appropriate to send a single pull request for these than two separate ones, as both branches really contain both fixes and cleanups. * next/cleanup: ARM: debug: remove extraneous DEBUG_HI3716_UART option ARM: davinci: use IRQCHIP_DECLARE for cp_intc ARM: davinci: remove unused DA8XX_NUM_UARTS ARM: davinci: simplify call to of populate ARM: DaVinci USB: removed deprecated properties from MUSB config ARM: rockchip: Fix use of plain integer as NULL pointer ARM: realview: hide unused 'pmu_device' object soc: versatile: dynamically detect RealView HBI numbers * next/fixes-non-critical: ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats ARM: dts: exynos: Add MFC memory banks for Peach boards ARM: OMAP2+: n900 needs MMC slot names for legacy user space ARM: OMAP2+: Add more functions to pwm pdata for ir-rx51 ARM: EXYNOS: Properly skip unitialized parent clock in power domain on ARM: OMAP2+: Simplify auxdata by using the generic match of/platform: Allow secondary compatible match in of_dev_lookup
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 */