Skip to contentSkip to conversation

: ARM: OMAP2+: PRCM move to drivers

PATCH New Tero Kristo 4 participants 65 messages Mar 31, 2014 – Apr 12, 2014

Subsystems (11)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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
index 535d66e..5627072 100644
@@ -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
#2 lore raw

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.

---
 arch/arm/mach-omap2/cm44xx.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/cm44xx.c +0 -0
index 535d66e..5627072 100644

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>
#3 lore raw

PATCH 2/55 ARM: OMAP2+: PRCM: cleanup some header includes

In reply to Tero Kristo

Some 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
index f17f006..82c37b1 100644
@@ -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
index cfb8891..15a778c 100644
@@ -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
index 5627072..37ba6e8 100644
@@ -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
index 40b3b5a..9e2482a 100644
@@ -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
index 731ca13..d27d2bd 100644
@@ -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
index 0f17862..a579b89 100644
@@ -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
index 93a2a6e..faebd5f 100644
@@ -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
index da5a59a..f472711 100644
@@ -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
index e982598..ee2384a 100644
@@ -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
index 059bd4f..ac9cb45 100644
@@ -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
index 5209823..d891499 100644
@@ -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
index 7204407..0660105 100644
@@ -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
#4 lore raw

PATCH 3/55 ARM: OMAP2+: PRM: remove unnecessary cpu_is_XXX calls from prm_init / exit

In reply to Tero Kristo

Done 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
index 45f83dd..a7f1cac 100644
@@ -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
index 6d3e9c2..1a39954 100644
@@ -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
index 3655e16..be96881 100644
@@ -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
#5 lore raw

PATCH 4/55 ARM: OMAP3/4: PRM: provide io chain reconfig function through irq setup

In reply to Tero Kristo

This 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
index ee2384a..a8e4b58 100644
@@ -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
index 1a39954..dab93f4 100644
@@ -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
index be96881..10834cb 100644
@@ -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
index 878ae9f..b3c593b 100644
@@ -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
#6 lore raw

PATCH 5/55 ARM: OMAP3/OMAP4: PRM: add prm_features flags and add IO wakeup under it

In reply to Tero Kristo

prm_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
index 623db40..04426c4 100644
@@ -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
index dab93f4..fcbe854 100644
@@ -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
index 10834cb..dc357df 100644
@@ -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
index b3c593b..f98c01a 100644
@@ -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
#7 lore raw

PATCH 6/55 ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops

In reply to Tero Kristo

SoC 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
index 04426c4..48480d5 100644
@@ -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
index fcbe854..f92de79 100644
@@ -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
index dc357df..60b9b05 100644
@@ -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
index f98c01a..76ca320 100644
@@ -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
#8 lore raw

PATCH 7/55 ARM: OMAP3+: PRM: add cpu-type as parameter to prm_init calls

In reply to Tero Kristo

This 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
index 5b19efd..251432f 100644
@@ -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
index 48480d5..fd5123e 100644
@@ -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
index f92de79..9915cd6 100644
@@ -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
index 7120af9..0e759bc 100644
@@ -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
index 60b9b05..18fae1dd 100644
@@ -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
index 8d95aa5..73734b2 100644
@@ -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
#9 lore raw

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
index 8d95aa5..73734b2 100644
@@ -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>
#10 lore raw

PATCH 8/55 ARM: DRA7: PRM: add voltage processor check behind a prm_feature flag

In reply to Tero Kristo

This 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
index fd5123e..8d40a5d 100644
@@ -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
index 18fae1dd..fb05abc 100644
@@ -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
#11 lore raw

PATCH 9/55 ARM: OMAP4+: PRM: add prm_dev_inst offset as a global parameter

In reply to Tero Kristo

This 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
index 8d40a5d..8caa7af 100644
@@ -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
index fb05abc..206dcd9 100644
@@ -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
index 76ca320..5d5d564 100644
@@ -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
index 00b69d1..d4a7919 100644
@@ -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
#12 lore raw

PATCH 10/55 ARM: OMAP3+: PRM: get rid of some unnecessary header files

In reply to Tero Kristo

Done 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
index a8e4b58..9da4c17 100644
@@ -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
index 9915cd6..f1d3e15 100644
@@ -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
index 206dcd9..27f4603 100644
@@ -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
index 5d5d564..b4ef9e4 100644
@@ -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
index d4a7919..bd0e0da 100644
@@ -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
#13 lore raw

PATCH 11/55 CLK: TI: clockdomain: add support for retrying init

In reply to Tero Kristo

Retry 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
index b4ef9e4..2d63196 100644
@@ -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
index 03decc2..86e8ae4 100644
@@ -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
#14 lore raw

PATCH 12/55 ARM: PRCM: split PRCM module init to their own driver files

In reply to Tero Kristo

Previously 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
index 9e2482a..c334d38 100644
@@ -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
index 5854b3c..90a7add 100644
@@ -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
index ccbd70c..8a5c025 100644
@@ -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
index 251432f..dfba898 100644
@@ -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
index 9da4c17..f356532 100644
@@ -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
#15 lore raw

PATCH 13/55 ARM: OMAP4: PRCM: remove references to cm-regbits-44xx.h from PRCM core files

In reply to Tero Kristo

Done 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
index 37ba6e8..c440ba7 100644
@@ -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
index d27d2bd..c2712d3 100644
@@ -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
index c0aeabf..c40e5f0 100644
@@ -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
#16 lore raw

PATCH 14/55 ARM: OMAP2: CM: remove references to cm-regbits-24xx.h from CM core code

In reply to Tero Kristo

Done 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
index 4c29f63..e74484a 100644
@@ -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
#17 lore raw

PATCH 15/55 ARM: AM33xx: CM: remove references to cm-regbits-33xx.h from CM core code

In reply to Tero Kristo

Done 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
index 40a22e5..728ac3f 100644
@@ -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
index 15a778c..8f9e479 100644
@@ -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
#18 lore raw

PATCH 16/55 ARM: OMAP2: PRM: remove references to prm-regbits-24xx.h from PRM core code

In reply to Tero Kristo

Done 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
index a7f1cac..7264ae6 100644
@@ -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
index d891499..d8044f9 100644
@@ -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
#19 lore raw

PATCH 17/55 ARM: AM33xx: PRM: remove references to prm-regbits-33xx.h from PRM core code

In reply to Tero Kristo

Done 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
index 0660105..877d7c7 100644
@@ -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
#20 lore raw

PATCH 18/55 ARM: OMAP4: PRM: remove references to prm-regbits-44xx.h from PRM core code

In reply to Tero Kristo

Done 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
index 27f4603..5033cd3 100644
@@ -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
index bd0e0da..74349e1 100644
@@ -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
#21 lore raw

PATCH 19/55 ARM: OMAP3: PRM: remove references to prm-regbits-34xx.h from PRM core code

In reply to Tero Kristo

Done 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
index f1d3e15..8ae209a 100644
@@ -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
#22 lore raw

PATCH 20/55 ARM: OMAP3+: PRCM: remove references to cm-regbits-34xx.h from PRCM core code

In reply to Tero Kristo

Done 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
index 728ac3f..c7be4e4 100644
@@ -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
index 989590e..859c2fd 100644
@@ -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
index c2712d3..58e01c7 100644
@@ -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
index c40e5f0..2c62cd9 100644
@@ -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
index 8ae209a..852bc4d 100644
@@ -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
#23 lore raw

PATCH 21/55 ARM: OMAP2+: PRCM: remove references to clock.h from PRCM core code

In reply to Tero Kristo

Done 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
index 2da3b5e..9a59efb 100644
@@ -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
index 82c37b1..4322a28 100644
@@ -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
index f356532..1a05d04 100644
@@ -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
index 080b3ed..090d13f 100644
@@ -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 *)&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 *)&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
#24 lore raw

PATCH 22/55 ARM: OMAP2: CM: move cm2xxx.h header to a public location

In reply to Tero Kristo

This 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
index e74484a..6f04031 100644
@@ -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
index c334d38..9a53eb5 100644
@@ -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
#25 lore raw

PATCH 23/55 ARM: AM33xx: CM: move cm33xx.h header to a public location

In reply to Tero Kristo

This 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
index c7be4e4..7a7b2e7 100644
@@ -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
#26 lore raw

PATCH 24/55 ARM: OMAP3: CM: move cm3xxx.h header to public location

In reply to Tero Kristo

This 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
index 859c2fd..cbba617 100644
@@ -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
index 9a53eb5..f8f9343 100644
@@ -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
index 852bc4d..4700605 100644
@@ -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
#27 lore raw

PATCH 25/55 ARM: OMAP4: CM: remove unnecessary cm44xx.h header file

In reply to Tero Kristo

Contains 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
deleted file mode 100644
index 3380bee..0000000
@@ -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
index f8f9343..8655538 100644
@@ -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
index 58e01c7..dfb1a93 100644
@@ -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
index faebd5f..62649ba 100644
@@ -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
#28 lore raw

PATCH 26/55 ARM: OMAP3: move cm2xxx_3xxx.h header to public location

In reply to Tero Kristo

This 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
index 333f0a6..b4cf577 100644
@@ -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
index 0b02b41..4706f2f 100644
@@ -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
index 7e76bec..7931fd1 100644
@@ -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
index b923007..2e3918c 100644
@@ -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
index 4972219..b728d6e 100644
@@ -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
index e6b91e5..27851ac 100644
@@ -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
index 5eaa007..80e9892 100644
@@ -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
index 9131829..ca7ca94 100644
@@ -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
index 9c2047f..5fdc14c 100644
@@ -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
index 3185ced..79ce6e8 100644
@@ -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
index b8208b4..1d802fe 100644
@@ -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
index 0b33986..95f28b2 100644
@@ -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
index 62649ba..e532d2b 100644
@@ -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
index 328c103..9db6a8e 100644
@@ -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
index 7264ae6..5b5260c 100644
@@ -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
index a388f8c..90e06b3 100644
@@ -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
#29 lore raw

PATCH 27/55 ARM: OMAP4+: CM: remove unused cm_44xx_54xx.h header file

In reply to Tero Kristo

This 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
index 5ae8fe3..a594992 100644
@@ -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
index 90b3348..fd245df 100644
@@ -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
index ca6fa1f..2f1c09e 100644
@@ -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
index ee5136d..7521abf 100644
@@ -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
index 2683231..ff4040c 100644
@@ -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
index 9ad7594..ef00a9d 100644
@@ -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
deleted file mode 100644
index cbb2116..0000000
@@ -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
#30 lore raw

PATCH 28/55 ARM: OMAP4: CM: make all omap4_cminst_read/write calls static

In reply to Tero Kristo

These 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
index dfb1a93..20681de 100644
@@ -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
index 7f56ea4..ad06525 100644
@@ -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
#31 lore raw

PATCH 29/55 ARM: OMAP4: CM: rename cminst44xx.h to cm44xx.h and move it to public location

In reply to Tero Kristo

The 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
index 20681de..2f780df 100644
@@ -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
deleted file mode 100644
index ad06525..0000000
@@ -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
index dfba898..6212c10 100644
@@ -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
index 54c24e1..4576f0b 100644
@@ -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
new file mode 100644
index 0000000..eda5670
@@ -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
#32 lore raw

PATCH 30/55 ARM: OMAP2+: CM: move cm.h header to public location

In reply to Tero Kristo

This 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
index 4ac6e3d..4276c46 100644
@@ -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
index b870f6a..4c996dd 100644
@@ -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
index 32c90fd..e86f84e 100644
@@ -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
index 6f04031..f4a070c 100644
@@ -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
index ca7ca94..a28dff0 100644
@@ -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
index 7a7b2e7..7717eeb 100644
@@ -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
index 67f1d49..d8c4278 100644
@@ -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
index cbba617..0818156 100644
@@ -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
index c440ba7..506974b 100644
@@ -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
index 8655538..3843f1f 100644
@@ -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
index 2f780df..b577a8e 100644
@@ -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
index 6212c10..ed677bb 100644
@@ -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
index 2c62cd9..8c511e3 100644
@@ -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
#33 lore raw

PATCH 31/55 ARM: OMAP2: export parts of prm2xxx.h header file

In reply to Tero Kristo

Some 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
index f4a070c..b37783a 100644
@@ -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
index 5b5260c..849b415 100644
@@ -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
index 071bb6d..19ff266 100644
@@ -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
index 090d13f..273a338 100644
@@ -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
new file mode 100644
index 0000000..32b76d5
@@ -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
#34 lore raw

PATCH 32/55 ARM: OMAP2+: PRM: move prm2xxx_3xxx.h to public location

In reply to Tero Kristo

This 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
index 4706f2f..aebe66b 100644
@@ -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
index 7931fd1..432cb14 100644
@@ -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
index 2e3918c..48df0fb 100644
@@ -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
index b728d6e..435e5c3 100644
@@ -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
index 27851ac..9272baf 100644
@@ -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
index b37783a..2385498 100644
@@ -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
index 0818156..a80cd3e 100644
@@ -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
index 1d802fe..a48b6d9 100644
@@ -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
index 95f28b2..d2e4fb8 100644
@@ -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
index e532d2b..fdb6172 100644
@@ -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
index 578eef8..266bd96 100644
@@ -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
index 9db6a8e..7ba44db 100644
@@ -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
index 19ff266..feeaf00 100644
@@ -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
index 6e007e9..ebd6a09 100644
@@ -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
index 0e759bc..c79f4c6 100644
@@ -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
index 273a338..c3eef62 100644
@@ -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
index 90e06b3..0413d7e 100644
@@ -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
index 4bd0968..d18dc7b 100644
@@ -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
index 1914e02..8507479 100644
@@ -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
#35 lore raw

PATCH 33/55 ARM: AM33xx: PRM: move global warm reset implementation to driver

In reply to Tero Kristo

Moved 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
index c88d8df7..7286389 100644
@@ -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
index 877d7c7..a08b1da 100644
@@ -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
#36 lore raw

PATCH 34/55 ARM: AM33XX: PRM: move parts of the prm33xx.h header file to public location

In reply to Tero Kristo

Parts 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
index 7286389..9ae249c 100644
@@ -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
index 7717eeb..43e4f26 100644
@@ -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
index a08b1da..436cd12 100644
@@ -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
index 9b9918d..7825b1c 100644
@@ -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
new file mode 100644
index 0000000..ea72bf0
@@ -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
#37 lore raw

PATCH 35/55 ARM: OMAP3: PRM: remove direct register declaration macros

In reply to Tero Kristo

Only 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
index d5fefb9..6d7aea5 100644
@@ -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
index c79f4c6..ffc8177 100644
@@ -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
#38 lore raw

PATCH 36/55 ARM: OMAP3: PRM: move prm3xxx.h header to public location

In reply to Tero Kristo

This 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
index 4700605..93f87e1 100644
@@ -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
index c3eef62..40e94e7 100644
@@ -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
#39 lore raw

PATCH 37/55 ARM: OMAP4: PRM: remove direct register declaration macros

In reply to Tero Kristo

None 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
index 7db2422..7fc277b 100644
@@ -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
#40 lore raw

PATCH 38/55 ARM: OMAP4: PRM: move parts of prm44xx.h header file to public location

In reply to Tero Kristo

Parts 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
index b577a8e..084e5ce 100644
@@ -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
index fdb6172..a29d50c 100644
@@ -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
index 5033cd3..dff2ffa 100644
@@ -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
index 40e94e7..653862b 100644
@@ -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
index 74349e1..f029cb1 100644
@@ -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
#41 lore raw

PATCH 39/55 ARM: OMAP5: PRM: remove direct register declaration macros

In reply to Tero Kristo

None 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
index e441101..3f1b383 100644
@@ -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
#42 lore raw

PATCH 40/55 ARM: OMAP5: PRM: move parts of prm54xx.h header file to public location

In reply to Tero Kristo

Parts 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
index dff2ffa..97b7ab2 100644
@@ -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
index f029cb1..f330766 100644
@@ -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
#43 lore raw

PATCH 41/55 ARM: DRA7: PRM: remove direct register declaration macros

In reply to Tero Kristo

None 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
index d92a840..b971af5 100644
@@ -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
#44 lore raw

PATCH 42/55 ARM: DRA7: PRM: move parts of prm7xx.h header file to public location

In reply to Tero Kristo

Parts 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
index 97b7ab2..a80e8b5 100644
@@ -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
index f330766..feb508f 100644
@@ -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
#45 lore raw

PATCH 43/55 ARM: OMAP4: PRM: get rid of prminst44xx.h header file

In reply to Tero Kristo

Only 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
index ed677bb..96d498f 100644
@@ -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
index 4b1b059..50127e1 100644
@@ -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
index 6cd3f37..54e054a 100644
@@ -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
index 41dfd7d..f0102d1 100644
@@ -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
index 4576f0b..096c43d 100644
@@ -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
index feb508f..01f6b15 100644
@@ -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
deleted file mode 100644
index fec8f18..0000000
@@ -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
index 59a6e55..5db33b7 100644
@@ -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
index 3ac8fe1..78f5a68 100644
@@ -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
index 48b22a0..479b412 100644
@@ -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
index e5cd9f3..3c5852e 100644
@@ -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
#46 lore raw

PATCH 44/55 ARM: OMAP4: PRM: make omap4_prm_read/write_inst_reg calls static

In reply to Tero Kristo

These 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
index a80e8b5..f1f3e78 100644
@@ -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
index 73734b2..4b36d3d 100644
@@ -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
#47 lore raw

PATCH 45/55 ARM: OMAP4: PRM: move prm44xx_54xx.h header to public location

In reply to Tero Kristo

This 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
index f1f3e78..7cbb35f 100644
@@ -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
index 1f7a3a6..52585e1 100644
@@ -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
index 64d0859..34a0835 100644
@@ -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
index c6dc341..2637d62 100644
@@ -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
#48 lore raw

PATCH 46/55 ARM: OMAP3+: VP: move OMAP*_VP_VDD_*_ID definitions to prm public headers

In reply to Tero Kristo

vp.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
index 93f87e1..e7d409c 100644
@@ -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
index 7cbb35f..2b25710 100644
@@ -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
index 0fdf7080..7e08296 100644
@@ -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
index 3bdc372..af39ebd 100644
@@ -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
index 3c5852e..9395c0d 100644
@@ -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
#49 lore raw

PATCH 47/55 ARM: OMAP2+: PRM: move prcm-common.h header to public location

In reply to Tero Kristo

This 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
index 2385498..f7365c7 100644
@@ -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
index 80e9892..169541e 100644
@@ -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
index 43e4f26..1f68cde 100644
@@ -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
index a80cd3e..01c69f2 100644
@@ -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
index 5fdc14c..23846ff 100644
@@ -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
index 3843f1f..0a21fa9 100644
@@ -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
index 084e5ce..5ebd8e3 100644
@@ -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
index e1b4141..f464aed 100644
@@ -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
index 7b946f1..57abec8 100644
@@ -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
index 266bd96..9506c0e 100644
@@ -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
index 869adb8..0a7a5ca 100644
@@ -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
index 7ba44db..be12876 100644
@@ -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
index 95fee54..b99eac7 100644
@@ -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
index 704664c..ea1ffc1 100644
@@ -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
index ce1d752..b4a815b 100644
@@ -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
index 48151d1..cf33ef6 100644
@@ -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
index 8caa7af..6a02cf3 100644
@@ -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
index feeaf00..b86486b 100644
@@ -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
index ebd6a09..c02a267 100644
@@ -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
index 7825b1c..598ba48 100644
@@ -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
index 6c06fce..693b5ad 100644
@@ -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
index 2b25710..705509a 100644
@@ -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
index 52585e1..b7066fd 100644
@@ -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
index 34a0835..250c2d5 100644
@@ -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
index 2637d62..6e84906 100644
@@ -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
index 653862b..acdd0f1 100644
@@ -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
index 01f6b15..50c660d 100644
@@ -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
#50 lore raw

PATCH 48/55 ARM: OMAP2+: move prm.h header to public location

In reply to Tero Kristo

This 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
index 5ebd8e3..0fd50d7 100644
@@ -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
index 4c158c8..4324e4e 100644
@@ -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
index 4cf1655..64a1331 100644
@@ -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
index cbc8e3c..4bbc313 100644
@@ -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
index b456b44..b8f9dd5 100644
@@ -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
index 96d498f..e9f7db9 100644
@@ -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
index 828e0db..5abf695 100644
@@ -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
index 48094b5..8e865eb 100644
@@ -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
index 096c43d..df0c2a0 100644
@@ -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
index a29d50c..7262b3d 100644
@@ -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
index 57abec8..823bc4d 100644
@@ -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
index 84feece..70d22b6 100644
@@ -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
index b86486b..8f8a515 100644
@@ -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
index c02a267..5d6861a 100644
@@ -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
index 436cd12..b5864c9 100644
@@ -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
index 598ba48..c27b5a0 100644
@@ -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
index 693b5ad..e48f7be 100644
@@ -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
index 705509a..cf312a8 100644
@@ -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
index b7066fd..dc9d21c 100644
@@ -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
index 250c2d5..a3895f7 100644
@@ -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
index 6e84906..de2ce3d 100644
@@ -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
index acdd0f1..fb377e1 100644
@@ -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
index 50c660d..30015d1 100644
@@ -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
index d15c7bb..9d528c6 100644
@@ -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
#51 lore raw

PATCH 49/55 ARM: OMAP4: move prcm44xx.h header to public location

In reply to Tero Kristo

This 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
index 6d71c60..11a319b 100644
@@ -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
index 95192a0..a335303 100644
@@ -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
index 1a3c69d..59ea31e 100644
@@ -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
index 57d5df0..b169667 100644
@@ -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
index 0fd50d7..3b95fc6 100644
@@ -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
index 50127e1..33f5774 100644
@@ -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
index 7262b3d..86ef5f6 100644
@@ -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
index b99eac7..91802f1 100644
@@ -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
index ea1ffc1..793c611 100644
@@ -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
index b4a815b..37017f2 100644
@@ -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
index cf33ef6..cedc84b 100644
@@ -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
index cf312a8..69a974b 100644
@@ -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
index 30015d1..5b7c17e 100644
@@ -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
index 78f5a68..b707328 100644
@@ -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
index 479b412..f452ab8 100644
@@ -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
#52 lore raw

PATCH 50/55 ARM: OMAP2+: clockdomain: move clockdomain.h header to public location

In reply to Tero Kristo

This 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
index 4276c46..035f413 100644
@@ -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
index 9a59efb..298fb05 100644
@@ -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
index 432cb14..b54a3e8 100644
@@ -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
index 48df0fb..c0030bc 100644
@@ -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
index 435e5c3..f8666d7 100644
@@ -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
index e86f84e..0a6160b 100644
@@ -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
index 9272baf..fcdee72 100644
@@ -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
index 11a319b..5f1ddb9 100644
@@ -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
index a335303..965d56f 100644
@@ -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
index 59ea31e..6699aaf6 100644
@@ -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
index b169667..52d1226 100644
@@ -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
index f7365c7..93efae1 100644
@@ -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
index 1f68cde..ea9598c 100644
@@ -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
index 01c69f2..47d0e49 100644
@@ -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
index 3b95fc6..13c4e0b 100644
@@ -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
index e18709d..858a28a 100644
@@ -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
index 4324e4e..1ddc4fe 100644
@@ -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
index 79ce6e8..60a58ff 100644
@@ -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
index e9f7db9..b12ca79 100644
@@ -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
index 17550aa..a9f4979 100644
@@ -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
index df0c2a0..bfd3c19 100644
@@ -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
index d2e4fb8..766012e 100644
@@ -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
index f464aed..8ee7b14 100644
@@ -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
index 97b3831..6c1b8d6 100644
@@ -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
index 4ba0cce..119b9ff 100644
@@ -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
index eefb30c..47f664f 100644
@@ -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
index 86ef5f6..63fd500 100644
@@ -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
index 849b415..7969cb9 100644
@@ -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
index d8044f9..a25d1d0 100644
@@ -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
#53 lore raw

PATCH 51/55 ARM: OMAP2+: powerdomain: move powerdomain.h header to public location

In reply to Tero Kristo

This 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
index 298fb05..26d28c7 100644
@@ -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
index 93efae1..c0aec2c 100644
@@ -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
index 47d0e49..d1b65ab 100644
@@ -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
index 858a28a..cb4f96a 100644
@@ -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
index 7a57714..7d37e50 100644
@@ -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
index b12ca79..08dd6de 100644
@@ -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
index 458f72f..5360d37 100644
@@ -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
index bfd3c19..d152ddc 100644
@@ -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
index 766012e..5ef4c7d 100644
@@ -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
index 8ee7b14..ea6b5ad 100644
@@ -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
index 7bdd22a..b63bd1f 100644
@@ -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
index 6c1b8d6..788ec5e 100644
@@ -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
index 119b9ff..ca3724c 100644
@@ -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
index 47f664f..d7b8d33 100644
@@ -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
index 63fd500..11a5359 100644
@@ -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
index 823bc4d..c3d2e8a 100644
@@ -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
index fa31166..b22c174 100644
@@ -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
index 9506c0e..7fced02 100644
@@ -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
index 0a7a5ca..719c541 100644
@@ -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
index be12876..01c43d4 100644
@@ -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
index 91802f1..922d6ea 100644
@@ -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
index 793c611..290d68d 100644
@@ -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
index 37017f2..c24a991 100644
@@ -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
index cedc84b..35f6ca1 100644
@@ -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
index 7969cb9..735ee33 100644
@@ -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
index a25d1d0..27828d0 100644
@@ -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
index 5d6861a..52537fd 100644
@@ -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
index b5864c9..05356a3 100644
@@ -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
index e7d409c..be4c3ef 100644
@@ -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
index 69a974b..ab04ce8 100644
@@ -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
index 74044aa..f10ca44 100644
@@ -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
index b707328..17df5e7 100644
@@ -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
#54 lore raw

PATCH 52/55 ARM: OMAP2+: PRCM: add prcm_base init call for DT boot

In reply to Tero Kristo

This 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
index 0a21fa9..67d4888 100644
@@ -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
index 90a7add..c404987 100644
@@ -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
index 67143a2..b9cce23 100644
@@ -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
#55 lore raw

PATCH 53/55 ARM: OMAP4: CM: remove unnecessary cm*_44xx.h header files from core code

In reply to Tero Kristo

These 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
index 506974b..14d8256 100644
@@ -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
index 13c4e0b..3d0b8ae 100644
@@ -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
#56 lore raw

PATCH 54/55 ARM: OMAP4: PRCM: move prcm_mpu_base definition to a public header

In reply to Tero Kristo

Needed 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
index 3d0b8ae..875634b 100644
@@ -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
index ca149e7..2b1c995 100644
@@ -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
index 5b7c17e..e97d877 100644
@@ -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
index b9cce23..a881607 100644
@@ -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
#57 lore raw

cover : ARM: OMAP2+: PRCM move to drivers

In reply to Tero Kristo
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=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.

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
#58 lore raw

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=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.

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

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/s2EIb4li37

15: 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
#59 lore raw

cover : ARM: OMAP2+: PRCM move to drivers

In reply to Tero Kristo

Hi,

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=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):

Quoted 8 lines

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

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>
maintainer
#60 lore raw

cover : ARM: OMAP2+: PRCM move to drivers

In reply to Tero Kristo
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=2

OMAP2 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/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.

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

#61 lore raw

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=2

OMAP2 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/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.

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:

11469e0bb1c5 regulator: add pbias regulator support cd042fe5c1f6 ARM: dts: add pbias dt node

Quoted 8 lines

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.

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

maintainer
#62 lore raw

cover : 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

#63 lore raw

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

maintainer
#64 lore raw

cover : 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