aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2013-02-13 18:23:17 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2013-02-13 18:23:17 -0500
commitdce7886e8064d92430bd34e444678f3cd7e3082c (patch)
tree4f21d0cd5a86b74371cf500a0fa23b3d58950f40 /include
parentba3980df4fc145f36a577307d6387c42841438fd (diff)
parent8908c04985ed67b9138c6e06be2c81867f24e2d4 (diff)
Merge branch 'for-mfd' of git://git.linaro.org/people/ljones/linux-3.0-ux500 into for-next
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mfd/abx500.h2
-rw-r--r--include/linux/mfd/abx500/ab8500-sysctrl.h5
-rw-r--r--include/linux/mfd/abx500/ab8500.h12
3 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h
index e53dcfeaee69..76ca1bab0cea 100644
--- a/include/linux/mfd/abx500.h
+++ b/include/linux/mfd/abx500.h
@@ -306,6 +306,7 @@ int abx500_mask_and_set_register_interruptible(struct device *dev, u8 bank,
306int abx500_get_chip_id(struct device *dev); 306int abx500_get_chip_id(struct device *dev);
307int abx500_event_registers_startup_state_get(struct device *dev, u8 *event); 307int abx500_event_registers_startup_state_get(struct device *dev, u8 *event);
308int abx500_startup_irq_enabled(struct device *dev, unsigned int irq); 308int abx500_startup_irq_enabled(struct device *dev, unsigned int irq);
309void abx500_dump_all_banks(void);
309 310
310struct abx500_ops { 311struct abx500_ops {
311 int (*get_chip_id) (struct device *); 312 int (*get_chip_id) (struct device *);
@@ -316,6 +317,7 @@ struct abx500_ops {
316 int (*mask_and_set_register) (struct device *, u8, u8, u8, u8); 317 int (*mask_and_set_register) (struct device *, u8, u8, u8, u8);
317 int (*event_registers_startup_state_get) (struct device *, u8 *); 318 int (*event_registers_startup_state_get) (struct device *, u8 *);
318 int (*startup_irq_enabled) (struct device *, unsigned int); 319 int (*startup_irq_enabled) (struct device *, unsigned int);
320 void (*dump_all_banks) (struct device *);
319}; 321};
320 322
321int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops); 323int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops);
diff --git a/include/linux/mfd/abx500/ab8500-sysctrl.h b/include/linux/mfd/abx500/ab8500-sysctrl.h
index 10eb50973c39..ebf12e793db9 100644
--- a/include/linux/mfd/abx500/ab8500-sysctrl.h
+++ b/include/linux/mfd/abx500/ab8500-sysctrl.h
@@ -37,6 +37,11 @@ static inline int ab8500_sysctrl_clear(u16 reg, u8 bits)
37 return ab8500_sysctrl_write(reg, bits, 0); 37 return ab8500_sysctrl_write(reg, bits, 0);
38} 38}
39 39
40/* Configuration data for SysClkReq1RfClkBuf - SysClkReq8RfClkBuf */
41struct ab8500_sysctrl_platform_data {
42 u8 initial_req_buf_config[8];
43};
44
40/* Registers */ 45/* Registers */
41#define AB8500_TURNONSTATUS 0x100 46#define AB8500_TURNONSTATUS 0x100
42#define AB8500_RESETSTATUS 0x101 47#define AB8500_RESETSTATUS 0x101
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index 1cb5698b4d76..fa7173dd71f2 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -270,10 +270,12 @@ struct regulator_reg_init;
270struct regulator_init_data; 270struct regulator_init_data;
271struct ab8500_gpio_platform_data; 271struct ab8500_gpio_platform_data;
272struct ab8500_codec_platform_data; 272struct ab8500_codec_platform_data;
273struct ab8500_sysctrl_platform_data;
273 274
274/** 275/**
275 * struct ab8500_platform_data - AB8500 platform data 276 * struct ab8500_platform_data - AB8500 platform data
276 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used 277 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used
278 * @pm_power_off: Should machine pm power off hook be registered or not
277 * @init: board-specific initialization after detection of ab8500 279 * @init: board-specific initialization after detection of ab8500
278 * @num_regulator_reg_init: number of regulator init registers 280 * @num_regulator_reg_init: number of regulator init registers
279 * @regulator_reg_init: regulator init registers 281 * @regulator_reg_init: regulator init registers
@@ -282,6 +284,7 @@ struct ab8500_codec_platform_data;
282 */ 284 */
283struct ab8500_platform_data { 285struct ab8500_platform_data {
284 int irq_base; 286 int irq_base;
287 bool pm_power_off;
285 void (*init) (struct ab8500 *); 288 void (*init) (struct ab8500 *);
286 int num_regulator_reg_init; 289 int num_regulator_reg_init;
287 struct ab8500_regulator_reg_init *regulator_reg_init; 290 struct ab8500_regulator_reg_init *regulator_reg_init;
@@ -289,6 +292,7 @@ struct ab8500_platform_data {
289 struct regulator_init_data *regulator; 292 struct regulator_init_data *regulator;
290 struct ab8500_gpio_platform_data *gpio; 293 struct ab8500_gpio_platform_data *gpio;
291 struct ab8500_codec_platform_data *codec; 294 struct ab8500_codec_platform_data *codec;
295 struct ab8500_sysctrl_platform_data *sysctrl;
292}; 296};
293 297
294extern int ab8500_init(struct ab8500 *ab8500, 298extern int ab8500_init(struct ab8500 *ab8500,
@@ -341,4 +345,12 @@ static inline int is_ab8500_2p0(struct ab8500 *ab)
341 return (is_ab8500(ab) && (ab->chip_id == AB8500_CUT2P0)); 345 return (is_ab8500(ab) && (ab->chip_id == AB8500_CUT2P0));
342} 346}
343 347
348#ifdef CONFIG_AB8500_DEBUG
349void ab8500_dump_all_banks(struct device *dev);
350void ab8500_debug_register_interrupt(int line);
351#else
352static inline void ab8500_dump_all_banks(struct device *dev) {}
353static inline void ab8500_debug_register_interrupt(int line) {}
354#endif
355
344#endif /* MFD_AB8500_H */ 356#endif /* MFD_AB8500_H */