aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/include
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile/include')
-rw-r--r--arch/arm/mach-shmobile/include/mach/common.h1
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7779.h35
2 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h
index 304ac3115338..44ce124bfdec 100644
--- a/arch/arm/mach-shmobile/include/mach/common.h
+++ b/arch/arm/mach-shmobile/include/mach/common.h
@@ -66,5 +66,6 @@ extern void r8a7779_add_early_devices(void);
66extern void r8a7779_add_standard_devices(void); 66extern void r8a7779_add_standard_devices(void);
67extern void r8a7779_clock_init(void); 67extern void r8a7779_clock_init(void);
68extern void r8a7779_pinmux_init(void); 68extern void r8a7779_pinmux_init(void);
69extern void r8a7779_pm_init(void);
69 70
70#endif /* __ARCH_MACH_COMMON_H */ 71#endif /* __ARCH_MACH_COMMON_H */
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7779.h b/arch/arm/mach-shmobile/include/mach/r8a7779.h
index 60e101aaea93..e6a6166fdf22 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7779.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7779.h
@@ -1,6 +1,9 @@
1#ifndef __ASM_R8A7779_H__ 1#ifndef __ASM_R8A7779_H__
2#define __ASM_R8A7779_H__ 2#define __ASM_R8A7779_H__
3 3
4#include <linux/sh_clk.h>
5#include <linux/pm_domain.h>
6
4/* Pin Function Controller: 7/* Pin Function Controller:
5 * GPIO_FN_xx - GPIO used to select pin function 8 * GPIO_FN_xx - GPIO used to select pin function
6 * GPIO_GP_x_x - GPIO mapped to real I/O pin on CPU 9 * GPIO_GP_x_x - GPIO mapped to real I/O pin on CPU
@@ -322,4 +325,36 @@ enum {
322 GPIO_FN_GPS_MAG, GPIO_FN_FCE, GPIO_FN_SCK4_B, 325 GPIO_FN_GPS_MAG, GPIO_FN_FCE, GPIO_FN_SCK4_B,
323}; 326};
324 327
328struct platform_device;
329
330struct r8a7779_pm_ch {
331 unsigned long chan_offs;
332 unsigned int chan_bit;
333 unsigned int isr_bit;
334};
335
336struct r8a7779_pm_domain {
337 struct generic_pm_domain genpd;
338 struct r8a7779_pm_ch ch;
339};
340
341static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d)
342{
343 return &container_of(d, struct r8a7779_pm_domain, genpd)->ch;
344}
345
346#ifdef CONFIG_PM
347extern struct r8a7779_pm_domain r8a7779_sh4a;
348extern struct r8a7779_pm_domain r8a7779_sgx;
349extern struct r8a7779_pm_domain r8a7779_vdp1;
350extern struct r8a7779_pm_domain r8a7779_impx3;
351
352extern void r8a7779_init_pm_domain(struct r8a7779_pm_domain *r8a7779_pd);
353extern void r8a7779_add_device_to_domain(struct r8a7779_pm_domain *r8a7779_pd,
354 struct platform_device *pdev);
355#else
356#define r8a7779_init_pm_domain(pd) do { } while (0)
357#define r8a7779_add_device_to_domain(pd, pdev) do { } while (0)
358#endif /* CONFIG_PM */
359
325#endif /* __ASM_R8A7779_H__ */ 360#endif /* __ASM_R8A7779_H__ */