: ARM: OMAP2+: PRCM move to drivers
Subsystems (11)
cover : ARM: OMAP2+: PRCM move to drivers
Hi,
This set is continuation for the work started earlier to cleanup the CM/PRM and attempt to make it a separate driver. This set depends on these two sets:
CM/PRM cleanup set:
http://marc.info/?l=linux-omap&m=139395000918201&w=2
OMAP2 clock DT set:
http://comments.gmane.org/gmane.linux.ports.arm.omap/111257
This set is pretty huge but the patches can be applied in stages if need be. Anyway, it would be good to get some feedback whether the driver folder locations etc. are good, and whether the effort taken here will be enough to actually move the driver. Clockdomain / powerdomain code can also be moved easily under the drivers/power/omap folder (or someplace else if requested) once this set is in. Also, clockdomain / powerdomain data should be possible to convert to DT format or some sort of firmware blob once this is done.
Patch #55 in this set is pretty massive as it moves all the C files at the same time, this should probably be split up as multiple patches.
Testing branch pushed here (contains also the CM/PRM cleanup set and OMAP2 clock DT conversion):
tree: https://github.com/t-kristo/linux-pm.git
branch: 3.14-rc4-cm-prm-driver-v1
Testing done:
- am335x-bone: boot
- omap3-beagle: boot, suspend-resume (ret/off)
- omap4-panda-es: boot, suspend-resume (ret)
- omap5-uevm: boot
-Tero
PATCH 1/55 ARM: OMAP4: CM: use cm_base* in register address calculations
OMAP44XX_CM*_REGADDR macros should be avoided, instead use the cm_base* iomaps.
--- arch/arm/mach-omap2/cm44xx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/cm44xx.c +4 -4
@@ -30,23 +30,23 @@/* Read a register in CM1 */ u32 omap4_cm1_read_inst_reg (s16 inst,u16 reg) { -return __raw_readl (OMAP44XX_CM1_REGADDR (inst, reg)); +return __raw_readl (cm_base + inst + reg); }/* Write into a register in CM1 */ void omap4_cm1_write_inst_reg (u32 val,s16 inst,u16 reg) { -__raw_writel (val,OMAP44XX_CM1_REGADDR (inst, reg)); +__raw_writel (val, cm_base + inst + reg); }/* Read a register in CM2 */ u32 omap4_cm2_read_inst_reg (s16 inst,u16 reg) { -return __raw_readl (OMAP44XX_CM2_REGADDR (inst, reg)); +return __raw_readl (cm2_base + inst + reg); }/* Write into a register in CM2 */ void omap4_cm2_write_inst_reg (u32 val,s16 inst,u16 reg) { -__raw_writel (val,OMAP44XX_CM2_REGADDR (inst, reg)); +__raw_writel (val, cm2_base + inst + reg); }
Signature · 1 line
1.7.9.5
PATCH 1/55 ARM: OMAP4: CM: use cm_base* in register address calculations
Quoted 13 lines · Tero Kristo
OMAP44XX_CM*_REGADDR macros should be avoided, instead use the cm_base* iomaps.
Signed-off-by Tero Kristo <[email protected]>--- arch/arm/mach-omap2/cm44xx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)arch/arm/mach-omap2/cm44xx.c +0
-0
arch/arm/mach-omap2/cm44xx.c line 33
Quoted 5 lines
arch/arm/mach-omap2/cm44xx.c +1
-1@@ -30,23 +30,23 @@/* Read a register in CM1 */ u32 omap4_cm1_read_inst_reg (s16 inst,u16 reg) { -return __raw_readl (OMAP44XX_CM1_REGADDR (inst, reg)); +return __raw_readl (cm_base + inst + reg);
should you use readl() or readl_relaxed() instead ? It'll take care of endianness, right ?
Signature · 8 lines
balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140331/1a5bf62c/attachment.sig>
PATCH 2/55 ARM: OMAP2+: PRCM: cleanup some header includes
In reply to Tero KristoSome of the includes are totally unnecessary, remove some others in preparation to make the PRCM its own driver.
--- arch/arm/mach-omap2/clockdomain.h | 3 ++- arch/arm/mach-omap2/cm33xx.h | 3 --- arch/arm/mach-omap2/cm44xx.c | 2 -- arch/arm/mach-omap2/cm_common.c | 1 - arch/arm/mach-omap2/cminst44xx.c | 2 -- .../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 1 + arch/arm/mach-omap2/powerdomain.c | 1 + arch/arm/mach-omap2/powerdomain.h | 3 +-- arch/arm/mach-omap2/prcm-common.h | 2 ++ arch/arm/mach-omap2/prcm_mpu44xx.h | 1 - arch/arm/mach-omap2/prm2xxx_3xxx.c | 1 - arch/arm/mach-omap2/prm33xx.c | 1 - 12 files changed, 7 insertions(+), 14 deletions(-)
arch/arm/mach-omap2/clockdomain.h +2 -1
@@ -18,7 +18,6 @@#include "powerdomain.h" #include "clock.h" -#include "omap_hwmod.h" /* * Clockdomain flags
@@ -98,6 +97,8 @@ struct clkdm_dep {/* Possible flags for struct clockdomain._flags */ #define _CLKDM_FLAG_HWSUP_ENABLED BIT(0) +struct omap_hwmod ; +/** * struct clockdomain - OMAP clockdomain * @name: clockdomain name
arch/arm/mach-omap2/cm33xx.h +0 -3
@@ -17,11 +17,8 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM_33XX_H#define __ARCH_ARM_MACH_OMAP2_CM_33XX_H -#include "common.h" -#include "cm.h" #include "cm-regbits-33xx.h" -#include "iomap.h" /* CM base address */ #define AM33XX_CM_BASE 0x44e00000
arch/arm/mach-omap2/cm44xx.c +0 -2
@@ -18,8 +18,6 @@#include <linux/err.h> #include <linux/io.h> -#include "iomap.h" -#include "common.h" #include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/cm_common.c +0 -1
@@ -18,7 +18,6 @@#include "cm2xxx.h" #include "cm3xxx.h" #include "cm44xx.h" -#include "common.h" /* * cm_ll_data: function pointers to SoC-specific implementations of
arch/arm/mach-omap2/cminst44xx.c +0 -2
@@ -21,8 +21,6 @@#include <linux/err.h> #include <linux/io.h> -#include "iomap.h" -#include "common.h" #include "clockdomain.h" #include "cm.h" #include "cm1_44xx.h"
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c +1 -0
@@ -24,6 +24,7 @@#include "prm33xx.h" #include "omap_hwmod_33xx_43xx_common_data.h" #include "prcm43xx.h" +#include "common.h" #define CLKCTRL (oh, clkctrl) ((oh).prcm.omap4.clkctrl_offs = (clkctrl))#define RSTCTRL (oh, rstctrl) ((oh).prcm.omap4.rstctrl_offs = (rstctrl))
arch/arm/mach-omap2/powerdomain.c +1 -0
@@ -32,6 +32,7 @@#include "powerdomain.h" #include "clockdomain.h" +#include "voltage.h" #include "soc.h" #include "pm.h"
arch/arm/mach-omap2/powerdomain.h +1 -2
@@ -21,8 +21,6 @@#include <linux/list.h> #include <linux/spinlock.h> -#include "voltage.h" -/* Powerdomain basic power states */ #define PWRDM_POWER_OFF 0x0#define PWRDM_POWER_RET 0x1
@@ -75,6 +73,7 @@struct clockdomain ;struct powerdomain ; +struct voltagedomain ;/** * struct powerdomain - OMAP powerdomain
arch/arm/mach-omap2/prcm-common.h +2 -0
@@ -428,6 +428,8 @@#define MAX_IOPAD_LATCH_TIME 100# ifndef __ASSEMBLER__ +#include <linux/delay.h> +/** * omap_test_timeout - busy-loop, testing a condition * @cond: condition to test until it evaluates to true
arch/arm/mach-omap2/prcm_mpu44xx.h +0 -1
@@ -26,7 +26,6 @@#define __ARCH_ARM_MACH_OMAP2_PRCM_MPU44XX_H#include "prcm_mpu_44xx_54xx.h" -#include "common.h" #define OMAP4430_PRCM_MPU_BASE 0x48243000
arch/arm/mach-omap2/prm2xxx_3xxx.c +0 -1
@@ -16,7 +16,6 @@#include <linux/err.h> #include <linux/io.h> -#include "common.h" #include "powerdomain.h" #include "prm2xxx_3xxx_private.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/prm33xx.c +0 -1
@@ -19,7 +19,6 @@#include <linux/err.h> #include <linux/io.h> -#include "common.h" #include "powerdomain.h" #include "prm33xx.h" #include "prm-regbits-33xx.h"
Signature · 1 line
1.7.9.5
PATCH 3/55 ARM: OMAP2+: PRM: remove unnecessary cpu_is_XXX calls from prm_init / exit
In reply to Tero KristoDone in preparation to make PRM its own driver, as the cpu_is_XXX calls are not available outside mach-omap2 folder.
The init functions are called only from cpu specific init chain, and thus don't need to double check against cpu type.
The exit calls check against the data provided during init-time registration and thus don't need cpu check either.
--- arch/arm/mach-omap2/prm2xxx.c | 13 +------------ arch/arm/mach-omap2/prm3xxx.c | 10 +--------- arch/arm/mach-omap2/prm44xx.c | 10 +--------- 3 files changed, 3 insertions(+), 30 deletions(-)
arch/arm/mach-omap2/prm2xxx.c +1 -12
@@ -18,9 +18,6 @@#include <linux/io.h> #include <linux/irq.h> -#include "soc.h" -#include "common.h" -#include "vp.h" #include "powerdomain.h" #include "clockdomain.h" #include "prm2xxx_3xxx_private.h"
@@ -261,19 +258,11 @@ static struct prm_ll_data omap2xxx_prm_ll_data = {int __init omap2xxx_prm_init (void ) { -if (!cpu_is_omap24xx ()) -return 0 ; -return prm_register (&omap2xxx_prm_ll_data); } static void __exit omap2xxx_prm_exit(void) { -if (!cpu_is_omap24xx ()) -return ; - -/* Should never happen */ -WARN (prm_unregister (&omap2xxx_prm_ll_data), -"%s: prm_ll_data function pointer mismatch\n" , __func__); +prm_unregister (&omap2xxx_prm_ll_data); }__exitcall (omap2xxx_prm_exit);
arch/arm/mach-omap2/prm3xxx.c +1 -9
@@ -639,9 +639,6 @@ static struct prm_ll_data omap3xxx_prm_ll_data = {int __init omap3xxx_prm_init (void ) { -if (!cpu_is_omap34xx ()) -return 0 ; -return prm_register (&omap3xxx_prm_ll_data); }
@@ -664,11 +661,6 @@ omap_subsys_initcall(omap3xxx_prm_late_init); static void __exit omap3xxx_prm_exit(void) { -if (!cpu_is_omap34xx ()) -return ; - -/* Should never happen */ -WARN (prm_unregister (&omap3xxx_prm_ll_data), -"%s: prm_ll_data function pointer mismatch\n" , __func__); +prm_unregister (&omap3xxx_prm_ll_data); }__exitcall (omap3xxx_prm_exit);
arch/arm/mach-omap2/prm44xx.c +1 -9
@@ -660,9 +660,6 @@ static struct prm_ll_data omap44xx_prm_ll_data = {int __init omap44xx_prm_init (void ) { -if (!cpu_is_omap44xx () && !soc_is_omap54xx () && !soc_is_dra7xx ()) -return 0 ; -return prm_register (&omap44xx_prm_ll_data); }
@@ -679,11 +676,6 @@ omap_subsys_initcall(omap44xx_prm_late_init); static void __exit omap44xx_prm_exit(void) { -if (!cpu_is_omap44xx ()) -return ; - -/* Should never happen */ -WARN (prm_unregister (&omap44xx_prm_ll_data), -"%s: prm_ll_data function pointer mismatch\n" , __func__); +prm_unregister (&omap44xx_prm_ll_data); }__exitcall (omap44xx_prm_exit);
Signature · 1 line
1.7.9.5
PATCH 4/55 ARM: OMAP3/4: PRM: provide io chain reconfig function through irq setup
In reply to Tero KristoThis helps to make the PRM registration modular, and also gets rid of a cpu type check done later.
--- arch/arm/mach-omap2/prcm-common.h | 2 ++ arch/arm/mach-omap2/prm3xxx.c | 1 + arch/arm/mach-omap2/prm44xx.c | 1 + arch/arm/mach-omap2/prm_common.c | 7 +------ 4 files changed, 5 insertions(+), 6 deletions(-)
arch/arm/mach-omap2/prcm-common.h +2 -0
@@ -480,6 +480,7 @@ struct omap_prcm_irq {* @ocp_barrier: fn ptr to force buffered PRM writes to complete * @save_and_clear_irqen: fn ptr to save and clear IRQENABLE regs * @restore_irqen: fn ptr to save and clear IRQENABLE regs +* @reconfigure_io_chain: fn ptr to reconfigure IO chain * @saved_mask: IRQENABLE regs are saved here during suspend * @priority_mask: 1 bit per IRQ, set to 1 if omap_prcm_irq.priority = true * @base_irq: base dynamic IRQ number, returned from irq_alloc_descs() in init
@@ -501,6 +502,7 @@ struct omap_prcm_irq_setup {void (*ocp_barrier)(void );void (*save_and_clear_irqen)(u32 *saved_mask);void (*restore_irqen)(u32 *saved_mask); +void (*reconfigure_io_chain)(void );u32 *saved_mask;u32 *priority_mask;int base_irq;
arch/arm/mach-omap2/prm3xxx.c +1 -0
@@ -45,6 +45,7 @@ static struct omap_prcm_irq_setup omap3_prcm_irq_setup = { .ocp_barrier = &omap3xxx_prm_ocp_barrier, .save_and_clear_irqen = &omap3xxx_prm_save_and_clear_irqen, .restore_irqen = &omap3xxx_prm_restore_irqen, + .reconfigure_io_chain = &omap3xxx_prm_reconfigure_io_chain, };/*
arch/arm/mach-omap2/prm44xx.c +1 -0
@@ -47,6 +47,7 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = { .ocp_barrier = &omap44xx_prm_ocp_barrier, .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen, .restore_irqen = &omap44xx_prm_restore_irqen, + .reconfigure_io_chain = &omap44xx_prm_reconfigure_io_chain, };/*
arch/arm/mach-omap2/prm_common.c +1 -6
@@ -330,12 +330,7 @@ int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup)if (of_have_populated_dt ()) {int irq =omap_prcm_event_to_irq ("io" ); -if (cpu_is_omap34xx ()) -omap_pcs_legacy_init (irq, - omap3xxx_prm_reconfigure_io_chain); -else -omap_pcs_legacy_init (irq, - omap44xx_prm_reconfigure_io_chain); +omap_pcs_legacy_init (irq, irq_setup->reconfigure_io_chain); }return 0 ;
Signature · 1 line
1.7.9.5
PATCH 5/55 ARM: OMAP3/OMAP4: PRM: add prm_features flags and add IO wakeup under it
In reply to Tero Kristoprm_features flag will contain SoC specific feature enabler flags. Initially IO wakeup is added under this. Helps to get rid of runtime cpu_is_X checks.
--- arch/arm/mach-omap2/prm.h | 8 ++++++++ arch/arm/mach-omap2/prm3xxx.c | 8 +++++++- arch/arm/mach-omap2/prm44xx.c | 6 ++++++ arch/arm/mach-omap2/prm_common.c | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/prm.h +8 -0
@@ -17,10 +17,18 @@# ifndef __ASSEMBLER__extern void __iomem *prm_base; +extern u16 prm_features;extern void omap2_set_globals_prm (void __iomem *prm);int of_prcm_init (void );# endif +/* +* prm_features flag values +* +* PRM_HAS_IO_WAKEUP: has IO wakeup capability +* PRM_HAS_VOLTAGE: has voltage domains +*/ +#define PRM_HAS_IO_WAKEUP (1 << 0)/* * MAX_MODULE_SOFTRESET_WAIT: Maximum microseconds to wait for OMAP
arch/arm/mach-omap2/prm3xxx.c +7 -1
@@ -410,7 +410,7 @@ void omap3xxx_prm_reconfigure_io_chain(void)*/ static void __init omap3xxx_prm_enable_io_wakeup (void ) { -if (omap3_has_io_wakeup ()) +if (prm_features &PRM_HAS_IO_WAKEUP )omap2_prm_set_mod_reg_bits (OMAP3430_EN_IO_MASK ,WKUP_MOD ,PM_WKEN ); }
@@ -640,6 +640,9 @@ static struct prm_ll_data omap3xxx_prm_ll_data = {int __init omap3xxx_prm_init (void ) { +if (omap3_has_io_wakeup ()) + prm_features |=PRM_HAS_IO_WAKEUP ; +return prm_register (&omap3xxx_prm_ll_data); }
@@ -650,6 +653,9 @@ static int __init omap3xxx_prm_late_init(void)if (!cpu_is_omap34xx ())return 0 ; +if (!(prm_features &PRM_HAS_IO_WAKEUP )) +return 0 ; +omap3xxx_prm_enable_io_wakeup (); ret =omap_prcm_register_chain_handler (&omap3_prcm_irq_setup);if (!ret)
arch/arm/mach-omap2/prm44xx.c +6 -0
@@ -661,6 +661,9 @@ static struct prm_ll_data omap44xx_prm_ll_data = {int __init omap44xx_prm_init (void ) { +if (cpu_is_omap44xx ()) + prm_features |=PRM_HAS_IO_WAKEUP ; +return prm_register (&omap44xx_prm_ll_data); }
@@ -669,6 +672,9 @@ static int __init omap44xx_prm_late_init(void)if (!cpu_is_omap44xx ())return 0 ; +if (!(prm_features &PRM_HAS_IO_WAKEUP )) +return 0 ; +omap44xx_prm_enable_io_wakeup ();return omap_prcm_register_chain_handler (&omap4_prcm_irq_setup);
arch/arm/mach-omap2/prm_common.c +2 -0
@@ -62,6 +62,8 @@ static struct omap_prcm_irq_setup *prcm_irq_setup;/* prm_base: base virtual address of the PRM IP block */ void __iomem *prm_base; +u16 prm_features; +/* * prm_ll_data: function pointers to SoC-specific implementations of * common PRM functions
Signature · 1 line
1.7.9.5
PATCH 6/55 ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops
In reply to Tero KristoSoC specific late_init call is now registered during PRM init, and will be called automatically by PRM core. This helps to get rid of some redundant initcalls and cpu_is_X checks from the PRM code.
--- arch/arm/mach-omap2/prm.h | 2 ++ arch/arm/mach-omap2/prm3xxx.c | 7 +++---- arch/arm/mach-omap2/prm44xx.c | 7 +++---- arch/arm/mach-omap2/prm_common.c | 8 ++++++++ 4 files changed, 16 insertions(+), 8 deletions(-)
arch/arm/mach-omap2/prm.h +2 -0
@@ -126,6 +126,7 @@ struct prm_reset_src_map {* @read_reset_sources: ptr to the SoC PRM-specific get_reset_source impl * @was_any_context_lost_old: ptr to the SoC PRM context loss test fn * @clear_context_loss_flags_old: ptr to the SoC PRM context loss flag clear fn +* @late_init: ptr to the late init function * * XXX @was_any_context_lost_old and @clear_context_loss_flags_old are * deprecated.
@@ -134,6 +135,7 @@ struct prm_ll_data {u32 (*read_reset_sources)(void);bool (*was_any_context_lost_old)(u8 part,s16 inst,u16 idx);void (*clear_context_loss_flags_old)(u8 part,s16 inst,u16 idx); +int (*late_init)(void ); };extern int prm_register (struct prm_ll_data *pld);
arch/arm/mach-omap2/prm3xxx.c +3 -4
@@ -634,8 +634,11 @@ struct pwrdm_ops omap3_pwrdm_operations = {* */ +static int omap3xxx_prm_late_init (void ); +static struct prm_ll_data omap3xxx_prm_ll_data = { .read_reset_sources = &omap3xxx_prm_read_reset_sources, + .late_init = &omap3xxx_prm_late_init, };int __init omap3xxx_prm_init (void )
@@ -650,9 +653,6 @@ static int __init omap3xxx_prm_late_init(void) {int ret; -if (!cpu_is_omap34xx ()) -return 0 ; -if (!(prm_features &PRM_HAS_IO_WAKEUP ))return 0 ;
@@ -664,7 +664,6 @@ static int __init omap3xxx_prm_late_init(void)return ret; } -omap_subsys_initcall (omap3xxx_prm_late_init); static void __exit omap3xxx_prm_exit(void) {
arch/arm/mach-omap2/prm44xx.c +3 -4
@@ -650,6 +650,8 @@ struct pwrdm_ops omap4_pwrdm_operations = { .pwrdm_has_voltdm = omap4_check_vcvp, }; +static int omap44xx_prm_late_init (void ); +/* * XXX document */
@@ -657,6 +659,7 @@ static struct prm_ll_data omap44xx_prm_ll_data = { .read_reset_sources = &omap44xx_prm_read_reset_sources, .was_any_context_lost_old = &omap44xx_prm_was_any_context_lost_old, .clear_context_loss_flags_old = &omap44xx_prm_clear_context_loss_flags_old, + .late_init = &omap44xx_prm_late_init, };int __init omap44xx_prm_init (void )
@@ -669,9 +672,6 @@ int __init omap44xx_prm_init(void)static int __init omap44xx_prm_late_init (void ) { -if (!cpu_is_omap44xx ()) -return 0 ; -if (!(prm_features &PRM_HAS_IO_WAKEUP ))return 0 ;
@@ -679,7 +679,6 @@ static int __init omap44xx_prm_late_init(void)return omap_prcm_register_chain_handler (&omap4_prcm_irq_setup); } -omap_subsys_initcall (omap44xx_prm_late_init); static void __exit omap44xx_prm_exit(void) {
arch/arm/mach-omap2/prm_common.c +8 -0
@@ -529,3 +529,11 @@ int __init of_prcm_init(void)return 0 ; } + +static int __init prm_late_init (void ) +{ +if (prm_ll_data->late_init) +return prm_ll_data->late_init (); +return 0 ; +} +subsys_initcall (prm_late_init);
Signature · 1 line
1.7.9.5
PATCH 7/55 ARM: OMAP3+: PRM: add cpu-type as parameter to prm_init calls
In reply to Tero KristoThis helps to get rid of cpu_is_X checks from within the PRM driver. Done in preparation to make PRM a separate driver.
--- arch/arm/mach-omap2/io.c | 17 +++++++++++++---- arch/arm/mach-omap2/prm.h | 11 +++++++++++ arch/arm/mach-omap2/prm3xxx.c | 4 ++-- arch/arm/mach-omap2/prm3xxx.h | 2 +- arch/arm/mach-omap2/prm44xx.c | 4 ++-- arch/arm/mach-omap2/prm44xx_54xx.h | 2 +- 6 files changed, 30 insertions(+), 10 deletions(-)
arch/arm/mach-omap2/io.c +13 -4
@@ -458,6 +458,15 @@ void __init omap2430_init_late(void)* same machine_id for 34xx and 36xx beagle.. Will get fixed with DT. */ #ifdef CONFIG_ARCH_OMAP3 +static inline u16 omap3_prm_type (void ) +{ +if (cpu_is_omap3430 ()) +return PRM_OMAP3430 ; +if (cpu_is_omap3630 ()) +return PRM_OMAP3630 ; +return PRM_OMAP3_OTHER ; +} +void __init omap3_init_early (void ) {omap2_set_globals_tap (OMAP343X_CLASS ,OMAP2_L4_IO_ADDRESS (0x4830A000 ));
@@ -469,7 +478,7 @@ void __init omap3_init_early(void)omap2_set_globals_cm (OMAP2_L4_IO_ADDRESS (OMAP3430_CM_BASE ),NULL );omap3xxx_check_revision ();omap3xxx_check_features (); -omap3xxx_prm_init (); +omap3xxx_prm_init (omap3_prm_type ());omap3xxx_cm_init ();omap3xxx_voltagedomains_init ();omap3xxx_powerdomains_init ();
@@ -636,7 +645,7 @@ void __init omap4430_init_early(void)omap4xxx_check_revision ();omap4xxx_check_features ();omap4_pm_init_early (); -omap44xx_prm_init (); +omap44xx_prm_init (PRM_OMAP4 );omap44xx_voltagedomains_init ();omap44xx_powerdomains_init ();omap44xx_clockdomains_init ();
@@ -666,7 +675,7 @@ void __init omap5_init_early(void)omap2_set_globals_prcm_mpu (OMAP2_L4_IO_ADDRESS (OMAP54XX_PRCM_MPU_BASE ));omap_prm_base_init ();omap_cm_base_init (); -omap44xx_prm_init (); +omap44xx_prm_init (PRM_OMAP5 );omap5xxx_check_revision ();omap54xx_voltagedomains_init ();omap54xx_powerdomains_init ();
@@ -694,7 +703,7 @@ void __init dra7xx_init_early(void)omap2_set_globals_prcm_mpu (OMAP2_L4_IO_ADDRESS (OMAP54XX_PRCM_MPU_BASE ));omap_prm_base_init ();omap_cm_base_init (); -omap44xx_prm_init (); +omap44xx_prm_init (PRM_DRA7 );dra7xx_powerdomains_init ();dra7xx_clockdomains_init ();dra7xx_hwmod_init ();
arch/arm/mach-omap2/prm.h +11 -0
@@ -30,6 +30,17 @@ int of_prcm_init(void);*/ #define PRM_HAS_IO_WAKEUP (1 << 0) +#ifndef __ASSEMBLER__ +enum { +PRM_OMAP3430 =0 , +PRM_OMAP3630 , +PRM_OMAP3_OTHER , +PRM_OMAP4 , +PRM_OMAP5 , +PRM_DRA7 , +}; +#endif +/* * MAX_MODULE_SOFTRESET_WAIT: Maximum microseconds to wait for OMAP * module to softreset
arch/arm/mach-omap2/prm3xxx.c +2 -2
@@ -641,9 +641,9 @@ static struct prm_ll_data omap3xxx_prm_ll_data = { .late_init = &omap3xxx_prm_late_init, }; -int __init omap3xxx_prm_init (void ) +int __init omap3xxx_prm_init (u16 cpu_type) { -if (omap3_has_io_wakeup ()) +if (cpu_type ==PRM_OMAP3430 || cpu_type ==PRM_OMAP3630 ) prm_features |=PRM_HAS_IO_WAKEUP ;return prm_register (&omap3xxx_prm_ll_data);
arch/arm/mach-omap2/prm3xxx.h +1 -1
@@ -160,7 +160,7 @@ extern void omap3xxx_prm_restore_irqen(u32 *saved_mask);extern void omap3xxx_prm_dpll3_reset (void ); -extern int __init omap3xxx_prm_init (void ); +int __init omap3xxx_prm_init (u16 cpu_type);extern u32 omap3xxx_prm_get_reset_sources (void );int omap3xxx_prm_clear_mod_irqs (s16 module,u8 regs,u32 ignore_bits);void omap3xxx_prm_iva_idle (void );
arch/arm/mach-omap2/prm44xx.c +2 -2
@@ -662,9 +662,9 @@ static struct prm_ll_data omap44xx_prm_ll_data = { .late_init = &omap44xx_prm_late_init, }; -int __init omap44xx_prm_init (void ) +int __init omap44xx_prm_init (u16 cpu_type) { -if (cpu_is_omap44xx ()) +if (cpu_type ==PRM_OMAP4 ) prm_features |=PRM_HAS_IO_WAKEUP ;return prm_register (&omap44xx_prm_ll_data);
arch/arm/mach-omap2/prm44xx_54xx.h +1 -1
@@ -57,7 +57,7 @@ extern void omap44xx_prm_ocp_barrier(void);extern void omap44xx_prm_save_and_clear_irqen (u32 *saved_mask);extern void omap44xx_prm_restore_irqen (u32 *saved_mask); -extern int __init omap44xx_prm_init (void ); +int __init omap44xx_prm_init (u16 cpu_type);extern u32 omap44xx_prm_get_reset_sources (void );#endif
Signature · 1 line
1.7.9.5
PATCH 7/55 ARM: OMAP3+: PRM: add cpu-type as parameter to prm_init calls
Hi,
arch/arm/mach-omap2/prm44xx_54xx.h extern void omap44xx_prm_ocp_barrier(void); · line 60
Quoted 10 lines · Tero Kristo
arch/arm/mach-omap2/prm44xx_54xx.h +1
-1@@ -57,7 +57,7 @@ extern void omap44xx_prm_ocp_barrier(void);extern void omap44xx_prm_save_and_clear_irqen (u32 *saved_mask);extern void omap44xx_prm_restore_irqen (u32 *saved_mask); -extern int __init omap44xx_prm_init (void ); +int __init omap44xx_prm_init (u16 cpu_type);
trailing change ?
Signature · 8 lines
balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140331/8630211b/attachment-0001.sig>
PATCH 8/55 ARM: DRA7: PRM: add voltage processor check behind a prm_feature flag
In reply to Tero KristoThis is done in attempt to get rid of cpu_is_X calls from the PRM core.
--- arch/arm/mach-omap2/prm.h | 1 + arch/arm/mach-omap2/prm44xx.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/prm.h +1 -0
@@ -29,6 +29,7 @@ int of_prcm_init(void);* PRM_HAS_VOLTAGE: has voltage domains */ #define PRM_HAS_IO_WAKEUP (1 << 0) +#define PRM_HAS_VOLTAGE (1 << 1)#ifndef __ASSEMBLER__ enum {
arch/arm/mach-omap2/prm44xx.c +3 -1
@@ -624,7 +624,7 @@ static int omap4_pwrdm_wait_transition(struct powerdomain *pwrdm)static int omap4_check_vcvp (void ) {/* No VC/VP on dra7xx devices */ -if (soc_is_dra7xx ()) +if (!(prm_features &PRM_HAS_VOLTAGE ))return 0 ;return 1 ;
@@ -664,6 +664,8 @@ static struct prm_ll_data omap44xx_prm_ll_data = {int __init omap44xx_prm_init (u16 cpu_type) { +if (cpu_type !=PRM_DRA7 ) + prm_features |=PRM_HAS_VOLTAGE ;if (cpu_type ==PRM_OMAP4 ) prm_features |=PRM_HAS_IO_WAKEUP ;
Signature · 1 line
1.7.9.5
PATCH 9/55 ARM: OMAP4+: PRM: add prm_dev_inst offset as a global parameter
In reply to Tero KristoThis is different for OMAP4, OMAP5 and DRA7, and is currently checked runtime with a cpu_is_X check. Replace this with an init time setting.
--- arch/arm/mach-omap2/prm.h | 1 + arch/arm/mach-omap2/prm44xx.c | 20 +++++++++++++++++--- arch/arm/mach-omap2/prm_common.c | 1 + arch/arm/mach-omap2/prminst44xx.c | 22 ++++++---------------- 4 files changed, 25 insertions(+), 19 deletions(-)
arch/arm/mach-omap2/prm.h +1 -0
@@ -17,6 +17,7 @@# ifndef __ASSEMBLER__extern void __iomem *prm_base; +extern u16 prm_dev_inst;extern u16 prm_features;extern void omap2_set_globals_prm (void __iomem *prm);int of_prcm_init (void );
arch/arm/mach-omap2/prm44xx.c +17 -3
@@ -24,6 +24,8 @@#include "common.h" #include "vp.h" #include "prm44xx.h" +#include "prm54xx.h" +#include "prm7xx.h" #include "prm-regbits-44xx.h" #include "prcm44xx.h" #include "prminst44xx_private.h"
@@ -664,10 +666,22 @@ static struct prm_ll_data omap44xx_prm_ll_data = {int __init omap44xx_prm_init (u16 cpu_type) { -if (cpu_type !=PRM_DRA7 ) +switch (cpu_type) { +case PRM_OMAP4 : + prm_features |=PRM_HAS_IO_WAKEUP |PRM_HAS_VOLTAGE ; + prm_dev_inst =OMAP4430_PRM_DEVICE_INST ; +break ; +case PRM_OMAP5 : prm_features |=PRM_HAS_VOLTAGE ; -if (cpu_type ==PRM_OMAP4 ) - prm_features |=PRM_HAS_IO_WAKEUP ; + prm_dev_inst =OMAP54XX_PRM_DEVICE_INST ; +break ; +case PRM_DRA7 : + prm_dev_inst =DRA7XX_PRM_DEVICE_INST ; +break ; +default : +pr_err ("%s: unsupported cpu type: %d\n" , __func__, cpu_type); +return -EINVAL ; + }return prm_register (&omap44xx_prm_ll_data); }
arch/arm/mach-omap2/prm_common.c +1 -0
@@ -63,6 +63,7 @@ static struct omap_prcm_irq_setup *prcm_irq_setup;void __iomem *prm_base;u16 prm_features; +u16 prm_dev_inst;/* * prm_ll_data: function pointers to SoC-specific implementations of
arch/arm/mach-omap2/prminst44xx.c +6 -16
@@ -168,28 +168,18 @@ int omap4_prminst_deassert_hardreset(u8 shift, u8 part, s16 inst,void omap4_prminst_global_warm_sw_reset (void ) {u32 v; -s16 dev_inst; - -if (cpu_is_omap44xx ()) - dev_inst =OMAP4430_PRM_DEVICE_INST ; -else if (soc_is_omap54xx ()) - dev_inst =OMAP54XX_PRM_DEVICE_INST ; -else if (soc_is_dra7xx ()) - dev_inst =DRA7XX_PRM_DEVICE_INST ; -else -return ; - - v =omap4_prminst_read_inst_reg (OMAP4430_PRM_PARTITION , dev_inst, + + v =omap4_prminst_read_inst_reg (OMAP4430_PRM_PARTITION , prm_dev_inst,OMAP4_PRM_RSTCTRL_OFFSET ); v |=OMAP4430_RST_GLOBAL_WARM_SW_MASK ;omap4_prminst_write_inst_reg (v,OMAP4430_PRM_PARTITION , -OMAP4430_PRM_DEVICE_INST , -OMAP4_PRM_RSTCTRL_OFFSET ); + prm_dev_inst, +OMAP4_PRM_RSTCTRL_OFFSET );/* OCP barrier */ v =omap4_prminst_read_inst_reg (OMAP4430_PRM_PARTITION , -OMAP4430_PRM_DEVICE_INST , -OMAP4_PRM_RSTCTRL_OFFSET ); + prm_dev_inst, +OMAP4_PRM_RSTCTRL_OFFSET ); }void omap4_prminst_mpuss_clear_prev_logic_pwrst (void )
Signature · 1 line
1.7.9.5
PATCH 10/55 ARM: OMAP3+: PRM: get rid of some unnecessary header files
In reply to Tero KristoDone in preparation to make PRM a separate driver.
--- arch/arm/mach-omap2/prcm-common.h | 1 + arch/arm/mach-omap2/prm3xxx.c | 4 +--- arch/arm/mach-omap2/prm44xx.c | 5 ++--- arch/arm/mach-omap2/prm_common.c | 2 -- arch/arm/mach-omap2/prminst44xx.c | 3 --- 5 files changed, 4 insertions(+), 11 deletions(-)
arch/arm/mach-omap2/prcm-common.h +1 -0
@@ -523,6 +523,7 @@ extern int omap_prcm_register_chain_handler(extern int omap_prcm_event_to_irq (const char *event);extern void omap_prcm_irq_prepare (void );extern void omap_prcm_irq_complete (void ); +void omap_pcs_legacy_init (int irq,void (*rearm)(void ));# endif
arch/arm/mach-omap2/prm3xxx.c +1 -3
@@ -18,8 +18,6 @@#include <linux/io.h> #include <linux/irq.h> -#include "soc.h" -#include "common.h" #include "vp.h" #include "powerdomain.h" #include "prm3xxx.h"
@@ -40,7 +38,7 @@ static struct omap_prcm_irq_setup omap3_prcm_irq_setup = { .nr_regs = 1, .irqs = omap3_prcm_irqs, .nr_irqs = ARRAY_SIZE(omap3_prcm_irqs), - .irq = 11 + OMAP_INTC_START, + .irq = 11 + NR_IRQS, .read_pending_irqs = &omap3xxx_prm_read_pending_irqs, .ocp_barrier = &omap3xxx_prm_ocp_barrier, .save_and_clear_irqen = &omap3xxx_prm_save_and_clear_irqen,
arch/arm/mach-omap2/prm44xx.c +2 -3
@@ -19,9 +19,6 @@#include <linux/io.h> -#include "soc.h" -#include "iomap.h" -#include "common.h" #include "vp.h" #include "prm44xx.h" #include "prm54xx.h"
@@ -33,6 +30,8 @@/* Static data */ +#define OMAP44XX_IRQ_GIC_START 32 +static const struct omap_prcm_irq omap4_prcm_irqs[] = {OMAP_PRCM_IRQ ("wkup" ,0 ,0 ),OMAP_PRCM_IRQ ("io" ,9 ,1 ),
arch/arm/mach-omap2/prm_common.c +0 -2
@@ -28,12 +28,10 @@#include <linux/clk-provider.h> #include <linux/clk/ti.h> -#include "soc.h" #include "prm2xxx_3xxx.h" #include "prm2xxx.h" #include "prm3xxx.h" #include "prm44xx.h" -#include "common.h" #include "clock.h" /*
arch/arm/mach-omap2/prminst44xx.c +0 -3
@@ -16,8 +16,6 @@#include <linux/err.h> #include <linux/io.h> -#include "iomap.h" -#include "common.h" #include "prcm-common.h" #include "prm44xx.h" #include "prm54xx.h"
@@ -26,7 +24,6 @@#include "prm-regbits-44xx.h" #include "prcm44xx.h" #include "prcm_mpu44xx.h" -#include "soc.h" static void __iomem *_prm_bases[OMAP4_MAX_PRCM_PARTITIONS ];
Signature · 1 line
1.7.9.5
PATCH 11/55 CLK: TI: clockdomain: add support for retrying init
In reply to Tero KristoRetry init is needed if clockdomains are registered before the corresponding clocks are ready. In this case, the clockdomain info is added to a list which will be processed once the clockdomains for next PRCM module are processed.
--- arch/arm/mach-omap2/prm_common.c | 3 +- drivers/clk/ti/clockdomain.c | 77 ++++++++++++++++++++++++++++++++------ include/linux/clk/ti.h | 2 +- 3 files changed, 68 insertions(+), 14 deletions(-)
arch/arm/mach-omap2/prm_common.c +1 -2
@@ -521,11 +521,10 @@ int __init of_prcm_init(void) mem =of_iomap (np,0 ); clk_memmaps[memmap_index] = mem;ti_dt_clk_init_provider (np, memmap_index); +ti_dt_clockdomains_setup (np); memmap_index++; } -ti_dt_clockdomains_setup (); -return 0 ; }
drivers/clk/ti/clockdomain.c +66 -11
102 lines not on this page · raw message
include/linux/clk/ti.h +1 -1
@@ -284,7 +284,7 @@ void omap2xxx_clkt_vps_init(void);void __iomem *ti_clk_get_reg_addr (struct device_node *node,int index);void ti_dt_clocks_register (struct ti_dt_clk *oclks);void ti_dt_clk_init_provider (struct device_node *np,int index); -void ti_dt_clockdomains_setup (void ); +void ti_dt_clockdomains_setup (struct device_node *node);int ti_clk_retry_init (struct device_node *node,struct clk_hw *hw,ti_of_clk_init_cb_t func);int of_ti_clk_autoidle_setup (struct device_node *node);
Signature · 1 line
1.7.9.5
PATCH 12/55 ARM: PRCM: split PRCM module init to their own driver files
In reply to Tero KristoPreviously this was done for all modules under prm_common.c.
--- arch/arm/mach-omap2/cm_common.c | 18 +++++++++++++ arch/arm/mach-omap2/control.c | 15 +++++++++++ arch/arm/mach-omap2/control.h | 1 + arch/arm/mach-omap2/io.c | 4 +++ arch/arm/mach-omap2/prcm-common.h | 4 +++ arch/arm/mach-omap2/prm_common.c | 54 +++++++++++++++++++++---------------- 6 files changed, 73 insertions(+), 23 deletions(-)
arch/arm/mach-omap2/cm_common.c +18 -0
@@ -14,6 +14,7 @@#include <linux/kernel.h> #include <linux/init.h> #include <linux/errno.h> +#include <linux/of.h> #include "cm2xxx.h" #include "cm3xxx.h"
@@ -137,3 +138,20 @@ int cm_unregister(struct cm_ll_data *cld)return 0 ; } + +static struct of_device_id omap_cm_dt_match_table[] = { + { .compatible ="ti,omap3-cm" }, + { .compatible ="ti,omap4-cm1" }, + { .compatible ="ti,omap4-cm2" }, + { .compatible ="ti,omap5-cm-core-aon" }, + { .compatible ="ti,omap5-cm-core" }, + { .compatible ="ti,dra7-cm-core-aon" }, + { .compatible ="ti,dra7-cm-core" }, + { } +}; + + +int __init of_cm_init (void ) +{ +return of_prcm_module_init (omap_cm_dt_match_table); +}
arch/arm/mach-omap2/control.c +15 -0
@@ -611,3 +611,18 @@ void __init omap3_ctrl_init(void) omap3_ctrl_setup_d2d_padconf(); }#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */ + +static struct of_device_id omap_scrm_dt_match_table[] = { + { .compatible ="ti,am3-scrm" }, + { .compatible ="ti,am4-scrm" }, + { .compatible ="ti,omap2-scrm" }, + { .compatible ="ti,omap3-scrm" }, + { .compatible ="ti,omap4-scrm" }, + { .compatible ="ti,omap5-scrm" }, + { } +}; + +int __init of_scrm_init (void ) +{ +return of_prcm_module_init (omap_scrm_dt_match_table); +}
arch/arm/mach-omap2/control.h +1 -0
@@ -428,6 +428,7 @@ extern void omap_ctrl_write_dsp_boot_mode(u8 bootmode);extern void omap3630_ctrl_disable_rta (void );extern int omap3_ctrl_save_padconf (void );void omap3_ctrl_init (void ); +int of_scrm_init (void );extern void omap2_set_globals_control (void __iomem *ctrl,void __iomem *ctrl_pad);#else
arch/arm/mach-omap2/io.c +4 -0
@@ -736,6 +736,10 @@ int __init omap_clk_init(void)if (!omap_clk_soc_init)return 0 ; + ret =of_scrm_init (); +if (ret) +return ret; + ret =of_prcm_init ();if (!ret) ret =omap_clk_soc_init ();
arch/arm/mach-omap2/prcm-common.h +4 -0
@@ -517,6 +517,8 @@ struct omap_prcm_irq_setup { .priority = _priority \ } +struct of_device_id ; +extern void omap_prcm_irq_cleanup (void );extern int omap_prcm_register_chain_handler (struct omap_prcm_irq_setup *irq_setup);
@@ -524,6 +526,8 @@ extern int omap_prcm_event_to_irq(const char *event);extern void omap_prcm_irq_prepare (void );extern void omap_prcm_irq_complete (void );void omap_pcs_legacy_init (int irq,void (*rearm)(void )); +int of_prcm_module_init (struct of_device_id *match_table); +int of_cm_init (void );# endif
arch/arm/mach-omap2/prm_common.c +31 -23
83 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 13/55 ARM: OMAP4: PRCM: remove references to cm-regbits-44xx.h from PRCM core files
In reply to Tero KristoDone in preparation to make PRCM a standalone driver.
--- arch/arm/mach-omap2/cm44xx.c | 1 - arch/arm/mach-omap2/cminst44xx.c | 8 +++++++- arch/arm/mach-omap2/powerdomain-common.c | 1 - 3 files changed, 7 insertions(+), 3 deletions(-)
arch/arm/mach-omap2/cm44xx.c +0 -1
@@ -21,7 +21,6 @@#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h" -#include "cm-regbits-44xx.h" /* CM1 hardware module low-level functions */
arch/arm/mach-omap2/cminst44xx.c +7 -1
@@ -28,12 +28,18 @@#include "cm44xx.h" #include "cminst44xx.h" #include "cm-regbits-34xx.h" -#include "cm-regbits-44xx.h" #include "prcm44xx.h" #include "prm44xx.h" #include "prcm_mpu44xx.h" #include "prcm-common.h" +#define OMAP4430_IDLEST_SHIFT 16 +#define OMAP4430_IDLEST_MASK (0x3 << 16) +#define OMAP4430_CLKTRCTRL_SHIFT 0 +#define OMAP4430_CLKTRCTRL_MASK (0x3 << 0) +#define OMAP4430_MODULEMODE_SHIFT 0 +#define OMAP4430_MODULEMODE_MASK (0x3 << 0) +/* * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield: *
arch/arm/mach-omap2/powerdomain-common.c +0 -1
@@ -17,7 +17,6 @@#include "pm.h" #include "cm.h" #include "cm-regbits-34xx.h" -#include "cm-regbits-44xx.h" #include "prm-regbits-34xx.h" #include "prm-regbits-44xx.h"
Signature · 1 line
1.7.9.5
PATCH 14/55 ARM: OMAP2: CM: remove references to cm-regbits-24xx.h from CM core code
In reply to Tero KristoDone in preparation to make CM a standalone driver.
--- arch/arm/mach-omap2/cm2xxx.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/cm2xxx.c +18 -1
@@ -22,7 +22,6 @@#include "cm.h" #include "cm2xxx_3xxx_private.h" #include "cm2xxx.h" -#include "cm-regbits-24xx.h" #include "clockdomain.h" /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */
@@ -36,6 +35,24 @@/* CM_IDLEST_PLL bit value offset for APLLs (OMAP2xxx only) */ #define EN_APLL_LOCKED 3 +#define OMAP24XX_CLKSTCTRL_DISABLE_AUTO 0x0 +#define OMAP24XX_CLKSTCTRL_ENABLE_AUTO 0x1 + +#define OMAP24XX_CORE_CLK_SRC_MASK (0x3 << 0) + +#define OMAP24XX_EN_54M_PLL_SHIFT 6 +#define OMAP24XX_EN_96M_PLL_SHIFT 2 +#define OMAP24XX_ST_54M_APLL_SHIFT 9 +#define OMAP24XX_ST_96M_APLL_SHIFT 8 +#define OMAP24XX_AUTO_54M_MASK (0x3 << 6) +#define OMAP24XX_AUTO_96M_MASK (0x3 << 2) +#define OMAP24XX_AUTO_DPLL_SHIFT 0 +#define OMAP24XX_AUTO_DPLL_MASK (0x3 << 0) + +#define OMAP24XX_EN_DSS1_MASK (1 << 0) + +#define OMAP24XX_CLKSEL_DSS2_MASK (0x1 << 13) +static const u8 omap2xxx_cm_idlest_offs[] = {CM_IDLEST1 ,CM_IDLEST2 ,OMAP2430_CM_IDLEST3 ,OMAP24XX_CM_IDLEST4 };
Signature · 1 line
1.7.9.5
PATCH 15/55 ARM: AM33xx: CM: remove references to cm-regbits-33xx.h from CM core code
In reply to Tero KristoDone in preparation to make CM a standalone driver.
--- arch/arm/mach-omap2/cm33xx.c | 9 ++++++++- arch/arm/mach-omap2/cm33xx.h | 1 - 2 files changed, 8 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/cm33xx.c +8 -1
@@ -26,9 +26,16 @@#include "cm.h" #include "cm33xx.h" #include "cm-regbits-34xx.h" -#include "cm-regbits-33xx.h" #include "prm33xx.h" +#define AM33XX_MODULEMODE_SHIFT 0 +#define AM33XX_MODULEMODE_MASK (0x3 << 0) + +#define AM33XX_CLKTRCTRL_SHIFT 0 +#define AM33XX_CLKTRCTRL_MASK (0x3 << 0) +#define AM33XX_IDLEST_SHIFT 16 +#define AM33XX_IDLEST_MASK (0x3 << 16) +/* * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield: *
arch/arm/mach-omap2/cm33xx.h +0 -1
@@ -18,7 +18,6 @@#define __ARCH_ARM_MACH_OMAP2_CM_33XX_H#include "cm.h" -#include "cm-regbits-33xx.h" /* CM base address */ #define AM33XX_CM_BASE 0x44e00000
Signature · 1 line
1.7.9.5
PATCH 16/55 ARM: OMAP2: PRM: remove references to prm-regbits-24xx.h from PRM core code
In reply to Tero KristoDone in preparation to make PRM a standalone driver.
--- arch/arm/mach-omap2/prm2xxx.c | 16 +++++++++++++++- arch/arm/mach-omap2/prm2xxx_3xxx.c | 1 - 2 files changed, 15 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/prm2xxx.c +15 -1
@@ -20,9 +20,23 @@#include "powerdomain.h" #include "clockdomain.h" +#include "prm2xxx.h" #include "prm2xxx_3xxx_private.h" #include "cm2xxx_3xxx.h" -#include "prm-regbits-24xx.h" + +#define OMAP24XX_FORCESTATE_MASK (1 << 18) +#define OMAP24XX_AUTOIDLE_MASK (1 << 0) +#define OMAP24XX_AUTO_EXTVOLT_MASK (1 << 15) + +#define OMAP24XX_SETOFF_LEVEL_SHIFT 12 +#define OMAP24XX_MEMRETCTRL_MASK (1 << 8) +#define OMAP24XX_SETRET_LEVEL_SHIFT 6 +#define OMAP24XX_VOLT_LEVEL_SHIFT 0 + +#define OMAP24XX_EXTWMPU_RST_SHIFT 6 +#define OMAP24XX_SECU_WD_RST_SHIFT 5 +#define OMAP24XX_MPU_WD_RST_SHIFT 4 +#define OMAP24XX_SECU_VIOL_RST_SHIFT 3/* * OMAP24xx PM_PWSTCTRL_*.POWERSTATE and PM_PWSTST_*.LASTSTATEENTERED bits -
arch/arm/mach-omap2/prm2xxx_3xxx.c +0 -1
@@ -18,7 +18,6 @@#include "powerdomain.h" #include "prm2xxx_3xxx_private.h" -#include "prm-regbits-24xx.h" #include "clockdomain.h" /**
Signature · 1 line
1.7.9.5
PATCH 17/55 ARM: AM33xx: PRM: remove references to prm-regbits-33xx.h from PRM core code
In reply to Tero KristoDone in preparation to make PRM a standalone driver.
--- arch/arm/mach-omap2/prm33xx.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/prm33xx.c +7 -1
@@ -21,7 +21,13 @@#include "powerdomain.h" #include "prm33xx.h" -#include "prm-regbits-33xx.h" + +#define AM33XX_LASTPOWERSTATEENTERED_SHIFT 24 +#define AM33XX_LASTPOWERSTATEENTERED_MASK (0x3 << 24) +#define AM33XX_LOGICSTATEST_SHIFT 2 +#define AM33XX_LOGICSTATEST_MASK (1 << 2) +#define AM33XX_LOWPOWERSTATECHANGE_SHIFT 4 +#define AM33XX_LOWPOWERSTATECHANGE_MASK (1 << 4)/* Read a register in a PRM instance */ u32 am33xx_prm_read_reg (s16 inst,u16 idx)
Signature · 1 line
1.7.9.5
PATCH 18/55 ARM: OMAP4: PRM: remove references to prm-regbits-44xx.h from PRM core code
In reply to Tero KristoDone in preparation to make PRM a standalone driver.
--- arch/arm/mach-omap2/prm44xx.c | 33 ++++++++++++++++++++++++++++++++- arch/arm/mach-omap2/prminst44xx.c | 3 ++- 2 files changed, 34 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/prm44xx.c +32 -1
@@ -23,11 +23,42 @@#include "prm44xx.h" #include "prm54xx.h" #include "prm7xx.h" -#include "prm-regbits-44xx.h" #include "prcm44xx.h" #include "prminst44xx_private.h" #include "powerdomain.h" +#define OMAP4430_GLOBAL_COLD_RST_SHIFT 0 +#define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT 1 +#define OMAP4430_MPU_SECURITY_VIOL_RST_SHIFT 2 +#define OMAP4430_MPU_WDT_RST_SHIFT 3 +#define OMAP4430_SECURE_WDT_RST_SHIFT 4 +#define OMAP4430_EXTERNAL_WARM_RST_SHIFT 5 +#define OMAP4430_VDD_MPU_VOLT_MGR_RST_SHIFT 6 +#define OMAP4430_VDD_IVA_VOLT_MGR_RST_SHIFT 7 +#define OMAP4430_VDD_CORE_VOLT_MGR_RST_SHIFT 8 +#define OMAP4430_ICEPICK_RST_SHIFT 9 +#define OMAP4430_C2C_RST_SHIFT 10 + +#define OMAP4430_GLOBAL_WUEN_MASK (1 << 16) + +#define OMAP4430_LASTPOWERSTATEENTERED_SHIFT 24 +#define OMAP4430_LASTPOWERSTATEENTERED_MASK (0x3 << 24) +#define OMAP4430_LOWPOWERSTATECHANGE_SHIFT 4 +#define OMAP4430_LOWPOWERSTATECHANGE_MASK (1 << 4) + +#define OMAP4430_LOGICRETSTATE_SHIFT 2 +#define OMAP4430_LOGICRETSTATE_MASK (1 << 2) +#define OMAP4430_LOGICSTATEST_SHIFT 2 +#define OMAP4430_LOGICSTATEST_MASK (1 << 2) + +#define OMAP4430_VP_CORE_TRANXDONE_ST_MASK (1 << 21) +#define OMAP4430_VP_IVA_TRANXDONE_ST_MASK (1 << 29) +#define OMAP4430_VP_MPU_TRANXDONE_ST_MASK (1 << 5) + +#define OMAP4430_WUCLK_CTRL_MASK (1 << 8) +#define OMAP4430_WUCLK_STATUS_SHIFT 9 +#define OMAP4430_WUCLK_STATUS_MASK (1 << 9) +/* Static data */ #define OMAP44XX_IRQ_GIC_START 32
arch/arm/mach-omap2/prminst44xx.c +2 -1
@@ -21,10 +21,11 @@#include "prm54xx.h" #include "prm7xx.h" #include "prminst44xx.h" -#include "prm-regbits-44xx.h" #include "prcm44xx.h" #include "prcm_mpu44xx.h" +#define OMAP4430_RST_GLOBAL_WARM_SW_MASK (1 << 0) +static void __iomem *_prm_bases[OMAP4_MAX_PRCM_PARTITIONS ];/**
Signature · 1 line
1.7.9.5
PATCH 19/55 ARM: OMAP3: PRM: remove references to prm-regbits-34xx.h from PRM core code
In reply to Tero KristoDone in preparation to make PRM a standalone driver.
--- arch/arm/mach-omap2/prm3xxx.c | 54 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/prm3xxx.c +53 -1
@@ -23,10 +23,62 @@#include "prm3xxx.h" #include "prm2xxx_3xxx_private.h" #include "cm2xxx_3xxx_private.h" -#include "prm-regbits-34xx.h" #include "cm3xxx.h" #include "cm-regbits-34xx.h" +#define OMAP3430_GLOBAL_COLD_RST_MASK (1 << 0) +#define OMAP3430_GLOBAL_COLD_RST_SHIFT 0 +#define OMAP3430_GLOBAL_SW_RST_SHIFT 1 +#define OMAP3430_SECURITY_VIOL_RST_SHIFT 3 +#define OMAP3430_MPU_WD_RST_SHIFT 4 +#define OMAP3430_SECURE_WD_RST_SHIFT 5 +#define OMAP3430_EXTERNAL_WARM_RST_SHIFT 6 +#define OMAP3430_VDD1_VOLTAGE_MANAGER_RST_SHIFT 7 +#define OMAP3430_VDD2_VOLTAGE_MANAGER_RST_SHIFT 8 +#define OMAP3430_ICEPICK_RST_SHIFT 9 +#define OMAP3430_ICECRUSHER_RST_SHIFT 10 + +#define OMAP3430_VP1_TRANXDONE_ST_MASK (1 << 15) +#define OMAP3430_VP2_TRANXDONE_ST_MASK (1 << 21) + +#define OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RST_MASK (1 << 0) +#define OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RSTPWRON_MASK (1 << 1) + +#define OMAP3430_PM_WKEN_DSS_EN_DSS_MASK (1 << 0) + +#define OMAP3430_GRPSEL_GPT1_MASK (1 << 0) +#define OMAP3430_GRPSEL_GPT12_MASK (1 << 1) +#define OMAP3430_GRPSEL_GPIO1_MASK (1 << 3) +#define OMAP3430_GRPSEL_MCBSP2_MASK (1 << 0) +#define OMAP3430_GRPSEL_MCBSP3_MASK (1 << 1) +#define OMAP3430_GRPSEL_MCBSP4_MASK (1 << 2) +#define OMAP3430_GRPSEL_UART3_MASK (1 << 11) +#define OMAP3430_GRPSEL_GPIO2_MASK (1 << 13) +#define OMAP3430_GRPSEL_GPIO3_MASK (1 << 14) +#define OMAP3430_GRPSEL_GPIO4_MASK (1 << 15) +#define OMAP3430_GRPSEL_GPIO5_MASK (1 << 16) +#define OMAP3430_GRPSEL_GPIO6_MASK (1 << 17) +#define OMAP3630_GRPSEL_UART4_MASK (1 << 18) + +#define OMAP3430_EN_IO_MASK (1 << 8) +#define OMAP3430_EN_IO_CHAIN_MASK (1 << 16) +#define OMAP3430_ST_IO_CHAIN_MASK (1 << 16) + +#define OMAP3430ES2_SAVEANDRESTORE_SHIFT 4 + +#define OMAP3430_LASTLOGICSTATEENTERED_MASK (1 << 2) +#define OMAP3430_LASTMEM1STATEENTERED_MASK (0x3 << 4) +#define OMAP3430_LASTMEM2STATEENTERED_MASK (0x3 << 6) +#define OMAP3430_LASTSHAREDL2CACHEFLATSTATEENTERED_MASK (0x3 << 8) +#define OMAP3430_LASTL2FLATMEMSTATEENTERED_MASK (0x3 << 10) + +#define OMAP3430_RST1_IVA2_MASK (1 << 0) +#define OMAP3430_RST2_IVA2_MASK (1 << 1) +#define OMAP3430_RST3_IVA2_MASK (1 << 2) + +#define OMAP3430_LASTPOWERSTATEENTERED_MASK (0x3 << 0) +#define OMAP3430_LOGICSTATEST_MASK (1 << 2) +static const struct omap_prcm_irq omap3_prcm_irqs[] = {OMAP_PRCM_IRQ ("wkup" ,0 ,0 ),OMAP_PRCM_IRQ ("io" ,9 ,1 ),
Signature · 1 line
1.7.9.5
PATCH 20/55 ARM: OMAP3+: PRCM: remove references to cm-regbits-34xx.h from PRCM core code
In reply to Tero KristoDone in preparation to make PRCM a standalone driver.
--- arch/arm/mach-omap2/cm33xx.c | 6 +++++- arch/arm/mach-omap2/cm3xxx.c | 8 +++++++- arch/arm/mach-omap2/cminst44xx.c | 6 +++++- arch/arm/mach-omap2/powerdomain-common.c | 1 - arch/arm/mach-omap2/prm3xxx.c | 7 ++++++- 5 files changed, 23 insertions(+), 5 deletions(-)
arch/arm/mach-omap2/cm33xx.c +5 -1
@@ -25,7 +25,6 @@#include "clockdomain.h" #include "cm.h" #include "cm33xx.h" -#include "cm-regbits-34xx.h" #include "prm33xx.h" #define AM33XX_MODULEMODE_SHIFT 0
@@ -36,6 +35,11 @@#define AM33XX_IDLEST_SHIFT 16#define AM33XX_IDLEST_MASK (0x3 << 16) +#define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0 +#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1 +#define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2 +#define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3 +/* * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield: *
arch/arm/mach-omap2/cm3xxx.c +7 -1
@@ -22,9 +22,15 @@#include "cm.h" #include "cm2xxx_3xxx_private.h" #include "cm3xxx.h" -#include "cm-regbits-34xx.h" #include "clockdomain.h" +#define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0 +#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1 +#define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2 +#define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3 + +#define OMAP3430_AUTO_PERIPH_DPLL_MASK (0x7 << 3) +static const u8 omap3xxx_cm_idlest_offs[] = {CM_IDLEST1 ,CM_IDLEST2 ,OMAP2430_CM_IDLEST3 };
arch/arm/mach-omap2/cminst44xx.c +5 -1
@@ -27,7 +27,6 @@#include "cm2_44xx.h" #include "cm44xx.h" #include "cminst44xx.h" -#include "cm-regbits-34xx.h" #include "prcm44xx.h" #include "prm44xx.h" #include "prcm_mpu44xx.h"
@@ -40,6 +39,11 @@#define OMAP4430_MODULEMODE_SHIFT 0#define OMAP4430_MODULEMODE_MASK (0x3 << 0) +#define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0 +#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1 +#define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2 +#define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3 +/* * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield: *
arch/arm/mach-omap2/powerdomain-common.c +0 -1
@@ -16,7 +16,6 @@#include <linux/bug.h> #include "pm.h" #include "cm.h" -#include "cm-regbits-34xx.h" #include "prm-regbits-34xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/prm3xxx.c +6 -1
@@ -24,7 +24,6 @@#include "prm2xxx_3xxx_private.h" #include "cm2xxx_3xxx_private.h" #include "cm3xxx.h" -#include "cm-regbits-34xx.h" #define OMAP3430_GLOBAL_COLD_RST_MASK (1 << 0)#define OMAP3430_GLOBAL_COLD_RST_SHIFT 0
@@ -79,6 +78,12 @@#define OMAP3430_LASTPOWERSTATEENTERED_MASK (0x3 << 0)#define OMAP3430_LOGICSTATEST_MASK (1 << 2) +#define OMAP3430ES2_EN_USBHOST2_SHIFT 1 + +#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_MASK (1 << 0) + +#define OMAP3430_CLKACTIVITY_IVA2_MASK (1 << 0) +static const struct omap_prcm_irq omap3_prcm_irqs[] = {OMAP_PRCM_IRQ ("wkup" ,0 ,0 ),OMAP_PRCM_IRQ ("io" ,9 ,1 ),
Signature · 1 line
1.7.9.5
PATCH 21/55 ARM: OMAP2+: PRCM: remove references to clock.h from PRCM core code
In reply to Tero KristoDone in preparation to make PRCM a standalone driver.
--- arch/arm/mach-omap2/clockdomain.c | 1 - arch/arm/mach-omap2/clockdomain.h | 2 +- arch/arm/mach-omap2/prcm-common.h | 2 ++ arch/arm/mach-omap2/prm_common.c | 11 ++++------- 4 files changed, 7 insertions(+), 9 deletions(-)
arch/arm/mach-omap2/clockdomain.c +0 -1
@@ -29,7 +29,6 @@#include <linux/bitops.h> #include "soc.h" -#include "clock.h" #include "clockdomain.h" /* clkdm_list contains all registered struct clockdomains */
arch/arm/mach-omap2/clockdomain.h +1 -1
@@ -17,7 +17,6 @@#include <linux/init.h> #include "powerdomain.h" -#include "clock.h" /* * Clockdomain flags
@@ -98,6 +97,7 @@ struct clkdm_dep {#define _CLKDM_FLAG_HWSUP_ENABLED BIT(0)struct omap_hwmod ; +struct clk ;/** * struct clockdomain - OMAP clockdomain
arch/arm/mach-omap2/prcm-common.h +2 -0
@@ -519,6 +519,8 @@ struct omap_prcm_irq_setup {struct of_device_id ; +extern void __iomem *clk_memmaps[]; +extern void omap_prcm_irq_cleanup (void );extern int omap_prcm_register_chain_handler (struct omap_prcm_irq_setup *irq_setup);
arch/arm/mach-omap2/prm_common.c +4 -7
@@ -32,7 +32,6 @@#include "prm2xxx.h" #include "prm3xxx.h" #include "prm44xx.h" -#include "clock.h" /* * OMAP_PRCM_MAX_NR_PENDING_REG: maximum number of PRM_IRQ*_MPU regs
@@ -481,18 +480,16 @@ static struct of_device_id omap_prcm_dt_match_table[] = { { } }; -static struct clk_hw_omap memmap_dummy_ck = { - .flags =MEMMAP_ADDRESSING , -}; -static u32 prm_clk_readl (void __iomem *reg) { -return omap2_clk_readl (&memmap_dummy_ck, reg); +struct clk_omap_reg *r = (struct clk_omap_reg *)® +return readl_relaxed (clk_memmaps[r->index] + r->offset); }static void prm_clk_writel (u32 val,void __iomem *reg) { -omap2_clk_writel (val, &memmap_dummy_ck, reg); +struct clk_omap_reg *r = (struct clk_omap_reg *)® +writel_relaxed (val, clk_memmaps[r->index] + r->offset); }static struct ti_clk_ll_ops omap_clk_ll_ops = {
Signature · 1 line
1.7.9.5
PATCH 22/55 ARM: OMAP2: CM: move cm2xxx.h header to a public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/cm2xxx.c | 2 +- arch/arm/mach-omap2/cm2xxx.h | 52 +-------------------------- arch/arm/mach-omap2/cm_common.c | 2 +- include/linux/power/omap/cm2xxx.h | 70 +++++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 53 deletions(-) create mode 100644 include/linux/power/omap/cm2xxx.h
arch/arm/mach-omap2/cm2xxx.c +1 -1
@@ -21,7 +21,7 @@#include "prm2xxx.h" #include "cm.h" #include "cm2xxx_3xxx_private.h" -#include "cm2xxx.h" +#include <linux/power/omap/cm2xxx.h> #include "clockdomain.h" /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */
arch/arm/mach-omap2/cm2xxx.h +1 -51
62 lines not on this page · raw message
arch/arm/mach-omap2/cm_common.c +1 -1
@@ -16,7 +16,7 @@#include <linux/errno.h> #include <linux/of.h> -#include "cm2xxx.h" +#include <linux/power/omap/cm2xxx.h> #include "cm3xxx.h" #include "cm44xx.h"
include/linux/power/omap/cm2xxx.h new file +70 -0
70 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 23/55 ARM: AM33xx: CM: move cm33xx.h header to a public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/cm33xx.c | 2 +- arch/arm/mach-omap2/cm33xx.h | 50 +-------------------------- include/linux/power/omap/cm33xx.h | 68 +++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 50 deletions(-) create mode 100644 include/linux/power/omap/cm33xx.h
arch/arm/mach-omap2/cm33xx.c +1 -1
@@ -24,7 +24,7 @@#include "clockdomain.h" #include "cm.h" -#include "cm33xx.h" +#include <linux/power/omap/cm33xx.h> #include "prm33xx.h" #define AM33XX_MODULEMODE_SHIFT 0
arch/arm/mach-omap2/cm33xx.h +1 -49
66 lines not on this page · raw message
include/linux/power/omap/cm33xx.h new file +68 -0
68 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 24/55 ARM: OMAP3: CM: move cm3xxx.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/cm3xxx.c | 2 +- arch/arm/mach-omap2/cm3xxx.h | 66 +---------------------------- arch/arm/mach-omap2/cm_common.c | 2 +- arch/arm/mach-omap2/prm3xxx.c | 2 +- include/linux/power/omap/cm3xxx.h | 82 +++++++++++++++++++++++++++++++++++++ 5 files changed, 86 insertions(+), 68 deletions(-) create mode 100644 include/linux/power/omap/cm3xxx.h
arch/arm/mach-omap2/cm3xxx.c +1 -1
@@ -21,7 +21,7 @@#include "prm2xxx_3xxx.h" #include "cm.h" #include "cm2xxx_3xxx_private.h" -#include "cm3xxx.h" +#include <linux/power/omap/cm3xxx.h> #include "clockdomain.h" #define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0
arch/arm/mach-omap2/cm3xxx.h +1 -65
74 lines not on this page · raw message
arch/arm/mach-omap2/cm_common.c +1 -1
@@ -17,7 +17,7 @@#include <linux/of.h> #include <linux/power/omap/cm2xxx.h> -#include "cm3xxx.h" +#include <linux/power/omap/cm3xxx.h> #include "cm44xx.h" /*
arch/arm/mach-omap2/prm3xxx.c +1 -1
@@ -23,7 +23,7 @@#include "prm3xxx.h" #include "prm2xxx_3xxx_private.h" #include "cm2xxx_3xxx_private.h" -#include "cm3xxx.h" +#include <linux/power/omap/cm3xxx.h> #define OMAP3430_GLOBAL_COLD_RST_MASK (1 << 0)#define OMAP3430_GLOBAL_COLD_RST_SHIFT 0
include/linux/power/omap/cm3xxx.h new file +82 -0
82 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 25/55 ARM: OMAP4: CM: remove unnecessary cm44xx.h header file
In reply to Tero KristoContains only two defines used by a single source code file, so move the definitions over and delete the file.
--- arch/arm/mach-omap2/cm44xx.h | 26 -------------------------- arch/arm/mach-omap2/cm_common.c | 3 ++- arch/arm/mach-omap2/cminst44xx.c | 4 +++- arch/arm/mach-omap2/powerdomain.c | 1 - 4 files changed, 5 insertions(+), 29 deletions(-) delete mode 100644 arch/arm/mach-omap2/cm44xx.h
arch/arm/mach-omap2/cm44xx.h deleted +0 -26
@@ -1,26 +0,0 @@ -/* -* OMAP4 Clock Management (CM) definitions -* -* Copyright (C) 2007-2011 Texas Instruments, Inc. -* Copyright (C) 2007-2009 Nokia Corporation -* -* Written by Paul Walmsley -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -* -* OMAP4 has two separate CM blocks, CM1 and CM2. This file contains -* macros and function prototypes that are applicable to both. -*/ -#ifndef __ARCH_ASM_MACH_OMAP2_CM44XX_H -#define __ARCH_ASM_MACH_OMAP2_CM44XX_H - - -#include "prcm-common.h" -#include "cm.h" - -#define OMAP4_CM_CLKSTCTRL 0x0000 -#define OMAP4_CM_STATICDEP 0x0004 - -#endif
arch/arm/mach-omap2/cm_common.c +2 -1
@@ -18,7 +18,8 @@#include <linux/power/omap/cm2xxx.h> #include <linux/power/omap/cm3xxx.h> -#include "cm44xx.h" +#include "cm.h" +#include "prcm-common.h" /* * cm_ll_data: function pointers to SoC-specific implementations of
arch/arm/mach-omap2/cminst44xx.c +3 -1
@@ -25,7 +25,6 @@#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h" -#include "cm44xx.h" #include "cminst44xx.h" #include "prcm44xx.h" #include "prm44xx.h"
@@ -44,6 +43,9 @@#define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2#define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3 +#define OMAP4_CM_CLKSTCTRL 0x0000 +#define OMAP4_CM_STATICDEP 0x0004 +/* * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield: *
arch/arm/mach-omap2/powerdomain.c +0 -1
@@ -24,7 +24,6 @@#include "cm2xxx_3xxx.h" #include "prcm44xx.h" -#include "cm44xx.h" #include "prm2xxx_3xxx.h" #include "prm44xx.h"
Signature · 1 line
1.7.9.5
PATCH 26/55 ARM: OMAP3: move cm2xxx_3xxx.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/clkt_iclk.c | 2 +- arch/arm/mach-omap2/clock3xxx.c | 2 +- arch/arm/mach-omap2/clockdomains2420_data.c | 2 +- arch/arm/mach-omap2/clockdomains2430_data.c | 2 +- arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | 2 +- arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/cm2xxx.h | 2 +- arch/arm/mach-omap2/cm2xxx_3xxx.h | 72 ---------------------- arch/arm/mach-omap2/cm2xxx_3xxx_private.h | 2 +- arch/arm/mach-omap2/cm3xxx.h | 2 +- arch/arm/mach-omap2/dpll3xxx.c | 2 +- arch/arm/mach-omap2/dsp.c | 2 +- arch/arm/mach-omap2/pm-debug.c | 2 +- arch/arm/mach-omap2/powerdomain.c | 2 +- arch/arm/mach-omap2/powerdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/prm2xxx.c | 2 +- arch/arm/mach-omap2/serial.c | 2 +- include/linux/power/omap/cm2xxx_3xxx.h | 70 +++++++++++++++++++++ 18 files changed, 86 insertions(+), 88 deletions(-) delete mode 100644 arch/arm/mach-omap2/cm2xxx_3xxx.h create mode 100644 include/linux/power/omap/cm2xxx_3xxx.h
arch/arm/mach-omap2/clkt_iclk.c +1 -1
@@ -17,7 +17,7 @@#include "clock.h" #include "clock2xxx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" /* Private functions */
arch/arm/mach-omap2/clock3xxx.c +1 -1
@@ -26,7 +26,7 @@#include "clock3xxx.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-34xx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h" /*
arch/arm/mach-omap2/clockdomains2420_data.c +1 -1
@@ -38,7 +38,7 @@#include "soc.h" #include "clockdomain.h" #include "prm2xxx_3xxx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains2430_data.c +1 -1
@@ -38,7 +38,7 @@#include "soc.h" #include "clockdomain.h" #include "prm2xxx_3xxx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c +1 -1
@@ -37,7 +37,7 @@#include "clockdomain.h" #include "prm2xxx_3xxx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" #include "cm-regbits-34xx.h" #include "cm-regbits-44xx.h"
arch/arm/mach-omap2/clockdomains3xxx_data.c +1 -1
@@ -36,7 +36,7 @@#include "soc.h" #include "clockdomain.h" #include "prm2xxx_3xxx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h" #include "prm-regbits-34xx.h"
arch/arm/mach-omap2/cm2xxx.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ASM_MACH_OMAP2_CM2XXX_H#include "prcm-common.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx.h> #define OMAP2420_CM_REGADDR (module, reg) \
arch/arm/mach-omap2/cm2xxx_3xxx.h deleted +0 -72
72 lines not on this page · raw message
arch/arm/mach-omap2/cm2xxx_3xxx_private.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ARM_MACH_OMAP2_CM2XXX_3XXX_PRIVATE_H#include "cm.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #ifndef __ASSEMBLER__
arch/arm/mach-omap2/cm3xxx.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ASM_MACH_OMAP2_CM3XXX_H#include "prcm-common.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include <linux/power/omap/cm3xxx.h> #define OMAP34XX_CM_REGADDR (module, reg) \
arch/arm/mach-omap2/dpll3xxx.c +1 -1
@@ -31,7 +31,7 @@#include "soc.h" #include "clockdomain.h" #include "clock.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h" /* CM_AUTOIDLE_PLL*.AUTO_* bit values */
arch/arm/mach-omap2/dsp.c +1 -1
@@ -24,7 +24,7 @@#include <asm/memblock.h> #include "control.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "prm2xxx_3xxx.h" #ifdef CONFIG_TIDSPBRIDGE_DVFS #include "omap-pm.h"
arch/arm/mach-omap2/pm-debug.c +1 -1
@@ -33,7 +33,7 @@#include "omap-pm.h" #include "soc.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "prm2xxx_3xxx.h" #include "pm.h"
arch/arm/mach-omap2/powerdomain.c +1 -1
@@ -22,7 +22,7 @@#include <linux/spinlock.h> #include <trace/events/power.h> -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "prcm44xx.h" #include "prm2xxx_3xxx.h" #include "prm44xx.h"
arch/arm/mach-omap2/powerdomains3xxx_data.c +1 -1
@@ -21,7 +21,7 @@#include "prcm-common.h" #include "prm2xxx_3xxx.h" #include "prm-regbits-34xx.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h" /*
arch/arm/mach-omap2/prm2xxx.c +1 -1
@@ -22,7 +22,7 @@#include "clockdomain.h" #include "prm2xxx.h" #include "prm2xxx_3xxx_private.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #define OMAP24XX_FORCESTATE_MASK (1 << 18)#define OMAP24XX_AUTOIDLE_MASK (1 << 0)
arch/arm/mach-omap2/serial.c +1 -1
@@ -36,7 +36,7 @@#include "soc.h" #include "prm2xxx_3xxx.h" #include "pm.h" -#include "cm2xxx_3xxx.h" +#include <linux/power/omap/cm2xxx_3xxx.h> #include "prm-regbits-34xx.h" #include "control.h" #include "mux.h"
include/linux/power/omap/cm2xxx_3xxx.h new file +70 -0
70 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 27/55 ARM: OMAP4+: CM: remove unused cm_44xx_54xx.h header file
In reply to Tero KristoThis is not used for anything, so removed.
--- arch/arm/mach-omap2/cm1_44xx.h | 2 -- arch/arm/mach-omap2/cm1_54xx.h | 2 -- arch/arm/mach-omap2/cm1_7xx.h | 2 -- arch/arm/mach-omap2/cm2_44xx.h | 2 -- arch/arm/mach-omap2/cm2_54xx.h | 2 -- arch/arm/mach-omap2/cm2_7xx.h | 2 -- arch/arm/mach-omap2/cm_44xx_54xx.h | 36 ------------------------------------ 7 files changed, 48 deletions(-) delete mode 100644 arch/arm/mach-omap2/cm_44xx_54xx.h
arch/arm/mach-omap2/cm1_44xx.h +0 -2
@@ -25,8 +25,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM1_44XX_H#define __ARCH_ARM_MACH_OMAP2_CM1_44XX_H -#include "cm_44xx_54xx.h" -/* CM1 base address */ #define OMAP4430_CM1_BASE 0x4a004000
arch/arm/mach-omap2/cm1_54xx.h +0 -2
@@ -22,8 +22,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM1_54XX_H#define __ARCH_ARM_MACH_OMAP2_CM1_54XX_H -#include "cm_44xx_54xx.h" -/* CM1 base address */ #define OMAP54XX_CM_CORE_AON_BASE 0x4a004000
arch/arm/mach-omap2/cm1_7xx.h +0 -2
@@ -23,8 +23,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM1_7XX_H#define __ARCH_ARM_MACH_OMAP2_CM1_7XX_H -#include "cm_44xx_54xx.h" -/* CM1 base address */ #define DRA7XX_CM_CORE_AON_BASE 0x4a005000
arch/arm/mach-omap2/cm2_44xx.h +0 -2
@@ -25,8 +25,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM2_44XX_H#define __ARCH_ARM_MACH_OMAP2_CM2_44XX_H -#include "cm_44xx_54xx.h" -/* CM2 base address */ #define OMAP4430_CM2_BASE 0x4a008000
arch/arm/mach-omap2/cm2_54xx.h +0 -2
@@ -21,8 +21,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM2_54XX_H#define __ARCH_ARM_MACH_OMAP2_CM2_54XX_H -#include "cm_44xx_54xx.h" -/* CM2 base address */ #define OMAP54XX_CM_CORE_BASE 0x4a008000
arch/arm/mach-omap2/cm2_7xx.h +0 -2
@@ -22,8 +22,6 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM2_7XX_H#define __ARCH_ARM_MACH_OMAP2_CM2_7XX_H -#include "cm_44xx_54xx.h" -/* CM2 base address */ #define DRA7XX_CM_CORE_BASE 0x4a008000
arch/arm/mach-omap2/cm_44xx_54xx.h deleted +0 -36
@@ -1,36 +0,0 @@ -/* -* OMAP44xx and OMAP54xx CM1/CM2 function prototypes -* -* Copyright (C) 2009-2013 Texas Instruments, Inc. -* Copyright (C) 2009-2010 Nokia Corporation -* -* Paul Walmsley (paul at pwsan.com) -* Rajendra Nayak (rnayak at ti.com) -* Benoit Cousson (b-cousson at ti.com) -* -* This file is automatically generated from the OMAP hardware databases. -* We respectfully ask that any modifications to this file be coordinated -* with the public linux-omap at vger.kernel.org mailing list and the -* authors above to ensure that the autogeneration scripts are kept -* up-to-date with the file contents. -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -* -*/ - -#ifndef __ARCH_ARM_MACH_OMAP2_CM_44XX_54XX_H -#define __ARCH_ARM_MACH_OMAP2_CM_44XX_55XX_H - -/* CM1 Function prototypes */ -extern u32 omap4_cm1_read_inst_reg (s16 inst,u16 idx); -extern void omap4_cm1_write_inst_reg (u32 val,s16 inst,u16 idx); -extern u32 omap4_cm1_rmw_inst_reg_bits (u32 mask,u32 bits,s16 inst,s16 idx); - -/* CM2 Function prototypes */ -extern u32 omap4_cm2_read_inst_reg (s16 inst,u16 idx); -extern void omap4_cm2_write_inst_reg (u32 val,s16 inst,u16 idx); -extern u32 omap4_cm2_rmw_inst_reg_bits (u32 mask,u32 bits,s16 inst,s16 idx); - -#endif
Signature · 1 line
1.7.9.5
PATCH 28/55 ARM: OMAP4: CM: make all omap4_cminst_read/write calls static
In reply to Tero KristoThese are not used outside the cminst44xx.c anymore, thus make them static.
--- arch/arm/mach-omap2/cminst44xx.c | 23 +++++++++++------------ arch/arm/mach-omap2/cminst44xx.h | 14 -------------- 2 files changed, 11 insertions(+), 26 deletions(-)
arch/arm/mach-omap2/cminst44xx.c +11 -12
@@ -80,6 +80,8 @@ void omap_cm_base_init(void)/* Private functions */ +static u32 omap4_cminst_read_inst_reg (u8 part,u16 inst,u16 idx); +/** * _clkctrl_idlest - read a CM_*_CLKCTRL register; mask & shift IDLEST bitfield * @part: PRCM partition ID that the CM_CLKCTRL register exists in
@@ -118,10 +120,8 @@ static bool _is_module_ready(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs) v == CLKCTRL_IDLEST_INTERFACE_IDLE) ? true : false; } -/* Public functions */ -/* Read a register in a CM instance */ -u32 omap4_cminst_read_inst_reg (u8 part,u16 inst,u16 idx) +static u32 omap4_cminst_read_inst_reg (u8 part,u16 inst,u16 idx) { BUG_ON(part >= OMAP4_MAX_PRCM_PARTITIONS || part == OMAP4430_INVALID_PRCM_PARTITION ||
@@ -130,7 +130,7 @@ u32 omap4_cminst_read_inst_reg(u8 part, u16 inst, u16 idx) }/* Write into a register in a CM instance */ -void omap4_cminst_write_inst_reg (u32 val,u8 part,u16 inst,u16 idx) +static void omap4_cminst_write_inst_reg (u32 val,u8 part,u16 inst,u16 idx) { BUG_ON(part >= OMAP4_MAX_PRCM_PARTITIONS || part == OMAP4430_INVALID_PRCM_PARTITION ||
@@ -139,8 +139,8 @@ void omap4_cminst_write_inst_reg(u32 val, u8 part, u16 inst, u16 idx) }/* Read-modify-write a register in CM1. Caller must lock */ -u32 omap4_cminst_rmw_inst_reg_bits (u32 mask,u32 bits,u8 part,u16 inst, -s16 idx) +static u32 omap4_cminst_rmw_inst_reg_bits (u32 mask,u32 bits,u8 part,u16 inst, +s16 idx) {u32 v;
@@ -152,17 +152,18 @@ u32 omap4_cminst_rmw_inst_reg_bits(u32 mask, u32 bits, u8 part, u16 inst,return v; } -u32 omap4_cminst_set_inst_reg_bits (u32 bits,u8 part,u16 inst,s16 idx) +static u32 omap4_cminst_set_inst_reg_bits (u32 bits,u8 part,u16 inst,s16 idx) {return omap4_cminst_rmw_inst_reg_bits (bits, bits, part, inst, idx); } -u32 omap4_cminst_clear_inst_reg_bits (u32 bits,u8 part,u16 inst,s16 idx) +static u32 omap4_cminst_clear_inst_reg_bits (u32 bits,u8 part,u16 inst, +s16 idx) {return omap4_cminst_rmw_inst_reg_bits (bits,0x0 , part, inst, idx); } -u32 omap4_cminst_read_inst_reg_bits (u8 part,u16 inst,s16 idx,u32 mask) +static u32 omap4_cminst_read_inst_reg_bits (u8 part,u16 inst,s16 idx,u32 mask) {u32 v;
@@ -173,9 +174,7 @@ u32 omap4_cminst_read_inst_reg_bits(u8 part, u16 inst, s16 idx, u32 mask)return v; } -/* -* -*/ +/* Public functions */ /** * _clktrctrl_write - write @c to a CM_CLKSTCTRL.CLKTRCTRL register bitfield
arch/arm/mach-omap2/cminst44xx.h +0 -14
@@ -23,20 +23,6 @@ extern void omap4_cminst_module_enable(u8 mode, u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs);extern void omap4_cminst_module_disable (u8 part,u16 inst,s16 cdoffs,u16 clkctrl_offs); -/* -* In an ideal world, we would not export these low-level functions, -* but this will probably take some time to fix properly -*/ -u32 omap4_cminst_read_inst_reg (u8 part,u16 inst,u16 idx); -void omap4_cminst_write_inst_reg (u32 val,u8 part,u16 inst,u16 idx); -u32 omap4_cminst_rmw_inst_reg_bits (u32 mask,u32 bits,u8 part, -u16 inst,s16 idx); -u32 omap4_cminst_set_inst_reg_bits (u32 bits,u8 part,u16 inst, -s16 idx); -u32 omap4_cminst_clear_inst_reg_bits (u32 bits,u8 part,u16 inst, -s16 idx); -extern u32 omap4_cminst_read_inst_reg_bits (u8 part,u16 inst,s16 idx, -u32 mask);extern void omap_cm_base_init (void );
Signature · 1 line
1.7.9.5
PATCH 29/55 ARM: OMAP4: CM: rename cminst44xx.h to cm44xx.h and move it to public location
In reply to Tero KristoThe new name follows the naming convention of the other public CM header files.
--- arch/arm/mach-omap2/cminst44xx.c | 2 +- arch/arm/mach-omap2/cminst44xx.h | 29 ----------------------------- arch/arm/mach-omap2/io.c | 2 +- arch/arm/mach-omap2/omap_hwmod.c | 2 +- include/linux/power/omap/cm44xx.h | 30 ++++++++++++++++++++++++++++++ 5 files changed, 33 insertions(+), 32 deletions(-) delete mode 100644 arch/arm/mach-omap2/cminst44xx.h create mode 100644 include/linux/power/omap/cm44xx.h
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -25,7 +25,7 @@#include "cm.h" #include "cm1_44xx.h" #include "cm2_44xx.h" -#include "cminst44xx.h" +#include <linux/power/omap/cm44xx.h> #include "prcm44xx.h" #include "prm44xx.h" #include "prcm_mpu44xx.h"
arch/arm/mach-omap2/cminst44xx.h deleted +0 -29
@@ -1,29 +0,0 @@ -/* -* OMAP4 Clock Management (CM) function prototypes -* -* Copyright (C) 2010 Nokia Corporation -* Paul Walmsley -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -*/ -#ifndef __ARCH_ASM_MACH_OMAP2_CMINST44XX_H -#define __ARCH_ASM_MACH_OMAP2_CMINST44XX_H - -bool omap4_cminst_is_clkdm_in_hwsup (u8 part,u16 inst,u16 cdoffs); -void omap4_cminst_clkdm_enable_hwsup (u8 part,u16 inst,u16 cdoffs); -void omap4_cminst_clkdm_disable_hwsup (u8 part,u16 inst,u16 cdoffs); -void omap4_cminst_clkdm_force_sleep (u8 part,u16 inst,u16 cdoffs); -void omap4_cminst_clkdm_force_wakeup (u8 part,u16 inst,u16 cdoffs); -extern int omap4_cminst_wait_module_ready (u8 part,u16 inst,s16 cdoffs,u16 clkctrl_offs); -extern int omap4_cminst_wait_module_idle (u8 part,u16 inst,s16 cdoffs, -u16 clkctrl_offs); -extern void omap4_cminst_module_enable (u8 mode,u8 part,u16 inst,s16 cdoffs, -u16 clkctrl_offs); -extern void omap4_cminst_module_disable (u8 part,u16 inst,s16 cdoffs, -u16 clkctrl_offs); - -extern void omap_cm_base_init (void ); - -#endif
arch/arm/mach-omap2/io.c +1 -1
@@ -49,7 +49,7 @@#include "cm.h" #include "prcm_mpu44xx.h" #include "prminst44xx.h" -#include "cminst44xx.h" +#include <linux/power/omap/cm44xx.h> #include "prm2xxx.h" #include "prm3xxx.h" #include "prm44xx.h"
arch/arm/mach-omap2/omap_hwmod.c +1 -1
@@ -153,7 +153,7 @@#include "powerdomain.h" #include "cm2xxx.h" #include "cm3xxx.h" -#include "cminst44xx.h" +#include <linux/power/omap/cm44xx.h> #include "cm33xx.h" #include "prm.h" #include "prm3xxx.h"
include/linux/power/omap/cm44xx.h new file +30 -0
@@ -0,0 +1,30 @@ +/* +* OMAP4 Clock Management (CM) function prototypes +* +* Copyright (C) 2010 Nokia Corporation +* Paul Walmsley +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ +#ifndef __LINUX_POWER_OMAP_CM44XX_H +#define __LINUX_POWER_OMAP_CM44XX_H + +bool omap4_cminst_is_clkdm_in_hwsup (u8 part,u16 inst,u16 cdoffs); +void omap4_cminst_clkdm_enable_hwsup (u8 part,u16 inst,u16 cdoffs); +void omap4_cminst_clkdm_disable_hwsup (u8 part,u16 inst,u16 cdoffs); +void omap4_cminst_clkdm_force_sleep (u8 part,u16 inst,u16 cdoffs); +void omap4_cminst_clkdm_force_wakeup (u8 part,u16 inst,u16 cdoffs); +int omap4_cminst_wait_module_ready (u8 part,u16 inst,s16 cdoffs, +u16 clkctrl_offs); +int omap4_cminst_wait_module_idle (u8 part,u16 inst,s16 cdoffs, +u16 clkctrl_offs); +void omap4_cminst_module_enable (u8 mode,u8 part,u16 inst,s16 cdoffs, +u16 clkctrl_offs); +void omap4_cminst_module_disable (u8 part,u16 inst,s16 cdoffs, +u16 clkctrl_offs); + +void omap_cm_base_init (void ); + +#endif
Signature · 1 line
1.7.9.5
PATCH 30/55 ARM: OMAP2+: CM: move cm.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/clock.c | 2 +- arch/arm/mach-omap2/clock2xxx.c | 2 +- arch/arm/mach-omap2/clockdomains33xx_data.c | 2 +- arch/arm/mach-omap2/cm.h | 64 --------------------------- arch/arm/mach-omap2/cm2xxx.c | 2 +- arch/arm/mach-omap2/cm2xxx_3xxx_private.h | 2 +- arch/arm/mach-omap2/cm33xx.c | 2 +- arch/arm/mach-omap2/cm33xx.h | 2 +- arch/arm/mach-omap2/cm3xxx.c | 2 +- arch/arm/mach-omap2/cm44xx.c | 2 +- arch/arm/mach-omap2/cm_common.c | 2 +- arch/arm/mach-omap2/cminst44xx.c | 2 +- arch/arm/mach-omap2/io.c | 2 +- arch/arm/mach-omap2/powerdomain-common.c | 2 +- include/linux/power/omap/cm.h | 64 +++++++++++++++++++++++++++ 15 files changed, 77 insertions(+), 77 deletions(-) delete mode 100644 arch/arm/mach-omap2/cm.h create mode 100644 include/linux/power/omap/cm.h
arch/arm/mach-omap2/clock.c +1 -1
@@ -31,7 +31,7 @@#include "soc.h" #include "clockdomain.h" #include "clock.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm2xxx.h" #include "cm3xxx.h" #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/clock2xxx.c +1 -1
@@ -25,7 +25,7 @@#include "soc.h" #include "clock.h" #include "clock2xxx.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm-regbits-24xx.h" struct clk_hw *dclk_hw;
arch/arm/mach-omap2/clockdomains33xx_data.c +1 -1
@@ -18,7 +18,7 @@#include <linux/io.h> #include "clockdomain.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm33xx.h" #include "cm-regbits-33xx.h"
arch/arm/mach-omap2/cm.h deleted +0 -64
64 lines not on this page · raw message
arch/arm/mach-omap2/cm2xxx.c +1 -1
@@ -19,7 +19,7 @@#include <linux/io.h> #include "prm2xxx.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm2xxx.h> #include "clockdomain.h"
arch/arm/mach-omap2/cm2xxx_3xxx_private.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM2XXX_3XXX_PRIVATE_H#define __ARCH_ARM_MACH_OMAP2_CM2XXX_3XXX_PRIVATE_H -#include "cm.h" +#include <linux/power/omap/cm.h> #include <linux/power/omap/cm2xxx_3xxx.h> #ifndef __ASSEMBLER__
arch/arm/mach-omap2/cm33xx.c +1 -1
@@ -23,7 +23,7 @@#include <linux/io.h> #include "clockdomain.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include <linux/power/omap/cm33xx.h> #include "prm33xx.h"
arch/arm/mach-omap2/cm33xx.h +1 -1
@@ -17,7 +17,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_CM_33XX_H#define __ARCH_ARM_MACH_OMAP2_CM_33XX_H -#include "cm.h" +#include <linux/power/omap/cm.h> #include <linux/power/omap/cm33xx.h> /* CM base address */
arch/arm/mach-omap2/cm3xxx.c +1 -1
@@ -19,7 +19,7 @@#include <linux/io.h> #include "prm2xxx_3xxx.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm3xxx.h> #include "clockdomain.h"
arch/arm/mach-omap2/cm44xx.c +1 -1
@@ -18,7 +18,7 @@#include <linux/err.h> #include <linux/io.h> -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/cm_common.c +1 -1
@@ -18,7 +18,7 @@#include <linux/power/omap/cm2xxx.h> #include <linux/power/omap/cm3xxx.h> -#include "cm.h" +#include <linux/power/omap/cm.h> #include "prcm-common.h" /*
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -22,7 +22,7 @@#include <linux/io.h> #include "clockdomain.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "cm1_44xx.h" #include "cm2_44xx.h" #include <linux/power/omap/cm44xx.h>
arch/arm/mach-omap2/io.c +1 -1
@@ -46,7 +46,7 @@#include "cm2xxx.h" #include "cm3xxx.h" #include "prm.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "prcm_mpu44xx.h" #include "prminst44xx.h" #include <linux/power/omap/cm44xx.h>
arch/arm/mach-omap2/powerdomain-common.c +1 -1
@@ -15,7 +15,7 @@#include <linux/kernel.h> #include <linux/bug.h> #include "pm.h" -#include "cm.h" +#include <linux/power/omap/cm.h> #include "prm-regbits-34xx.h" #include "prm-regbits-44xx.h"
include/linux/power/omap/cm.h new file +64 -0
64 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 31/55 ARM: OMAP2: export parts of prm2xxx.h header file
In reply to Tero KristoSome of these are shared between the PRM driver and mach-omap2 board code.
--- arch/arm/mach-omap2/cm2xxx.c | 4 +++- arch/arm/mach-omap2/prm2xxx.c | 2 +- arch/arm/mach-omap2/prm2xxx.h | 20 +----------------- arch/arm/mach-omap2/prm_common.c | 2 +- include/linux/power/omap/prm2xxx.h | 39 ++++++++++++++++++++++++++++++++++++ 5 files changed, 45 insertions(+), 22 deletions(-) create mode 100644 include/linux/power/omap/prm2xxx.h
arch/arm/mach-omap2/cm2xxx.c +3 -1
@@ -18,11 +18,13 @@#include <linux/err.h> #include <linux/io.h> -#include "prm2xxx.h" +#include <linux/power/omap/prm2xxx.h> #include <linux/power/omap/cm.h> #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm2xxx.h> #include "clockdomain.h" +#include "prcm-common.h" +#include "prm2xxx_3xxx.h" /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */ #define DPLL_AUTOIDLE_DISABLE 0x0
arch/arm/mach-omap2/prm2xxx.c +1 -1
@@ -20,7 +20,7 @@#include "powerdomain.h" #include "clockdomain.h" -#include "prm2xxx.h" +#include <linux/power/omap/prm2xxx.h> #include "prm2xxx_3xxx_private.h" #include <linux/power/omap/cm2xxx_3xxx.h>
arch/arm/mach-omap2/prm2xxx.h +1 -19
@@ -19,6 +19,7 @@#include "prcm-common.h" #include "prm.h" #include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx.h> #define OMAP2420_PRM_REGADDR (module, reg) \ OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE + (module) + (reg))
@@ -35,9 +36,7 @@* */ -#define OMAP2_PRCM_REVISION_OFFSET 0x0000#define OMAP2420_PRCM_REVISION OMAP2420_PRM_REGADDR(OCP_MOD, 0x0000) -#define OMAP2_PRCM_SYSCONFIG_OFFSET 0x0010#define OMAP2420_PRCM_SYSCONFIG OMAP2420_PRM_REGADDR(OCP_MOD, 0x0010)#define OMAP2_PRCM_IRQSTATUS_MPU_OFFSET 0x0018
@@ -45,11 +44,9 @@#define OMAP2_PRCM_IRQENABLE_MPU_OFFSET 0x001c#define OMAP2420_PRCM_IRQENABLE_MPU OMAP2420_PRM_REGADDR(OCP_MOD, 0x001c) -#define OMAP2_PRCM_VOLTCTRL_OFFSET 0x0050#define OMAP2420_PRCM_VOLTCTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0050)#define OMAP2_PRCM_VOLTST_OFFSET 0x0054#define OMAP2420_PRCM_VOLTST OMAP2420_PRM_REGADDR(OCP_MOD, 0x0054) -#define OMAP2_PRCM_CLKSRC_CTRL_OFFSET 0x0060#define OMAP2420_PRCM_CLKSRC_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0060)#define OMAP2_PRCM_CLKOUT_CTRL_OFFSET 0x0070#define OMAP2420_PRCM_CLKOUT_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0070)
@@ -59,9 +56,7 @@#define OMAP2420_PRCM_CLKCFG_CTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0080)#define OMAP2_PRCM_CLKCFG_STATUS_OFFSET 0x0084#define OMAP2420_PRCM_CLKCFG_STATUS OMAP2420_PRM_REGADDR(OCP_MOD, 0x0084) -#define OMAP2_PRCM_VOLTSETUP_OFFSET 0x0090#define OMAP2420_PRCM_VOLTSETUP OMAP2420_PRM_REGADDR(OCP_MOD, 0x0090) -#define OMAP2_PRCM_CLKSSETUP_OFFSET 0x0094#define OMAP2420_PRCM_CLKSSETUP OMAP2420_PRM_REGADDR(OCP_MOD, 0x0094)#define OMAP2_PRCM_POLCTRL_OFFSET 0x0098#define OMAP2420_PRCM_POLCTRL OMAP2420_PRM_REGADDR(OCP_MOD, 0x0098)
@@ -119,17 +114,4 @@#define OMAP24XX_PRCM_IRQSTATUS_IVA 0x00f8#define OMAP24XX_PRCM_IRQENABLE_IVA 0x00fc -#ifndef __ASSEMBLER__ -/* Function prototypes */ -extern int omap2xxx_clkdm_sleep (struct clockdomain *clkdm); -extern int omap2xxx_clkdm_wakeup (struct clockdomain *clkdm); - -extern void omap2xxx_prm_dpll_reset (void ); -void omap2xxx_prm_clear_mod_irqs (s16 module,u8 regs,u32 wkst_mask); -void omap2xxx_prm_init_pm (void ); - -extern int __init omap2xxx_prm_init (void ); - -#endif -#endif
arch/arm/mach-omap2/prm_common.c +1 -1
@@ -29,7 +29,7 @@#include <linux/clk/ti.h> #include "prm2xxx_3xxx.h" -#include "prm2xxx.h" +#include <linux/power/omap/prm2xxx.h> #include "prm3xxx.h" #include "prm44xx.h"
include/linux/power/omap/prm2xxx.h new file +39 -0
@@ -0,0 +1,39 @@ +/* +* OMAP2xxx Power/Reset Management (PRM) register definitions +* +* Copyright (C) 2007-2009, 2011-2012 Texas Instruments, Inc. +* Copyright (C) 2008-2010 Nokia Corporation +* Paul Walmsley +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +* +* The PRM hardware modules on the OMAP2/3 are quite similar to each +* other. The PRM on OMAP4 has a new register layout, and is handled +* in a separate file. +*/ +#ifndef __LINUX_POWER_OMAP_PRM2XXX_H +#define __LINUX_POWER_OMAP_PRM2XXX_H + +#define OMAP2_PRCM_REVISION_OFFSET 0x0000 +#define OMAP2_PRCM_SYSCONFIG_OFFSET 0x0010 +#define OMAP2_PRCM_VOLTCTRL_OFFSET 0x0050 +#define OMAP2_PRCM_CLKSRC_CTRL_OFFSET 0x0060 +#define OMAP2_PRCM_VOLTSETUP_OFFSET 0x0090 +#define OMAP2_PRCM_CLKSSETUP_OFFSET 0x0094 + +#ifndef __ASSEMBLER__ + +struct clockdomain ; + +/* Function prototypes */ +int omap2xxx_clkdm_sleep (struct clockdomain *clkdm); +int omap2xxx_clkdm_wakeup (struct clockdomain *clkdm); +void omap2xxx_prm_dpll_reset (void ); +void omap2xxx_prm_clear_mod_irqs (s16 module,u8 regs,u32 wkst_mask); +void omap2xxx_prm_init_pm (void ); +int __init omap2xxx_prm_init (void ); +#endif + +#endif
Signature · 1 line
1.7.9.5
PATCH 32/55 ARM: OMAP2+: PRM: move prm2xxx_3xxx.h to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/clock3xxx.c | 2 +- arch/arm/mach-omap2/clockdomains2420_data.c | 2 +- arch/arm/mach-omap2/clockdomains2430_data.c | 2 +- arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | 2 +- arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/cm2xxx.c | 2 +- arch/arm/mach-omap2/cm3xxx.c | 3 +- arch/arm/mach-omap2/dsp.c | 2 +- arch/arm/mach-omap2/pm-debug.c | 2 +- arch/arm/mach-omap2/powerdomain.c | 2 +- arch/arm/mach-omap2/powerdomains2xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/prm2xxx.h | 2 +- arch/arm/mach-omap2/prm2xxx_3xxx.h | 198 ---------------------- arch/arm/mach-omap2/prm2xxx_3xxx_private.h | 2 +- arch/arm/mach-omap2/prm3xxx.h | 2 +- arch/arm/mach-omap2/prm_common.c | 2 +- arch/arm/mach-omap2/serial.c | 2 +- arch/arm/mach-omap2/sram.c | 2 +- arch/arm/mach-omap2/vp3xxx_data.c | 2 +- include/linux/power/omap/prm2xxx_3xxx.h | 197 +++++++++++++++++++++ 21 files changed, 217 insertions(+), 217 deletions(-) delete mode 100644 arch/arm/mach-omap2/prm2xxx_3xxx.h create mode 100644 include/linux/power/omap/prm2xxx_3xxx.h
arch/arm/mach-omap2/clock3xxx.c +1 -1
@@ -24,7 +24,7 @@#include "soc.h" #include "clock.h" #include "clock3xxx.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "prm-regbits-34xx.h" #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h"
arch/arm/mach-omap2/clockdomains2420_data.c +1 -1
@@ -37,7 +37,7 @@#include "soc.h" #include "clockdomain.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains2430_data.c +1 -1
@@ -37,7 +37,7 @@#include "soc.h" #include "clockdomain.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c +1 -1
@@ -36,7 +36,7 @@#include <linux/io.h> #include "clockdomain.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h" #include "cm-regbits-34xx.h"
arch/arm/mach-omap2/clockdomains3xxx_data.c +1 -1
@@ -35,7 +35,7 @@#include "soc.h" #include "clockdomain.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h" #include "prm-regbits-34xx.h"
arch/arm/mach-omap2/cm2xxx.c +1 -1
@@ -24,7 +24,7 @@#include <linux/power/omap/cm2xxx.h> #include "clockdomain.h" #include "prcm-common.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */ #define DPLL_AUTOIDLE_DISABLE 0x0
arch/arm/mach-omap2/cm3xxx.c +2 -1
@@ -18,11 +18,12 @@#include <linux/err.h> #include <linux/io.h> -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm.h> #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm3xxx.h> #include "clockdomain.h" +#include "prcm-common.h" #define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1
arch/arm/mach-omap2/dsp.c +1 -1
@@ -25,7 +25,7 @@#include "control.h" #include <linux/power/omap/cm2xxx_3xxx.h> -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #ifdef CONFIG_TIDSPBRIDGE_DVFS #include "omap-pm.h" #endif
arch/arm/mach-omap2/pm-debug.c +1 -1
@@ -34,7 +34,7 @@#include "soc.h" #include <linux/power/omap/cm2xxx_3xxx.h> -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "pm.h" u32 enable_off_mode;
arch/arm/mach-omap2/powerdomain.c +1 -1
@@ -24,7 +24,7 @@#include <linux/power/omap/cm2xxx_3xxx.h> #include "prcm44xx.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "prm44xx.h" #include <asm/cpu.h>
arch/arm/mach-omap2/powerdomains2xxx_data.c +1 -1
@@ -19,7 +19,7 @@#include "powerdomains2xxx_3xxx_data.h" #include "prcm-common.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "prm-regbits-24xx.h" /* 24XX powerdomains and dependencies */
arch/arm/mach-omap2/powerdomains3xxx_data.c +1 -1
@@ -19,7 +19,7 @@#include "powerdomain.h" #include "powerdomains2xxx_3xxx_data.h" #include "prcm-common.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "prm-regbits-34xx.h" #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h"
arch/arm/mach-omap2/prm2xxx.h +1 -1
@@ -18,8 +18,8 @@#include "prcm-common.h" #include "prm.h" -#include "prm2xxx_3xxx.h" #include <linux/power/omap/prm2xxx.h> +#include <linux/power/omap/prm2xxx_3xxx.h> #define OMAP2420_PRM_REGADDR (module, reg) \ OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE + (module) + (reg))
arch/arm/mach-omap2/prm2xxx_3xxx.h deleted +0 -198
198 lines not on this page · raw message
arch/arm/mach-omap2/prm2xxx_3xxx_private.h +1 -1
@@ -18,7 +18,7 @@#include "prcm-common.h" #include "prm.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #ifndef __ASSEMBLER__
arch/arm/mach-omap2/prm3xxx.h +1 -1
@@ -18,7 +18,7 @@#include "prcm-common.h" #include "prm.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #define OMAP34XX_PRM_REGADDR (module, reg) \ OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE + (module) + (reg))
arch/arm/mach-omap2/prm_common.c +1 -1
@@ -28,7 +28,7 @@#include <linux/clk-provider.h> #include <linux/clk/ti.h> -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/prm2xxx.h> #include "prm3xxx.h" #include "prm44xx.h"
arch/arm/mach-omap2/serial.c +1 -1
@@ -34,7 +34,7 @@#include "omap_device.h" #include "omap-pm.h" #include "soc.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "pm.h" #include <linux/power/omap/cm2xxx_3xxx.h> #include "prm-regbits-34xx.h"
arch/arm/mach-omap2/sram.c +1 -1
@@ -26,7 +26,7 @@#include "soc.h" #include "iomap.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> #include "sdrc.h" #include "sram.h"
arch/arm/mach-omap2/vp3xxx_data.c +1 -1
@@ -25,7 +25,7 @@#include "voltage.h" #include "vp.h" -#include "prm2xxx_3xxx.h" +#include <linux/power/omap/prm2xxx_3xxx.h> static const struct omap_vp_ops omap3_vp_ops = { .check_txdone = omap3_prm_vp_check_txdone,
include/linux/power/omap/prm2xxx_3xxx.h new file +197 -0
197 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 33/55 ARM: AM33xx: PRM: move global warm reset implementation to driver
In reply to Tero KristoMoved the implementation from am33xx-restart.c to the prm33xx.c file to isolate the PRM register accesses to be private for PRM driver.
--- arch/arm/mach-omap2/am33xx-restart.c | 9 +-------- arch/arm/mach-omap2/prm33xx.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 8 deletions(-)
arch/arm/mach-omap2/am33xx-restart.c +1 -8
@@ -24,12 +24,5 @@ void am33xx_restart(enum reboot_mode mode, const char *cmd) {/* TODO: Handle mode and cmd if necessary */ -am33xx_prm_rmw_reg_bits (AM33XX_RST_GLOBAL_WARM_SW_MASK , -AM33XX_RST_GLOBAL_WARM_SW_MASK , -AM33XX_PRM_DEVICE_MOD , -AM33XX_PRM_RSTCTRL_OFFSET ); - -/* OCP barrier */ - (void )am33xx_prm_read_reg (AM33XX_PRM_DEVICE_MOD , -AM33XX_PRM_RSTCTRL_OFFSET ); +am33xx_prm_global_warm_sw_reset (); }
arch/arm/mach-omap2/prm33xx.c +16 -0
@@ -29,6 +29,10 @@#define AM33XX_LOWPOWERSTATECHANGE_SHIFT 4#define AM33XX_LOWPOWERSTATECHANGE_MASK (1 << 4) +#define AM33XX_PRM_RSTCTRL_OFFSET 0x0000 + +#define AM33XX_RST_GLOBAL_WARM_SW_MASK (1 << 0) +/* Read a register in a PRM instance */ u32 am33xx_prm_read_reg (s16 inst,u16 idx) {
@@ -331,6 +335,18 @@ static int am33xx_check_vcvp(void)return 0 ; } +void am33xx_prm_global_warm_sw_reset (void ) +{ +am33xx_prm_rmw_reg_bits (AM33XX_RST_GLOBAL_WARM_SW_MASK , +AM33XX_RST_GLOBAL_WARM_SW_MASK , +AM33XX_PRM_DEVICE_MOD , +AM33XX_PRM_RSTCTRL_OFFSET ); + +/* OCP barrier */ + (void )am33xx_prm_read_reg (AM33XX_PRM_DEVICE_MOD , +AM33XX_PRM_RSTCTRL_OFFSET ); +} +struct pwrdm_ops am33xx_pwrdm_operations = { .pwrdm_set_next_pwrst = am33xx_pwrdm_set_next_pwrst, .pwrdm_read_next_pwrst = am33xx_pwrdm_read_next_pwrst,
Signature · 1 line
1.7.9.5
PATCH 34/55 ARM: AM33XX: PRM: move parts of the prm33xx.h header file to public location
In reply to Tero KristoParts of this file are needed from both the driver and mach-omap2 board code.
--- arch/arm/mach-omap2/am33xx-restart.c | 2 +- arch/arm/mach-omap2/cm33xx.c | 3 ++- arch/arm/mach-omap2/prm33xx.c | 3 ++- arch/arm/mach-omap2/prm33xx.h | 23 +--------------------- include/linux/power/omap/prm33xx.h | 36 ++++++++++++++++++++++++++++++++++ 5 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 include/linux/power/omap/prm33xx.h
arch/arm/mach-omap2/am33xx-restart.c +1 -1
@@ -10,7 +10,7 @@#include "common.h" #include "prm-regbits-33xx.h" -#include "prm33xx.h" +#include <linux/power/omap/prm33xx.h> /** * am3xx_restart - trigger a software restart of the SoC
arch/arm/mach-omap2/cm33xx.c +2 -1
@@ -25,7 +25,8 @@#include "clockdomain.h" #include <linux/power/omap/cm.h> #include <linux/power/omap/cm33xx.h> -#include "prm33xx.h" +#include <linux/power/omap/prm33xx.h> +#include "prcm-common.h" #define AM33XX_MODULEMODE_SHIFT 0#define AM33XX_MODULEMODE_MASK (0x3 << 0)
arch/arm/mach-omap2/prm33xx.c +2 -1
@@ -18,9 +18,10 @@#include <linux/errno.h> #include <linux/err.h> #include <linux/io.h> +#include <linux/power/omap/prm33xx.h> #include "powerdomain.h" -#include "prm33xx.h" +#include "prm.h" #define AM33XX_LASTPOWERSTATEENTERED_SHIFT 24#define AM33XX_LASTPOWERSTATEENTERED_MASK (0x3 << 24)
arch/arm/mach-omap2/prm33xx.h +1 -22
@@ -18,23 +18,13 @@#include "prcm-common.h" #include "prm.h" +#include <linux/power/omap/prm33xx.h> #define AM33XX_PRM_BASE 0x44E00000#define AM33XX_PRM_REGADDR (inst, reg) \ AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRM_BASE + (inst) + (reg)) - -/* PRM instances */ -#define AM33XX_PRM_OCP_SOCKET_MOD 0x0B00 -#define AM33XX_PRM_PER_MOD 0x0C00 -#define AM33XX_PRM_WKUP_MOD 0x0D00 -#define AM33XX_PRM_MPU_MOD 0x0E00 -#define AM33XX_PRM_DEVICE_MOD 0x0F00 -#define AM33XX_PRM_RTC_MOD 0x1000 -#define AM33XX_PRM_GFX_MOD 0x1100 -#define AM33XX_PRM_CEFUSE_MOD 0x1200 -/* PRM */ /* PRM.OCP_SOCKET_PRM register offsets */
@@ -117,15 +107,4 @@#define AM33XX_PM_CEFUSE_PWRSTST_OFFSET 0x0004#define AM33XX_PM_CEFUSE_PWRSTST AM33XX_PRM_REGADDR(AM33XX_PRM_CEFUSE_MOD, 0x0004) -#ifndef __ASSEMBLER__ -extern u32 am33xx_prm_read_reg (s16 inst,u16 idx); -extern void am33xx_prm_write_reg (u32 val,s16 inst,u16 idx); -extern u32 am33xx_prm_rmw_reg_bits (u32 mask,u32 bits,s16 inst,s16 idx); -extern void am33xx_prm_global_warm_sw_reset (void ); -extern int am33xx_prm_is_hardreset_asserted (u8 shift,s16 inst, -u16 rstctrl_offs); -extern int am33xx_prm_assert_hardreset (u8 shift,s16 inst,u16 rstctrl_offs); -extern int am33xx_prm_deassert_hardreset (u8 shift,u8 st_shift,s16 inst, -u16 rstctrl_offs,u16 rstst_offs); -#endif /* ASSEMBLER */ #endif
include/linux/power/omap/prm33xx.h new file +36 -0
@@ -0,0 +1,36 @@ +/* +* AM33XX PRM instance offset macros +* +* Copyright (C) 2011-2012 Texas Instruments Incorporated - http://www.ti.com/ +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation version 2. +* +* This program is distributed "as is" WITHOUT ANY WARRANTY of any +* kind, whether express or implied; without even the implied warranty +* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#ifndef __LINUX_POWER_OMAP_PRM33XX_H +#define __LINUX_POWER_OMAP_PRM33XX_H + +/* PRM instances */ +#define AM33XX_PRM_OCP_SOCKET_MOD 0x0B00 +#define AM33XX_PRM_PER_MOD 0x0C00 +#define AM33XX_PRM_WKUP_MOD 0x0D00 +#define AM33XX_PRM_MPU_MOD 0x0E00 +#define AM33XX_PRM_DEVICE_MOD 0x0F00 +#define AM33XX_PRM_RTC_MOD 0x1000 +#define AM33XX_PRM_GFX_MOD 0x1100 +#define AM33XX_PRM_CEFUSE_MOD 0x1200 + +#ifndef __ASSEMBLER__ +void am33xx_prm_global_warm_sw_reset (void ); +int am33xx_prm_is_hardreset_asserted (u8 shift,s16 inst,u16 rstctrl_offs); +int am33xx_prm_assert_hardreset (u8 shift,s16 inst,u16 rstctrl_offs); +int am33xx_prm_deassert_hardreset (u8 shift,u8 st_shift,s16 inst, +u16 rstctrl_offs,u16 rstst_offs); +#endif /* ASSEMBLER */ +#endif
Signature · 1 line
1.7.9.5
PATCH 35/55 ARM: OMAP3: PRM: remove direct register declaration macros
In reply to Tero KristoOnly a handful of these are currently used in the kernel, so cleanup.
--- arch/arm/mach-omap2/cclock3xxx_data.c | 14 ++++++++----- arch/arm/mach-omap2/prm3xxx.h | 37 --------------------------------- 2 files changed, 9 insertions(+), 42 deletions(-)
arch/arm/mach-omap2/cclock3xxx_data.c +9 -5
@@ -79,12 +79,15 @@ static const char *osc_sys_ck_parent_names[] = { };DEFINE_CLK_MUX (osc_sys_ck, osc_sys_ck_parent_names,NULL ,0x0 , -OMAP3430_PRM_CLKSEL ,OMAP3430_SYS_CLKIN_SEL_SHIFT , -OMAP3430_SYS_CLKIN_SEL_WIDTH ,0x0 ,NULL ); +OMAP34XX_PRM_REGADDR (OMAP3430_CCR_MOD ,OMAP3_PRM_CLKSEL_OFFSET ), +OMAP3430_SYS_CLKIN_SEL_SHIFT ,OMAP3430_SYS_CLKIN_SEL_WIDTH ,0x0 , +NULL );DEFINE_CLK_DIVIDER (sys_ck,"osc_sys_ck" , &osc_sys_ck,0x0 , -OMAP3430_PRM_CLKSRC_CTRL ,OMAP_SYSCLKDIV_SHIFT , -OMAP_SYSCLKDIV_WIDTH ,CLK_DIVIDER_ONE_BASED ,NULL ); +OMAP34XX_PRM_REGADDR (OMAP3430_GR_MOD , +OMAP3_PRM_CLKSRC_CTRL_OFFSET ), +OMAP_SYSCLKDIV_SHIFT ,OMAP_SYSCLKDIV_WIDTH , +CLK_DIVIDER_ONE_BASED ,NULL );static struct dpll_data dpll3_dd = { .mult_div1_reg =OMAP_CM_REGADDR (PLL_MOD ,CM_CLKSEL1 ),
@@ -2824,7 +2827,8 @@ static struct clk_hw_omap sys_clkout1_hw = { .hw = { .clk = &sys_clkout1, }, - .enable_reg = OMAP3430_PRM_CLKOUT_CTRL, + .enable_reg = OMAP34XX_PRM_REGADDR(OMAP3430_CCR_MOD, + OMAP3_PRM_CLKOUT_CTRL_OFFSET), .enable_bit = OMAP3430_CLKOUT_EN_SHIFT, };
arch/arm/mach-omap2/prm3xxx.h +0 -37
@@ -34,83 +34,46 @@*/ #define OMAP3_PRM_REVISION_OFFSET 0x0004 -#define OMAP3430_PRM_REVISION OMAP34XX_PRM_REGADDR(OCP_MOD, 0x0004)#define OMAP3_PRM_SYSCONFIG_OFFSET 0x0014 -#define OMAP3430_PRM_SYSCONFIG OMAP34XX_PRM_REGADDR(OCP_MOD, 0x0014)#define OMAP3_PRM_IRQSTATUS_MPU_OFFSET 0x0018 -#define OMAP3430_PRM_IRQSTATUS_MPU OMAP34XX_PRM_REGADDR(OCP_MOD, 0x0018)#define OMAP3_PRM_IRQENABLE_MPU_OFFSET 0x001c -#define OMAP3430_PRM_IRQENABLE_MPU OMAP34XX_PRM_REGADDR(OCP_MOD, 0x001c)#define OMAP3_PRM_VC_SMPS_SA_OFFSET 0x0020 -#define OMAP3430_PRM_VC_SMPS_SA OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0020)#define OMAP3_PRM_VC_SMPS_VOL_RA_OFFSET 0x0024 -#define OMAP3430_PRM_VC_SMPS_VOL_RA OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0024)#define OMAP3_PRM_VC_SMPS_CMD_RA_OFFSET 0x0028 -#define OMAP3430_PRM_VC_SMPS_CMD_RA OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0028)#define OMAP3_PRM_VC_CMD_VAL_0_OFFSET 0x002c -#define OMAP3430_PRM_VC_CMD_VAL_0 OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x002c)#define OMAP3_PRM_VC_CMD_VAL_1_OFFSET 0x0030 -#define OMAP3430_PRM_VC_CMD_VAL_1 OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0030)#define OMAP3_PRM_VC_CH_CONF_OFFSET 0x0034 -#define OMAP3430_PRM_VC_CH_CONF OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0034)#define OMAP3_PRM_VC_I2C_CFG_OFFSET 0x0038 -#define OMAP3430_PRM_VC_I2C_CFG OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0038)#define OMAP3_PRM_VC_BYPASS_VAL_OFFSET 0x003c -#define OMAP3430_PRM_VC_BYPASS_VAL OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x003c)#define OMAP3_PRM_RSTCTRL_OFFSET 0x0050 -#define OMAP3430_PRM_RSTCTRL OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0050)#define OMAP3_PRM_RSTTIME_OFFSET 0x0054 -#define OMAP3430_PRM_RSTTIME OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0054)#define OMAP3_PRM_RSTST_OFFSET 0x0058 -#define OMAP3430_PRM_RSTST OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0058)#define OMAP3_PRM_VOLTCTRL_OFFSET 0x0060 -#define OMAP3430_PRM_VOLTCTRL OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0060)#define OMAP3_PRM_SRAM_PCHARGE_OFFSET 0x0064 -#define OMAP3430_PRM_SRAM_PCHARGE OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0064)#define OMAP3_PRM_CLKSRC_CTRL_OFFSET 0x0070 -#define OMAP3430_PRM_CLKSRC_CTRL OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0070)#define OMAP3_PRM_VOLTSETUP1_OFFSET 0x0090 -#define OMAP3430_PRM_VOLTSETUP1 OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0090)#define OMAP3_PRM_VOLTOFFSET_OFFSET 0x0094 -#define OMAP3430_PRM_VOLTOFFSET OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0094)#define OMAP3_PRM_CLKSETUP_OFFSET 0x0098 -#define OMAP3430_PRM_CLKSETUP OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x0098)#define OMAP3_PRM_POLCTRL_OFFSET 0x009c -#define OMAP3430_PRM_POLCTRL OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x009c)#define OMAP3_PRM_VOLTSETUP2_OFFSET 0x00a0 -#define OMAP3430_PRM_VOLTSETUP2 OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00a0)#define OMAP3_PRM_VP1_CONFIG_OFFSET 0x00b0 -#define OMAP3430_PRM_VP1_CONFIG OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00b0)#define OMAP3_PRM_VP1_VSTEPMIN_OFFSET 0x00b4 -#define OMAP3430_PRM_VP1_VSTEPMIN OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00b4)#define OMAP3_PRM_VP1_VSTEPMAX_OFFSET 0x00b8 -#define OMAP3430_PRM_VP1_VSTEPMAX OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00b8)#define OMAP3_PRM_VP1_VLIMITTO_OFFSET 0x00bc -#define OMAP3430_PRM_VP1_VLIMITTO OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00bc)#define OMAP3_PRM_VP1_VOLTAGE_OFFSET 0x00c0 -#define OMAP3430_PRM_VP1_VOLTAGE OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00c0)#define OMAP3_PRM_VP1_STATUS_OFFSET 0x00c4 -#define OMAP3430_PRM_VP1_STATUS OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00c4)#define OMAP3_PRM_VP2_CONFIG_OFFSET 0x00d0 -#define OMAP3430_PRM_VP2_CONFIG OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00d0)#define OMAP3_PRM_VP2_VSTEPMIN_OFFSET 0x00d4 -#define OMAP3430_PRM_VP2_VSTEPMIN OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00d4)#define OMAP3_PRM_VP2_VSTEPMAX_OFFSET 0x00d8 -#define OMAP3430_PRM_VP2_VSTEPMAX OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00d8)#define OMAP3_PRM_VP2_VLIMITTO_OFFSET 0x00dc -#define OMAP3430_PRM_VP2_VLIMITTO OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00dc)#define OMAP3_PRM_VP2_VOLTAGE_OFFSET 0x00e0 -#define OMAP3430_PRM_VP2_VOLTAGE OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00e0)#define OMAP3_PRM_VP2_STATUS_OFFSET 0x00e4 -#define OMAP3430_PRM_VP2_STATUS OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00e4)#define OMAP3_PRM_CLKSEL_OFFSET 0x0040 -#define OMAP3430_PRM_CLKSEL OMAP34XX_PRM_REGADDR(OMAP3430_CCR_MOD, 0x0040)#define OMAP3_PRM_CLKOUT_CTRL_OFFSET 0x0070 -#define OMAP3430_PRM_CLKOUT_CTRL OMAP34XX_PRM_REGADDR(OMAP3430_CCR_MOD, 0x0070)/* OMAP3 specific register offsets */ #define OMAP3430ES2_PM_WKEN3 0x00f0
Signature · 1 line
1.7.9.5
PATCH 36/55 ARM: OMAP3: PRM: move prm3xxx.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/prm3xxx.c | 2 +- arch/arm/mach-omap2/prm3xxx.h | 113 +----------------------------- arch/arm/mach-omap2/prm_common.c | 2 +- include/linux/power/omap/prm3xxx.h | 132 ++++++++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 114 deletions(-) create mode 100644 include/linux/power/omap/prm3xxx.h
arch/arm/mach-omap2/prm3xxx.c +1 -1
@@ -20,7 +20,7 @@#include "vp.h" #include "powerdomain.h" -#include "prm3xxx.h" +#include <linux/power/omap/prm3xxx.h> #include "prm2xxx_3xxx_private.h" #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm3xxx.h>
arch/arm/mach-omap2/prm3xxx.h +1 -112
121 lines not on this page · raw message
arch/arm/mach-omap2/prm_common.c +1 -1
@@ -30,7 +30,7 @@#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/prm2xxx.h> -#include "prm3xxx.h" +#include <linux/power/omap/prm3xxx.h> #include "prm44xx.h" /*
include/linux/power/omap/prm3xxx.h new file +132 -0
132 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 37/55 ARM: OMAP4: PRM: remove direct register declaration macros
In reply to Tero KristoNone of these are currently used, so cleanup.
--- arch/arm/mach-omap2/prm44xx.h | 318 ----------------------------------------- 1 file changed, 318 deletions(-)
arch/arm/mach-omap2/prm44xx.h +0 -318
@@ -73,676 +73,358 @@/* PRM.OCP_SOCKET_PRM register offsets */ #define OMAP4_REVISION_PRM_OFFSET 0x0000 -#define OMAP4430_REVISION_PRM OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0000)#define OMAP4_PRM_IRQSTATUS_MPU_OFFSET 0x0010 -#define OMAP4430_PRM_IRQSTATUS_MPU OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0010)#define OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET 0x0014 -#define OMAP4430_PRM_IRQSTATUS_MPU_2 OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0014)#define OMAP4_PRM_IRQENABLE_MPU_OFFSET 0x0018 -#define OMAP4430_PRM_IRQENABLE_MPU OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0018)#define OMAP4_PRM_IRQENABLE_MPU_2_OFFSET 0x001c -#define OMAP4430_PRM_IRQENABLE_MPU_2 OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x001c)#define OMAP4_PRM_IRQSTATUS_DUCATI_OFFSET 0x0020 -#define OMAP4430_PRM_IRQSTATUS_DUCATI OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0020)#define OMAP4_PRM_IRQENABLE_DUCATI_OFFSET 0x0028 -#define OMAP4430_PRM_IRQENABLE_DUCATI OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0028)#define OMAP4_PRM_IRQSTATUS_TESLA_OFFSET 0x0030 -#define OMAP4430_PRM_IRQSTATUS_TESLA OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0030)#define OMAP4_PRM_IRQENABLE_TESLA_OFFSET 0x0038 -#define OMAP4430_PRM_IRQENABLE_TESLA OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0038)#define OMAP4_CM_PRM_PROFILING_CLKCTRL_OFFSET 0x0040 -#define OMAP4430_CM_PRM_PROFILING_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_OCP_SOCKET_INST, 0x0040)/* PRM.CKGEN_PRM register offsets */ #define OMAP4_CM_ABE_DSS_SYS_CLKSEL_OFFSET 0x0000 -#define OMAP4430_CM_ABE_DSS_SYS_CLKSEL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CKGEN_INST, 0x0000)#define OMAP4_CM_L4_WKUP_CLKSEL_OFFSET 0x0008 -#define OMAP4430_CM_L4_WKUP_CLKSEL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CKGEN_INST, 0x0008)#define OMAP4_CM_ABE_PLL_REF_CLKSEL_OFFSET 0x000c -#define OMAP4430_CM_ABE_PLL_REF_CLKSEL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CKGEN_INST, 0x000c)#define OMAP4_CM_SYS_CLKSEL_OFFSET 0x0010 -#define OMAP4430_CM_SYS_CLKSEL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CKGEN_INST, 0x0010)/* PRM.MPU_PRM register offsets */ #define OMAP4_PM_MPU_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_MPU_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_MPU_INST, 0x0000)#define OMAP4_PM_MPU_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_MPU_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_MPU_INST, 0x0004)#define OMAP4_RM_MPU_RSTST_OFFSET 0x0014 -#define OMAP4430_RM_MPU_RSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_MPU_INST, 0x0014)#define OMAP4_RM_MPU_MPU_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_MPU_MPU_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_MPU_INST, 0x0024)/* PRM.TESLA_PRM register offsets */ #define OMAP4_PM_TESLA_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_TESLA_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_TESLA_INST, 0x0000)#define OMAP4_PM_TESLA_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_TESLA_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_TESLA_INST, 0x0004)#define OMAP4_RM_TESLA_RSTCTRL_OFFSET 0x0010 -#define OMAP4430_RM_TESLA_RSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_TESLA_INST, 0x0010)#define OMAP4_RM_TESLA_RSTST_OFFSET 0x0014 -#define OMAP4430_RM_TESLA_RSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_TESLA_INST, 0x0014)#define OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_TESLA_TESLA_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_TESLA_INST, 0x0024)/* PRM.ABE_PRM register offsets */ #define OMAP4_PM_ABE_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_ABE_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0000)#define OMAP4_PM_ABE_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_ABE_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0004)#define OMAP4_RM_ABE_AESS_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_ABE_AESS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x002c)#define OMAP4_PM_ABE_PDM_WKDEP_OFFSET 0x0030 -#define OMAP4430_PM_ABE_PDM_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0030)#define OMAP4_RM_ABE_PDM_CONTEXT_OFFSET 0x0034 -#define OMAP4430_RM_ABE_PDM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0034)#define OMAP4_PM_ABE_DMIC_WKDEP_OFFSET 0x0038 -#define OMAP4430_PM_ABE_DMIC_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0038)#define OMAP4_RM_ABE_DMIC_CONTEXT_OFFSET 0x003c -#define OMAP4430_RM_ABE_DMIC_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x003c)#define OMAP4_PM_ABE_MCASP_WKDEP_OFFSET 0x0040 -#define OMAP4430_PM_ABE_MCASP_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0040)#define OMAP4_RM_ABE_MCASP_CONTEXT_OFFSET 0x0044 -#define OMAP4430_RM_ABE_MCASP_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0044)#define OMAP4_PM_ABE_MCBSP1_WKDEP_OFFSET 0x0048 -#define OMAP4430_PM_ABE_MCBSP1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0048)#define OMAP4_RM_ABE_MCBSP1_CONTEXT_OFFSET 0x004c -#define OMAP4430_RM_ABE_MCBSP1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x004c)#define OMAP4_PM_ABE_MCBSP2_WKDEP_OFFSET 0x0050 -#define OMAP4430_PM_ABE_MCBSP2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0050)#define OMAP4_RM_ABE_MCBSP2_CONTEXT_OFFSET 0x0054 -#define OMAP4430_RM_ABE_MCBSP2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0054)#define OMAP4_PM_ABE_MCBSP3_WKDEP_OFFSET 0x0058 -#define OMAP4430_PM_ABE_MCBSP3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0058)#define OMAP4_RM_ABE_MCBSP3_CONTEXT_OFFSET 0x005c -#define OMAP4430_RM_ABE_MCBSP3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x005c)#define OMAP4_PM_ABE_SLIMBUS_WKDEP_OFFSET 0x0060 -#define OMAP4430_PM_ABE_SLIMBUS_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0060)#define OMAP4_RM_ABE_SLIMBUS_CONTEXT_OFFSET 0x0064 -#define OMAP4430_RM_ABE_SLIMBUS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0064)#define OMAP4_PM_ABE_TIMER5_WKDEP_OFFSET 0x0068 -#define OMAP4430_PM_ABE_TIMER5_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0068)#define OMAP4_RM_ABE_TIMER5_CONTEXT_OFFSET 0x006c -#define OMAP4430_RM_ABE_TIMER5_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x006c)#define OMAP4_PM_ABE_TIMER6_WKDEP_OFFSET 0x0070 -#define OMAP4430_PM_ABE_TIMER6_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0070)#define OMAP4_RM_ABE_TIMER6_CONTEXT_OFFSET 0x0074 -#define OMAP4430_RM_ABE_TIMER6_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0074)#define OMAP4_PM_ABE_TIMER7_WKDEP_OFFSET 0x0078 -#define OMAP4430_PM_ABE_TIMER7_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0078)#define OMAP4_RM_ABE_TIMER7_CONTEXT_OFFSET 0x007c -#define OMAP4430_RM_ABE_TIMER7_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x007c)#define OMAP4_PM_ABE_TIMER8_WKDEP_OFFSET 0x0080 -#define OMAP4430_PM_ABE_TIMER8_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0080)#define OMAP4_RM_ABE_TIMER8_CONTEXT_OFFSET 0x0084 -#define OMAP4430_RM_ABE_TIMER8_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0084)#define OMAP4_PM_ABE_WDT3_WKDEP_OFFSET 0x0088 -#define OMAP4430_PM_ABE_WDT3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x0088)#define OMAP4_RM_ABE_WDT3_CONTEXT_OFFSET 0x008c -#define OMAP4430_RM_ABE_WDT3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ABE_INST, 0x008c)/* PRM.ALWAYS_ON_PRM register offsets */ #define OMAP4_RM_ALWON_MDMINTC_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_ALWON_MDMINTC_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x0024)#define OMAP4_PM_ALWON_SR_MPU_WKDEP_OFFSET 0x0028 -#define OMAP4430_PM_ALWON_SR_MPU_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x0028)#define OMAP4_RM_ALWON_SR_MPU_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_ALWON_SR_MPU_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x002c)#define OMAP4_PM_ALWON_SR_IVA_WKDEP_OFFSET 0x0030 -#define OMAP4430_PM_ALWON_SR_IVA_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x0030)#define OMAP4_RM_ALWON_SR_IVA_CONTEXT_OFFSET 0x0034 -#define OMAP4430_RM_ALWON_SR_IVA_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x0034)#define OMAP4_PM_ALWON_SR_CORE_WKDEP_OFFSET 0x0038 -#define OMAP4430_PM_ALWON_SR_CORE_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x0038)#define OMAP4_RM_ALWON_SR_CORE_CONTEXT_OFFSET 0x003c -#define OMAP4430_RM_ALWON_SR_CORE_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_ALWAYS_ON_INST, 0x003c)/* PRM.CORE_PRM register offsets */ #define OMAP4_PM_CORE_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_CORE_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0000)#define OMAP4_PM_CORE_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_CORE_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0004)#define OMAP4_RM_L3_1_L3_1_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_L3_1_L3_1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0024)#define OMAP4_RM_L3_2_L3_2_CONTEXT_OFFSET 0x0124 -#define OMAP4430_RM_L3_2_L3_2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0124)#define OMAP4_RM_L3_2_GPMC_CONTEXT_OFFSET 0x012c -#define OMAP4430_RM_L3_2_GPMC_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x012c)#define OMAP4_RM_L3_2_OCMC_RAM_CONTEXT_OFFSET 0x0134 -#define OMAP4430_RM_L3_2_OCMC_RAM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0134)#define OMAP4_RM_DUCATI_RSTCTRL_OFFSET 0x0210 -#define OMAP4430_RM_DUCATI_RSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0210)#define OMAP4_RM_DUCATI_RSTST_OFFSET 0x0214 -#define OMAP4430_RM_DUCATI_RSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0214)#define OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET 0x0224 -#define OMAP4430_RM_DUCATI_DUCATI_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0224)#define OMAP4_RM_SDMA_SDMA_CONTEXT_OFFSET 0x0324 -#define OMAP4430_RM_SDMA_SDMA_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0324)#define OMAP4_RM_MEMIF_DMM_CONTEXT_OFFSET 0x0424 -#define OMAP4430_RM_MEMIF_DMM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0424)#define OMAP4_RM_MEMIF_EMIF_FW_CONTEXT_OFFSET 0x042c -#define OMAP4430_RM_MEMIF_EMIF_FW_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x042c)#define OMAP4_RM_MEMIF_EMIF_1_CONTEXT_OFFSET 0x0434 -#define OMAP4430_RM_MEMIF_EMIF_1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0434)#define OMAP4_RM_MEMIF_EMIF_2_CONTEXT_OFFSET 0x043c -#define OMAP4430_RM_MEMIF_EMIF_2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x043c)#define OMAP4_RM_MEMIF_DLL_CONTEXT_OFFSET 0x0444 -#define OMAP4430_RM_MEMIF_DLL_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0444)#define OMAP4_RM_MEMIF_EMIF_H1_CONTEXT_OFFSET 0x0454 -#define OMAP4430_RM_MEMIF_EMIF_H1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0454)#define OMAP4_RM_MEMIF_EMIF_H2_CONTEXT_OFFSET 0x045c -#define OMAP4430_RM_MEMIF_EMIF_H2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x045c)#define OMAP4_RM_MEMIF_DLL_H_CONTEXT_OFFSET 0x0464 -#define OMAP4430_RM_MEMIF_DLL_H_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0464)#define OMAP4_RM_D2D_SAD2D_CONTEXT_OFFSET 0x0524 -#define OMAP4430_RM_D2D_SAD2D_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0524)#define OMAP4_RM_D2D_MODEM_ICR_CONTEXT_OFFSET 0x052c -#define OMAP4430_RM_D2D_MODEM_ICR_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x052c)#define OMAP4_RM_D2D_SAD2D_FW_CONTEXT_OFFSET 0x0534 -#define OMAP4430_RM_D2D_SAD2D_FW_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0534)#define OMAP4_RM_L4CFG_L4_CFG_CONTEXT_OFFSET 0x0624 -#define OMAP4430_RM_L4CFG_L4_CFG_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0624)#define OMAP4_RM_L4CFG_HW_SEM_CONTEXT_OFFSET 0x062c -#define OMAP4430_RM_L4CFG_HW_SEM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x062c)#define OMAP4_RM_L4CFG_MAILBOX_CONTEXT_OFFSET 0x0634 -#define OMAP4430_RM_L4CFG_MAILBOX_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0634)#define OMAP4_RM_L4CFG_SAR_ROM_CONTEXT_OFFSET 0x063c -#define OMAP4430_RM_L4CFG_SAR_ROM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x063c)#define OMAP4_RM_L3INSTR_L3_3_CONTEXT_OFFSET 0x0724 -#define OMAP4430_RM_L3INSTR_L3_3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0724)#define OMAP4_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET 0x072c -#define OMAP4430_RM_L3INSTR_L3_INSTR_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x072c)#define OMAP4_RM_L3INSTR_OCP_WP1_CONTEXT_OFFSET 0x0744 -#define OMAP4430_RM_L3INSTR_OCP_WP1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0744)/* PRM.IVAHD_PRM register offsets */ #define OMAP4_PM_IVAHD_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_IVAHD_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_IVAHD_INST, 0x0000)#define OMAP4_PM_IVAHD_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_IVAHD_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_IVAHD_INST, 0x0004)#define OMAP4_RM_IVAHD_RSTCTRL_OFFSET 0x0010 -#define OMAP4430_RM_IVAHD_RSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_IVAHD_INST, 0x0010)#define OMAP4_RM_IVAHD_RSTST_OFFSET 0x0014 -#define OMAP4430_RM_IVAHD_RSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_IVAHD_INST, 0x0014)#define OMAP4_RM_IVAHD_IVAHD_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_IVAHD_IVAHD_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_IVAHD_INST, 0x0024)#define OMAP4_RM_IVAHD_SL2_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_IVAHD_SL2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_IVAHD_INST, 0x002c)/* PRM.CAM_PRM register offsets */ #define OMAP4_PM_CAM_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_CAM_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CAM_INST, 0x0000)#define OMAP4_PM_CAM_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_CAM_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CAM_INST, 0x0004)#define OMAP4_RM_CAM_ISS_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_CAM_ISS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CAM_INST, 0x0024)#define OMAP4_RM_CAM_FDIF_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_CAM_FDIF_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CAM_INST, 0x002c)/* PRM.DSS_PRM register offsets */ #define OMAP4_PM_DSS_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_DSS_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DSS_INST, 0x0000)#define OMAP4_PM_DSS_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_DSS_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DSS_INST, 0x0004)#define OMAP4_PM_DSS_DSS_WKDEP_OFFSET 0x0020 -#define OMAP4430_PM_DSS_DSS_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DSS_INST, 0x0020)#define OMAP4_RM_DSS_DSS_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_DSS_DSS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DSS_INST, 0x0024)#define OMAP4_RM_DSS_DEISS_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_DSS_DEISS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DSS_INST, 0x002c)/* PRM.GFX_PRM register offsets */ #define OMAP4_PM_GFX_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_GFX_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_GFX_INST, 0x0000)#define OMAP4_PM_GFX_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_GFX_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_GFX_INST, 0x0004)#define OMAP4_RM_GFX_GFX_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_GFX_GFX_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_GFX_INST, 0x0024)/* PRM.L3INIT_PRM register offsets */ #define OMAP4_PM_L3INIT_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_L3INIT_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0000)#define OMAP4_PM_L3INIT_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_L3INIT_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0004)#define OMAP4_PM_L3INIT_MMC1_WKDEP_OFFSET 0x0028 -#define OMAP4430_PM_L3INIT_MMC1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0028)#define OMAP4_RM_L3INIT_MMC1_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_L3INIT_MMC1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x002c)#define OMAP4_PM_L3INIT_MMC2_WKDEP_OFFSET 0x0030 -#define OMAP4430_PM_L3INIT_MMC2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0030)#define OMAP4_RM_L3INIT_MMC2_CONTEXT_OFFSET 0x0034 -#define OMAP4430_RM_L3INIT_MMC2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0034)#define OMAP4_PM_L3INIT_HSI_WKDEP_OFFSET 0x0038 -#define OMAP4430_PM_L3INIT_HSI_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0038)#define OMAP4_RM_L3INIT_HSI_CONTEXT_OFFSET 0x003c -#define OMAP4430_RM_L3INIT_HSI_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x003c)#define OMAP4_PM_L3INIT_UNIPRO1_WKDEP_OFFSET 0x0040 -#define OMAP4430_PM_L3INIT_UNIPRO1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0040)#define OMAP4_RM_L3INIT_UNIPRO1_CONTEXT_OFFSET 0x0044 -#define OMAP4430_RM_L3INIT_UNIPRO1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0044)#define OMAP4_PM_L3INIT_USB_HOST_WKDEP_OFFSET 0x0058 -#define OMAP4430_PM_L3INIT_USB_HOST_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0058)#define OMAP4_RM_L3INIT_USB_HOST_CONTEXT_OFFSET 0x005c -#define OMAP4430_RM_L3INIT_USB_HOST_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x005c)#define OMAP4_PM_L3INIT_USB_OTG_WKDEP_OFFSET 0x0060 -#define OMAP4430_PM_L3INIT_USB_OTG_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0060)#define OMAP4_RM_L3INIT_USB_OTG_CONTEXT_OFFSET 0x0064 -#define OMAP4430_RM_L3INIT_USB_OTG_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0064)#define OMAP4_PM_L3INIT_USB_TLL_WKDEP_OFFSET 0x0068 -#define OMAP4430_PM_L3INIT_USB_TLL_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0068)#define OMAP4_RM_L3INIT_USB_TLL_CONTEXT_OFFSET 0x006c -#define OMAP4430_RM_L3INIT_USB_TLL_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x006c)#define OMAP4_RM_L3INIT_P1500_CONTEXT_OFFSET 0x007c -#define OMAP4430_RM_L3INIT_P1500_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x007c)#define OMAP4_RM_L3INIT_EMAC_CONTEXT_OFFSET 0x0084 -#define OMAP4430_RM_L3INIT_EMAC_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0084)#define OMAP4_PM_L3INIT_SATA_WKDEP_OFFSET 0x0088 -#define OMAP4430_PM_L3INIT_SATA_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0088)#define OMAP4_RM_L3INIT_SATA_CONTEXT_OFFSET 0x008c -#define OMAP4430_RM_L3INIT_SATA_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x008c)#define OMAP4_RM_L3INIT_TPPSS_CONTEXT_OFFSET 0x0094 -#define OMAP4430_RM_L3INIT_TPPSS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0094)#define OMAP4_PM_L3INIT_PCIESS_WKDEP_OFFSET 0x0098 -#define OMAP4430_PM_L3INIT_PCIESS_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x0098)#define OMAP4_RM_L3INIT_PCIESS_CONTEXT_OFFSET 0x009c -#define OMAP4430_RM_L3INIT_PCIESS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x009c)#define OMAP4_RM_L3INIT_CCPTX_CONTEXT_OFFSET 0x00ac -#define OMAP4430_RM_L3INIT_CCPTX_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00ac)#define OMAP4_PM_L3INIT_XHPI_WKDEP_OFFSET 0x00c0 -#define OMAP4430_PM_L3INIT_XHPI_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00c0)#define OMAP4_RM_L3INIT_XHPI_CONTEXT_OFFSET 0x00c4 -#define OMAP4430_RM_L3INIT_XHPI_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00c4)#define OMAP4_PM_L3INIT_MMC6_WKDEP_OFFSET 0x00c8 -#define OMAP4430_PM_L3INIT_MMC6_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00c8)#define OMAP4_RM_L3INIT_MMC6_CONTEXT_OFFSET 0x00cc -#define OMAP4430_RM_L3INIT_MMC6_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00cc)#define OMAP4_PM_L3INIT_USB_HOST_FS_WKDEP_OFFSET 0x00d0 -#define OMAP4430_PM_L3INIT_USB_HOST_FS_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00d0)#define OMAP4_RM_L3INIT_USB_HOST_FS_CONTEXT_OFFSET 0x00d4 -#define OMAP4430_RM_L3INIT_USB_HOST_FS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00d4)#define OMAP4_RM_L3INIT_USBPHYOCP2SCP_CONTEXT_OFFSET 0x00e4 -#define OMAP4430_RM_L3INIT_USBPHYOCP2SCP_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L3INIT_INST, 0x00e4)/* PRM.L4PER_PRM register offsets */ #define OMAP4_PM_L4PER_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_L4PER_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0000)#define OMAP4_PM_L4PER_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_L4PER_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0004)#define OMAP4_RM_L4PER_ADC_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_L4PER_ADC_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0024)#define OMAP4_PM_L4PER_DMTIMER10_WKDEP_OFFSET 0x0028 -#define OMAP4430_PM_L4PER_DMTIMER10_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0028)#define OMAP4_RM_L4PER_DMTIMER10_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_L4PER_DMTIMER10_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x002c)#define OMAP4_PM_L4PER_DMTIMER11_WKDEP_OFFSET 0x0030 -#define OMAP4430_PM_L4PER_DMTIMER11_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0030)#define OMAP4_RM_L4PER_DMTIMER11_CONTEXT_OFFSET 0x0034 -#define OMAP4430_RM_L4PER_DMTIMER11_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0034)#define OMAP4_PM_L4PER_DMTIMER2_WKDEP_OFFSET 0x0038 -#define OMAP4430_PM_L4PER_DMTIMER2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0038)#define OMAP4_RM_L4PER_DMTIMER2_CONTEXT_OFFSET 0x003c -#define OMAP4430_RM_L4PER_DMTIMER2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x003c)#define OMAP4_PM_L4PER_DMTIMER3_WKDEP_OFFSET 0x0040 -#define OMAP4430_PM_L4PER_DMTIMER3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0040)#define OMAP4_RM_L4PER_DMTIMER3_CONTEXT_OFFSET 0x0044 -#define OMAP4430_RM_L4PER_DMTIMER3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0044)#define OMAP4_PM_L4PER_DMTIMER4_WKDEP_OFFSET 0x0048 -#define OMAP4430_PM_L4PER_DMTIMER4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0048)#define OMAP4_RM_L4PER_DMTIMER4_CONTEXT_OFFSET 0x004c -#define OMAP4430_RM_L4PER_DMTIMER4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x004c)#define OMAP4_PM_L4PER_DMTIMER9_WKDEP_OFFSET 0x0050 -#define OMAP4430_PM_L4PER_DMTIMER9_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0050)#define OMAP4_RM_L4PER_DMTIMER9_CONTEXT_OFFSET 0x0054 -#define OMAP4430_RM_L4PER_DMTIMER9_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0054)#define OMAP4_RM_L4PER_ELM_CONTEXT_OFFSET 0x005c -#define OMAP4430_RM_L4PER_ELM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x005c)#define OMAP4_PM_L4PER_GPIO2_WKDEP_OFFSET 0x0060 -#define OMAP4430_PM_L4PER_GPIO2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0060)#define OMAP4_RM_L4PER_GPIO2_CONTEXT_OFFSET 0x0064 -#define OMAP4430_RM_L4PER_GPIO2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0064)#define OMAP4_PM_L4PER_GPIO3_WKDEP_OFFSET 0x0068 -#define OMAP4430_PM_L4PER_GPIO3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0068)#define OMAP4_RM_L4PER_GPIO3_CONTEXT_OFFSET 0x006c -#define OMAP4430_RM_L4PER_GPIO3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x006c)#define OMAP4_PM_L4PER_GPIO4_WKDEP_OFFSET 0x0070 -#define OMAP4430_PM_L4PER_GPIO4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0070)#define OMAP4_RM_L4PER_GPIO4_CONTEXT_OFFSET 0x0074 -#define OMAP4430_RM_L4PER_GPIO4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0074)#define OMAP4_PM_L4PER_GPIO5_WKDEP_OFFSET 0x0078 -#define OMAP4430_PM_L4PER_GPIO5_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0078)#define OMAP4_RM_L4PER_GPIO5_CONTEXT_OFFSET 0x007c -#define OMAP4430_RM_L4PER_GPIO5_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x007c)#define OMAP4_PM_L4PER_GPIO6_WKDEP_OFFSET 0x0080 -#define OMAP4430_PM_L4PER_GPIO6_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0080)#define OMAP4_RM_L4PER_GPIO6_CONTEXT_OFFSET 0x0084 -#define OMAP4430_RM_L4PER_GPIO6_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0084)#define OMAP4_RM_L4PER_HDQ1W_CONTEXT_OFFSET 0x008c -#define OMAP4430_RM_L4PER_HDQ1W_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x008c)#define OMAP4_PM_L4PER_HECC1_WKDEP_OFFSET 0x0090 -#define OMAP4430_PM_L4PER_HECC1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0090)#define OMAP4_RM_L4PER_HECC1_CONTEXT_OFFSET 0x0094 -#define OMAP4430_RM_L4PER_HECC1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0094)#define OMAP4_PM_L4PER_HECC2_WKDEP_OFFSET 0x0098 -#define OMAP4430_PM_L4PER_HECC2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0098)#define OMAP4_RM_L4PER_HECC2_CONTEXT_OFFSET 0x009c -#define OMAP4430_RM_L4PER_HECC2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x009c)#define OMAP4_PM_L4PER_I2C1_WKDEP_OFFSET 0x00a0 -#define OMAP4430_PM_L4PER_I2C1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00a0)#define OMAP4_RM_L4PER_I2C1_CONTEXT_OFFSET 0x00a4 -#define OMAP4430_RM_L4PER_I2C1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00a4)#define OMAP4_PM_L4PER_I2C2_WKDEP_OFFSET 0x00a8 -#define OMAP4430_PM_L4PER_I2C2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00a8)#define OMAP4_RM_L4PER_I2C2_CONTEXT_OFFSET 0x00ac -#define OMAP4430_RM_L4PER_I2C2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00ac)#define OMAP4_PM_L4PER_I2C3_WKDEP_OFFSET 0x00b0 -#define OMAP4430_PM_L4PER_I2C3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00b0)#define OMAP4_RM_L4PER_I2C3_CONTEXT_OFFSET 0x00b4 -#define OMAP4430_RM_L4PER_I2C3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00b4)#define OMAP4_PM_L4PER_I2C4_WKDEP_OFFSET 0x00b8 -#define OMAP4430_PM_L4PER_I2C4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00b8)#define OMAP4_RM_L4PER_I2C4_CONTEXT_OFFSET 0x00bc -#define OMAP4430_RM_L4PER_I2C4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00bc)#define OMAP4_RM_L4PER_L4_PER_CONTEXT_OFFSET 0x00c0 -#define OMAP4430_RM_L4PER_L4_PER_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00c0)#define OMAP4_PM_L4PER_MCASP2_WKDEP_OFFSET 0x00d0 -#define OMAP4430_PM_L4PER_MCASP2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00d0)#define OMAP4_RM_L4PER_MCASP2_CONTEXT_OFFSET 0x00d4 -#define OMAP4430_RM_L4PER_MCASP2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00d4)#define OMAP4_PM_L4PER_MCASP3_WKDEP_OFFSET 0x00d8 -#define OMAP4430_PM_L4PER_MCASP3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00d8)#define OMAP4_RM_L4PER_MCASP3_CONTEXT_OFFSET 0x00dc -#define OMAP4430_RM_L4PER_MCASP3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00dc)#define OMAP4_PM_L4PER_MCBSP4_WKDEP_OFFSET 0x00e0 -#define OMAP4430_PM_L4PER_MCBSP4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00e0)#define OMAP4_RM_L4PER_MCBSP4_CONTEXT_OFFSET 0x00e4 -#define OMAP4430_RM_L4PER_MCBSP4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00e4)#define OMAP4_RM_L4PER_MGATE_CONTEXT_OFFSET 0x00ec -#define OMAP4430_RM_L4PER_MGATE_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00ec)#define OMAP4_PM_L4PER_MCSPI1_WKDEP_OFFSET 0x00f0 -#define OMAP4430_PM_L4PER_MCSPI1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00f0)#define OMAP4_RM_L4PER_MCSPI1_CONTEXT_OFFSET 0x00f4 -#define OMAP4430_RM_L4PER_MCSPI1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00f4)#define OMAP4_PM_L4PER_MCSPI2_WKDEP_OFFSET 0x00f8 -#define OMAP4430_PM_L4PER_MCSPI2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00f8)#define OMAP4_RM_L4PER_MCSPI2_CONTEXT_OFFSET 0x00fc -#define OMAP4430_RM_L4PER_MCSPI2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x00fc)#define OMAP4_PM_L4PER_MCSPI3_WKDEP_OFFSET 0x0100 -#define OMAP4430_PM_L4PER_MCSPI3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0100)#define OMAP4_RM_L4PER_MCSPI3_CONTEXT_OFFSET 0x0104 -#define OMAP4430_RM_L4PER_MCSPI3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0104)#define OMAP4_PM_L4PER_MCSPI4_WKDEP_OFFSET 0x0108 -#define OMAP4430_PM_L4PER_MCSPI4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0108)#define OMAP4_RM_L4PER_MCSPI4_CONTEXT_OFFSET 0x010c -#define OMAP4430_RM_L4PER_MCSPI4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x010c)#define OMAP4_PM_L4PER_MMCSD3_WKDEP_OFFSET 0x0120 -#define OMAP4430_PM_L4PER_MMCSD3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0120)#define OMAP4_RM_L4PER_MMCSD3_CONTEXT_OFFSET 0x0124 -#define OMAP4430_RM_L4PER_MMCSD3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0124)#define OMAP4_PM_L4PER_MMCSD4_WKDEP_OFFSET 0x0128 -#define OMAP4430_PM_L4PER_MMCSD4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0128)#define OMAP4_RM_L4PER_MMCSD4_CONTEXT_OFFSET 0x012c -#define OMAP4430_RM_L4PER_MMCSD4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x012c)#define OMAP4_RM_L4PER_MSPROHG_CONTEXT_OFFSET 0x0134 -#define OMAP4430_RM_L4PER_MSPROHG_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0134)#define OMAP4_PM_L4PER_SLIMBUS2_WKDEP_OFFSET 0x0138 -#define OMAP4430_PM_L4PER_SLIMBUS2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0138)#define OMAP4_RM_L4PER_SLIMBUS2_CONTEXT_OFFSET 0x013c -#define OMAP4430_RM_L4PER_SLIMBUS2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x013c)#define OMAP4_PM_L4PER_UART1_WKDEP_OFFSET 0x0140 -#define OMAP4430_PM_L4PER_UART1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0140)#define OMAP4_RM_L4PER_UART1_CONTEXT_OFFSET 0x0144 -#define OMAP4430_RM_L4PER_UART1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0144)#define OMAP4_PM_L4PER_UART2_WKDEP_OFFSET 0x0148 -#define OMAP4430_PM_L4PER_UART2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0148)#define OMAP4_RM_L4PER_UART2_CONTEXT_OFFSET 0x014c -#define OMAP4430_RM_L4PER_UART2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x014c)#define OMAP4_PM_L4PER_UART3_WKDEP_OFFSET 0x0150 -#define OMAP4430_PM_L4PER_UART3_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0150)#define OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET 0x0154 -#define OMAP4430_RM_L4PER_UART3_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0154)#define OMAP4_PM_L4PER_UART4_WKDEP_OFFSET 0x0158 -#define OMAP4430_PM_L4PER_UART4_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0158)#define OMAP4_RM_L4PER_UART4_CONTEXT_OFFSET 0x015c -#define OMAP4430_RM_L4PER_UART4_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x015c)#define OMAP4_PM_L4PER_MMCSD5_WKDEP_OFFSET 0x0160 -#define OMAP4430_PM_L4PER_MMCSD5_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0160)#define OMAP4_RM_L4PER_MMCSD5_CONTEXT_OFFSET 0x0164 -#define OMAP4430_RM_L4PER_MMCSD5_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0164)#define OMAP4_PM_L4PER_I2C5_WKDEP_OFFSET 0x0168 -#define OMAP4430_PM_L4PER_I2C5_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x0168)#define OMAP4_RM_L4PER_I2C5_CONTEXT_OFFSET 0x016c -#define OMAP4430_RM_L4PER_I2C5_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x016c)#define OMAP4_RM_L4SEC_AES1_CONTEXT_OFFSET 0x01a4 -#define OMAP4430_RM_L4SEC_AES1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01a4)#define OMAP4_RM_L4SEC_AES2_CONTEXT_OFFSET 0x01ac -#define OMAP4430_RM_L4SEC_AES2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01ac)#define OMAP4_RM_L4SEC_DES3DES_CONTEXT_OFFSET 0x01b4 -#define OMAP4430_RM_L4SEC_DES3DES_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01b4)#define OMAP4_RM_L4SEC_PKAEIP29_CONTEXT_OFFSET 0x01bc -#define OMAP4430_RM_L4SEC_PKAEIP29_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01bc)#define OMAP4_RM_L4SEC_RNG_CONTEXT_OFFSET 0x01c4 -#define OMAP4430_RM_L4SEC_RNG_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01c4)#define OMAP4_RM_L4SEC_SHA2MD51_CONTEXT_OFFSET 0x01cc -#define OMAP4430_RM_L4SEC_SHA2MD51_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01cc)#define OMAP4_RM_L4SEC_CRYPTODMA_CONTEXT_OFFSET 0x01dc -#define OMAP4430_RM_L4SEC_CRYPTODMA_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_L4PER_INST, 0x01dc)/* PRM.CEFUSE_PRM register offsets */ #define OMAP4_PM_CEFUSE_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_CEFUSE_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CEFUSE_INST, 0x0000)#define OMAP4_PM_CEFUSE_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_CEFUSE_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CEFUSE_INST, 0x0004)#define OMAP4_RM_CEFUSE_CEFUSE_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_CEFUSE_CEFUSE_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CEFUSE_INST, 0x0024)/* PRM.WKUP_PRM register offsets */ #define OMAP4_RM_WKUP_L4WKUP_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_WKUP_L4WKUP_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0024)#define OMAP4_RM_WKUP_WDT1_CONTEXT_OFFSET 0x002c -#define OMAP4430_RM_WKUP_WDT1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x002c)#define OMAP4_PM_WKUP_WDT2_WKDEP_OFFSET 0x0030 -#define OMAP4430_PM_WKUP_WDT2_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0030)#define OMAP4_RM_WKUP_WDT2_CONTEXT_OFFSET 0x0034 -#define OMAP4430_RM_WKUP_WDT2_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0034)#define OMAP4_PM_WKUP_GPIO1_WKDEP_OFFSET 0x0038 -#define OMAP4430_PM_WKUP_GPIO1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0038)#define OMAP4_RM_WKUP_GPIO1_CONTEXT_OFFSET 0x003c -#define OMAP4430_RM_WKUP_GPIO1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x003c)#define OMAP4_PM_WKUP_TIMER1_WKDEP_OFFSET 0x0040 -#define OMAP4430_PM_WKUP_TIMER1_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0040)#define OMAP4_RM_WKUP_TIMER1_CONTEXT_OFFSET 0x0044 -#define OMAP4430_RM_WKUP_TIMER1_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0044)#define OMAP4_PM_WKUP_TIMER12_WKDEP_OFFSET 0x0048 -#define OMAP4430_PM_WKUP_TIMER12_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0048)#define OMAP4_RM_WKUP_TIMER12_CONTEXT_OFFSET 0x004c -#define OMAP4430_RM_WKUP_TIMER12_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x004c)#define OMAP4_RM_WKUP_SYNCTIMER_CONTEXT_OFFSET 0x0054 -#define OMAP4430_RM_WKUP_SYNCTIMER_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0054)#define OMAP4_PM_WKUP_USIM_WKDEP_OFFSET 0x0058 -#define OMAP4430_PM_WKUP_USIM_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0058)#define OMAP4_RM_WKUP_USIM_CONTEXT_OFFSET 0x005c -#define OMAP4430_RM_WKUP_USIM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x005c)#define OMAP4_RM_WKUP_SARRAM_CONTEXT_OFFSET 0x0064 -#define OMAP4430_RM_WKUP_SARRAM_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0064)#define OMAP4_PM_WKUP_KEYBOARD_WKDEP_OFFSET 0x0078 -#define OMAP4430_PM_WKUP_KEYBOARD_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0078)#define OMAP4_RM_WKUP_KEYBOARD_CONTEXT_OFFSET 0x007c -#define OMAP4430_RM_WKUP_KEYBOARD_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x007c)#define OMAP4_PM_WKUP_RTC_WKDEP_OFFSET 0x0080 -#define OMAP4430_PM_WKUP_RTC_WKDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0080)#define OMAP4_RM_WKUP_RTC_CONTEXT_OFFSET 0x0084 -#define OMAP4430_RM_WKUP_RTC_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_INST, 0x0084)/* PRM.WKUP_CM register offsets */ #define OMAP4_CM_WKUP_CLKSTCTRL_OFFSET 0x0000 -#define OMAP4430_CM_WKUP_CLKSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0000)#define OMAP4_CM_WKUP_L4WKUP_CLKCTRL_OFFSET 0x0020 -#define OMAP4430_CM_WKUP_L4WKUP_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0020)#define OMAP4_CM_WKUP_WDT1_CLKCTRL_OFFSET 0x0028 -#define OMAP4430_CM_WKUP_WDT1_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0028)#define OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET 0x0030 -#define OMAP4430_CM_WKUP_WDT2_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0030)#define OMAP4_CM_WKUP_GPIO1_CLKCTRL_OFFSET 0x0038 -#define OMAP4430_CM_WKUP_GPIO1_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0038)#define OMAP4_CM_WKUP_TIMER1_CLKCTRL_OFFSET 0x0040 -#define OMAP4430_CM_WKUP_TIMER1_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0040)#define OMAP4_CM_WKUP_TIMER12_CLKCTRL_OFFSET 0x0048 -#define OMAP4430_CM_WKUP_TIMER12_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0048)#define OMAP4_CM_WKUP_SYNCTIMER_CLKCTRL_OFFSET 0x0050 -#define OMAP4430_CM_WKUP_SYNCTIMER_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0050)#define OMAP4_CM_WKUP_USIM_CLKCTRL_OFFSET 0x0058 -#define OMAP4430_CM_WKUP_USIM_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0058)#define OMAP4_CM_WKUP_SARRAM_CLKCTRL_OFFSET 0x0060 -#define OMAP4430_CM_WKUP_SARRAM_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0060)#define OMAP4_CM_WKUP_KEYBOARD_CLKCTRL_OFFSET 0x0078 -#define OMAP4430_CM_WKUP_KEYBOARD_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0078)#define OMAP4_CM_WKUP_RTC_CLKCTRL_OFFSET 0x0080 -#define OMAP4430_CM_WKUP_RTC_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0080)#define OMAP4_CM_WKUP_BANDGAP_CLKCTRL_OFFSET 0x0088 -#define OMAP4430_CM_WKUP_BANDGAP_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_WKUP_CM_INST, 0x0088)/* PRM.EMU_PRM register offsets */ #define OMAP4_PM_EMU_PWRSTCTRL_OFFSET 0x0000 -#define OMAP4430_PM_EMU_PWRSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_EMU_INST, 0x0000)#define OMAP4_PM_EMU_PWRSTST_OFFSET 0x0004 -#define OMAP4430_PM_EMU_PWRSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_EMU_INST, 0x0004)#define OMAP4_RM_EMU_DEBUGSS_CONTEXT_OFFSET 0x0024 -#define OMAP4430_RM_EMU_DEBUGSS_CONTEXT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_EMU_INST, 0x0024)/* PRM.EMU_CM register offsets */ #define OMAP4_CM_EMU_CLKSTCTRL_OFFSET 0x0000 -#define OMAP4430_CM_EMU_CLKSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_EMU_CM_INST, 0x0000)#define OMAP4_CM_EMU_DYNAMICDEP_OFFSET 0x0008 -#define OMAP4430_CM_EMU_DYNAMICDEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_EMU_CM_INST, 0x0008)#define OMAP4_CM_EMU_DEBUGSS_CLKCTRL_OFFSET 0x0020 -#define OMAP4430_CM_EMU_DEBUGSS_CLKCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_EMU_CM_INST, 0x0020)/* PRM.DEVICE_PRM register offsets */ #define OMAP4_PRM_RSTCTRL_OFFSET 0x0000 -#define OMAP4430_PRM_RSTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0000)#define OMAP4_PRM_RSTST_OFFSET 0x0004 -#define OMAP4430_PRM_RSTST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0004)#define OMAP4_PRM_RSTTIME_OFFSET 0x0008 -#define OMAP4430_PRM_RSTTIME OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0008)#define OMAP4_PRM_CLKREQCTRL_OFFSET 0x000c -#define OMAP4430_PRM_CLKREQCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x000c)#define OMAP4_PRM_VOLTCTRL_OFFSET 0x0010 -#define OMAP4430_PRM_VOLTCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0010)#define OMAP4_PRM_PWRREQCTRL_OFFSET 0x0014 -#define OMAP4430_PRM_PWRREQCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0014)#define OMAP4_PRM_PSCON_COUNT_OFFSET 0x0018 -#define OMAP4430_PRM_PSCON_COUNT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0018)#define OMAP4_PRM_IO_COUNT_OFFSET 0x001c -#define OMAP4430_PRM_IO_COUNT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x001c)#define OMAP4_PRM_IO_PMCTRL_OFFSET 0x0020 -#define OMAP4430_PRM_IO_PMCTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0020)#define OMAP4_PRM_VOLTSETUP_WARMRESET_OFFSET 0x0024 -#define OMAP4430_PRM_VOLTSETUP_WARMRESET OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0024)#define OMAP4_PRM_VOLTSETUP_CORE_OFF_OFFSET 0x0028 -#define OMAP4430_PRM_VOLTSETUP_CORE_OFF OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0028)#define OMAP4_PRM_VOLTSETUP_MPU_OFF_OFFSET 0x002c -#define OMAP4430_PRM_VOLTSETUP_MPU_OFF OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x002c)#define OMAP4_PRM_VOLTSETUP_IVA_OFF_OFFSET 0x0030 -#define OMAP4430_PRM_VOLTSETUP_IVA_OFF OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0030)#define OMAP4_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET 0x0034 -#define OMAP4430_PRM_VOLTSETUP_CORE_RET_SLEEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0034)#define OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET 0x0038 -#define OMAP4430_PRM_VOLTSETUP_MPU_RET_SLEEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0038)#define OMAP4_PRM_VOLTSETUP_IVA_RET_SLEEP_OFFSET 0x003c -#define OMAP4430_PRM_VOLTSETUP_IVA_RET_SLEEP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x003c)#define OMAP4_PRM_VP_CORE_CONFIG_OFFSET 0x0040 -#define OMAP4430_PRM_VP_CORE_CONFIG OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0040)#define OMAP4_PRM_VP_CORE_STATUS_OFFSET 0x0044 -#define OMAP4430_PRM_VP_CORE_STATUS OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0044)#define OMAP4_PRM_VP_CORE_VLIMITTO_OFFSET 0x0048 -#define OMAP4430_PRM_VP_CORE_VLIMITTO OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0048)#define OMAP4_PRM_VP_CORE_VOLTAGE_OFFSET 0x004c -#define OMAP4430_PRM_VP_CORE_VOLTAGE OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x004c)#define OMAP4_PRM_VP_CORE_VSTEPMAX_OFFSET 0x0050 -#define OMAP4430_PRM_VP_CORE_VSTEPMAX OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0050)#define OMAP4_PRM_VP_CORE_VSTEPMIN_OFFSET 0x0054 -#define OMAP4430_PRM_VP_CORE_VSTEPMIN OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0054)#define OMAP4_PRM_VP_MPU_CONFIG_OFFSET 0x0058 -#define OMAP4430_PRM_VP_MPU_CONFIG OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0058)#define OMAP4_PRM_VP_MPU_STATUS_OFFSET 0x005c -#define OMAP4430_PRM_VP_MPU_STATUS OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x005c)#define OMAP4_PRM_VP_MPU_VLIMITTO_OFFSET 0x0060 -#define OMAP4430_PRM_VP_MPU_VLIMITTO OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0060)#define OMAP4_PRM_VP_MPU_VOLTAGE_OFFSET 0x0064 -#define OMAP4430_PRM_VP_MPU_VOLTAGE OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0064)#define OMAP4_PRM_VP_MPU_VSTEPMAX_OFFSET 0x0068 -#define OMAP4430_PRM_VP_MPU_VSTEPMAX OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0068)#define OMAP4_PRM_VP_MPU_VSTEPMIN_OFFSET 0x006c -#define OMAP4430_PRM_VP_MPU_VSTEPMIN OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x006c)#define OMAP4_PRM_VP_IVA_CONFIG_OFFSET 0x0070 -#define OMAP4430_PRM_VP_IVA_CONFIG OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0070)#define OMAP4_PRM_VP_IVA_STATUS_OFFSET 0x0074 -#define OMAP4430_PRM_VP_IVA_STATUS OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0074)#define OMAP4_PRM_VP_IVA_VLIMITTO_OFFSET 0x0078 -#define OMAP4430_PRM_VP_IVA_VLIMITTO OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0078)#define OMAP4_PRM_VP_IVA_VOLTAGE_OFFSET 0x007c -#define OMAP4430_PRM_VP_IVA_VOLTAGE OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x007c)#define OMAP4_PRM_VP_IVA_VSTEPMAX_OFFSET 0x0080 -#define OMAP4430_PRM_VP_IVA_VSTEPMAX OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0080)#define OMAP4_PRM_VP_IVA_VSTEPMIN_OFFSET 0x0084 -#define OMAP4430_PRM_VP_IVA_VSTEPMIN OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0084)#define OMAP4_PRM_VC_SMPS_SA_OFFSET 0x0088 -#define OMAP4430_PRM_VC_SMPS_SA OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0088)#define OMAP4_PRM_VC_VAL_SMPS_RA_VOL_OFFSET 0x008c -#define OMAP4430_PRM_VC_VAL_SMPS_RA_VOL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x008c)#define OMAP4_PRM_VC_VAL_SMPS_RA_CMD_OFFSET 0x0090 -#define OMAP4430_PRM_VC_VAL_SMPS_RA_CMD OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0090)#define OMAP4_PRM_VC_VAL_CMD_VDD_CORE_L_OFFSET 0x0094 -#define OMAP4430_PRM_VC_VAL_CMD_VDD_CORE_L OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0094)#define OMAP4_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET 0x0098 -#define OMAP4430_PRM_VC_VAL_CMD_VDD_MPU_L OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x0098)#define OMAP4_PRM_VC_VAL_CMD_VDD_IVA_L_OFFSET 0x009c -#define OMAP4430_PRM_VC_VAL_CMD_VDD_IVA_L OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x009c)#define OMAP4_PRM_VC_VAL_BYPASS_OFFSET 0x00a0 -#define OMAP4430_PRM_VC_VAL_BYPASS OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a0)#define OMAP4_PRM_VC_CFG_CHANNEL_OFFSET 0x00a4 -#define OMAP4430_PRM_VC_CFG_CHANNEL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a4)#define OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET 0x00a8 -#define OMAP4430_PRM_VC_CFG_I2C_MODE OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a8)#define OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET 0x00ac -#define OMAP4430_PRM_VC_CFG_I2C_CLK OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00ac)#define OMAP4_PRM_SRAM_COUNT_OFFSET 0x00b0 -#define OMAP4430_PRM_SRAM_COUNT OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00b0)#define OMAP4_PRM_SRAM_WKUP_SETUP_OFFSET 0x00b4 -#define OMAP4430_PRM_SRAM_WKUP_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00b4)#define OMAP4_PRM_LDO_SRAM_CORE_SETUP_OFFSET 0x00b8 -#define OMAP4430_PRM_LDO_SRAM_CORE_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00b8)#define OMAP4_PRM_LDO_SRAM_CORE_CTRL_OFFSET 0x00bc -#define OMAP4430_PRM_LDO_SRAM_CORE_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00bc)#define OMAP4_PRM_LDO_SRAM_MPU_SETUP_OFFSET 0x00c0 -#define OMAP4430_PRM_LDO_SRAM_MPU_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00c0)#define OMAP4_PRM_LDO_SRAM_MPU_CTRL_OFFSET 0x00c4 -#define OMAP4430_PRM_LDO_SRAM_MPU_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00c4)#define OMAP4_PRM_LDO_SRAM_IVA_SETUP_OFFSET 0x00c8 -#define OMAP4430_PRM_LDO_SRAM_IVA_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00c8)#define OMAP4_PRM_LDO_SRAM_IVA_CTRL_OFFSET 0x00cc -#define OMAP4430_PRM_LDO_SRAM_IVA_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00cc)#define OMAP4_PRM_LDO_ABB_MPU_SETUP_OFFSET 0x00d0 -#define OMAP4430_PRM_LDO_ABB_MPU_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00d0)#define OMAP4_PRM_LDO_ABB_MPU_CTRL_OFFSET 0x00d4 -#define OMAP4430_PRM_LDO_ABB_MPU_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00d4)#define OMAP4_PRM_LDO_ABB_IVA_SETUP_OFFSET 0x00d8 -#define OMAP4430_PRM_LDO_ABB_IVA_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00d8)#define OMAP4_PRM_LDO_ABB_IVA_CTRL_OFFSET 0x00dc -#define OMAP4430_PRM_LDO_ABB_IVA_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00dc)#define OMAP4_PRM_LDO_BANDGAP_SETUP_OFFSET 0x00e0 -#define OMAP4430_PRM_LDO_BANDGAP_SETUP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00e0)#define OMAP4_PRM_DEVICE_OFF_CTRL_OFFSET 0x00e4 -#define OMAP4430_PRM_DEVICE_OFF_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00e4)#define OMAP4_PRM_PHASE1_CNDP_OFFSET 0x00e8 -#define OMAP4430_PRM_PHASE1_CNDP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00e8)#define OMAP4_PRM_PHASE2A_CNDP_OFFSET 0x00ec -#define OMAP4430_PRM_PHASE2A_CNDP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00ec)#define OMAP4_PRM_PHASE2B_CNDP_OFFSET 0x00f0 -#define OMAP4430_PRM_PHASE2B_CNDP OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f0)#define OMAP4_PRM_MODEM_IF_CTRL_OFFSET 0x00f4 -#define OMAP4430_PRM_MODEM_IF_CTRL OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f4)#define OMAP4_PRM_VC_ERRST_OFFSET 0x00f8 -#define OMAP4430_PRM_VC_ERRST OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f8)#endif
Signature · 1 line
1.7.9.5
PATCH 38/55 ARM: OMAP4: PRM: move parts of prm44xx.h header file to public location
In reply to Tero KristoParts of this file are needed from both the driver and mach-omap2 board code.
--- arch/arm/mach-omap2/cminst44xx.c | 3 +- arch/arm/mach-omap2/powerdomain.c | 3 +- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/prm44xx.h | 394 +-------------------------------- arch/arm/mach-omap2/prm_common.c | 5 +- arch/arm/mach-omap2/prminst44xx.c | 3 +- include/linux/power/omap/prm44xx.h | 420 ++++++++++++++++++++++++++++++++++++ 7 files changed, 432 insertions(+), 398 deletions(-) create mode 100644 include/linux/power/omap/prm44xx.h
arch/arm/mach-omap2/cminst44xx.c +2 -1
@@ -21,13 +21,14 @@#include <linux/err.h> #include <linux/io.h> +#include "prm.h" #include "clockdomain.h" #include <linux/power/omap/cm.h> #include "cm1_44xx.h" #include "cm2_44xx.h" #include <linux/power/omap/cm44xx.h> #include "prcm44xx.h" -#include "prm44xx.h" +#include <linux/power/omap/prm44xx.h> #include "prcm_mpu44xx.h" #include "prcm-common.h"
arch/arm/mach-omap2/powerdomain.c +2 -1
@@ -25,10 +25,11 @@#include <linux/power/omap/cm2xxx_3xxx.h> #include "prcm44xx.h" #include <linux/power/omap/prm2xxx_3xxx.h> -#include "prm44xx.h" +#include <linux/power/omap/prm44xx.h> #include <asm/cpu.h> +#include "prm.h" #include "powerdomain.h" #include "clockdomain.h" #include "voltage.h"
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -20,7 +20,7 @@#include "vp.h" -#include "prm44xx.h" +#include <linux/power/omap/prm44xx.h> #include "prm54xx.h" #include "prm7xx.h" #include "prcm44xx.h"
arch/arm/mach-omap2/prm44xx.h +1 -393
404 lines not on this page · raw message
arch/arm/mach-omap2/prm_common.c +4 -1
@@ -31,7 +31,10 @@#include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/prm2xxx.h> #include <linux/power/omap/prm3xxx.h> -#include "prm44xx.h" +#include <linux/power/omap/prm44xx.h> + +#include "prm.h" +#include "prcm-common.h" /* * OMAP_PRCM_MAX_NR_PENDING_REG: maximum number of PRM_IRQ*_MPU regs
arch/arm/mach-omap2/prminst44xx.c +2 -1
@@ -16,8 +16,9 @@#include <linux/err.h> #include <linux/io.h> +#include "prm.h" #include "prcm-common.h" -#include "prm44xx.h" +#include <linux/power/omap/prm44xx.h> #include "prm54xx.h" #include "prm7xx.h" #include "prminst44xx.h"
include/linux/power/omap/prm44xx.h new file +420 -0
420 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 39/55 ARM: OMAP5: PRM: remove direct register declaration macros
In reply to Tero KristoNone of these are currently used, so cleanup.
--- arch/arm/mach-omap2/prm54xx.h | 18 ------------------ 1 file changed, 18 deletions(-)
arch/arm/mach-omap2/prm54xx.h +0 -18
@@ -69,7 +69,6 @@#define OMAP54XX_PRM_IRQSTATUS_DSP_OFFSET 0x0030#define OMAP54XX_PRM_IRQENABLE_DSP_OFFSET 0x0038#define OMAP54XX_CM_PRM_PROFILING_CLKCTRL_OFFSET 0x0040 -#define OMAP54XX_CM_PRM_PROFILING_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_OCP_SOCKET_INST, 0x0040)#define OMAP54XX_PRM_DEBUG_OUT_OFFSET 0x0084#define OMAP54XX_PRM_DEBUG_TRANS_CFG_OFFSET 0x0090#define OMAP54XX_PRM_DEBUG_OFF_TRANS_OFFSET 0x0094
@@ -80,13 +79,9 @@/* PRM.CKGEN_PRM register offsets */ #define OMAP54XX_CM_CLKSEL_ABE_DSS_SYS_OFFSET 0x0000 -#define OMAP54XX_CM_CLKSEL_ABE_DSS_SYS OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x0000)#define OMAP54XX_CM_CLKSEL_WKUPAON_OFFSET 0x0008 -#define OMAP54XX_CM_CLKSEL_WKUPAON OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x0008)#define OMAP54XX_CM_CLKSEL_ABE_PLL_REF_OFFSET 0x000c -#define OMAP54XX_CM_CLKSEL_ABE_PLL_REF OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x000c)#define OMAP54XX_CM_CLKSEL_SYS_OFFSET 0x0010 -#define OMAP54XX_CM_CLKSEL_SYS OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_CKGEN_INST, 0x0010)/* PRM.MPU_PRM register offsets */ #define OMAP54XX_PM_MPU_PWRSTCTRL_OFFSET 0x0000
@@ -314,27 +309,16 @@/* PRM.WKUPAON_CM register offsets */ #define OMAP54XX_CM_WKUPAON_CLKSTCTRL_OFFSET 0x0000#define OMAP54XX_CM_WKUPAON_L4_WKUP_CLKCTRL_OFFSET 0x0020 -#define OMAP54XX_CM_WKUPAON_L4_WKUP_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0020)#define OMAP54XX_CM_WKUPAON_WD_TIMER1_CLKCTRL_OFFSET 0x0028 -#define OMAP54XX_CM_WKUPAON_WD_TIMER1_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0028)#define OMAP54XX_CM_WKUPAON_WD_TIMER2_CLKCTRL_OFFSET 0x0030 -#define OMAP54XX_CM_WKUPAON_WD_TIMER2_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0030)#define OMAP54XX_CM_WKUPAON_GPIO1_CLKCTRL_OFFSET 0x0038 -#define OMAP54XX_CM_WKUPAON_GPIO1_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0038)#define OMAP54XX_CM_WKUPAON_TIMER1_CLKCTRL_OFFSET 0x0040 -#define OMAP54XX_CM_WKUPAON_TIMER1_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0040)#define OMAP54XX_CM_WKUPAON_TIMER12_CLKCTRL_OFFSET 0x0048 -#define OMAP54XX_CM_WKUPAON_TIMER12_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0048)#define OMAP54XX_CM_WKUPAON_COUNTER_32K_CLKCTRL_OFFSET 0x0050 -#define OMAP54XX_CM_WKUPAON_COUNTER_32K_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0050)#define OMAP54XX_CM_WKUPAON_SAR_RAM_CLKCTRL_OFFSET 0x0060 -#define OMAP54XX_CM_WKUPAON_SAR_RAM_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0060)#define OMAP54XX_CM_WKUPAON_KBD_CLKCTRL_OFFSET 0x0078 -#define OMAP54XX_CM_WKUPAON_KBD_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0078)#define OMAP54XX_CM_WKUPAON_SCRM_CLKCTRL_OFFSET 0x0090 -#define OMAP54XX_CM_WKUPAON_SCRM_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0090)#define OMAP54XX_CM_WKUPAON_IO_SRCOMP_CLKCTRL_OFFSET 0x0098 -#define OMAP54XX_CM_WKUPAON_IO_SRCOMP_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_WKUPAON_CM_INST, 0x0098)/* PRM.EMU_PRM register offsets */ #define OMAP54XX_PM_EMU_PWRSTCTRL_OFFSET 0x0000
@@ -345,9 +329,7 @@#define OMAP54XX_CM_EMU_CLKSTCTRL_OFFSET 0x0000#define OMAP54XX_CM_EMU_DYNAMICDEP_OFFSET 0x0008#define OMAP54XX_CM_EMU_DEBUGSS_CLKCTRL_OFFSET 0x0020 -#define OMAP54XX_CM_EMU_DEBUGSS_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_EMU_CM_INST, 0x0020)#define OMAP54XX_CM_EMU_MPU_EMU_DBG_CLKCTRL_OFFSET 0x0028 -#define OMAP54XX_CM_EMU_MPU_EMU_DBG_CLKCTRL OMAP54XX_PRM_REGADDR(OMAP54XX_PRM_EMU_CM_INST, 0x0028)/* PRM.DEVICE_PRM register offsets */ #define OMAP54XX_PRM_RSTCTRL_OFFSET 0x0000
Signature · 1 line
1.7.9.5
PATCH 40/55 ARM: OMAP5: PRM: move parts of prm54xx.h header file to public location
In reply to Tero KristoParts of this file are needed by both the driver and mach-omap2 board code.
--- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/prm54xx.h | 371 +--------------------------------- arch/arm/mach-omap2/prminst44xx.c | 2 +- include/linux/power/omap/prm54xx.h | 393 ++++++++++++++++++++++++++++++++++++ 4 files changed, 396 insertions(+), 372 deletions(-) create mode 100644 include/linux/power/omap/prm54xx.h
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -21,7 +21,7 @@#include "vp.h" #include <linux/power/omap/prm44xx.h> -#include "prm54xx.h" +#include <linux/power/omap/prm54xx.h> #include "prm7xx.h" #include "prcm44xx.h" #include "prminst44xx_private.h"
arch/arm/mach-omap2/prm54xx.h +1 -370
381 lines not on this page · raw message
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -19,7 +19,7 @@#include "prm.h" #include "prcm-common.h" #include <linux/power/omap/prm44xx.h> -#include "prm54xx.h" +#include <linux/power/omap/prm54xx.h> #include "prm7xx.h" #include "prminst44xx.h" #include "prcm44xx.h"
include/linux/power/omap/prm54xx.h new file +393 -0
393 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 41/55 ARM: DRA7: PRM: remove direct register declaration macros
In reply to Tero KristoNone of these are currently used, so cleanup.
--- arch/arm/mach-omap2/prm7xx.h | 77 ------------------------------------------ 1 file changed, 77 deletions(-)
arch/arm/mach-omap2/prm7xx.h +0 -77
@@ -78,7 +78,6 @@#define DRA7XX_PRM_IRQSTATUS_DSP1_OFFSET 0x0030#define DRA7XX_PRM_IRQENABLE_DSP1_OFFSET 0x0038#define DRA7XX_CM_PRM_PROFILING_CLKCTRL_OFFSET 0x0040 -#define DRA7XX_CM_PRM_PROFILING_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_OCP_SOCKET_INST, 0x0040)#define DRA7XX_PRM_IRQENABLE_DSP2_OFFSET 0x0044#define DRA7XX_PRM_IRQENABLE_EVE1_OFFSET 0x0048#define DRA7XX_PRM_IRQENABLE_EVE2_OFFSET 0x004c
@@ -98,113 +97,59 @@/* PRM.CKGEN_PRM register offsets */ #define DRA7XX_CM_CLKSEL_SYSCLK1_OFFSET 0x0000 -#define DRA7XX_CM_CLKSEL_SYSCLK1 DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0000)#define DRA7XX_CM_CLKSEL_WKUPAON_OFFSET 0x0008 -#define DRA7XX_CM_CLKSEL_WKUPAON DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0008)#define DRA7XX_CM_CLKSEL_ABE_PLL_REF_OFFSET 0x000c -#define DRA7XX_CM_CLKSEL_ABE_PLL_REF DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x000c)#define DRA7XX_CM_CLKSEL_SYS_OFFSET 0x0010 -#define DRA7XX_CM_CLKSEL_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0010)#define DRA7XX_CM_CLKSEL_ABE_PLL_BYPAS_OFFSET 0x0014 -#define DRA7XX_CM_CLKSEL_ABE_PLL_BYPAS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0014)#define DRA7XX_CM_CLKSEL_ABE_PLL_SYS_OFFSET 0x0018 -#define DRA7XX_CM_CLKSEL_ABE_PLL_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0018)#define DRA7XX_CM_CLKSEL_ABE_24M_OFFSET 0x001c -#define DRA7XX_CM_CLKSEL_ABE_24M DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x001c)#define DRA7XX_CM_CLKSEL_ABE_SYS_OFFSET 0x0020 -#define DRA7XX_CM_CLKSEL_ABE_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0020)#define DRA7XX_CM_CLKSEL_HDMI_MCASP_AUX_OFFSET 0x0024 -#define DRA7XX_CM_CLKSEL_HDMI_MCASP_AUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0024)#define DRA7XX_CM_CLKSEL_HDMI_TIMER_OFFSET 0x0028 -#define DRA7XX_CM_CLKSEL_HDMI_TIMER DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0028)#define DRA7XX_CM_CLKSEL_MCASP_SYS_OFFSET 0x002c -#define DRA7XX_CM_CLKSEL_MCASP_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x002c)#define DRA7XX_CM_CLKSEL_MLBP_MCASP_OFFSET 0x0030 -#define DRA7XX_CM_CLKSEL_MLBP_MCASP DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0030)#define DRA7XX_CM_CLKSEL_MLB_MCASP_OFFSET 0x0034 -#define DRA7XX_CM_CLKSEL_MLB_MCASP DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0034)#define DRA7XX_CM_CLKSEL_PER_ABE_X1_GFCLK_MCASP_AUX_OFFSET 0x0038 -#define DRA7XX_CM_CLKSEL_PER_ABE_X1_GFCLK_MCASP_AUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0038)#define DRA7XX_CM_CLKSEL_SYS_CLK1_32K_OFFSET 0x0040 -#define DRA7XX_CM_CLKSEL_SYS_CLK1_32K DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0040)#define DRA7XX_CM_CLKSEL_TIMER_SYS_OFFSET 0x0044 -#define DRA7XX_CM_CLKSEL_TIMER_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0044)#define DRA7XX_CM_CLKSEL_VIDEO1_MCASP_AUX_OFFSET 0x0048 -#define DRA7XX_CM_CLKSEL_VIDEO1_MCASP_AUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0048)#define DRA7XX_CM_CLKSEL_VIDEO1_TIMER_OFFSET 0x004c -#define DRA7XX_CM_CLKSEL_VIDEO1_TIMER DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x004c)#define DRA7XX_CM_CLKSEL_VIDEO2_MCASP_AUX_OFFSET 0x0050 -#define DRA7XX_CM_CLKSEL_VIDEO2_MCASP_AUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0050)#define DRA7XX_CM_CLKSEL_VIDEO2_TIMER_OFFSET 0x0054 -#define DRA7XX_CM_CLKSEL_VIDEO2_TIMER DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0054)#define DRA7XX_CM_CLKSEL_CLKOUTMUX0_OFFSET 0x0058 -#define DRA7XX_CM_CLKSEL_CLKOUTMUX0 DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0058)#define DRA7XX_CM_CLKSEL_CLKOUTMUX1_OFFSET 0x005c -#define DRA7XX_CM_CLKSEL_CLKOUTMUX1 DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x005c)#define DRA7XX_CM_CLKSEL_CLKOUTMUX2_OFFSET 0x0060 -#define DRA7XX_CM_CLKSEL_CLKOUTMUX2 DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0060)#define DRA7XX_CM_CLKSEL_HDMI_PLL_SYS_OFFSET 0x0064 -#define DRA7XX_CM_CLKSEL_HDMI_PLL_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0064)#define DRA7XX_CM_CLKSEL_VIDEO1_PLL_SYS_OFFSET 0x0068 -#define DRA7XX_CM_CLKSEL_VIDEO1_PLL_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0068)#define DRA7XX_CM_CLKSEL_VIDEO2_PLL_SYS_OFFSET 0x006c -#define DRA7XX_CM_CLKSEL_VIDEO2_PLL_SYS DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x006c)#define DRA7XX_CM_CLKSEL_ABE_CLK_DIV_OFFSET 0x0070 -#define DRA7XX_CM_CLKSEL_ABE_CLK_DIV DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0070)#define DRA7XX_CM_CLKSEL_ABE_GICLK_DIV_OFFSET 0x0074 -#define DRA7XX_CM_CLKSEL_ABE_GICLK_DIV DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0074)#define DRA7XX_CM_CLKSEL_AESS_FCLK_DIV_OFFSET 0x0078 -#define DRA7XX_CM_CLKSEL_AESS_FCLK_DIV DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0078)#define DRA7XX_CM_CLKSEL_EVE_CLK_OFFSET 0x0080 -#define DRA7XX_CM_CLKSEL_EVE_CLK DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0080)#define DRA7XX_CM_CLKSEL_USB_OTG_CLK_CLKOUTMUX_OFFSET 0x0084 -#define DRA7XX_CM_CLKSEL_USB_OTG_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0084)#define DRA7XX_CM_CLKSEL_CORE_DPLL_OUT_CLK_CLKOUTMUX_OFFSET 0x0088 -#define DRA7XX_CM_CLKSEL_CORE_DPLL_OUT_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0088)#define DRA7XX_CM_CLKSEL_DSP_GFCLK_CLKOUTMUX_OFFSET 0x008c -#define DRA7XX_CM_CLKSEL_DSP_GFCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x008c)#define DRA7XX_CM_CLKSEL_EMIF_PHY_GCLK_CLKOUTMUX_OFFSET 0x0090 -#define DRA7XX_CM_CLKSEL_EMIF_PHY_GCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0090)#define DRA7XX_CM_CLKSEL_EMU_CLK_CLKOUTMUX_OFFSET 0x0094 -#define DRA7XX_CM_CLKSEL_EMU_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0094)#define DRA7XX_CM_CLKSEL_FUNC_96M_AON_CLK_CLKOUTMUX_OFFSET 0x0098 -#define DRA7XX_CM_CLKSEL_FUNC_96M_AON_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x0098)#define DRA7XX_CM_CLKSEL_GMAC_250M_CLK_CLKOUTMUX_OFFSET 0x009c -#define DRA7XX_CM_CLKSEL_GMAC_250M_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x009c)#define DRA7XX_CM_CLKSEL_GPU_GCLK_CLKOUTMUX_OFFSET 0x00a0 -#define DRA7XX_CM_CLKSEL_GPU_GCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00a0)#define DRA7XX_CM_CLKSEL_HDMI_CLK_CLKOUTMUX_OFFSET 0x00a4 -#define DRA7XX_CM_CLKSEL_HDMI_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00a4)#define DRA7XX_CM_CLKSEL_IVA_GCLK_CLKOUTMUX_OFFSET 0x00a8 -#define DRA7XX_CM_CLKSEL_IVA_GCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00a8)#define DRA7XX_CM_CLKSEL_L3INIT_480M_GFCLK_CLKOUTMUX_OFFSET 0x00ac -#define DRA7XX_CM_CLKSEL_L3INIT_480M_GFCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00ac)#define DRA7XX_CM_CLKSEL_MPU_GCLK_CLKOUTMUX_OFFSET 0x00b0 -#define DRA7XX_CM_CLKSEL_MPU_GCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00b0)#define DRA7XX_CM_CLKSEL_PCIE1_CLK_CLKOUTMUX_OFFSET 0x00b4 -#define DRA7XX_CM_CLKSEL_PCIE1_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00b4)#define DRA7XX_CM_CLKSEL_PCIE2_CLK_CLKOUTMUX_OFFSET 0x00b8 -#define DRA7XX_CM_CLKSEL_PCIE2_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00b8)#define DRA7XX_CM_CLKSEL_PER_ABE_X1_CLK_CLKOUTMUX_OFFSET 0x00bc -#define DRA7XX_CM_CLKSEL_PER_ABE_X1_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00bc)#define DRA7XX_CM_CLKSEL_SATA_CLK_CLKOUTMUX_OFFSET 0x00c0 -#define DRA7XX_CM_CLKSEL_SATA_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00c0)#define DRA7XX_CM_CLKSEL_SECURE_32K_CLK_CLKOUTMUX_OFFSET 0x00c4 -#define DRA7XX_CM_CLKSEL_SECURE_32K_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00c4)#define DRA7XX_CM_CLKSEL_SYS_CLK1_CLKOUTMUX_OFFSET 0x00c8 -#define DRA7XX_CM_CLKSEL_SYS_CLK1_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00c8)#define DRA7XX_CM_CLKSEL_SYS_CLK2_CLKOUTMUX_OFFSET 0x00cc -#define DRA7XX_CM_CLKSEL_SYS_CLK2_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00cc)#define DRA7XX_CM_CLKSEL_VIDEO1_CLK_CLKOUTMUX_OFFSET 0x00d0 -#define DRA7XX_CM_CLKSEL_VIDEO1_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00d0)#define DRA7XX_CM_CLKSEL_VIDEO2_CLK_CLKOUTMUX_OFFSET 0x00d4 -#define DRA7XX_CM_CLKSEL_VIDEO2_CLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00d4)#define DRA7XX_CM_CLKSEL_ABE_LP_CLK_OFFSET 0x00d8 -#define DRA7XX_CM_CLKSEL_ABE_LP_CLK DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00d8)#define DRA7XX_CM_CLKSEL_ADC_GFCLK_OFFSET 0x00dc -#define DRA7XX_CM_CLKSEL_ADC_GFCLK DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00dc)#define DRA7XX_CM_CLKSEL_EVE_GFCLK_CLKOUTMUX_OFFSET 0x00e0 -#define DRA7XX_CM_CLKSEL_EVE_GFCLK_CLKOUTMUX DRA7XX_PRM_REGADDR(DRA7XX_PRM_CKGEN_INST, 0x00e0)/* PRM.MPU_PRM register offsets */ #define DRA7XX_PM_MPU_PWRSTCTRL_OFFSET 0x0000
@@ -527,45 +472,25 @@/* PRM.WKUPAON_CM register offsets */ #define DRA7XX_CM_WKUPAON_CLKSTCTRL_OFFSET 0x0000#define DRA7XX_CM_WKUPAON_L4_WKUP_CLKCTRL_OFFSET 0x0020 -#define DRA7XX_CM_WKUPAON_L4_WKUP_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0020)#define DRA7XX_CM_WKUPAON_WD_TIMER1_CLKCTRL_OFFSET 0x0028 -#define DRA7XX_CM_WKUPAON_WD_TIMER1_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0028)#define DRA7XX_CM_WKUPAON_WD_TIMER2_CLKCTRL_OFFSET 0x0030 -#define DRA7XX_CM_WKUPAON_WD_TIMER2_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0030)#define DRA7XX_CM_WKUPAON_GPIO1_CLKCTRL_OFFSET 0x0038 -#define DRA7XX_CM_WKUPAON_GPIO1_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0038)#define DRA7XX_CM_WKUPAON_TIMER1_CLKCTRL_OFFSET 0x0040 -#define DRA7XX_CM_WKUPAON_TIMER1_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0040)#define DRA7XX_CM_WKUPAON_TIMER12_CLKCTRL_OFFSET 0x0048 -#define DRA7XX_CM_WKUPAON_TIMER12_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0048)#define DRA7XX_CM_WKUPAON_COUNTER_32K_CLKCTRL_OFFSET 0x0050 -#define DRA7XX_CM_WKUPAON_COUNTER_32K_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0050)#define DRA7XX_CM_WKUPAON_SAR_RAM_CLKCTRL_OFFSET 0x0060 -#define DRA7XX_CM_WKUPAON_SAR_RAM_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0060)#define DRA7XX_CM_WKUPAON_KBD_CLKCTRL_OFFSET 0x0078 -#define DRA7XX_CM_WKUPAON_KBD_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0078)#define DRA7XX_CM_WKUPAON_UART10_CLKCTRL_OFFSET 0x0080 -#define DRA7XX_CM_WKUPAON_UART10_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0080)#define DRA7XX_CM_WKUPAON_DCAN1_CLKCTRL_OFFSET 0x0088 -#define DRA7XX_CM_WKUPAON_DCAN1_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0088)#define DRA7XX_CM_WKUPAON_SCRM_CLKCTRL_OFFSET 0x0090 -#define DRA7XX_CM_WKUPAON_SCRM_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0090)#define DRA7XX_CM_WKUPAON_IO_SRCOMP_CLKCTRL_OFFSET 0x0098 -#define DRA7XX_CM_WKUPAON_IO_SRCOMP_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x0098)#define DRA7XX_CM_WKUPAON_ADC_CLKCTRL_OFFSET 0x00a0 -#define DRA7XX_CM_WKUPAON_ADC_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00a0)#define DRA7XX_CM_WKUPAON_SPARE_SAFETY1_CLKCTRL_OFFSET 0x00b0 -#define DRA7XX_CM_WKUPAON_SPARE_SAFETY1_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00b0)#define DRA7XX_CM_WKUPAON_SPARE_SAFETY2_CLKCTRL_OFFSET 0x00b8 -#define DRA7XX_CM_WKUPAON_SPARE_SAFETY2_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00b8)#define DRA7XX_CM_WKUPAON_SPARE_SAFETY3_CLKCTRL_OFFSET 0x00c0 -#define DRA7XX_CM_WKUPAON_SPARE_SAFETY3_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00c0)#define DRA7XX_CM_WKUPAON_SPARE_SAFETY4_CLKCTRL_OFFSET 0x00c8 -#define DRA7XX_CM_WKUPAON_SPARE_SAFETY4_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00c8)#define DRA7XX_CM_WKUPAON_SPARE_UNKNOWN2_CLKCTRL_OFFSET 0x00d0 -#define DRA7XX_CM_WKUPAON_SPARE_UNKNOWN2_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00d0)#define DRA7XX_CM_WKUPAON_SPARE_UNKNOWN3_CLKCTRL_OFFSET 0x00d8 -#define DRA7XX_CM_WKUPAON_SPARE_UNKNOWN3_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_WKUPAON_CM_INST, 0x00d8)/* PRM.EMU_PRM register offsets */ #define DRA7XX_PM_EMU_PWRSTCTRL_OFFSET 0x0000
@@ -575,10 +500,8 @@/* PRM.EMU_CM register offsets */ #define DRA7XX_CM_EMU_CLKSTCTRL_OFFSET 0x0000#define DRA7XX_CM_EMU_DEBUGSS_CLKCTRL_OFFSET 0x0004 -#define DRA7XX_CM_EMU_DEBUGSS_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_EMU_CM_INST, 0x0004)#define DRA7XX_CM_EMU_DYNAMICDEP_OFFSET 0x0008#define DRA7XX_CM_EMU_MPU_EMU_DBG_CLKCTRL_OFFSET 0x000c -#define DRA7XX_CM_EMU_MPU_EMU_DBG_CLKCTRL DRA7XX_PRM_REGADDR(DRA7XX_PRM_EMU_CM_INST, 0x000c)/* PRM.DSP2_PRM register offsets */ #define DRA7XX_PM_DSP2_PWRSTCTRL_OFFSET 0x0000
Signature · 1 line
1.7.9.5
PATCH 42/55 ARM: DRA7: PRM: move parts of prm7xx.h header file to public location
In reply to Tero KristoParts of this file are needed by both the driver and mach-omap2 board code.
--- arch/arm/mach-omap2/prm44xx.c | 5 +- arch/arm/mach-omap2/prm7xx.h | 568 +---------------------------------- arch/arm/mach-omap2/prminst44xx.c | 2 +- include/linux/power/omap/prm7xx.h | 591 +++++++++++++++++++++++++++++++++++++ 4 files changed, 597 insertions(+), 569 deletions(-) create mode 100644 include/linux/power/omap/prm7xx.h
arch/arm/mach-omap2/prm44xx.c +4 -1
@@ -22,10 +22,13 @@#include "vp.h" #include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> -#include "prm7xx.h" +#include <linux/power/omap/prm7xx.h> #include "prcm44xx.h" #include "prminst44xx_private.h" #include "powerdomain.h" +#include "prm.h" +#include "prcm-common.h" +#include "prm44xx_54xx.h" #define OMAP4430_GLOBAL_COLD_RST_SHIFT 0#define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT 1
arch/arm/mach-omap2/prm7xx.h +1 -567
578 lines not on this page · raw message
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -20,7 +20,7 @@#include "prcm-common.h" #include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> -#include "prm7xx.h" +#include <linux/power/omap/prm7xx.h> #include "prminst44xx.h" #include "prcm44xx.h" #include "prcm_mpu44xx.h"
include/linux/power/omap/prm7xx.h new file +591 -0
591 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 43/55 ARM: OMAP4: PRM: get rid of prminst44xx.h header file
In reply to Tero KristoOnly contains a few function prototypes, so move these to the public prm44xx.h header and remove the now unnecessary prminst44xx.h.
--- arch/arm/mach-omap2/io.c | 1 - arch/arm/mach-omap2/omap-mpuss-lowpower.c | 1 - arch/arm/mach-omap2/omap4-common.c | 1 - arch/arm/mach-omap2/omap4-restart.c | 2 +- arch/arm/mach-omap2/omap_hwmod.c | 1 - arch/arm/mach-omap2/prminst44xx.c | 1 - arch/arm/mach-omap2/prminst44xx.h | 27 ------------------------- arch/arm/mach-omap2/prminst44xx_private.h | 2 +- arch/arm/mach-omap2/voltage.c | 1 - arch/arm/mach-omap2/voltagedomains44xx_data.c | 1 - include/linux/power/omap/prm44xx.h | 12 +++++++++++ 11 files changed, 14 insertions(+), 36 deletions(-) delete mode 100644 arch/arm/mach-omap2/prminst44xx.h
arch/arm/mach-omap2/io.c +0 -1
@@ -48,7 +48,6 @@#include "prm.h" #include <linux/power/omap/cm.h> #include "prcm_mpu44xx.h" -#include "prminst44xx.h" #include <linux/power/omap/cm44xx.h> #include "prm2xxx.h" #include "prm3xxx.h"
arch/arm/mach-omap2/omap-mpuss-lowpower.c +0 -1
@@ -57,7 +57,6 @@#include "omap4-sar-layout.h" #include "pm.h" #include "prcm_mpu44xx.h" -#include "prminst44xx.h" #include "prcm44xx.h" #include "prm44xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/omap4-common.c +0 -1
@@ -35,7 +35,6 @@#include "iomap.h" #include "common.h" #include "mmc.h" -#include "prminst44xx.h" #include "prcm_mpu44xx.h" #include "omap4-sar-layout.h" #include "omap-secure.h"
arch/arm/mach-omap2/omap4-restart.c +1 -1
@@ -9,7 +9,7 @@#include <linux/types.h> #include <linux/reboot.h> -#include "prminst44xx.h" +#include <linux/power/omap/prm44xx.h> /** * omap44xx_restart - trigger a software restart of the SoC
arch/arm/mach-omap2/omap_hwmod.c +0 -1
@@ -159,7 +159,6 @@#include "prm3xxx.h" #include "prm44xx.h" #include "prm33xx.h" -#include "prminst44xx.h" #include "mux.h" #include "pm.h"
arch/arm/mach-omap2/prminst44xx.c +0 -1
@@ -21,7 +21,6 @@#include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> #include <linux/power/omap/prm7xx.h> -#include "prminst44xx.h" #include "prcm44xx.h" #include "prcm_mpu44xx.h"
arch/arm/mach-omap2/prminst44xx.h deleted +0 -27
@@ -1,27 +0,0 @@ -/* -* OMAP4 Power/Reset Management (PRM) function prototypes -* -* Copyright (C) 2010 Nokia Corporation -* Copyright (C) 2011 Texas Instruments, Inc. -* Paul Walmsley -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -*/ -#ifndef __ARCH_ASM_MACH_OMAP2_PRMINST44XX_H -#define __ARCH_ASM_MACH_OMAP2_PRMINST44XX_H - -extern void omap4_prminst_global_warm_sw_reset (void ); - -extern int omap4_prminst_is_hardreset_asserted (u8 shift,u8 part,s16 inst, -u16 rstctrl_offs); -extern int omap4_prminst_assert_hardreset (u8 shift,u8 part,s16 inst, -u16 rstctrl_offs); -extern int omap4_prminst_deassert_hardreset (u8 shift,u8 part,s16 inst, -u16 rstctrl_offs); -void omap4_prminst_mpuss_clear_prev_logic_pwrst (void ); - -extern void omap_prm_base_init (void ); - -#endif
arch/arm/mach-omap2/prminst44xx_private.h +1 -1
@@ -12,7 +12,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRMINST44XX_PRIVATE_H#define __ARCH_ARM_MACH_OMAP2_PRMINST44XX_PRIVATE_H -#include "prminst44xx.h" +#include <linux/power/omap/prm44xx.h> /* * In an ideal world, we would not export these low-level functions,
arch/arm/mach-omap2/voltage.c +0 -1
@@ -33,7 +33,6 @@#include "prm-regbits-44xx.h" #include "prm44xx.h" #include "prcm44xx.h" -#include "prminst44xx.h" #include "control.h" #include "voltage.h"
arch/arm/mach-omap2/voltagedomains44xx_data.c +0 -1
@@ -26,7 +26,6 @@#include "prm-regbits-44xx.h" #include "prm44xx.h" #include "prcm44xx.h" -#include "prminst44xx.h" #include "voltage.h" #include "omap_opp_data.h" #include "vc.h"
include/linux/power/omap/prm44xx.h +12 -0
@@ -417,4 +417,16 @@#define OMAP4_PRM_MODEM_IF_CTRL_OFFSET 0x00f4#define OMAP4_PRM_VC_ERRST_OFFSET 0x00f8 +#ifndef __ASSEMBLER__ +void omap4_prminst_global_warm_sw_reset (void ); +int omap4_prminst_is_hardreset_asserted (u8 shift,u8 part,s16 inst, +u16 rstctrl_offs); +int omap4_prminst_assert_hardreset (u8 shift,u8 part,s16 inst, +u16 rstctrl_offs); +int omap4_prminst_deassert_hardreset (u8 shift,u8 part,s16 inst, +u16 rstctrl_offs); +void omap4_prminst_mpuss_clear_prev_logic_pwrst (void ); +void omap_prm_base_init (void ); +#endif +#endif
Signature · 1 line
1.7.9.5
PATCH 44/55 ARM: OMAP4: PRM: make omap4_prm_read/write_inst_reg calls static
In reply to Tero KristoThese are not (and should not be) used by anybody outside the PRM driver itself.
--- arch/arm/mach-omap2/prm44xx.c | 6 +++--- arch/arm/mach-omap2/prm44xx_54xx.h | 4 ---- 2 files changed, 3 insertions(+), 7 deletions(-)
arch/arm/mach-omap2/prm44xx.c +3 -3
@@ -115,19 +115,19 @@ static struct prm_reset_src_map omap44xx_prm_reset_src_map[] = {/* PRM low-level functions */ /* Read a register in a CM/PRM instance in the PRM module */ -u32 omap4_prm_read_inst_reg (s16 inst,u16 reg) +static u32 omap4_prm_read_inst_reg (s16 inst,u16 reg) {return __raw_readl (prm_base + inst + reg); }/* Write into a register in a CM/PRM instance in the PRM module */ -void omap4_prm_write_inst_reg (u32 val,s16 inst,u16 reg) +static void omap4_prm_write_inst_reg (u32 val,s16 inst,u16 reg) {__raw_writel (val, prm_base + inst + reg); }/* Read-modify-write a register in a PRM module. Caller must lock */ -u32 omap4_prm_rmw_inst_reg_bits (u32 mask,u32 bits,s16 inst,s16 reg) +static u32 omap4_prm_rmw_inst_reg_bits (u32 mask,u32 bits,s16 inst,s16 reg) {u32 v;
arch/arm/mach-omap2/prm44xx_54xx.h +0 -4
@@ -26,10 +26,6 @@/* Function prototypes */ #ifndef __ASSEMBLER__ -extern u32 omap4_prm_read_inst_reg (s16 inst,u16 idx); -extern void omap4_prm_write_inst_reg (u32 val,s16 inst,u16 idx); -extern u32 omap4_prm_rmw_inst_reg_bits (u32 mask,u32 bits,s16 inst,s16 idx); -/* OMAP4/OMAP5-specific VP functions */ u32 omap4_prm_vp_check_txdone (u8 vp_id);void omap4_prm_vp_clear_txdone (u8 vp_id);
Signature · 1 line
1.7.9.5
PATCH 45/55 ARM: OMAP4: PRM: move prm44xx_54xx.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/prm44xx.h | 2 +- arch/arm/mach-omap2/prm44xx_54xx.h | 61 ------------------------------- arch/arm/mach-omap2/prm54xx.h | 2 +- arch/arm/mach-omap2/prm7xx.h | 2 +- include/linux/power/omap/prm44xx_54xx.h | 61 +++++++++++++++++++++++++++++++ 6 files changed, 65 insertions(+), 65 deletions(-) delete mode 100644 arch/arm/mach-omap2/prm44xx_54xx.h create mode 100644 include/linux/power/omap/prm44xx_54xx.h
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -28,7 +28,7 @@#include "powerdomain.h" #include "prm.h" #include "prcm-common.h" -#include "prm44xx_54xx.h" +#include <linux/power/omap/prm44xx_54xx.h> #define OMAP4430_GLOBAL_COLD_RST_SHIFT 0#define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT 1
arch/arm/mach-omap2/prm44xx.h +1 -1
@@ -25,7 +25,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_H#define __ARCH_ARM_MACH_OMAP2_PRM44XX_H -#include "prm44xx_54xx.h" +#include <linux/power/omap/prm44xx_54xx.h> #include "prcm-common.h" #include "prm.h" #include <linux/power/omap/prm44xx.h>
arch/arm/mach-omap2/prm44xx_54xx.h deleted +0 -61
61 lines not on this page · raw message
arch/arm/mach-omap2/prm54xx.h +1 -1
@@ -21,7 +21,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM54XX_H#define __ARCH_ARM_MACH_OMAP2_PRM54XX_H -#include "prm44xx_54xx.h" +#include <linux/power/omap/prm44xx_54xx.h> #include "prcm-common.h" #include "prm.h" #include <linux/power/omap/prm54xx.h>
arch/arm/mach-omap2/prm7xx.h +1 -1
@@ -22,7 +22,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM7XX_H#define __ARCH_ARM_MACH_OMAP2_PRM7XX_H -#include "prm44xx_54xx.h" +#include <linux/power/omap/prm44xx_54xx.h> #include "prcm-common.h" #include "prm.h" #include <linux/power/omap/prm7xx.h>
include/linux/power/omap/prm44xx_54xx.h new file +61 -0
61 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 46/55 ARM: OMAP3+: VP: move OMAP*_VP_VDD_*_ID definitions to prm public headers
In reply to Tero Kristovp.h is not publicly available, however the PRM driver requires access to these so moved to prm public headers.
--- arch/arm/mach-omap2/prm3xxx.c | 1 - arch/arm/mach-omap2/prm44xx.c | 1 - arch/arm/mach-omap2/vp.h | 9 --------- include/linux/power/omap/prm3xxx.h | 3 +++ include/linux/power/omap/prm44xx.h | 4 ++++ 5 files changed, 7 insertions(+), 11 deletions(-)
arch/arm/mach-omap2/prm3xxx.c +0 -1
@@ -18,7 +18,6 @@#include <linux/io.h> #include <linux/irq.h> -#include "vp.h" #include "powerdomain.h" #include <linux/power/omap/prm3xxx.h> #include "prm2xxx_3xxx_private.h"
arch/arm/mach-omap2/prm44xx.c +0 -1
@@ -19,7 +19,6 @@#include <linux/io.h> -#include "vp.h" #include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> #include <linux/power/omap/prm7xx.h>
arch/arm/mach-omap2/vp.h +0 -9
@@ -21,15 +21,6 @@struct voltagedomain ; -/* -* Voltage Processor (VP) identifiers -*/ -#define OMAP3_VP_VDD_MPU_ID 0 -#define OMAP3_VP_VDD_CORE_ID 1 -#define OMAP4_VP_VDD_CORE_ID 0 -#define OMAP4_VP_VDD_IVA_ID 1 -#define OMAP4_VP_VDD_MPU_ID 2 -/* XXX document */ #define VP_IDLE_TIMEOUT 200#define VP_TRANXDONE_TIMEOUT 300
include/linux/power/omap/prm3xxx.h +3 -0
@@ -18,6 +18,9 @@#include <linux/power/omap/prm2xxx_3xxx.h> +#define OMAP3_VP_VDD_MPU_ID 0 +#define OMAP3_VP_VDD_CORE_ID 1 +/* * OMAP3-specific global PRM registers * Use __raw_{read,write}l() with these registers.
include/linux/power/omap/prm44xx.h +4 -0
@@ -25,6 +25,10 @@#ifndef __LINUX_POWER_OMAP_PRM44XX_H#define __LINUX_POWER_OMAP_PRM44XX_H +#define OMAP4_VP_VDD_CORE_ID 0 +#define OMAP4_VP_VDD_IVA_ID 1 +#define OMAP4_VP_VDD_MPU_ID 2 +/* PRM instances */ #define OMAP4430_PRM_OCP_SOCKET_INST 0x0000#define OMAP4430_PRM_CKGEN_INST 0x0100
Signature · 1 line
1.7.9.5
PATCH 47/55 ARM: OMAP2+: PRM: move prcm-common.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/cm2xxx.c | 2 +- arch/arm/mach-omap2/cm2xxx.h | 2 +- arch/arm/mach-omap2/cm33xx.c | 2 +- arch/arm/mach-omap2/cm3xxx.c | 2 +- arch/arm/mach-omap2/cm3xxx.h | 2 +- arch/arm/mach-omap2/cm_common.c | 2 +- arch/arm/mach-omap2/cminst44xx.c | 2 +- arch/arm/mach-omap2/pm.c | 2 +- arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains2xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains33xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains43xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains44xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains54xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains7xx_data.c | 2 +- arch/arm/mach-omap2/prcm-common.h | 537 ---------------------- arch/arm/mach-omap2/prm.h | 2 +- arch/arm/mach-omap2/prm2xxx.h | 2 +- arch/arm/mach-omap2/prm2xxx_3xxx_private.h | 2 +- arch/arm/mach-omap2/prm33xx.h | 2 +- arch/arm/mach-omap2/prm3xxx.h | 2 +- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/prm44xx.h | 2 +- arch/arm/mach-omap2/prm54xx.h | 2 +- arch/arm/mach-omap2/prm7xx.h | 2 +- arch/arm/mach-omap2/prm_common.c | 2 +- arch/arm/mach-omap2/prminst44xx.c | 2 +- include/linux/power/omap/prcm-common.h | 536 +++++++++++++++++++++ 29 files changed, 563 insertions(+), 564 deletions(-) delete mode 100644 arch/arm/mach-omap2/prcm-common.h create mode 100644 include/linux/power/omap/prcm-common.h
arch/arm/mach-omap2/cm2xxx.c +1 -1
@@ -23,7 +23,7 @@#include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm2xxx.h> #include "clockdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm2xxx_3xxx.h> /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */
arch/arm/mach-omap2/cm2xxx.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ASM_MACH_OMAP2_CM2XXX_H#define __ARCH_ASM_MACH_OMAP2_CM2XXX_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx.h>
arch/arm/mach-omap2/cm33xx.c +1 -1
@@ -26,7 +26,7 @@#include <linux/power/omap/cm.h> #include <linux/power/omap/cm33xx.h> #include <linux/power/omap/prm33xx.h> -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #define AM33XX_MODULEMODE_SHIFT 0#define AM33XX_MODULEMODE_MASK (0x3 << 0)
arch/arm/mach-omap2/cm3xxx.c +1 -1
@@ -23,7 +23,7 @@#include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm3xxx.h> #include "clockdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1
arch/arm/mach-omap2/cm3xxx.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ASM_MACH_OMAP2_CM3XXX_H#define __ARCH_ASM_MACH_OMAP2_CM3XXX_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include <linux/power/omap/cm3xxx.h>
arch/arm/mach-omap2/cm_common.c +1 -1
@@ -19,7 +19,7 @@#include <linux/power/omap/cm2xxx.h> #include <linux/power/omap/cm3xxx.h> #include <linux/power/omap/cm.h> -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> /* * cm_ll_data: function pointers to SoC-specific implementations of
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -30,7 +30,7 @@#include "prcm44xx.h" #include <linux/power/omap/prm44xx.h> #include "prcm_mpu44xx.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #define OMAP4430_IDLEST_SHIFT 16#define OMAP4430_IDLEST_MASK (0x3 << 16)
arch/arm/mach-omap2/pm.c +1 -1
@@ -25,7 +25,7 @@#include "common.h" #include "soc.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "voltage.h" #include "powerdomain.h" #include "clockdomain.h"
arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c +1 -1
@@ -33,7 +33,7 @@#include "powerdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" /* OMAP2/3-common powerdomains */
arch/arm/mach-omap2/powerdomains2xxx_data.c +1 -1
@@ -18,7 +18,7 @@#include "powerdomain.h" #include "powerdomains2xxx_3xxx_data.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include "prm-regbits-24xx.h"
arch/arm/mach-omap2/powerdomains33xx_data.c +1 -1
@@ -17,7 +17,7 @@#include <linux/init.h> #include "powerdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm-regbits-33xx.h" #include "prm33xx.h"
arch/arm/mach-omap2/powerdomains3xxx_data.c +1 -1
@@ -18,7 +18,7 @@#include "soc.h" #include "powerdomain.h" #include "powerdomains2xxx_3xxx_data.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include "prm-regbits-34xx.h" #include <linux/power/omap/cm2xxx_3xxx.h>
arch/arm/mach-omap2/powerdomains43xx_data.c +1 -1
@@ -13,7 +13,7 @@#include "powerdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prcm44xx.h" #include "prcm43xx.h"
arch/arm/mach-omap2/powerdomains44xx_data.c +1 -1
@@ -24,7 +24,7 @@#include "powerdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prcm44xx.h" #include "prm-regbits-44xx.h" #include "prm44xx.h"
arch/arm/mach-omap2/powerdomains54xx_data.c +1 -1
@@ -23,7 +23,7 @@#include "powerdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prcm44xx.h" #include "prm54xx.h" #include "prcm_mpu54xx.h"
arch/arm/mach-omap2/powerdomains7xx_data.c +1 -1
@@ -25,7 +25,7 @@#include "powerdomain.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prcm44xx.h" #include "prm7xx.h" #include "prcm_mpu7xx.h"
arch/arm/mach-omap2/prcm-common.h deleted +0 -537
537 lines not on this page · raw message
arch/arm/mach-omap2/prm.h +1 -1
@@ -13,7 +13,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM_H#define __ARCH_ARM_MACH_OMAP2_PRM_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> # ifndef __ASSEMBLER__extern void __iomem *prm_base;
arch/arm/mach-omap2/prm2xxx.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM2XXX_H#define __ARCH_ARM_MACH_OMAP2_PRM2XXX_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm2xxx.h> #include <linux/power/omap/prm2xxx_3xxx.h>
arch/arm/mach-omap2/prm2xxx_3xxx_private.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM2XXX_3XXX_PRIVATE_H#define __ARCH_ARM_MACH_OMAP2_PRM2XXX_3XXX_PRIVATE_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm2xxx_3xxx.h>
arch/arm/mach-omap2/prm33xx.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM33XX_H#define __ARCH_ARM_MACH_OMAP2_PRM33XX_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm33xx.h>
arch/arm/mach-omap2/prm3xxx.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM3XXX_H#define __ARCH_ARM_MACH_OMAP2_PRM3XXX_H -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/prm3xxx.h>
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -26,7 +26,7 @@#include "prminst44xx_private.h" #include "powerdomain.h" #include "prm.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm44xx_54xx.h> #define OMAP4430_GLOBAL_COLD_RST_SHIFT 0
arch/arm/mach-omap2/prm44xx.h +1 -1
@@ -26,7 +26,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM44XX_H#include <linux/power/omap/prm44xx_54xx.h> -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm44xx.h>
arch/arm/mach-omap2/prm54xx.h +1 -1
@@ -22,7 +22,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM54XX_H#include <linux/power/omap/prm44xx_54xx.h> -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm54xx.h>
arch/arm/mach-omap2/prm7xx.h +1 -1
@@ -23,7 +23,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM7XX_H#include <linux/power/omap/prm44xx_54xx.h> -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include "prm.h" #include <linux/power/omap/prm7xx.h>
arch/arm/mach-omap2/prm_common.c +1 -1
@@ -34,7 +34,7 @@#include <linux/power/omap/prm44xx.h> #include "prm.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> /* * OMAP_PRCM_MAX_NR_PENDING_REG: maximum number of PRM_IRQ*_MPU regs
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -17,7 +17,7 @@#include <linux/io.h> #include "prm.h" -#include "prcm-common.h" +#include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> #include <linux/power/omap/prm7xx.h>
include/linux/power/omap/prcm-common.h new file +535 -0
535 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 48/55 ARM: OMAP2+: move prm.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/cminst44xx.c | 2 +- arch/arm/mach-omap2/cpuidle44xx.c | 2 +- arch/arm/mach-omap2/display.c | 2 +- arch/arm/mach-omap2/hdq1w.c | 2 +- arch/arm/mach-omap2/i2c.c | 3 +- arch/arm/mach-omap2/io.c | 2 +- arch/arm/mach-omap2/msdi.c | 2 +- arch/arm/mach-omap2/mux.c | 3 +- arch/arm/mach-omap2/omap_hwmod.c | 2 +- arch/arm/mach-omap2/powerdomain.c | 2 +- arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c | 2 +- arch/arm/mach-omap2/prm-regbits-33xx.h | 2 +- arch/arm/mach-omap2/prm.h | 164 ---------------------- arch/arm/mach-omap2/prm2xxx.h | 2 +- arch/arm/mach-omap2/prm2xxx_3xxx_private.h | 2 +- arch/arm/mach-omap2/prm33xx.c | 2 +- arch/arm/mach-omap2/prm33xx.h | 2 +- arch/arm/mach-omap2/prm3xxx.h | 2 +- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/prm44xx.h | 2 +- arch/arm/mach-omap2/prm54xx.h | 2 +- arch/arm/mach-omap2/prm7xx.h | 2 +- arch/arm/mach-omap2/prm_common.c | 2 +- arch/arm/mach-omap2/prminst44xx.c | 2 +- arch/arm/mach-omap2/wd_timer.c | 2 +- include/linux/power/omap/prm.h | 164 ++++++++++++++++++++++ 26 files changed, 189 insertions(+), 189 deletions(-) delete mode 100644 arch/arm/mach-omap2/prm.h create mode 100644 include/linux/power/omap/prm.h
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -21,7 +21,7 @@#include <linux/err.h> #include <linux/io.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include "clockdomain.h" #include <linux/power/omap/cm.h> #include "cm1_44xx.h"
arch/arm/mach-omap2/cpuidle44xx.c +1 -1
@@ -20,7 +20,7 @@#include "common.h" #include "pm.h" -#include "prm.h" +#include <linux/power/omap/prm.h> #include "clockdomain.h" /* Machine specific information */
arch/arm/mach-omap2/display.c +1 -1
@@ -23,6 +23,7 @@#include <linux/clk.h> #include <linux/err.h> #include <linux/delay.h> +#include <linux/power/omap/prm.h> #include <video/omapdss.h> #include "omap_hwmod.h"
@@ -34,7 +35,6 @@#include "iomap.h" #include "control.h" #include "display.h" -#include "prm.h" #define DISPC_CONTROL 0x0040#define DISPC_CONTROL2 0x0238
arch/arm/mach-omap2/hdq1w.c +1 -1
@@ -26,13 +26,13 @@#include <linux/init.h> #include <linux/err.h> #include <linux/platform_device.h> +#include <linux/power/omap/prm.h> #include "soc.h" #include "omap_hwmod.h" #include "omap_device.h" #include "hdq1w.h" -#include "prm.h" #include "common.h" /**
arch/arm/mach-omap2/i2c.c +2 -1
@@ -19,12 +19,13 @@* */ +#include <linux/power/omap/prm.h> +#include "soc.h" #include "omap_hwmod.h" #include "omap_device.h" #include "omap-pm.h" -#include "prm.h" #include "common.h" #include "mux.h" #include "i2c.h"
arch/arm/mach-omap2/io.c +1 -1
@@ -45,7 +45,7 @@#include "sram.h" #include "cm2xxx.h" #include "cm3xxx.h" -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/cm.h> #include "prcm_mpu44xx.h" #include <linux/power/omap/cm44xx.h>
arch/arm/mach-omap2/msdi.c +1 -1
@@ -24,8 +24,8 @@#include <linux/kernel.h> #include <linux/err.h> #include <linux/platform_data/gpio-omap.h> +#include <linux/power/omap/prm.h> -#include "prm.h" #include "common.h" #include "control.h" #include "omap_hwmod.h"
arch/arm/mach-omap2/mux.c +1 -2
@@ -34,14 +34,13 @@#include <linux/uaccess.h> #include <linux/irq.h> #include <linux/interrupt.h> - +#include <linux/power/omap/prm.h> #include "omap_hwmod.h" #include "soc.h" #include "control.h" #include "mux.h" -#include "prm.h" #include "common.h" #define OMAP_MUX_BASE_OFFSET 0x30/* Offset from CTRL_BASE */
arch/arm/mach-omap2/omap_hwmod.c +1 -1
@@ -155,7 +155,7 @@#include "cm3xxx.h" #include <linux/power/omap/cm44xx.h> #include "cm33xx.h" -#include "prm.h" +#include <linux/power/omap/prm.h> #include "prm3xxx.h" #include "prm44xx.h" #include "prm33xx.h"
arch/arm/mach-omap2/powerdomain.c +1 -1
@@ -29,7 +29,7 @@#include <asm/cpu.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include "powerdomain.h" #include "clockdomain.h" #include "voltage.h"
arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c +1 -1
@@ -34,7 +34,7 @@#include "powerdomain.h" #include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> /* OMAP2/3-common powerdomains */
arch/arm/mach-omap2/prm-regbits-33xx.h +1 -1
@@ -16,7 +16,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_33XX_H#define __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_33XX_H -#include "prm.h" +#include <linux/power/omap/prm.h> #define AM33XX_GFX_MEM_ONSTATE_MASK (0x3 << 17)#define AM33XX_GFX_MEM_RETSTATE_MASK (1 << 6)
arch/arm/mach-omap2/prm.h deleted +0 -164
164 lines not on this page · raw message
arch/arm/mach-omap2/prm2xxx.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM2XXX_H#include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm2xxx.h> #include <linux/power/omap/prm2xxx_3xxx.h>
arch/arm/mach-omap2/prm2xxx_3xxx_private.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM2XXX_3XXX_PRIVATE_H#include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm2xxx_3xxx.h> #ifndef __ASSEMBLER__
arch/arm/mach-omap2/prm33xx.c +1 -1
@@ -21,7 +21,7 @@#include <linux/power/omap/prm33xx.h> #include "powerdomain.h" -#include "prm.h" +#include <linux/power/omap/prm.h> #define AM33XX_LASTPOWERSTATEENTERED_SHIFT 24#define AM33XX_LASTPOWERSTATEENTERED_MASK (0x3 << 24)
arch/arm/mach-omap2/prm33xx.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM33XX_H#include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm33xx.h> #define AM33XX_PRM_BASE 0x44E00000
arch/arm/mach-omap2/prm3xxx.h +1 -1
@@ -17,7 +17,7 @@#define __ARCH_ARM_MACH_OMAP2_PRM3XXX_H#include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/prm3xxx.h>
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -25,7 +25,7 @@#include "prcm44xx.h" #include "prminst44xx_private.h" #include "powerdomain.h" -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm44xx_54xx.h>
arch/arm/mach-omap2/prm44xx.h +1 -1
@@ -27,7 +27,7 @@#include <linux/power/omap/prm44xx_54xx.h> #include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm44xx.h> #define OMAP4430_PRM_BASE 0x4a306000
arch/arm/mach-omap2/prm54xx.h +1 -1
@@ -23,7 +23,7 @@#include <linux/power/omap/prm44xx_54xx.h> #include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm54xx.h> #define OMAP54XX_PRM_BASE 0x4ae06000
arch/arm/mach-omap2/prm7xx.h +1 -1
@@ -24,7 +24,7 @@#include <linux/power/omap/prm44xx_54xx.h> #include <linux/power/omap/prcm-common.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prm7xx.h> #define DRA7XX_PRM_BASE 0x4ae06000
arch/arm/mach-omap2/prm_common.c +1 -1
@@ -33,7 +33,7 @@#include <linux/power/omap/prm3xxx.h> #include <linux/power/omap/prm44xx.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prcm-common.h> /*
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -16,7 +16,7 @@#include <linux/err.h> #include <linux/io.h> -#include "prm.h" +#include <linux/power/omap/prm.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h>
arch/arm/mach-omap2/wd_timer.c +1 -1
@@ -14,12 +14,12 @@#include <linux/err.h> #include <linux/platform_data/omap-wd-timer.h> +#include <linux/power/omap/prm.h> #include "omap_hwmod.h" #include "omap_device.h" #include "wd_timer.h" #include "common.h" -#include "prm.h" #include "soc.h" /*
include/linux/power/omap/prm.h new file +164 -0
164 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 49/55 ARM: OMAP4: move prcm44xx.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/clockdomains43xx_data.c | 1 - arch/arm/mach-omap2/clockdomains44xx_data.c | 2 +- arch/arm/mach-omap2/clockdomains54xx_data.c | 2 +- arch/arm/mach-omap2/clockdomains7xx_data.c | 2 +- arch/arm/mach-omap2/cminst44xx.c | 2 +- arch/arm/mach-omap2/omap-mpuss-lowpower.c | 2 +- arch/arm/mach-omap2/powerdomain.c | 2 +- arch/arm/mach-omap2/powerdomains43xx_data.c | 1 - arch/arm/mach-omap2/powerdomains44xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains54xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains7xx_data.c | 2 +- arch/arm/mach-omap2/prcm44xx.h | 53 ------------------------- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/prminst44xx.c | 2 +- arch/arm/mach-omap2/voltage.c | 2 +- arch/arm/mach-omap2/voltagedomains44xx_data.c | 1 - include/linux/power/omap/prcm44xx.h | 53 +++++++++++++++++++++++++ 17 files changed, 65 insertions(+), 68 deletions(-) delete mode 100644 arch/arm/mach-omap2/prcm44xx.h create mode 100644 include/linux/power/omap/prcm44xx.h
arch/arm/mach-omap2/clockdomains43xx_data.c +0 -1
@@ -12,7 +12,6 @@#include <linux/io.h> #include "clockdomain.h" -#include "prcm44xx.h" #include "prcm43xx.h" static struct clockdomain l4_cefuse_43xx_clkdm = {
arch/arm/mach-omap2/clockdomains44xx_data.c +1 -1
@@ -28,7 +28,7 @@#include "cm-regbits-44xx.h" #include "prm44xx.h" -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prcm_mpu44xx.h" /* Static Dependencies for OMAP4 Clock Domains */
arch/arm/mach-omap2/clockdomains54xx_data.c +1 -1
@@ -27,7 +27,7 @@#include "cm-regbits-54xx.h" #include "prm54xx.h" -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prcm_mpu54xx.h" /* Static Dependencies for OMAP4 Clock Domains */
arch/arm/mach-omap2/clockdomains7xx_data.c +1 -1
@@ -29,7 +29,7 @@#include "cm-regbits-7xx.h" #include "prm7xx.h" -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prcm_mpu7xx.h" /* Static Dependencies for DRA7xx Clock Domains */
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -27,7 +27,7 @@#include "cm1_44xx.h" #include "cm2_44xx.h" #include <linux/power/omap/cm44xx.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include <linux/power/omap/prm44xx.h> #include "prcm_mpu44xx.h" #include <linux/power/omap/prcm-common.h>
arch/arm/mach-omap2/omap-mpuss-lowpower.c +1 -1
@@ -57,7 +57,7 @@#include "omap4-sar-layout.h" #include "pm.h" #include "prcm_mpu44xx.h" -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prm44xx.h" #include "prm-regbits-44xx.h"
arch/arm/mach-omap2/powerdomain.c +1 -1
@@ -23,7 +23,7 @@#include <trace/events/power.h> #include <linux/power/omap/cm2xxx_3xxx.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/prm44xx.h>
arch/arm/mach-omap2/powerdomains43xx_data.c +0 -1
@@ -14,7 +14,6 @@#include "powerdomain.h" #include <linux/power/omap/prcm-common.h> -#include "prcm44xx.h" #include "prcm43xx.h" static struct powerdomain gfx_43xx_pwrdm = {
arch/arm/mach-omap2/powerdomains44xx_data.c +1 -1
@@ -25,7 +25,7 @@#include "powerdomain.h" #include <linux/power/omap/prcm-common.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prm-regbits-44xx.h" #include "prm44xx.h" #include "prcm_mpu44xx.h"
arch/arm/mach-omap2/powerdomains54xx_data.c +1 -1
@@ -24,7 +24,7 @@#include "powerdomain.h" #include <linux/power/omap/prcm-common.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prm54xx.h" #include "prcm_mpu54xx.h"
arch/arm/mach-omap2/powerdomains7xx_data.c +1 -1
@@ -26,7 +26,7 @@#include "powerdomain.h" #include <linux/power/omap/prcm-common.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prm7xx.h" #include "prcm_mpu7xx.h"
arch/arm/mach-omap2/prcm44xx.h deleted +0 -53
53 lines not on this page · raw message
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -22,7 +22,7 @@#include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> #include <linux/power/omap/prm7xx.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prminst44xx_private.h" #include "powerdomain.h" #include <linux/power/omap/prm.h>
arch/arm/mach-omap2/prminst44xx.c +1 -1
@@ -21,7 +21,7 @@#include <linux/power/omap/prm44xx.h> #include <linux/power/omap/prm54xx.h> #include <linux/power/omap/prm7xx.h> -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "prcm_mpu44xx.h" #define OMAP4430_RST_GLOBAL_WARM_SW_MASK (1 << 0)
arch/arm/mach-omap2/voltage.c +1 -1
@@ -32,7 +32,7 @@#include "prm-regbits-34xx.h" #include "prm-regbits-44xx.h" #include "prm44xx.h" -#include "prcm44xx.h" +#include <linux/power/omap/prcm44xx.h> #include "control.h" #include "voltage.h"
arch/arm/mach-omap2/voltagedomains44xx_data.c +0 -1
@@ -25,7 +25,6 @@#include "soc.h" #include "prm-regbits-44xx.h" #include "prm44xx.h" -#include "prcm44xx.h" #include "voltage.h" #include "omap_opp_data.h" #include "vc.h"
include/linux/power/omap/prcm44xx.h new file +53 -0
53 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 50/55 ARM: OMAP2+: clockdomain: move clockdomain.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/clock.c | 2 +- arch/arm/mach-omap2/clockdomain.c | 3 +- arch/arm/mach-omap2/clockdomain.h | 237 --------------------- arch/arm/mach-omap2/clockdomains2420_data.c | 2 +- arch/arm/mach-omap2/clockdomains2430_data.c | 2 +- arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | 2 +- arch/arm/mach-omap2/clockdomains33xx_data.c | 2 +- arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/clockdomains43xx_data.c | 2 +- arch/arm/mach-omap2/clockdomains44xx_data.c | 2 +- arch/arm/mach-omap2/clockdomains54xx_data.c | 2 +- arch/arm/mach-omap2/clockdomains7xx_data.c | 2 +- arch/arm/mach-omap2/cm2xxx.c | 3 +- arch/arm/mach-omap2/cm33xx.c | 2 +- arch/arm/mach-omap2/cm3xxx.c | 3 +- arch/arm/mach-omap2/cminst44xx.c | 2 +- arch/arm/mach-omap2/cpuidle34xx.c | 2 +- arch/arm/mach-omap2/cpuidle44xx.c | 2 +- arch/arm/mach-omap2/dpll3xxx.c | 2 +- arch/arm/mach-omap2/io.c | 2 +- arch/arm/mach-omap2/omap-smp.c | 2 +- arch/arm/mach-omap2/omap_hwmod.c | 2 +- arch/arm/mach-omap2/pm-debug.c | 2 +- arch/arm/mach-omap2/pm.c | 2 +- arch/arm/mach-omap2/pm24xx.c | 2 +- arch/arm/mach-omap2/pm34xx.c | 2 +- arch/arm/mach-omap2/pm44xx.c | 2 +- arch/arm/mach-omap2/powerdomain.c | 2 +- arch/arm/mach-omap2/prm2xxx.c | 2 +- arch/arm/mach-omap2/prm2xxx_3xxx.c | 2 +- include/linux/power/omap/clockdomain.h | 242 ++++++++++++++++++++++ 31 files changed, 274 insertions(+), 266 deletions(-) delete mode 100644 arch/arm/mach-omap2/clockdomain.h create mode 100644 include/linux/power/omap/clockdomain.h
arch/arm/mach-omap2/clock.c +1 -1
@@ -29,7 +29,7 @@#include <trace/events/power.h> #include "soc.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "clock.h" #include <linux/power/omap/cm.h> #include "cm2xxx.h"
arch/arm/mach-omap2/clockdomain.c +2 -1
@@ -29,7 +29,8 @@#include <linux/bitops.h> #include "soc.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> +#include "powerdomain.h" /* clkdm_list contains all registered struct clockdomains */ static LIST_HEAD (clkdm_list);
arch/arm/mach-omap2/clockdomain.h deleted +0 -237
237 lines not on this page · raw message
arch/arm/mach-omap2/clockdomains2420_data.c +1 -1
@@ -36,7 +36,7 @@#include <linux/io.h> #include "soc.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains2430_data.c +1 -1
@@ -36,7 +36,7 @@#include <linux/io.h> #include "soc.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c +1 -1
@@ -35,7 +35,7 @@#include <linux/kernel.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-24xx.h"
arch/arm/mach-omap2/clockdomains33xx_data.c +1 -1
@@ -17,7 +17,7 @@#include <linux/kernel.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/cm.h> #include "cm33xx.h" #include "cm-regbits-33xx.h"
arch/arm/mach-omap2/clockdomains3xxx_data.c +1 -1
@@ -34,7 +34,7 @@#include <linux/io.h> #include "soc.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prm2xxx_3xxx.h> #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h"
arch/arm/mach-omap2/clockdomains43xx_data.c +1 -1
@@ -11,7 +11,7 @@#include <linux/kernel.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "prcm43xx.h" static struct clockdomain l4_cefuse_43xx_clkdm = {
arch/arm/mach-omap2/clockdomains44xx_data.c +1 -1
@@ -22,7 +22,7 @@#include <linux/kernel.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/clockdomains54xx_data.c +1 -1
@@ -21,7 +21,7 @@#include <linux/kernel.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "cm1_54xx.h" #include "cm2_54xx.h"
arch/arm/mach-omap2/clockdomains7xx_data.c +1 -1
@@ -23,7 +23,7 @@#include <linux/kernel.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "cm1_7xx.h" #include "cm2_7xx.h"
arch/arm/mach-omap2/cm2xxx.c +2 -1
@@ -22,9 +22,10 @@#include <linux/power/omap/cm.h> #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm2xxx.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm2xxx_3xxx.h> +#include "powerdomain.h" /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */ #define DPLL_AUTOIDLE_DISABLE 0x0
arch/arm/mach-omap2/cm33xx.c +1 -1
@@ -22,7 +22,7 @@#include <linux/err.h> #include <linux/io.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/cm.h> #include <linux/power/omap/cm33xx.h> #include <linux/power/omap/prm33xx.h>
arch/arm/mach-omap2/cm3xxx.c +2 -1
@@ -22,8 +22,9 @@#include <linux/power/omap/cm.h> #include "cm2xxx_3xxx_private.h" #include <linux/power/omap/cm3xxx.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prcm-common.h> +#include "powerdomain.h" #define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1
arch/arm/mach-omap2/cminst44xx.c +1 -1
@@ -22,7 +22,7 @@#include <linux/io.h> #include <linux/power/omap/prm.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/cm.h> #include "cm1_44xx.h" #include "cm2_44xx.h"
arch/arm/mach-omap2/cpuidle34xx.c +1 -1
@@ -29,7 +29,7 @@#include <asm/cpuidle.h> #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "pm.h" #include "control.h"
arch/arm/mach-omap2/cpuidle44xx.c +1 -1
@@ -21,7 +21,7 @@#include "common.h" #include "pm.h" #include <linux/power/omap/prm.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> /* Machine specific information */ struct idle_statedata {
arch/arm/mach-omap2/dpll3xxx.c +1 -1
@@ -29,7 +29,7 @@#include <linux/clkdev.h> #include "soc.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "clock.h" #include <linux/power/omap/cm2xxx_3xxx.h> #include "cm-regbits-34xx.h"
arch/arm/mach-omap2/io.c +1 -1
@@ -32,7 +32,7 @@#include "iomap.h" #include "voltage.h" #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "common.h" #include "clock.h" #include "clock2xxx.h"
arch/arm/mach-omap2/omap-smp.c +1 -1
@@ -30,7 +30,7 @@#include "soc.h" #include "iomap.h" #include "common.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "pm.h" #define CPU_MASK 0xff0ffff0
arch/arm/mach-omap2/omap_hwmod.c +1 -1
@@ -149,7 +149,7 @@#include "soc.h" #include "common.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "powerdomain.h" #include "cm2xxx.h" #include "cm3xxx.h"
arch/arm/mach-omap2/pm-debug.c +1 -1
@@ -29,7 +29,7 @@#include "clock.h" #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "omap-pm.h" #include "soc.h"
arch/arm/mach-omap2/pm.c +1 -1
@@ -28,7 +28,7 @@#include <linux/power/omap/prcm-common.h> #include "voltage.h" #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "pm.h" #include "twl-common.h"
arch/arm/mach-omap2/pm24xx.c +1 -1
@@ -52,7 +52,7 @@#include "pm.h" #include "control.h" #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> static void (*omap2_sram_suspend)(u32 dllctrl,void __iomem *sdrc_dlla_ctrl,void __iomem *sdrc_power);
arch/arm/mach-omap2/pm34xx.c +1 -1
@@ -37,7 +37,7 @@#include <asm/suspend.h> #include <asm/system_misc.h> -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "powerdomain.h" #include "soc.h" #include "common.h"
arch/arm/mach-omap2/pm44xx.c +1 -1
@@ -20,7 +20,7 @@#include "soc.h" #include "common.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "powerdomain.h" #include "pm.h"
arch/arm/mach-omap2/powerdomain.c +1 -1
@@ -31,7 +31,7 @@#include <linux/power/omap/prm.h> #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include "voltage.h" #include "soc.h"
arch/arm/mach-omap2/prm2xxx.c +1 -1
@@ -19,7 +19,7 @@#include <linux/irq.h> #include "powerdomain.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prm2xxx.h> #include "prm2xxx_3xxx_private.h" #include <linux/power/omap/cm2xxx_3xxx.h>
arch/arm/mach-omap2/prm2xxx_3xxx.c +1 -1
@@ -18,7 +18,7 @@#include "powerdomain.h" #include "prm2xxx_3xxx_private.h" -#include "clockdomain.h" +#include <linux/power/omap/clockdomain.h> /** * omap2_prm_is_hardreset_asserted - read the HW reset line state of
include/linux/power/omap/clockdomain.h new file +242 -0
242 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 51/55 ARM: OMAP2+: powerdomain: move powerdomain.h header to public location
In reply to Tero KristoThis file needs to be accessible from the PRCM core and mach-omap2 board support code.
--- arch/arm/mach-omap2/clockdomain.c | 2 +- arch/arm/mach-omap2/cm2xxx.c | 2 +- arch/arm/mach-omap2/cm3xxx.c | 2 +- arch/arm/mach-omap2/cpuidle34xx.c | 2 +- arch/arm/mach-omap2/gpio.c | 2 +- arch/arm/mach-omap2/io.c | 2 +- arch/arm/mach-omap2/omap-hotplug.c | 2 +- arch/arm/mach-omap2/omap_hwmod.c | 2 +- arch/arm/mach-omap2/pm-debug.c | 2 +- arch/arm/mach-omap2/pm.c | 2 +- arch/arm/mach-omap2/pm.h | 2 +- arch/arm/mach-omap2/pm24xx.c | 2 +- arch/arm/mach-omap2/pm34xx.c | 2 +- arch/arm/mach-omap2/pm44xx.c | 2 +- arch/arm/mach-omap2/powerdomain.c | 2 +- arch/arm/mach-omap2/powerdomain.h | 277 --------------------- arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.h | 2 +- arch/arm/mach-omap2/powerdomains2xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains33xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/powerdomains43xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains44xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains54xx_data.c | 2 +- arch/arm/mach-omap2/powerdomains7xx_data.c | 2 +- arch/arm/mach-omap2/prm2xxx.c | 2 +- arch/arm/mach-omap2/prm2xxx_3xxx.c | 2 +- arch/arm/mach-omap2/prm2xxx_3xxx_private.h | 2 +- arch/arm/mach-omap2/prm33xx.c | 2 +- arch/arm/mach-omap2/prm3xxx.c | 2 +- arch/arm/mach-omap2/prm44xx.c | 2 +- arch/arm/mach-omap2/timer.c | 2 +- arch/arm/mach-omap2/voltage.c | 2 +- include/linux/power/omap/powerdomain.h | 280 ++++++++++++++++++++++ 34 files changed, 312 insertions(+), 309 deletions(-) delete mode 100644 arch/arm/mach-omap2/powerdomain.h create mode 100644 include/linux/power/omap/powerdomain.h
arch/arm/mach-omap2/clockdomain.c +1 -1
@@ -30,7 +30,7 @@#include "soc.h" #include <linux/power/omap/clockdomain.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> /* clkdm_list contains all registered struct clockdomains */ static LIST_HEAD (clkdm_list);
arch/arm/mach-omap2/cm2xxx.c +1 -1
@@ -25,7 +25,7 @@#include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm2xxx_3xxx.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> /* CM_AUTOIDLE_PLL.AUTO_* bit values for DPLLs */ #define DPLL_AUTOIDLE_DISABLE 0x0
arch/arm/mach-omap2/cm3xxx.c +1 -1
@@ -24,7 +24,7 @@#include <linux/power/omap/cm3xxx.h> #include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prcm-common.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1
arch/arm/mach-omap2/cpuidle34xx.c +1 -1
@@ -28,7 +28,7 @@#include <linux/cpu_pm.h> #include <asm/cpuidle.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> #include "pm.h"
arch/arm/mach-omap2/gpio.c +1 -1
@@ -28,7 +28,7 @@#include "omap_device.h" #include "omap-pm.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> static int __init omap2_gpio_dev_init (struct omap_hwmod *oh,void *unused) {
arch/arm/mach-omap2/io.c +1 -1
@@ -31,7 +31,7 @@#include "soc.h" #include "iomap.h" #include "voltage.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> #include "common.h" #include "clock.h"
arch/arm/mach-omap2/omap-hotplug.c +1 -1
@@ -21,7 +21,7 @@#include "omap-wakeupgen.h" #include "common.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> /* * platform-specific code to shutdown a CPU
arch/arm/mach-omap2/omap_hwmod.c +1 -1
@@ -150,7 +150,7 @@#include "soc.h" #include "common.h" #include <linux/power/omap/clockdomain.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "cm2xxx.h" #include "cm3xxx.h" #include <linux/power/omap/cm44xx.h>
arch/arm/mach-omap2/pm-debug.c +1 -1
@@ -28,7 +28,7 @@#include <linux/slab.h> #include "clock.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> #include "omap-pm.h"
arch/arm/mach-omap2/pm.c +1 -1
@@ -27,7 +27,7 @@#include "soc.h" #include <linux/power/omap/prcm-common.h> #include "voltage.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> #include "pm.h" #include "twl-common.h"
arch/arm/mach-omap2/pm.h +1 -1
@@ -13,7 +13,7 @@#include <linux/err.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #ifdef CONFIG_CPU_IDLE extern int __init omap3_idle_init (void );
arch/arm/mach-omap2/pm24xx.c +1 -1
@@ -51,7 +51,7 @@#include "sram.h" #include "pm.h" #include "control.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> static void (*omap2_sram_suspend)(u32 dllctrl, void __iomem *sdrc_dlla_ctrl,
arch/arm/mach-omap2/pm34xx.c +1 -1
@@ -38,7 +38,7 @@#include <asm/system_misc.h> #include <linux/power/omap/clockdomain.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "soc.h" #include "common.h" #include "cm3xxx.h"
arch/arm/mach-omap2/pm44xx.c +1 -1
@@ -21,7 +21,7 @@#include "soc.h" #include "common.h" #include <linux/power/omap/clockdomain.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "pm.h" u16 pm44xx_errata;
arch/arm/mach-omap2/powerdomain.c +1 -1
@@ -30,7 +30,7 @@#include <asm/cpu.h> #include <linux/power/omap/prm.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> #include "voltage.h"
arch/arm/mach-omap2/powerdomain.h deleted +0 -277
277 lines not on this page · raw message
arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c +1 -1
@@ -31,7 +31,7 @@* address offset is different between the C55 and C64 DSPs. */ -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm.h>
arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.h +1 -1
@@ -14,7 +14,7 @@#ifndef __ARCH_ARM_MACH_OMAP2_POWERDOMAINS2XXX_3XXX_DATA_H#define __ARCH_ARM_MACH_OMAP2_POWERDOMAINS2XXX_3XXX_DATA_H -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> extern struct powerdomain gfx_omap2_pwrdm;extern struct powerdomain wkup_omap2_pwrdm;
arch/arm/mach-omap2/powerdomains2xxx_data.c +1 -1
@@ -15,7 +15,7 @@#include <linux/init.h> #include "soc.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "powerdomains2xxx_3xxx_data.h" #include <linux/power/omap/prcm-common.h>
arch/arm/mach-omap2/powerdomains33xx_data.c +1 -1
@@ -16,7 +16,7 @@#include <linux/kernel.h> #include <linux/init.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prcm-common.h> #include "prm-regbits-33xx.h" #include "prm33xx.h"
arch/arm/mach-omap2/powerdomains3xxx_data.c +1 -1
@@ -16,7 +16,7 @@#include <linux/bug.h> #include "soc.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "powerdomains2xxx_3xxx_data.h" #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm2xxx_3xxx.h>
arch/arm/mach-omap2/powerdomains43xx_data.c +1 -1
@@ -11,7 +11,7 @@#include <linux/kernel.h> #include <linux/init.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prcm-common.h> #include "prcm43xx.h"
arch/arm/mach-omap2/powerdomains44xx_data.c +1 -1
@@ -22,7 +22,7 @@#include <linux/kernel.h> #include <linux/init.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prcm44xx.h>
arch/arm/mach-omap2/powerdomains54xx_data.c +1 -1
@@ -21,7 +21,7 @@#include <linux/kernel.h> #include <linux/init.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prcm44xx.h>
arch/arm/mach-omap2/powerdomains7xx_data.c +1 -1
@@ -23,7 +23,7 @@#include <linux/kernel.h> #include <linux/init.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prcm44xx.h>
arch/arm/mach-omap2/prm2xxx.c +1 -1
@@ -18,7 +18,7 @@#include <linux/io.h> #include <linux/irq.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/clockdomain.h> #include <linux/power/omap/prm2xxx.h> #include "prm2xxx_3xxx_private.h"
arch/arm/mach-omap2/prm2xxx_3xxx.c +1 -1
@@ -16,7 +16,7 @@#include <linux/err.h> #include <linux/io.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "prm2xxx_3xxx_private.h" #include <linux/power/omap/clockdomain.h>
arch/arm/mach-omap2/prm2xxx_3xxx_private.h +1 -1
@@ -23,7 +23,7 @@#ifndef __ASSEMBLER__#include <linux/io.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> /* Power/reset management domain register get/set */ static inline u32 omap2_prm_read_mod_reg (s16 module,u16 idx)
arch/arm/mach-omap2/prm33xx.c +1 -1
@@ -20,7 +20,7 @@#include <linux/io.h> #include <linux/power/omap/prm33xx.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prm.h> #define AM33XX_LASTPOWERSTATEENTERED_SHIFT 24
arch/arm/mach-omap2/prm3xxx.c +1 -1
@@ -18,7 +18,7 @@#include <linux/io.h> #include <linux/irq.h> -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prm3xxx.h> #include "prm2xxx_3xxx_private.h" #include "cm2xxx_3xxx_private.h"
arch/arm/mach-omap2/prm44xx.c +1 -1
@@ -24,7 +24,7 @@#include <linux/power/omap/prm7xx.h> #include <linux/power/omap/prcm44xx.h> #include "prminst44xx_private.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include <linux/power/omap/prm.h> #include <linux/power/omap/prcm-common.h> #include <linux/power/omap/prm44xx_54xx.h>
arch/arm/mach-omap2/timer.c +1 -1
@@ -54,7 +54,7 @@#include "soc.h" #include "common.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "omap-secure.h" #define REALTIME_COUNTER_BASE 0x48243200
arch/arm/mach-omap2/voltage.c +1 -1
@@ -36,7 +36,7 @@#include "control.h" #include "voltage.h" -#include "powerdomain.h" +#include <linux/power/omap/powerdomain.h> #include "vc.h" #include "vp.h"
include/linux/power/omap/powerdomain.h new file +280 -0
280 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 52/55 ARM: OMAP2+: PRCM: add prcm_base init call for DT boot
In reply to Tero KristoThis parses the prm, cm and scrm base addresses from DT if available, avoiding the need for various omap2_set_globals_* calls.
--- arch/arm/mach-omap2/cm_common.c | 57 ++++++++++++++++--- arch/arm/mach-omap2/control.c | 36 ++++++++++-- arch/arm/mach-omap2/io.c | 50 ++++++++-------- arch/arm/mach-omap2/prm_common.c | 97 ++++++++++++++++++++++++-------- include/linux/power/omap/prcm-common.h | 18 ++++++ 5 files changed, 196 insertions(+), 62 deletions(-)
arch/arm/mach-omap2/cm_common.c +50 -7
@@ -15,6 +15,7 @@#include <linux/init.h> #include <linux/errno.h> #include <linux/of.h> +#include <linux/of_address.h> #include <linux/power/omap/cm2xxx.h> #include <linux/power/omap/cm3xxx.h>
@@ -140,14 +141,32 @@ int cm_unregister(struct cm_ll_data *cld)return 0 ; } +static const struct prcm_match_data cm_base_data = { + .flags =PRCM_REGISTER_CLOCKS , + .index =PRCM_CLK_MEMMAP_INDEX_CM1 , +}; + +static const struct prcm_match_data cm2_base_data = { + .flags =PRCM_REGISTER_CLOCKS , + .index =PRCM_CLK_MEMMAP_INDEX_CM2 , +}; + +static const struct prcm_match_data omap3_cm_data = { + .flags =PRCM_REGISTER_CLOCKS , + .index =PRCM_CLK_MEMMAP_INDEX_CM1 , + .offset =0x800 , +}; +static struct of_device_id omap_cm_dt_match_table[] = { - { .compatible ="ti,omap3-cm" }, - { .compatible ="ti,omap4-cm1" }, - { .compatible ="ti,omap4-cm2" }, - { .compatible ="ti,omap5-cm-core-aon" }, - { .compatible ="ti,omap5-cm-core" }, - { .compatible ="ti,dra7-cm-core-aon" }, - { .compatible ="ti,dra7-cm-core" }, + { .compatible ="ti,omap3-cm" , .data = &omap3_cm_data }, + { .compatible ="ti,omap4-cm1" , .data = &cm_base_data }, + { .compatible ="ti,omap4-cm2" , .data = &cm2_base_data }, + { .compatible ="ti,omap5-cm-core-aon" , .data = &cm_base_data }, + { .compatible ="ti,omap5-cm-core" , .data = &cm2_base_data }, + { .compatible ="ti,dra7-cm-core-aon" , .data = &cm_base_data }, + { .compatible ="ti,dra7-cm-core" , .data = &cm2_base_data }, + { .compatible ="ti,am3-prcm" , .data = &cm_base_data }, + { .compatible ="ti,am4-prcm" , .data = &cm_base_data }, { } };
@@ -156,3 +175,27 @@ int __init of_cm_init(void) {return of_prcm_module_init (omap_cm_dt_match_table); } + +int __init of_cm_base_init (void ) +{ +struct device_node *np; +const struct of_device_id *match; +const struct prcm_match_data *data; + +for_each_matching_node_and_match (np, omap_cm_dt_match_table, &match) { + data = match->data; +if (clk_memmaps[data->index]) +pr_warn ("WARNING: multiple cm compatible mods %d\n" , + data->index); + + clk_memmaps[data->index] =of_iomap (np,0 ); + +if (data->index ==PRCM_CLK_MEMMAP_INDEX_CM1 ) + cm_base = clk_memmaps[data->index] + data->offset; + +if (data->index ==PRCM_CLK_MEMMAP_INDEX_CM2 ) + cm2_base = clk_memmaps[data->index] + data->offset; + } + +return 0 ; +}
arch/arm/mach-omap2/control.c +30 -6
@@ -14,6 +14,8 @@#include <linux/kernel.h> #include <linux/io.h> +#include <linux/of.h> +#include <linux/of_address.h> #include "soc.h" #include "iomap.h"
@@ -612,13 +614,16 @@ void __init omap3_ctrl_init(void) }#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */ +static const struct prcm_match_data scrm_base_data = { + .flags =PRCM_REGISTER_CLOCKS , + .index =PRCM_CLK_MEMMAP_INDEX_SCRM , +}; +static struct of_device_id omap_scrm_dt_match_table[] = { - { .compatible ="ti,am3-scrm" }, - { .compatible ="ti,am4-scrm" }, - { .compatible ="ti,omap2-scrm" }, - { .compatible ="ti,omap3-scrm" }, - { .compatible ="ti,omap4-scrm" }, - { .compatible ="ti,omap5-scrm" }, + { .compatible ="ti,am3-scrm" , .data = &scrm_base_data }, + { .compatible ="ti,am4-scrm" , .data = &scrm_base_data }, + { .compatible ="ti,omap2-scrm" , .data = &scrm_base_data }, + { .compatible ="ti,omap3-scrm" , .data = &scrm_base_data }, { } };
@@ -626,3 +631,22 @@ int __init of_scrm_init(void) {return of_prcm_module_init (omap_scrm_dt_match_table); } + +int __init of_scrm_base_init (void ) +{ +struct device_node *np; +const struct of_device_id *match; +const struct prcm_match_data *data; + +for_each_matching_node_and_match (np, omap_scrm_dt_match_table, &match) { + data = match->data; + +if (clk_memmaps[data->index]) +pr_warn ("WARN: multiple scrm compatible mods\n" ); + + clk_memmaps[data->index] =of_iomap (np,0 ); + omap2_ctrl_base = clk_memmaps[data->index]; + } + +return 0 ; +}
arch/arm/mach-omap2/io.c +25 -25
123 lines not on this page · raw message
arch/arm/mach-omap2/prm_common.c +73 -24
135 lines not on this page · raw message
include/linux/power/omap/prcm-common.h +18 -0
@@ -519,6 +519,21 @@ struct omap_prcm_irq_setup {struct of_device_id ; +#define PRCM_REGISTER_CLOCKS 0x1 + +struct prcm_match_data { +u32 flags; +u16 index; +u16 offset; +}; + +enum { +PRCM_CLK_MEMMAP_INDEX_PRM =0 , +PRCM_CLK_MEMMAP_INDEX_CM1 , +PRCM_CLK_MEMMAP_INDEX_CM2 , +PRCM_CLK_MEMMAP_INDEX_SCRM , +}; +extern void __iomem *clk_memmaps[];void omap_prcm_irq_cleanup (void );
@@ -529,6 +544,9 @@ void omap_prcm_irq_complete(void);void omap_pcs_legacy_init (int irq,void (*rearm)(void ));int of_prcm_module_init (struct of_device_id *match_table);int of_cm_init (void ); +int of_cm_base_init (void ); +int of_prcm_base_init (void ); +int of_scrm_base_init (void );# endif
Signature · 1 line
1.7.9.5
PATCH 53/55 ARM: OMAP4: CM: remove unnecessary cm*_44xx.h header files from core code
In reply to Tero KristoThese are not needed for anything.
--- arch/arm/mach-omap2/cm44xx.c | 2 -- arch/arm/mach-omap2/cminst44xx.c | 2 -- 2 files changed, 4 deletions(-)
arch/arm/mach-omap2/cm44xx.c +0 -2
@@ -19,8 +19,6 @@#include <linux/io.h> #include <linux/power/omap/cm.h> -#include "cm1_44xx.h" -#include "cm2_44xx.h" /* CM1 hardware module low-level functions */
arch/arm/mach-omap2/cminst44xx.c +0 -2
@@ -24,8 +24,6 @@#include <linux/power/omap/prm.h> #include <linux/power/omap/clockdomain.h> #include <linux/power/omap/cm.h> -#include "cm1_44xx.h" -#include "cm2_44xx.h" #include <linux/power/omap/cm44xx.h> #include <linux/power/omap/prcm44xx.h> #include <linux/power/omap/prm44xx.h>
Signature · 1 line
1.7.9.5
PATCH 54/55 ARM: OMAP4: PRCM: move prcm_mpu_base definition to a public header
In reply to Tero KristoNeeded from both PRCM core code and mach-omap2 board code. This gets rid of need to include the prcm_mpu_44xx_54xx.h header to the PRCM core code.
--- arch/arm/mach-omap2/cminst44xx.c | 1 - arch/arm/mach-omap2/prcm_mpu_44xx_54xx.h | 2 -- arch/arm/mach-omap2/prminst44xx.c | 1 - include/linux/power/omap/prcm-common.h | 1 + 4 files changed, 1 insertion(+), 4 deletions(-)
arch/arm/mach-omap2/cminst44xx.c +0 -1
@@ -27,7 +27,6 @@#include <linux/power/omap/cm44xx.h> #include <linux/power/omap/prcm44xx.h> #include <linux/power/omap/prm44xx.h> -#include "prcm_mpu44xx.h" #include <linux/power/omap/prcm-common.h> #define OMAP4430_IDLEST_SHIFT 16
arch/arm/mach-omap2/prcm_mpu_44xx_54xx.h +0 -2
@@ -24,8 +24,6 @@#define __ARCH_ARM_MACH_OMAP2_PRCM_MPU_44XX_54XX_H#ifndef __ASSEMBLER__ -extern void __iomem *prcm_mpu_base; -extern u32 omap4_prcm_mpu_read_inst_reg (s16 inst,u16 idx);extern void omap4_prcm_mpu_write_inst_reg (u32 val,s16 inst,u16 idx); extern u32 omap4_prcm_mpu_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst,
arch/arm/mach-omap2/prminst44xx.c +0 -1
@@ -22,7 +22,6 @@#include <linux/power/omap/prm54xx.h> #include <linux/power/omap/prm7xx.h> #include <linux/power/omap/prcm44xx.h> -#include "prcm_mpu44xx.h" #define OMAP4430_RST_GLOBAL_WARM_SW_MASK (1 << 0)
include/linux/power/omap/prcm-common.h +1 -0
@@ -535,6 +535,7 @@ enum { };extern void __iomem *clk_memmaps[]; +extern void __iomem *prcm_mpu_base;void omap_prcm_irq_cleanup (void );int omap_prcm_register_chain_handler (struct omap_prcm_irq_setup *irq_setup);
Signature · 1 line
1.7.9.5
cover : ARM: OMAP2+: PRCM move to drivers
In reply to Tero KristoQuoted 21 lines · Tero Kristo
Hi,
This set is continuation for the work started earlier to cleanup the CM/PRM and attempt to make it a separate driver. This set depends on these two sets:
CM/PRM cleanup set:
http://marc.info/?l=linux-omap&m=139395000918201&w=2OMAP2 clock DT set:
http://comments.gmane.org/gmane.linux.ports.arm.omap/111257This set is pretty huge but the patches can be applied in stages if need be. Anyway, it would be good to get some feedback whether the driver folder locations etc. are good, and whether the effort taken here will be enough to actually move the driver. Clockdomain / powerdomain code can also be moved easily under the
drivers/power/omapfolder (or someplace else if requested) once this set is in. Also, clockdomain / powerdomain data should be possible to convert to DT format or some sort of firmware blob once this is done.
Quoted 9 lines
Patch #55 in this set is pretty massive as it moves all the C files at the same time, this should probably be split up as multiple patches.
Testing branch pushed here (contains also the CM/PRM cleanup set and OMAP2 clock DT conversion):
tree: https://github.com/t-kristo/linux-pm.git
branch: 3.14-rc4-cm-prm-driver-v1
Tested this branch after rebase to v3.14 final (needed a few manual rebase fixes.. trivial ones)
major fail is around sdp2430 which fails to boot -> with DEBUG_LL sdp2430 : http://slexy.org/raw/s2MRoxsaJH
kristo-3.14-cm-prm-driver-v1-omap2plus_defconfig
1: am335x-evm: Boot PASS: http://slexy.org/raw/s2YLPt80Ui 2: am335x-sk: Boot PASS: http://slexy.org/raw/s21fyrFaCx 3: am3517-evm: Boot PASS: http://slexy.org/raw/s21lquhrjO 4: am37x-evm: Boot PASS: http://slexy.org/raw/s2VAGZMV5L
5: am43xx-epos: Boot PASS: http://slexy.org/raw/s21vX0JPy6
6: BeagleBoard-XM: Boot PASS: http://slexy.org/raw/s2tfyxYceR
7: beaglebone-black: Boot PASS: http://slexy.org/raw/s2zQOfp9JM
8: beaglebone: Boot PASS: http://slexy.org/raw/s2K848ipJj
9: DRA7xx-EVM: Boot PASS: http://slexy.org/raw/s20OteG4I3
10: OMAP3430-Labrador(LDP): Boot FAIL: http://slexy.org/raw/s21DupyTRc
^^ legacy behavior
11: pandaboard-es: Boot PASS: http://slexy.org/raw/s21HMWU7XE
12: sdp2430: Boot FAIL: http://slexy.org/raw/s2ex7L8gYg
^^ regression
13: sdp3430: Boot PASS: http://slexy.org/raw/s21Xl1pQGp 14: sdp4430: Boot PASS: http://slexy.org/raw/s2oYwjOXu5
15: OMAP5432uEVM: Boot PASS: http://slexy.org/raw/s20havbuwY
TOTAL = 15 boards, Booted Boards = 13, No Boot boards = 2
v3.14-omap2plus_defconfig
1: am335x-evm: Boot PASS: http://slexy.org/raw/s2fsTX7RLo 2: am335x-sk: Boot PASS: http://slexy.org/raw/s204it5W7s 3: am3517-evm: Boot PASS: http://slexy.org/raw/s20RHMAlQk 4: am37x-evm: Boot PASS: http://slexy.org/raw/s2y0jKiClC
5: am43xx-epos: Boot PASS: http://slexy.org/raw/s2094U1Iwa
6: BeagleBoard-XM: Boot PASS: http://slexy.org/raw/s2jfuRAl9n
7: beaglebone-black: Boot PASS: http://slexy.org/raw/s28LGuHny3
8: beaglebone: Boot PASS: http://slexy.org/raw/s2zSlZ6hbK
9: DRA7xx-EVM: Boot PASS: http://slexy.org/raw/s21IA9TS0U
10: OMAP3430-Labrador(LDP): Boot FAIL: http://slexy.org/raw/s2ZKEdCt2g
^^ legacy behavior
11: pandaboard-es: Boot PASS: http://slexy.org/raw/s2IJBjcuU1
12: sdp2430: Boot PASS: http://slexy.org/raw/s2YjBF8dq8 13: sdp3430: Boot PASS: http://slexy.org/raw/s22vE9i5W5 14: sdp4430: Boot PASS: http://slexy.org/raw/s2EIb4li37
15: OMAP5432uEVM: Boot PASS: http://slexy.org/raw/s2hBJQyZ4M
TOTAL = 15 boards, Booted Boards = 14, No Boot boards = 1
Signature · 2 lines
Regards, Nishanth Menon
cover : ARM: OMAP2+: PRCM move to drivers
Quoted 72 lines · Nishanth Menon
Quoted 21 lines · Tero Kristo
Hi,
This set is continuation for the work started earlier to cleanup the CM/PRM and attempt to make it a separate driver. This set depends on these two sets:
CM/PRM cleanup set:
http://marc.info/?l=linux-omap&m=139395000918201&w=2OMAP2 clock DT set:
http://comments.gmane.org/gmane.linux.ports.arm.omap/111257This set is pretty huge but the patches can be applied in stages if need be. Anyway, it would be good to get some feedback whether the driver folder locations etc. are good, and whether the effort taken here will be enough to actually move the driver. Clockdomain / powerdomain code can also be moved easily under the
drivers/power/omapfolder (or someplace else if requested) once this set is in. Also, clockdomain / powerdomain data should be possible to convert to DT format or some sort of firmware blob once this is done.Quoted 9 lines
Patch #55 in this set is pretty massive as it moves all the C files at the same time, this should probably be split up as multiple patches.
Testing branch pushed here (contains also the CM/PRM cleanup set and OMAP2 clock DT conversion):
tree: https://github.com/t-kristo/linux-pm.git
branch: 3.14-rc4-cm-prm-driver-v1Tested this branch after rebase to v3.14 final (needed a few manual rebase fixes.. trivial ones)
major fail is around sdp2430 which fails to boot -> with
DEBUG_LLsdp2430 : http://slexy.org/raw/s2MRoxsaJHkristo-3.14-cm-prm-driver-v1-omap2plus_defconfig
1: am335x-evm: Boot PASS: http://slexy.org/raw/s2YLPt80Ui 2: am335x-sk: Boot PASS: http://slexy.org/raw/s21fyrFaCx 3: am3517-evm: Boot PASS: http://slexy.org/raw/s21lquhrjO 4: am37x-evm: Boot PASS: http://slexy.org/raw/s2VAGZMV5L5: am43xx-epos: Boot PASS: http://slexy.org/raw/s21vX0JPy6
6: BeagleBoard-XM: Boot PASS: http://slexy.org/raw/s2tfyxYceR
7: beaglebone-black: Boot PASS: http://slexy.org/raw/s2zQOfp9JM
8: beaglebone: Boot PASS: http://slexy.org/raw/s2K848ipJj
9: DRA7xx-EVM: Boot PASS: http://slexy.org/raw/s20OteG4I3
10: OMAP3430-Labrador(LDP): Boot FAIL: http://slexy.org/raw/s21DupyTRc
^^ legacy behavior
11: pandaboard-es: Boot PASS: http://slexy.org/raw/s21HMWU7XE
12: sdp2430: Boot FAIL: http://slexy.org/raw/s2ex7L8gYg
^^ regression13: sdp3430: Boot PASS: http://slexy.org/raw/s21Xl1pQGp 14: sdp4430: Boot PASS: http://slexy.org/raw/s2oYwjOXu515: OMAP5432uEVM: Boot PASS: http://slexy.org/raw/s20havbuwY
TOTAL = 15 boards, Booted Boards = 13, No Boot boards = 2v3.14-omap2plus_defconfig
1: am335x-evm: Boot PASS: http://slexy.org/raw/s2fsTX7RLo 2: am335x-sk: Boot PASS: http://slexy.org/raw/s204it5W7s 3: am3517-evm: Boot PASS: http://slexy.org/raw/s20RHMAlQk 4: am37x-evm: Boot PASS: http://slexy.org/raw/s2y0jKiClC5: am43xx-epos: Boot PASS: http://slexy.org/raw/s2094U1Iwa
6: BeagleBoard-XM: Boot PASS: http://slexy.org/raw/s2jfuRAl9n
7: beaglebone-black: Boot PASS: http://slexy.org/raw/s28LGuHny3
8: beaglebone: Boot PASS: http://slexy.org/raw/s2zSlZ6hbK
9: DRA7xx-EVM: Boot PASS: http://slexy.org/raw/s21IA9TS0U
10: OMAP3430-Labrador(LDP): Boot FAIL: http://slexy.org/raw/s2ZKEdCt2g
^^ legacy behavior
11: pandaboard-es: Boot PASS: http://slexy.org/raw/s2IJBjcuU1
Quoted 7 lines
12: sdp2430: Boot PASS: http://slexy.org/raw/s2YjBF8dq8 13: sdp3430: Boot PASS: http://slexy.org/raw/s22vE9i5W5 14: sdp4430: Boot PASS: http://slexy.org/raw/s2EIb4li3715: OMAP5432uEVM: Boot PASS: http://slexy.org/raw/s2hBJQyZ4M
TOTAL = 15 boards, Booted Boards = 14, No Boot boards = 1
and a kernel_patch_verify static check report:
http://slexy.org/view/s20MhigkXd
I think many of these could be squelched as well.
Signature · 2 lines
Regards, Nishanth Menon
cover : ARM: OMAP2+: PRCM move to drivers
In reply to Tero KristoHi,
Quoted 25 lines · Tero Kristo
This set is continuation for the work started earlier to cleanup the CM/PRM and attempt to make it a separate driver. This set depends on these two sets:
CM/PRM cleanup set:
http://marc.info/?l=linux-omap&m=139395000918201&w=2OMAP2 clock DT set:
http://comments.gmane.org/gmane.linux.ports.arm.omap/111257This set is pretty huge but the patches can be applied in stages if need be. Anyway, it would be good to get some feedback whether the driver folder locations etc. are good, and whether the effort taken here will be enough to actually move the driver. Clockdomain / powerdomain code can also be moved easily under the
drivers/power/omapfolder (or someplace else if requested) once this set is in. Also, clockdomain / powerdomain data should be possible to convert to DT format or some sort of firmware blob once this is done.Patch #55 in this set is pretty massive as it moves all the C files at the same time, this should probably be split up as multiple patches.
Testing branch pushed here (contains also the CM/PRM cleanup set and OMAP2 clock DT conversion):
Quoted 8 lines
tree: https://github.com/t-kristo/linux-pm.git
branch: 3.14-rc4-cm-prm-driver-v1Testing done:
- am335x-bone: boot
- omap3-beagle: boot, suspend-resume (ret/off)
- omap4-panda-es: boot, suspend-resume (ret)
- omap5-uevm: boot
150 randconfigs later, I finally have logs and here are all defconfigs and stderr outputs of the failures only:
=== am33xx-multiplatform.config === randconfig0:
defconfig: http://slexy.org/view/s2zdy5LV9u
stderr: http://slexy.org/view/s2MDiGoSrx
randconfig1:
defconfig: http://slexy.org/view/s2IxFfsaxf
stderr: http://slexy.org/view/s20MnJB0bl
randconfig2:
defconfig: http://slexy.org/view/s2BzbaASOq stderr: http://slexy.org/view/s20S65Pnj4
randconfig3:
defconfig: http://slexy.org/view/s2Xd8cSZOH stderr: http://slexy.org/view/s20mf75wr0
randconfig5:
defconfig: http://slexy.org/view/s21dZjiy5Z
stderr: http://slexy.org/view/s2SAabweiD
randconfig6:
defconfig: http://slexy.org/view/s20f02s9yf stderr: http://slexy.org/view/s2AMLLBc2c
randconfig7:
defconfig: http://slexy.org/view/s21YMC7Fb1 stderr: http://slexy.org/view/s21VmmcHu8
randconfig8:
defconfig: http://slexy.org/view/s21NM3It3Z stderr: http://slexy.org/view/s2cg5YDZsA
randconfig9:
defconfig: http://slexy.org/view/s2CqErrueL
stderr: http://slexy.org/view/s21DCegKXO
=== am33xx-only.config ===
randconfig2:
defconfig: http://slexy.org/view/s26Kuo34pl stderr: http://slexy.org/view/s20nQdrBf3
randconfig5:
defconfig: http://slexy.org/view/s21kLO4EbJ
stderr: http://slexy.org/view/s2MbA4q1PH
randconfig8:
defconfig: http://slexy.org/view/s21xUPWCgh stderr: http://slexy.org/view/s2Mz889r6V
=== am43xx-multiplatform.config === randconfig0:
defconfig: http://slexy.org/view/s20nOHwtyj
stderr: http://slexy.org/view/s2PgUQG73h
randconfig1:
defconfig: http://slexy.org/view/s2wBCQM0Wv
stderr: http://slexy.org/view/s2sXSaLzRf
randconfig2:
defconfig: http://slexy.org/view/s20JF7tNEv
stderr: http://slexy.org/view/s2IFi7RDzV
randconfig4:
defconfig: http://slexy.org/view/s21J5c88u0 stderr: http://slexy.org/view/s2GuhgkwuI
randconfig5:
defconfig: http://slexy.org/view/s20vRmugso
stderr: http://slexy.org/view/s20AfVQszg
randconfig6:
defconfig: http://slexy.org/view/s2nO7OZd9r
stderr: http://slexy.org/view/s204vfoBIB
randconfig7:
defconfig: http://slexy.org/view/s2k8I2YVI1 stderr: http://slexy.org/view/s2wsGB0ubx
randconfig9:
defconfig: http://slexy.org/view/s2u5ig7saX
stderr: http://slexy.org/view/s28rVgHJFo
=== am43xx-only.config ===
randconfig0:
defconfig: http://slexy.org/view/s2OVt1yfgy stderr: http://slexy.org/view/s22AU3Ex2p
randconfig1:
defconfig: http://slexy.org/view/s25Gpu3Kr9 stderr: http://slexy.org/view/s2uO3TnMDs
randconfig3:
defconfig: http://slexy.org/view/s2Lf9Q5h9Q stderr: http://slexy.org/view/s2CRZMJAR9
randconfig6:
defconfig: http://slexy.org/view/s21ncdem0O
stderr: http://slexy.org/view/s20gzGaJcK
randconfig9:
defconfig: http://slexy.org/view/s2UWL1gFqN
stderr: http://slexy.org/view/s21S7zXfwh
=== dra7xx-multiplatform.config === randconfig0:
defconfig: http://slexy.org/view/s20HNnv3Gf
stderr: http://slexy.org/view/s21VztibKv
randconfig1:
defconfig: http://slexy.org/view/s218qJ9E4x stderr: http://slexy.org/view/s2V28GPksP
randconfig2:
defconfig: http://slexy.org/view/s2YcaCyUKS
stderr: http://slexy.org/view/s20Mgzt8pa
randconfig3:
defconfig: http://slexy.org/view/s20zE9a4dW stderr: http://slexy.org/view/s20Xy7r17N
randconfig4:
defconfig: http://slexy.org/view/s21CUAW6Yz stderr: http://slexy.org/view/s20k6n5Gx8
randconfig5:
defconfig: http://slexy.org/view/s21cLkzCHp
stderr: http://slexy.org/view/s21JQfioUs
randconfig6:
defconfig: http://slexy.org/view/s2EMvORY8U
stderr: http://slexy.org/view/s20CetADJx
randconfig7:
defconfig: http://slexy.org/view/s2JO5xHGgM
stderr: http://slexy.org/view/s21sujleRC
randconfig9:
defconfig: http://slexy.org/view/s2dz7jgBR4
stderr: http://slexy.org/view/s20hqcdATY
=== dra7xx-only.config ===
randconfig3:
defconfig: http://slexy.org/view/s20zRk0AZN stderr: http://slexy.org/view/s21G5p7LUQ
randconfig7:
defconfig: http://slexy.org/view/s21FCqxaXM stderr: http://slexy.org/view/s278Tbgp9S
randconfig9:
defconfig: http://slexy.org/view/s20Gfmk6lJ
stderr: http://slexy.org/view/s20ehb1qwZ
=== omap1-only.config ===
randconfig0:
defconfig: http://slexy.org/view/s2MUvMwOLs
stderr: http://slexy.org/view/s2qZs1vTxV
randconfig1:
defconfig: http://slexy.org/view/s27WloNxZM
stderr: http://slexy.org/view/s2JWSJfmEd
randconfig2:
defconfig: http://slexy.org/view/s21eKcaLyv stderr: http://slexy.org/view/s23rdJn5Z6
randconfig4:
defconfig: http://slexy.org/view/s2jCoCS6bR
stderr: http://slexy.org/view/s2BFCNCzGE
randconfig5:
defconfig: http://slexy.org/view/s26ZOMTjY2
stderr: http://slexy.org/view/s2tS8X3izE
randconfig7:
defconfig: http://slexy.org/view/s20mS2BhrM
stderr: http://slexy.org/view/s21ZhQjmyZ
=== omap2-multiplatform.config ===
randconfig0:
defconfig: http://slexy.org/view/s206lY3Iu9 stderr: http://slexy.org/view/s2VFufPUrS
randconfig1:
defconfig: http://slexy.org/view/s2BmE32F7s stderr: http://slexy.org/view/s28siuKJgl
randconfig2:
defconfig: http://slexy.org/view/s21wyH6vtV stderr: http://slexy.org/view/s2i5hb6R1s
randconfig3:
defconfig: http://slexy.org/view/s211ydZ9zL stderr: http://slexy.org/view/s2TnjPod0j
randconfig4:
defconfig: http://slexy.org/view/s2BKoNv98b
stderr: http://slexy.org/view/s2VLHLTBcK
randconfig5:
defconfig: http://slexy.org/view/s20TmPmPdE
stderr: http://slexy.org/view/s2TNOe2h4l
randconfig6:
defconfig: http://slexy.org/view/s2FFn9nUuj
stderr: http://slexy.org/view/s2Ox6D9fnC
randconfig7:
defconfig: http://slexy.org/view/s2CnsemL7b
stderr: http://slexy.org/view/s206FpFZpJ
randconfig8:
defconfig: http://slexy.org/view/s24W1I71zh stderr: http://slexy.org/view/s20TQftJBb
randconfig9:
defconfig: http://slexy.org/view/s2I1F7c6TU stderr: http://slexy.org/view/s2mKIia8Sv
=== omap2-only.config ===
randconfig0:
defconfig: http://slexy.org/view/s2dotWO9Ql
stderr: http://slexy.org/view/s20hxmA4vX
randconfig1:
defconfig: http://slexy.org/view/s2iRumb8dH
stderr: http://slexy.org/view/s21Fw0XxqU
randconfig3:
defconfig: http://slexy.org/view/s20QWVWG5i
stderr: http://slexy.org/view/s21vyg1zop
randconfig4:
defconfig: http://slexy.org/view/s21mGDCq51 stderr: http://slexy.org/view/s20TIuj4IX
randconfig6:
defconfig: http://slexy.org/view/s20sYfiX3d
stderr: http://slexy.org/view/s20rPoepm3
randconfig7:
defconfig: http://slexy.org/view/s2nvBuOuxW stderr: http://slexy.org/view/s20E0IdY6F
randconfig8:
defconfig: http://slexy.org/view/s2N76xJ3X9 stderr: http://slexy.org/view/s21VfZJhHV
randconfig9:
defconfig: http://slexy.org/view/s2RV36kehk
stderr: http://slexy.org/view/s2CTWr5Vpb
=== omap3-multiplatform.config === randconfig0:
defconfig: http://slexy.org/view/s20VtHyvBH
stderr: http://slexy.org/view/s2kBg5HvhD
randconfig1:
defconfig: http://slexy.org/view/s20ypZW2Ko
stderr: http://slexy.org/view/s21OUz1Xzn
randconfig2:
defconfig: http://slexy.org/view/s21GjiKHkk
stderr: http://slexy.org/view/s20asYuGKI
randconfig3:
defconfig: http://slexy.org/view/s21O5wypd0 stderr: http://slexy.org/view/s2IkuBLuZP
randconfig4:
defconfig: http://slexy.org/view/s2ENuvZIYn
stderr: http://slexy.org/view/s2S9qPIR0A
randconfig5:
defconfig: http://slexy.org/view/s20nPLMlgQ
stderr: http://slexy.org/view/s2m4JwHSM8
randconfig6:
defconfig: http://slexy.org/view/s2DGcTkHkC
stderr: http://slexy.org/view/s20AspBOww
randconfig7:
defconfig: http://slexy.org/view/s20kCMwUU7
stderr: http://slexy.org/view/s2z6D9QvQJ
randconfig8:
defconfig: http://slexy.org/view/s20I1AOSQk stderr: http://slexy.org/view/s2q01zO9Iy
randconfig9:
defconfig: http://slexy.org/view/s204fkNHxb
stderr: http://slexy.org/view/s21qriyPF3
=== omap3-only.config ===
randconfig0:
defconfig: http://slexy.org/view/s2abbP39Uk
stderr: http://slexy.org/view/s29usoI8Nl
randconfig1:
defconfig: http://slexy.org/view/s204hCXm6K stderr: http://slexy.org/view/s2kNZV9uAp
randconfig3:
defconfig: http://slexy.org/view/s20vqEhTiO stderr: http://slexy.org/view/s205S2pZNA
randconfig6:
defconfig: http://slexy.org/view/s20TycQLjY
stderr: http://slexy.org/view/s20HC7hhns
randconfig7:
defconfig: http://slexy.org/view/s2aw70jjPn
stderr: http://slexy.org/view/s20isfqiL2
randconfig9:
defconfig: http://slexy.org/view/s2MZFMURBn
stderr: http://slexy.org/view/s2XoYqLhu9
=== omap4-multiplatform.config === randconfig0:
defconfig: http://slexy.org/view/s2vidWfwTH
stderr: http://slexy.org/view/s2HTOgfMmF
randconfig1:
defconfig: http://slexy.org/view/s2Dt05nhkT
stderr: http://slexy.org/view/s2Gj8YvAVs
randconfig2:
defconfig: http://slexy.org/view/s25AhJw365 stderr: http://slexy.org/view/s20beEPCwC
randconfig3:
defconfig: http://slexy.org/view/s2dewbdjz7
stderr: http://slexy.org/view/s20HGxzWpE
randconfig4:
defconfig: http://slexy.org/view/s21WJUmCW0
stderr: http://slexy.org/view/s2LRgFFbGA
randconfig5:
defconfig: http://slexy.org/view/s2xGTl58jP
stderr: http://slexy.org/view/s21aJCo6xK
randconfig6:
defconfig: http://slexy.org/view/s20lpLX6Lu
stderr: http://slexy.org/view/s21a4HxCyS
randconfig7:
defconfig: http://slexy.org/view/s21AT1lTJf
stderr: http://slexy.org/view/s21FaPb3xR
randconfig8:
defconfig: http://slexy.org/view/s2CgY5DQQG
stderr: http://slexy.org/view/s25VUF6wMD
randconfig9:
defconfig: http://slexy.org/view/s2QiYHO40h
stderr: http://slexy.org/view/s2t2wYKX0q
=== omap4-only.config ===
randconfig1:
defconfig: http://slexy.org/view/s21qSK8EGJ
stderr: http://slexy.org/view/s21srzKlAT
randconfig3:
defconfig: http://slexy.org/view/s20QbcE067 stderr: http://slexy.org/view/s27LksMVGl
randconfig5:
defconfig: http://slexy.org/view/s21S8MLzbl
stderr: http://slexy.org/view/s26IKp0DOJ
randconfig7:
defconfig: http://slexy.org/view/s28VWw4Oh2 stderr: http://slexy.org/view/s20RGLZjqY
randconfig8:
defconfig: http://slexy.org/view/s2vwTsPqZa stderr: http://slexy.org/view/s21G96fSWU
=== omap5-multiplatform.config ===
randconfig0:
defconfig: http://slexy.org/view/s20Bamou4U stderr: http://slexy.org/view/s208AsoX7s
randconfig1:
defconfig: http://slexy.org/view/s21XKs3Q5G stderr: http://slexy.org/view/s21gtUSLml
randconfig2:
defconfig: http://slexy.org/view/s2wvw3iOkG stderr: http://slexy.org/view/s208uF3SGG
randconfig3:
defconfig: http://slexy.org/view/s2fagfl6tb stderr: http://slexy.org/view/s21YdRf46l
randconfig4:
defconfig: http://slexy.org/view/s20eitFSpQ
stderr: http://slexy.org/view/s21NNgKKun
randconfig5:
defconfig: http://slexy.org/view/s2vmxZxslV
stderr: http://slexy.org/view/s20u5IlZIL
randconfig6:
defconfig: http://slexy.org/view/s23ba5vjtP
stderr: http://slexy.org/view/s20KHhbgjO
randconfig7:
defconfig: http://slexy.org/view/s2AiHp902I stderr: http://slexy.org/view/s2d2LK0QDi
randconfig8:
defconfig: http://slexy.org/view/s2U1JNwOcK
stderr: http://slexy.org/view/s2ftX1ECVO
randconfig9:
defconfig: http://slexy.org/view/s2fqXgF0tG
stderr: http://slexy.org/view/s21HrxjCq1
=== omap5-only.config ===
randconfig0:
defconfig: http://slexy.org/view/s2hS1gplYB
stderr: http://slexy.org/view/s20Zjhtbyz
randconfig2:
defconfig: http://slexy.org/view/s2XMMPIHmK
stderr: http://slexy.org/view/s22fG8VCFk
randconfig3:
defconfig: http://slexy.org/view/s2LSrPTIho stderr: http://slexy.org/view/s20Zzv2Jb5
randconfig8:
defconfig: http://slexy.org/view/s20ftaOa2H stderr: http://slexy.org/view/s21JmD1FZ3
Signature · 8 lines
balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140331/0a7c5979/attachment-0001.sig>
Tony Lindgren
maintainercover : ARM: OMAP2+: PRCM move to drivers
In reply to Tero KristoQuoted 12 lines · Tero Kristo
Hi,
This set is continuation for the work started earlier to cleanup the CM/PRM and attempt to make it a separate driver. This set depends on these two sets:
CM/PRM cleanup set:
http://marc.info/?l=linux-omap&m=139395000918201&w=2OMAP2 clock DT set:
http://comments.gmane.org/gmane.linux.ports.arm.omap/111257
Quoted 8 lines
This set is pretty huge but the patches can be applied in stages if need be. Anyway, it would be good to get some feedback whether the driver folder locations etc. are good, and whether the effort taken here will be enough to actually move the driver. Clockdomain / powerdomain code can also be moved easily under the
drivers/power/omapfolder (or someplace else if requested) once this set is in. Also, clockdomain / powerdomain data should be possible to convert to DT format or some sort of firmware blob once this is done.
Good to see this happening :)
Quoted 2 lines
Patch #55 in this set is pretty massive as it moves all the C files at the same time, this should probably be split up as multiple patches.
Maybe try to break this series into few smaller sets of patches?
Then a diffstat with these kind of large patch sets would be nice in the cover letter to get some kind of idea what's going on :)
Browsing through the set it seems that all the patches in this series moving register defines "to a public location" are bad news.
We don't want to make access to these registers available without proper frameworks as that will lead into misuse by various drivers. And cleaning up that mess later in is a huge pain.
To avoid that, you can probably do something like this:
1. Set up the PRCM registers as multiple regmap areas
See for example these commits in linux next how one of the SCM misc register areas is now available for drivers as tisyscon defined in the .dts files:
11469e0bb1c5 regulator: add pbias regulator support cd042fe5c1f6 ARM: dts: add pbias dt node
So basically we now have drivers/regulators/pbias-regulator.c that claims some of the tisyscon registers and implements a regulator. Then the MMC driver can just use the standard regulator related functions.
It seems that you can set up multiple PRCM register ranges in a similar way as regmap ranges and that way partition the PRCM register areas to something that's private to individual drivers.
2. Have the core PRCM driver(s) claim some of the regmap ranges
Some PRCM features can potentially be implemented using existing Linux generic frameworks where possible for clocks, regulators, reset drivers etc. That way you can keep the register defines for these ranges private to the core PRCM driver(s). Ideally with no need to add _any_ custom exported functions here.
3. Have the other drivers claim some regmap ranges
The register ranges that are clearly owned by some driver should be claimed by those drivers. Then the defines for those registers can stay private to that driver. Some drivers that can probably own some PRCM ranges are clock drivers and voltage related drivers.
Regards,
Tony
cover : ARM: OMAP2+: PRCM move to drivers
Quoted 22 lines · Tony Lindgren
Quoted 12 lines · Tero Kristo
Hi,
This set is continuation for the work started earlier to cleanup the CM/PRM and attempt to make it a separate driver. This set depends on these two sets:
CM/PRM cleanup set:
http://marc.info/?l=linux-omap&m=139395000918201&w=2OMAP2 clock DT set:
http://comments.gmane.org/gmane.linux.ports.arm.omap/111257Quoted 8 lines
This set is pretty huge but the patches can be applied in stages if need be. Anyway, it would be good to get some feedback whether the driver folder locations etc. are good, and whether the effort taken here will be enough to actually move the driver. Clockdomain / powerdomain code can also be moved easily under the
drivers/power/omapfolder (or someplace else if requested) once this set is in. Also, clockdomain / powerdomain data should be possible to convert to DT format or some sort of firmware blob once this is done.
Quoted 6 lines
Good to see this happening :)
Quoted 2 lines
Patch #55 in this set is pretty massive as it moves all the C files at the same time, this should probably be split up as multiple patches.
Maybe try to break this series into few smaller sets of patches?
Yes, this was the idea once getting the initial feedback for the approach itself. I will post smaller sets (split from this one) once the CM/PRM cleanup set referenced above gets in.
Quoted 10 lines
Then a diffstat with these kind of large patch sets would be nice in the cover letter to get some kind of idea what's going on :)
Browsing through the set it seems that all the patches in this series moving register defines "to a public location" are bad news.
We don't want to make access to these registers available without proper frameworks as that will lead into misuse by various drivers. And cleaning up that mess later in is a huge pain.
Currently, only thing that requires access to the register offsets is basically all the legacy clock data still in the kernel (when can we get rid of this, I have posted patches for it already?) and also the clockdomain / powerdomain data. I can work on getting clockdomain + powerdomain data to DT format if this would be preferred, then we can remove these data files also. Alternatively I can just move all these defines to the C files which actually use them.
Quoted 12 lines
To avoid that, you can probably do something like this:
1. Set up the PRCM registers as multiple regmap areas
See for example these commits in linux next how one of the SCM misc register areas is now available for drivers as tisyscon defined in the .dts files:
11469e0bb1c5regulator: add pbias regulator supportcd042fe5c1f6ARM: dts: add pbias dt node
Quoted 8 lines
So basically we now have
drivers/regulators/pbias-regulator.cthat claims some of the tisyscon registers and implements a regulator. Then the MMC driver can just use the standard regulator related functions.It seems that you can set up multiple PRCM register ranges in a similar way as regmap ranges and that way partition the PRCM register areas to something that's private to individual drivers.
So, basically you are proposing to add a regmap or regmap like API for the PRCM, which would provide access to a subset of registers only outside the PRCM driver? Some functions provided by PRCM spawn to multiple registers (like clocks), and the ranges have holes, and would require finetuning a register / bit level access map (some registers may contain functions for several drivers.)
Quoted 7 lines
2. Have the core PRCM driver(s) claim some of the regmap ranges
Some PRCM features can potentially be implemented using existing Linux generic frameworks where possible for clocks, regulators, reset drivers etc. That way you can keep the register defines for these ranges private to the core PRCM driver(s). Ideally with no need to add _any_ custom exported functions here.
There is separate work ongoing for reset driver, and for VC/VP, there has been some regulator related work. But yes, mostly this approach should be fine.
Quoted 6 lines
3. Have the other drivers claim some regmap ranges
The register ranges that are clearly owned by some driver should be claimed by those drivers. Then the defines for those registers can stay private to that driver. Some drivers that can probably own some PRCM ranges are clock drivers and voltage related drivers.
Yeah, this sounds reasonable.
-Tero
Tony Lindgren
maintainercover : ARM: OMAP2+: PRCM move to drivers
Quoted 6 lines · Tero Kristo
Quoted 4 lines · Tony Lindgren
We don't want to make access to these registers available without proper frameworks as that will lead into misuse by various drivers. And cleaning up that mess later in is a huge pain.
Quoted 8 lines
Currently, only thing that requires access to the register offsets is basically all the legacy clock data still in the kernel (when can we get rid of this, I have posted patches for it already?) and also the clockdomain / powerdomain data. I can work on getting clockdomain + powerdomain data to DT format if this would be preferred, then we can remove these data files also. Alternatively I can just move all these defines to the C files which actually use them.
With display support getting merged hopefully we can retry dropping omap3 legacy booting as long as we get the missing boards working.
I don't know how urgent of an issue the clock and power domains are for the data compared to clocks and muxes. But if it allows us to easily add support for new SoC variants, then yes it makes sense.
But in any case the defines should be private to the code claiming the PRCM register area.
Quoted 6 lines
So, basically you are proposing to add a regmap or regmap like API for the PRCM, which would provide access to a subset of registers only outside the PRCM driver? Some functions provided by PRCM spawn to multiple registers (like clocks), and the ranges have holes, and would require finetuning a register / bit level access map (some registers may contain functions for several drivers.)
Yeah something like that as that allows implementing the Linux generic frameworks where the code really should be. And does not require exporting tons of custom functions.
Quoted 11 lines
Quoted 7 lines
2. Have the core PRCM driver(s) claim some of the regmap ranges
Some PRCM features can potentially be implemented using existing Linux generic frameworks where possible for clocks, regulators, reset drivers etc. That way you can keep the register defines for these ranges private to the core PRCM driver(s). Ideally with no need to add _any_ custom exported functions here.
There is separate work ongoing for reset driver, and for VC/VP, there has been some regulator related work. But yes, mostly this approach should be fine.
OK cool.
Quoted 8 lines
Quoted 6 lines
3. Have the other drivers claim some regmap ranges
The register ranges that are clearly owned by some driver should be claimed by those drivers. Then the defines for those registers can stay private to that driver. Some drivers that can probably own some PRCM ranges are clock drivers and voltage related drivers.
Yeah, this sounds reasonable.
OK
Tony
cover : ARM: OMAP2+: PRCM move to drivers
Quoted 46 lines · Tony Lindgren
Quoted 6 lines · Tero Kristo
Quoted 4 lines · Tony Lindgren
We don't want to make access to these registers available without proper frameworks as that will lead into misuse by various drivers. And cleaning up that mess later in is a huge pain.
Quoted 8 lines
Currently, only thing that requires access to the register offsets is basically all the legacy clock data still in the kernel (when can we get rid of this, I have posted patches for it already?) and also the clockdomain / powerdomain data. I can work on getting clockdomain + powerdomain data to DT format if this would be preferred, then we can remove these data files also. Alternatively I can just move all these defines to the C files which actually use them.
With display support getting merged hopefully we can retry dropping omap3 legacy booting as long as we get the missing boards working.
I don't know how urgent of an issue the clock and power domains are for the data compared to clocks and muxes. But if it allows us to easily add support for new SoC variants, then yes it makes sense.
But in any case the defines should be private to the code claiming the PRCM register area.
Quoted 6 lines
So, basically you are proposing to add a regmap or regmap like API for the PRCM, which would provide access to a subset of registers only outside the PRCM driver? Some functions provided by PRCM spawn to multiple registers (like clocks), and the ranges have holes, and would require finetuning a register / bit level access map (some registers may contain functions for several drivers.)
Yeah something like that as that allows implementing the Linux generic frameworks where the code really should be. And does not require exporting tons of custom functions.
Quoted 8 lines
Quoted 7 lines
2. Have the core PRCM driver(s) claim some of the regmap ranges
Some PRCM features can potentially be implemented using existing Linux generic frameworks where possible for clocks, regulators, reset drivers etc. That way you can keep the register defines for these ranges private to the core PRCM driver(s). Ideally with no need to add _any_ custom exported functions here.
Quoted 14 lines
Quoted 3 lines
There is separate work ongoing for reset driver, and for VC/VP, there has been some regulator related work. But yes, mostly this approach should be fine.
OK cool.
Quoted 8 lines
Quoted 6 lines
3. Have the other drivers claim some regmap ranges
The register ranges that are clearly owned by some driver should be claimed by those drivers. Then the defines for those registers can stay private to that driver. Some drivers that can probably own some PRCM ranges are clock drivers and voltage related drivers.
Yeah, this sounds reasonable.
Hi all,
Just letting you know, that I created a kind of v2 for this set, however I am not going to post it publicly before the pre-reqs for this set are covered, basically the OMAP2 clock DT set. CM/PRM cleanup set is outdated with this series though (I'll post a note on it separately) and its contents are merged to this latest re-work.
The latest wip branch is available publicly if someone is interested:
https://github.com/t-kristo/linux-pm/tree/3.14-rc4-cm-prm-driver-wip
I also added Tony's vc fixes set to this branch and removed the direct prm register accesses added there.
-Tero
Tony Lindgren
maintainercover : ARM: OMAP2+: PRCM move to drivers
Quoted 7 lines · Tero Kristo
Just letting you know, that I created a kind of v2 for this set, however I am not going to post it publicly before the pre-reqs for this set are covered, basically the OMAP2 clock DT set. CM/PRM cleanup set is outdated with this series though (I'll post a note on it separately) and its contents are merged to this latest re-work.
Quoted 6 lines
The latest wip branch is available publicly if someone is interested:
https://github.com/t-kristo/linux-pm/tree/3.14-rc4-cm-prm-driver-wip
I also added Tony's vc fixes set to this branch and removed the direct prm register accesses added there.
Well let's merge the fixes first. Sounds like the prm register access changes for the vc can be merged already so care to post those changes against v3.14 or v3.15-rc1 separately?
Regards,
Tony