This series removes the currently-unused PRCM macros from
arch/arm/mach-omap2. Basic test logs are available at: http://www.pwsan.com/omap/testlogs/drop_unused_prcm_macros_v3.11-rc/20130721211401/ Once, years ago, we thought that it would be good to document the PRCM register bits in the Linux codebase. Most folks in the broader community did not have access to the same documentation, so we thought that they might be able to use these bits to fix bugs and improve the code. We were also able to autogenerate most of these macros, so it was thought that defining them in advance would reduce the risk of error, inconsistencies, and merge conflicts caused when patch sets incrementally defined them by hand. Well, nice thoughts. But the first rationale was rendered partially obsolete when TI started to release public TRM documentation PDFs at some point in the OMAP3 timeframe. (Despite their weaknesses, TI's public OMAP TRMs remain the most useful public documentation available for any ARM Linux SoC -- at least to the extent of my knowledge.) And then the current Linux development tropism towards development-by-negative-diffstat obliterated the remainder of the above two philosophies. So, for the few, the masochistic, out there who wish to continue developing TI PRCM code, I would ask that you resurrect any additionally-needed macros from these commits, rather than writing them manually. Purely for the sake of a pleasant atavism, perhaps; the way one appreciates a used bookstore, or a video rental store... And thanks to the upstream maintainers for being patient while we adjust. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJR7LpkAAoJEMePsQ0LvSpLATQQALAZ/RvWFw/uOVmrC8i2uTbd UFPvihSeqG8CCytzUQC5JZQRNjAtjknPTYak8x7tyAQPlhRWHoW2w5EYdKgtMhXw Gf5B0nZzbWE2nbDMezqWpVNaFCz5Xf5RVb3oFYYv6k3EQvooYJ8qh6UEKI6wQDei ++ElskLlvo/M7HcrUDs4NWtxVQ9pxPsbdTHJLZnd5zwXzirZLi3flLs3iKHJMTHE LNKTeKyTiRvkGFVa9Fa07jkVm23fu1+RmcdoOTBfJw7UmM89ftLN3K5LEw4sOsFX 56Fx1ezEY/1xSNF8zF3dIXbGS0B0WhA5+k0ibZs21dj4tYqG/RzqmIFs24A/2nj2 fV+NBV2QVHWO6jFZhqGu53IYjFX5kFs83YmGpq4EdlhUMonq+nny1DSlGT8/k6J8 YnH8CZvCPTtYWldIrdMSaHMkrcs12ivk+RqJq5D2MIjgyvgABJ+4QhFZ+7bQ7EvQ kbFVbj2fgOfjZ10qH38/Ti6RExVdf1SNYydvQ5zv8TKzrsplC7xG8Rm4bQ693gMR ONel5/dWBFkZdZdplg/NuQxZgpDnWHnGH223IispO7nY3xd3FatD2L7PJwtqwdVL 73RszVPxRc28UFLp7qMi5KGMJv9ihAwNPDvrWbb8M8zb6R0AyxDRmT+LhSAVxbQW b8CqYHIQ5e50dQSZfIfK =/+Vm -----END PGP SIGNATURE----- Merge tag 'for-v3.11-rc/omap-fixes-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.12/cleanup This series removes the currently-unused PRCM macros from arch/arm/mach-omap2. Basic test logs are available at: http://www.pwsan.com/omap/testlogs/drop_unused_prcm_macros_v3.11-rc/20130721211401/ Once, years ago, we thought that it would be good to document the PRCM register bits in the Linux codebase. Most folks in the broader community did not have access to the same documentation, so we thought that they might be able to use these bits to fix bugs and improve the code. We were also able to autogenerate most of these macros, so it was thought that defining them in advance would reduce the risk of error, inconsistencies, and merge conflicts caused when patch sets incrementally defined them by hand. Well, nice thoughts. But the first rationale was rendered partially obsolete when TI started to release public TRM documentation PDFs at some point in the OMAP3 timeframe. (Despite their weaknesses, TI's public OMAP TRMs remain the most useful public documentation available for any ARM Linux SoC -- at least to the extent of my knowledge.) And then the current Linux development tropism towards development-by-negative-diffstat obliterated the remainder of the above two philosophies. So, for the few, the masochistic, out there who wish to continue developing TI PRCM code, I would ask that you resurrect any additionally-needed macros from these commits, rather than writing them manually. Purely for the sake of a pleasant atavism, perhaps; the way one appreciates a used bookstore, or a video rental store... And thanks to the upstream maintainers for being patient while we adjust.
This commit is contained in:
commit
dc46c79043
674 changed files with 3602 additions and 104705 deletions
|
@ -267,8 +267,8 @@ Q: If i have some kernel code that needs to be aware of CPU arrival and
|
|||
A: This is what you would need in your kernel code to receive notifications.
|
||||
|
||||
#include <linux/cpu.h>
|
||||
static int __cpuinit foobar_cpu_callback(struct notifier_block *nfb,
|
||||
unsigned long action, void *hcpu)
|
||||
static int foobar_cpu_callback(struct notifier_block *nfb,
|
||||
unsigned long action, void *hcpu)
|
||||
{
|
||||
unsigned int cpu = (unsigned long)hcpu;
|
||||
|
||||
|
@ -285,7 +285,7 @@ A: This is what you would need in your kernel code to receive notifications.
|
|||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
static struct notifier_block __cpuinitdata foobar_cpu_notifer =
|
||||
static struct notifier_block foobar_cpu_notifer =
|
||||
{
|
||||
.notifier_call = foobar_cpu_callback,
|
||||
};
|
||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 3
|
||||
PATCHLEVEL = 11
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION = -rc1
|
||||
EXTRAVERSION = -rc2
|
||||
NAME = Linux for Workgroups
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
|
|
@ -116,7 +116,7 @@ wait_boot_cpu_to_stop(int cpuid)
|
|||
/*
|
||||
* Where secondaries begin a life of C.
|
||||
*/
|
||||
void __cpuinit
|
||||
void
|
||||
smp_callin(void)
|
||||
{
|
||||
int cpuid = hard_smp_processor_id();
|
||||
|
@ -194,7 +194,7 @@ wait_for_txrdy (unsigned long cpumask)
|
|||
* Send a message to a secondary's console. "START" is one such
|
||||
* interesting message. ;-)
|
||||
*/
|
||||
static void __cpuinit
|
||||
static void
|
||||
send_secondary_console_msg(char *str, int cpuid)
|
||||
{
|
||||
struct percpu_struct *cpu;
|
||||
|
@ -285,7 +285,7 @@ recv_secondary_console_msg(void)
|
|||
/*
|
||||
* Convince the console to have a secondary cpu begin execution.
|
||||
*/
|
||||
static int __cpuinit
|
||||
static int
|
||||
secondary_cpu_start(int cpuid, struct task_struct *idle)
|
||||
{
|
||||
struct percpu_struct *cpu;
|
||||
|
@ -356,7 +356,7 @@ secondary_cpu_start(int cpuid, struct task_struct *idle)
|
|||
/*
|
||||
* Bring one cpu online.
|
||||
*/
|
||||
static int __cpuinit
|
||||
static int
|
||||
smp_boot_one_cpu(int cpuid, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
@ -472,7 +472,7 @@ smp_prepare_boot_cpu(void)
|
|||
{
|
||||
}
|
||||
|
||||
int __cpuinit
|
||||
int
|
||||
__cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||
{
|
||||
smp_boot_one_cpu(cpu, tidle);
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
static int opDEC_fix;
|
||||
|
||||
static void __cpuinit
|
||||
static void
|
||||
opDEC_check(void)
|
||||
{
|
||||
__asm__ __volatile__ (
|
||||
|
@ -1059,7 +1059,7 @@ give_sigbus:
|
|||
return;
|
||||
}
|
||||
|
||||
void __cpuinit
|
||||
void
|
||||
trap_init(void)
|
||||
{
|
||||
/* Tell PAL-code what global pointer we want in the kernel. */
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include <asm/smp.h>
|
||||
#include <asm/smp_plat.h>
|
||||
|
||||
static int __cpuinit mcpm_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int mcpm_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned int mpidr, pcpu, pcluster, ret;
|
||||
extern void secondary_startup(void);
|
||||
|
@ -40,7 +40,7 @@ static int __cpuinit mcpm_boot_secondary(unsigned int cpu, struct task_struct *i
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __cpuinit mcpm_secondary_init(unsigned int cpu)
|
||||
static void mcpm_secondary_init(unsigned int cpu)
|
||||
{
|
||||
mcpm_cpu_powered_up();
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ static inline u64 arch_counter_get_cntvct(void)
|
|||
return cval;
|
||||
}
|
||||
|
||||
static inline void __cpuinit arch_counter_set_user_access(void)
|
||||
static inline void arch_counter_set_user_access(void)
|
||||
{
|
||||
u32 cntkctl;
|
||||
|
||||
|
|
|
@ -149,7 +149,6 @@ ENDPROC(lookup_processor_type)
|
|||
* r5 = proc_info pointer in physical address space
|
||||
* r9 = cpuid (preserved)
|
||||
*/
|
||||
__CPUINIT
|
||||
__lookup_processor_type:
|
||||
adr r3, __lookup_processor_type_data
|
||||
ldmia r3, {r4 - r6}
|
||||
|
|
|
@ -87,7 +87,6 @@ ENTRY(stext)
|
|||
ENDPROC(stext)
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
__CPUINIT
|
||||
ENTRY(secondary_startup)
|
||||
/*
|
||||
* Common entry point for secondary CPUs.
|
||||
|
|
|
@ -343,7 +343,6 @@ __turn_mmu_on_loc:
|
|||
.long __turn_mmu_on_end
|
||||
|
||||
#if defined(CONFIG_SMP)
|
||||
__CPUINIT
|
||||
ENTRY(secondary_startup)
|
||||
/*
|
||||
* Common entry point for secondary CPUs.
|
||||
|
|
|
@ -1020,7 +1020,7 @@ out_mdbgen:
|
|||
cpumask_or(&debug_err_mask, &debug_err_mask, cpumask_of(cpu));
|
||||
}
|
||||
|
||||
static int __cpuinit dbg_reset_notify(struct notifier_block *self,
|
||||
static int dbg_reset_notify(struct notifier_block *self,
|
||||
unsigned long action, void *cpu)
|
||||
{
|
||||
if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE)
|
||||
|
@ -1029,7 +1029,7 @@ static int __cpuinit dbg_reset_notify(struct notifier_block *self,
|
|||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
static struct notifier_block __cpuinitdata dbg_reset_nb = {
|
||||
static struct notifier_block dbg_reset_nb = {
|
||||
.notifier_call = dbg_reset_notify,
|
||||
};
|
||||
|
||||
|
|
|
@ -157,8 +157,8 @@ static void cpu_pmu_init(struct arm_pmu *cpu_pmu)
|
|||
* UNKNOWN at reset, the PMU must be explicitly reset to avoid reading
|
||||
* junk values out of them.
|
||||
*/
|
||||
static int __cpuinit cpu_pmu_notify(struct notifier_block *b,
|
||||
unsigned long action, void *hcpu)
|
||||
static int cpu_pmu_notify(struct notifier_block *b, unsigned long action,
|
||||
void *hcpu)
|
||||
{
|
||||
if ((action & ~CPU_TASKS_FROZEN) != CPU_STARTING)
|
||||
return NOTIFY_DONE;
|
||||
|
@ -171,7 +171,7 @@ static int __cpuinit cpu_pmu_notify(struct notifier_block *b,
|
|||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
static struct notifier_block __cpuinitdata cpu_pmu_hotplug_notifier = {
|
||||
static struct notifier_block cpu_pmu_hotplug_notifier = {
|
||||
.notifier_call = cpu_pmu_notify,
|
||||
};
|
||||
|
||||
|
|
|
@ -46,8 +46,7 @@
|
|||
|
||||
extern void secondary_startup(void);
|
||||
|
||||
static int __cpuinit psci_boot_secondary(unsigned int cpu,
|
||||
struct task_struct *idle)
|
||||
static int psci_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
if (psci_ops.cpu_on)
|
||||
return psci_ops.cpu_on(cpu_logical_map(cpu),
|
||||
|
|
|
@ -58,7 +58,7 @@ struct secondary_data secondary_data;
|
|||
* control for which core is the next to come out of the secondary
|
||||
* boot "holding pen"
|
||||
*/
|
||||
volatile int __cpuinitdata pen_release = -1;
|
||||
volatile int pen_release = -1;
|
||||
|
||||
enum ipi_msg_type {
|
||||
IPI_WAKEUP,
|
||||
|
@ -86,7 +86,7 @@ static unsigned long get_arch_pgd(pgd_t *pgd)
|
|||
return pgdir >> ARCH_PGD_SHIFT;
|
||||
}
|
||||
|
||||
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
|
||||
int __cpu_up(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
@ -138,7 +138,7 @@ void __init smp_init_cpus(void)
|
|||
smp_ops.smp_init_cpus();
|
||||
}
|
||||
|
||||
int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
int boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
if (smp_ops.smp_boot_secondary)
|
||||
return smp_ops.smp_boot_secondary(cpu, idle);
|
||||
|
@ -170,7 +170,7 @@ static int platform_cpu_disable(unsigned int cpu)
|
|||
/*
|
||||
* __cpu_disable runs on the processor to be shutdown.
|
||||
*/
|
||||
int __cpuinit __cpu_disable(void)
|
||||
int __cpu_disable(void)
|
||||
{
|
||||
unsigned int cpu = smp_processor_id();
|
||||
int ret;
|
||||
|
@ -216,7 +216,7 @@ static DECLARE_COMPLETION(cpu_died);
|
|||
* called on the thread which is asking for a CPU to be shutdown -
|
||||
* waits until shutdown has completed, or it is timed out.
|
||||
*/
|
||||
void __cpuinit __cpu_die(unsigned int cpu)
|
||||
void __cpu_die(unsigned int cpu)
|
||||
{
|
||||
if (!wait_for_completion_timeout(&cpu_died, msecs_to_jiffies(5000))) {
|
||||
pr_err("CPU%u: cpu didn't die\n", cpu);
|
||||
|
@ -306,7 +306,7 @@ void __ref cpu_die(void)
|
|||
* Called by both boot and secondaries to move global data into
|
||||
* per-processor storage.
|
||||
*/
|
||||
static void __cpuinit smp_store_cpu_info(unsigned int cpuid)
|
||||
static void smp_store_cpu_info(unsigned int cpuid)
|
||||
{
|
||||
struct cpuinfo_arm *cpu_info = &per_cpu(cpu_data, cpuid);
|
||||
|
||||
|
@ -322,7 +322,7 @@ static void percpu_timer_setup(void);
|
|||
* This is the secondary CPU boot entry. We're using this CPUs
|
||||
* idle thread stack, but a set of temporary page tables.
|
||||
*/
|
||||
asmlinkage void __cpuinit secondary_start_kernel(void)
|
||||
asmlinkage void secondary_start_kernel(void)
|
||||
{
|
||||
struct mm_struct *mm = &init_mm;
|
||||
unsigned int cpu;
|
||||
|
@ -521,7 +521,7 @@ static void broadcast_timer_set_mode(enum clock_event_mode mode,
|
|||
{
|
||||
}
|
||||
|
||||
static void __cpuinit broadcast_timer_setup(struct clock_event_device *evt)
|
||||
static void broadcast_timer_setup(struct clock_event_device *evt)
|
||||
{
|
||||
evt->name = "dummy_timer";
|
||||
evt->features = CLOCK_EVT_FEAT_ONESHOT |
|
||||
|
@ -550,7 +550,7 @@ int local_timer_register(struct local_timer_ops *ops)
|
|||
}
|
||||
#endif
|
||||
|
||||
static void __cpuinit percpu_timer_setup(void)
|
||||
static void percpu_timer_setup(void)
|
||||
{
|
||||
unsigned int cpu = smp_processor_id();
|
||||
struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu);
|
||||
|
|
|
@ -187,7 +187,7 @@ core_initcall(twd_cpufreq_init);
|
|||
|
||||
#endif
|
||||
|
||||
static void __cpuinit twd_calibrate_rate(void)
|
||||
static void twd_calibrate_rate(void)
|
||||
{
|
||||
unsigned long count;
|
||||
u64 waitjiffies;
|
||||
|
@ -265,7 +265,7 @@ static void twd_get_clock(struct device_node *np)
|
|||
/*
|
||||
* Setup the local clock events for a CPU.
|
||||
*/
|
||||
static int __cpuinit twd_timer_setup(struct clock_event_device *clk)
|
||||
static int twd_timer_setup(struct clock_event_device *clk)
|
||||
{
|
||||
struct clock_event_device **this_cpu_clk;
|
||||
int cpu = smp_processor_id();
|
||||
|
@ -308,7 +308,7 @@ static int __cpuinit twd_timer_setup(struct clock_event_device *clk)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct local_timer_ops twd_lt_ops __cpuinitdata = {
|
||||
static struct local_timer_ops twd_lt_ops = {
|
||||
.setup = twd_timer_setup,
|
||||
.stop = twd_timer_stop,
|
||||
};
|
||||
|
|
|
@ -86,7 +86,7 @@ void __init register_current_timer_delay(const struct delay_timer *timer)
|
|||
}
|
||||
}
|
||||
|
||||
unsigned long __cpuinit calibrate_delay_is_known(void)
|
||||
unsigned long calibrate_delay_is_known(void)
|
||||
{
|
||||
delay_calibrated = true;
|
||||
return lpj_fine;
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* exynos4 specific entry point for secondary CPUs. This provides
|
||||
* a "holding pen" into which all secondary cores are held until we're
|
||||
|
|
|
@ -75,7 +75,7 @@ static void __iomem *scu_base_addr(void)
|
|||
|
||||
static DEFINE_SPINLOCK(boot_lock);
|
||||
|
||||
static void __cpuinit exynos_secondary_init(unsigned int cpu)
|
||||
static void exynos_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* let the primary processor know we're out of the
|
||||
|
@ -90,7 +90,7 @@ static void __cpuinit exynos_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
static int __cpuinit exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
unsigned long phys_cpu = cpu_logical_map(cpu);
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
extern void secondary_startup(void);
|
||||
|
||||
static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
highbank_set_cpu_jump(cpu, secondary_startup);
|
||||
arch_send_wakeup_ipi_mask(cpumask_of(cpu));
|
||||
|
|
|
@ -53,7 +53,7 @@ void imx_scu_standby_enable(void)
|
|||
writel_relaxed(val, scu_base);
|
||||
}
|
||||
|
||||
static int __cpuinit imx_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int imx_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
imx_set_cpu_jump(cpu, v7_secondary_startup);
|
||||
imx_enable_cpu(cpu, true);
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "keystone.h"
|
||||
|
||||
static int __cpuinit keystone_smp_boot_secondary(unsigned int cpu,
|
||||
static int keystone_smp_boot_secondary(unsigned int cpu,
|
||||
struct task_struct *idle)
|
||||
{
|
||||
unsigned long start = virt_to_phys(&secondary_startup);
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* MSM specific entry point for secondary CPUs. This provides
|
||||
* a "holding pen" into which all secondary cores are held until we're
|
||||
|
|
|
@ -38,7 +38,7 @@ static inline int get_core_count(void)
|
|||
return ((read_cpuid_id() >> 4) & 3) + 1;
|
||||
}
|
||||
|
||||
static void __cpuinit msm_secondary_init(unsigned int cpu)
|
||||
static void msm_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* let the primary processor know we're out of the
|
||||
|
@ -54,7 +54,7 @@ static void __cpuinit msm_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
static __cpuinit void prepare_cold_cpu(unsigned int cpu)
|
||||
static void prepare_cold_cpu(unsigned int cpu)
|
||||
{
|
||||
int ret;
|
||||
ret = scm_set_boot_addr(virt_to_phys(msm_secondary_startup),
|
||||
|
@ -73,7 +73,7 @@ static __cpuinit void prepare_cold_cpu(unsigned int cpu)
|
|||
"address\n");
|
||||
}
|
||||
|
||||
static int __cpuinit msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
static int cold_boot_done;
|
||||
|
|
|
@ -139,7 +139,7 @@ static struct clocksource msm_clocksource = {
|
|||
};
|
||||
|
||||
#ifdef CONFIG_LOCAL_TIMERS
|
||||
static int __cpuinit msm_local_timer_setup(struct clock_event_device *evt)
|
||||
static int msm_local_timer_setup(struct clock_event_device *evt)
|
||||
{
|
||||
/* Use existing clock_event for cpu 0 */
|
||||
if (!smp_processor_id())
|
||||
|
@ -164,7 +164,7 @@ static void msm_local_timer_stop(struct clock_event_device *evt)
|
|||
disable_percpu_irq(evt->irq);
|
||||
}
|
||||
|
||||
static struct local_timer_ops msm_local_timer_ops __cpuinitdata = {
|
||||
static struct local_timer_ops msm_local_timer_ops = {
|
||||
.setup = msm_local_timer_setup,
|
||||
.stop = msm_local_timer_stop,
|
||||
};
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include <asm/cacheflush.h>
|
||||
#include "armada-370-xp.h"
|
||||
|
||||
unsigned long __cpuinitdata coherency_phys_base;
|
||||
unsigned long coherency_phys_base;
|
||||
static void __iomem *coherency_base;
|
||||
static void __iomem *coherency_cpu_base;
|
||||
|
||||
|
|
|
@ -21,8 +21,6 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* Armada XP specific entry point for secondary CPUs.
|
||||
* We add the CPU to the coherency fabric and then jump to secondary
|
||||
|
|
|
@ -71,13 +71,12 @@ void __init set_secondary_cpus_clock(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void __cpuinit armada_xp_secondary_init(unsigned int cpu)
|
||||
static void armada_xp_secondary_init(unsigned int cpu)
|
||||
{
|
||||
armada_xp_mpic_smp_cpu_init();
|
||||
}
|
||||
|
||||
static int __cpuinit armada_xp_boot_secondary(unsigned int cpu,
|
||||
struct task_struct *idle)
|
||||
static int armada_xp_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
pr_info("Booting CPU %d\n", cpu);
|
||||
|
||||
|
|
|
@ -14,439 +14,121 @@
|
|||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
/* Bits shared between registers */
|
||||
|
||||
/* CM_FCLKEN1_CORE and CM_ICLKEN1_CORE shared bits */
|
||||
#define OMAP24XX_EN_CAM_SHIFT 31
|
||||
#define OMAP24XX_EN_CAM_MASK (1 << 31)
|
||||
#define OMAP24XX_EN_WDT4_SHIFT 29
|
||||
#define OMAP24XX_EN_WDT4_MASK (1 << 29)
|
||||
#define OMAP2420_EN_WDT3_SHIFT 28
|
||||
#define OMAP2420_EN_WDT3_MASK (1 << 28)
|
||||
#define OMAP24XX_EN_MSPRO_SHIFT 27
|
||||
#define OMAP24XX_EN_MSPRO_MASK (1 << 27)
|
||||
#define OMAP24XX_EN_FAC_SHIFT 25
|
||||
#define OMAP24XX_EN_FAC_MASK (1 << 25)
|
||||
#define OMAP2420_EN_EAC_SHIFT 24
|
||||
#define OMAP2420_EN_EAC_MASK (1 << 24)
|
||||
#define OMAP24XX_EN_HDQ_SHIFT 23
|
||||
#define OMAP24XX_EN_HDQ_MASK (1 << 23)
|
||||
#define OMAP2420_EN_I2C2_SHIFT 20
|
||||
#define OMAP2420_EN_I2C2_MASK (1 << 20)
|
||||
#define OMAP2420_EN_I2C1_SHIFT 19
|
||||
#define OMAP2420_EN_I2C1_MASK (1 << 19)
|
||||
|
||||
/* CM_FCLKEN2_CORE and CM_ICLKEN2_CORE shared bits */
|
||||
#define OMAP2430_EN_MCBSP5_SHIFT 5
|
||||
#define OMAP2430_EN_MCBSP5_MASK (1 << 5)
|
||||
#define OMAP2430_EN_MCBSP4_SHIFT 4
|
||||
#define OMAP2430_EN_MCBSP4_MASK (1 << 4)
|
||||
#define OMAP2430_EN_MCBSP3_SHIFT 3
|
||||
#define OMAP2430_EN_MCBSP3_MASK (1 << 3)
|
||||
#define OMAP24XX_EN_SSI_SHIFT 1
|
||||
#define OMAP24XX_EN_SSI_MASK (1 << 1)
|
||||
|
||||
/* CM_FCLKEN_WKUP and CM_ICLKEN_WKUP shared bits */
|
||||
#define OMAP24XX_EN_MPU_WDT_SHIFT 3
|
||||
#define OMAP24XX_EN_MPU_WDT_MASK (1 << 3)
|
||||
|
||||
/* Bits specific to each register */
|
||||
|
||||
/* CM_IDLEST_MPU */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_ST_MPU_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL_MPU */
|
||||
#define OMAP24XX_CLKSEL_MPU_SHIFT 0
|
||||
#define OMAP24XX_CLKSEL_MPU_MASK (0x1f << 0)
|
||||
#define OMAP24XX_CLKSEL_MPU_WIDTH 5
|
||||
|
||||
/* CM_CLKSTCTRL_MPU */
|
||||
#define OMAP24XX_AUTOSTATE_MPU_SHIFT 0
|
||||
#define OMAP24XX_AUTOSTATE_MPU_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN1_CORE specific bits*/
|
||||
#define OMAP24XX_EN_TV_SHIFT 2
|
||||
#define OMAP24XX_EN_TV_MASK (1 << 2)
|
||||
#define OMAP24XX_EN_DSS2_SHIFT 1
|
||||
#define OMAP24XX_EN_DSS2_MASK (1 << 1)
|
||||
#define OMAP24XX_EN_DSS1_SHIFT 0
|
||||
#define OMAP24XX_EN_DSS1_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN2_CORE specific bits */
|
||||
#define OMAP2430_EN_I2CHS2_SHIFT 20
|
||||
#define OMAP2430_EN_I2CHS2_MASK (1 << 20)
|
||||
#define OMAP2430_EN_I2CHS1_SHIFT 19
|
||||
#define OMAP2430_EN_I2CHS1_MASK (1 << 19)
|
||||
#define OMAP2430_EN_MMCHSDB2_SHIFT 17
|
||||
#define OMAP2430_EN_MMCHSDB2_MASK (1 << 17)
|
||||
#define OMAP2430_EN_MMCHSDB1_SHIFT 16
|
||||
#define OMAP2430_EN_MMCHSDB1_MASK (1 << 16)
|
||||
|
||||
/* CM_ICLKEN1_CORE specific bits */
|
||||
#define OMAP24XX_EN_MAILBOXES_SHIFT 30
|
||||
#define OMAP24XX_EN_MAILBOXES_MASK (1 << 30)
|
||||
#define OMAP24XX_EN_DSS_SHIFT 0
|
||||
#define OMAP24XX_EN_DSS_MASK (1 << 0)
|
||||
|
||||
/* CM_ICLKEN2_CORE specific bits */
|
||||
|
||||
/* CM_ICLKEN3_CORE */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_EN_SDRC_SHIFT 2
|
||||
#define OMAP2430_EN_SDRC_MASK (1 << 2)
|
||||
|
||||
/* CM_ICLKEN4_CORE */
|
||||
#define OMAP24XX_EN_PKA_SHIFT 4
|
||||
#define OMAP24XX_EN_PKA_MASK (1 << 4)
|
||||
#define OMAP24XX_EN_AES_SHIFT 3
|
||||
#define OMAP24XX_EN_AES_MASK (1 << 3)
|
||||
#define OMAP24XX_EN_RNG_SHIFT 2
|
||||
#define OMAP24XX_EN_RNG_MASK (1 << 2)
|
||||
#define OMAP24XX_EN_SHA_SHIFT 1
|
||||
#define OMAP24XX_EN_SHA_MASK (1 << 1)
|
||||
#define OMAP24XX_EN_DES_SHIFT 0
|
||||
#define OMAP24XX_EN_DES_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST1_CORE specific bits */
|
||||
#define OMAP24XX_ST_MAILBOXES_SHIFT 30
|
||||
#define OMAP24XX_ST_MAILBOXES_MASK (1 << 30)
|
||||
#define OMAP24XX_ST_WDT4_SHIFT 29
|
||||
#define OMAP24XX_ST_WDT4_MASK (1 << 29)
|
||||
#define OMAP2420_ST_WDT3_SHIFT 28
|
||||
#define OMAP2420_ST_WDT3_MASK (1 << 28)
|
||||
#define OMAP24XX_ST_MSPRO_SHIFT 27
|
||||
#define OMAP24XX_ST_MSPRO_MASK (1 << 27)
|
||||
#define OMAP24XX_ST_FAC_SHIFT 25
|
||||
#define OMAP24XX_ST_FAC_MASK (1 << 25)
|
||||
#define OMAP2420_ST_EAC_SHIFT 24
|
||||
#define OMAP2420_ST_EAC_MASK (1 << 24)
|
||||
#define OMAP24XX_ST_HDQ_SHIFT 23
|
||||
#define OMAP24XX_ST_HDQ_MASK (1 << 23)
|
||||
#define OMAP2420_ST_I2C2_SHIFT 20
|
||||
#define OMAP2420_ST_I2C2_MASK (1 << 20)
|
||||
#define OMAP2430_ST_I2CHS1_SHIFT 19
|
||||
#define OMAP2430_ST_I2CHS1_MASK (1 << 19)
|
||||
#define OMAP2420_ST_I2C1_SHIFT 19
|
||||
#define OMAP2420_ST_I2C1_MASK (1 << 19)
|
||||
#define OMAP2430_ST_I2CHS2_SHIFT 20
|
||||
#define OMAP2430_ST_I2CHS2_MASK (1 << 20)
|
||||
#define OMAP24XX_ST_MCBSP2_SHIFT 16
|
||||
#define OMAP24XX_ST_MCBSP2_MASK (1 << 16)
|
||||
#define OMAP24XX_ST_MCBSP1_SHIFT 15
|
||||
#define OMAP24XX_ST_MCBSP1_MASK (1 << 15)
|
||||
#define OMAP24XX_ST_DSS_SHIFT 0
|
||||
#define OMAP24XX_ST_DSS_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST2_CORE */
|
||||
#define OMAP2430_ST_MCBSP5_SHIFT 5
|
||||
#define OMAP2430_ST_MCBSP5_MASK (1 << 5)
|
||||
#define OMAP2430_ST_MCBSP4_SHIFT 4
|
||||
#define OMAP2430_ST_MCBSP4_MASK (1 << 4)
|
||||
#define OMAP2430_ST_MCBSP3_SHIFT 3
|
||||
#define OMAP2430_ST_MCBSP3_MASK (1 << 3)
|
||||
#define OMAP24XX_ST_SSI_SHIFT 1
|
||||
#define OMAP24XX_ST_SSI_MASK (1 << 1)
|
||||
|
||||
/* CM_IDLEST3_CORE */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_ST_SDRC_MASK (1 << 2)
|
||||
|
||||
/* CM_IDLEST4_CORE */
|
||||
#define OMAP24XX_ST_PKA_SHIFT 4
|
||||
#define OMAP24XX_ST_PKA_MASK (1 << 4)
|
||||
#define OMAP24XX_ST_AES_SHIFT 3
|
||||
#define OMAP24XX_ST_AES_MASK (1 << 3)
|
||||
#define OMAP24XX_ST_RNG_SHIFT 2
|
||||
#define OMAP24XX_ST_RNG_MASK (1 << 2)
|
||||
#define OMAP24XX_ST_SHA_SHIFT 1
|
||||
#define OMAP24XX_ST_SHA_MASK (1 << 1)
|
||||
#define OMAP24XX_ST_DES_SHIFT 0
|
||||
#define OMAP24XX_ST_DES_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE1_CORE */
|
||||
#define OMAP24XX_AUTO_CAM_MASK (1 << 31)
|
||||
#define OMAP24XX_AUTO_MAILBOXES_MASK (1 << 30)
|
||||
#define OMAP24XX_AUTO_WDT4_MASK (1 << 29)
|
||||
#define OMAP2420_AUTO_WDT3_MASK (1 << 28)
|
||||
#define OMAP24XX_AUTO_MSPRO_MASK (1 << 27)
|
||||
#define OMAP2420_AUTO_MMC_MASK (1 << 26)
|
||||
#define OMAP24XX_AUTO_FAC_MASK (1 << 25)
|
||||
#define OMAP2420_AUTO_EAC_MASK (1 << 24)
|
||||
#define OMAP24XX_AUTO_HDQ_MASK (1 << 23)
|
||||
#define OMAP24XX_AUTO_UART2_MASK (1 << 22)
|
||||
#define OMAP24XX_AUTO_UART1_MASK (1 << 21)
|
||||
#define OMAP24XX_AUTO_I2C2_MASK (1 << 20)
|
||||
#define OMAP24XX_AUTO_I2C1_MASK (1 << 19)
|
||||
#define OMAP24XX_AUTO_MCSPI2_MASK (1 << 18)
|
||||
#define OMAP24XX_AUTO_MCSPI1_MASK (1 << 17)
|
||||
#define OMAP24XX_AUTO_MCBSP2_MASK (1 << 16)
|
||||
#define OMAP24XX_AUTO_MCBSP1_MASK (1 << 15)
|
||||
#define OMAP24XX_AUTO_GPT12_MASK (1 << 14)
|
||||
#define OMAP24XX_AUTO_GPT11_MASK (1 << 13)
|
||||
#define OMAP24XX_AUTO_GPT10_MASK (1 << 12)
|
||||
#define OMAP24XX_AUTO_GPT9_MASK (1 << 11)
|
||||
#define OMAP24XX_AUTO_GPT8_MASK (1 << 10)
|
||||
#define OMAP24XX_AUTO_GPT7_MASK (1 << 9)
|
||||
#define OMAP24XX_AUTO_GPT6_MASK (1 << 8)
|
||||
#define OMAP24XX_AUTO_GPT5_MASK (1 << 7)
|
||||
#define OMAP24XX_AUTO_GPT4_MASK (1 << 6)
|
||||
#define OMAP24XX_AUTO_GPT3_MASK (1 << 5)
|
||||
#define OMAP24XX_AUTO_GPT2_MASK (1 << 4)
|
||||
#define OMAP2420_AUTO_VLYNQ_MASK (1 << 3)
|
||||
#define OMAP24XX_AUTO_DSS_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE2_CORE */
|
||||
#define OMAP2430_AUTO_MDM_INTC_MASK (1 << 11)
|
||||
#define OMAP2430_AUTO_GPIO5_MASK (1 << 10)
|
||||
#define OMAP2430_AUTO_MCSPI3_MASK (1 << 9)
|
||||
#define OMAP2430_AUTO_MMCHS2_MASK (1 << 8)
|
||||
#define OMAP2430_AUTO_MMCHS1_MASK (1 << 7)
|
||||
#define OMAP2430_AUTO_USBHS_MASK (1 << 6)
|
||||
#define OMAP2430_AUTO_MCBSP5_MASK (1 << 5)
|
||||
#define OMAP2430_AUTO_MCBSP4_MASK (1 << 4)
|
||||
#define OMAP2430_AUTO_MCBSP3_MASK (1 << 3)
|
||||
#define OMAP24XX_AUTO_UART3_MASK (1 << 2)
|
||||
#define OMAP24XX_AUTO_SSI_MASK (1 << 1)
|
||||
#define OMAP24XX_AUTO_USB_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE3_CORE */
|
||||
#define OMAP24XX_AUTO_SDRC_SHIFT 2
|
||||
#define OMAP24XX_AUTO_SDRC_MASK (1 << 2)
|
||||
#define OMAP24XX_AUTO_GPMC_SHIFT 1
|
||||
#define OMAP24XX_AUTO_GPMC_MASK (1 << 1)
|
||||
#define OMAP24XX_AUTO_SDMA_SHIFT 0
|
||||
#define OMAP24XX_AUTO_SDMA_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE4_CORE */
|
||||
#define OMAP24XX_AUTO_PKA_MASK (1 << 4)
|
||||
#define OMAP24XX_AUTO_AES_MASK (1 << 3)
|
||||
#define OMAP24XX_AUTO_RNG_MASK (1 << 2)
|
||||
#define OMAP24XX_AUTO_SHA_MASK (1 << 1)
|
||||
#define OMAP24XX_AUTO_DES_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL1_CORE */
|
||||
#define OMAP24XX_CLKSEL_USB_SHIFT 25
|
||||
#define OMAP24XX_CLKSEL_USB_MASK (0x7 << 25)
|
||||
#define OMAP24XX_CLKSEL_SSI_SHIFT 20
|
||||
#define OMAP24XX_CLKSEL_SSI_MASK (0x1f << 20)
|
||||
#define OMAP2420_CLKSEL_VLYNQ_SHIFT 15
|
||||
#define OMAP2420_CLKSEL_VLYNQ_MASK (0x1f << 15)
|
||||
#define OMAP24XX_CLKSEL_DSS2_SHIFT 13
|
||||
#define OMAP24XX_CLKSEL_DSS2_MASK (0x1 << 13)
|
||||
#define OMAP24XX_CLKSEL_DSS1_SHIFT 8
|
||||
#define OMAP24XX_CLKSEL_DSS1_MASK (0x1f << 8)
|
||||
#define OMAP24XX_CLKSEL_L4_SHIFT 5
|
||||
#define OMAP24XX_CLKSEL_L4_MASK (0x3 << 5)
|
||||
#define OMAP24XX_CLKSEL_L4_WIDTH 2
|
||||
#define OMAP24XX_CLKSEL_L3_SHIFT 0
|
||||
#define OMAP24XX_CLKSEL_L3_MASK (0x1f << 0)
|
||||
#define OMAP24XX_CLKSEL_L3_WIDTH 5
|
||||
|
||||
/* CM_CLKSEL2_CORE */
|
||||
#define OMAP24XX_CLKSEL_GPT12_SHIFT 22
|
||||
#define OMAP24XX_CLKSEL_GPT12_MASK (0x3 << 22)
|
||||
#define OMAP24XX_CLKSEL_GPT11_SHIFT 20
|
||||
#define OMAP24XX_CLKSEL_GPT11_MASK (0x3 << 20)
|
||||
#define OMAP24XX_CLKSEL_GPT10_SHIFT 18
|
||||
#define OMAP24XX_CLKSEL_GPT10_MASK (0x3 << 18)
|
||||
#define OMAP24XX_CLKSEL_GPT9_SHIFT 16
|
||||
#define OMAP24XX_CLKSEL_GPT9_MASK (0x3 << 16)
|
||||
#define OMAP24XX_CLKSEL_GPT8_SHIFT 14
|
||||
#define OMAP24XX_CLKSEL_GPT8_MASK (0x3 << 14)
|
||||
#define OMAP24XX_CLKSEL_GPT7_SHIFT 12
|
||||
#define OMAP24XX_CLKSEL_GPT7_MASK (0x3 << 12)
|
||||
#define OMAP24XX_CLKSEL_GPT6_SHIFT 10
|
||||
#define OMAP24XX_CLKSEL_GPT6_MASK (0x3 << 10)
|
||||
#define OMAP24XX_CLKSEL_GPT5_SHIFT 8
|
||||
#define OMAP24XX_CLKSEL_GPT5_MASK (0x3 << 8)
|
||||
#define OMAP24XX_CLKSEL_GPT4_SHIFT 6
|
||||
#define OMAP24XX_CLKSEL_GPT4_MASK (0x3 << 6)
|
||||
#define OMAP24XX_CLKSEL_GPT3_SHIFT 4
|
||||
#define OMAP24XX_CLKSEL_GPT3_MASK (0x3 << 4)
|
||||
#define OMAP24XX_CLKSEL_GPT2_SHIFT 2
|
||||
#define OMAP24XX_CLKSEL_GPT2_MASK (0x3 << 2)
|
||||
|
||||
/* CM_CLKSTCTRL_CORE */
|
||||
#define OMAP24XX_AUTOSTATE_DSS_SHIFT 2
|
||||
#define OMAP24XX_AUTOSTATE_DSS_MASK (1 << 2)
|
||||
#define OMAP24XX_AUTOSTATE_L4_SHIFT 1
|
||||
#define OMAP24XX_AUTOSTATE_L4_MASK (1 << 1)
|
||||
#define OMAP24XX_AUTOSTATE_L3_SHIFT 0
|
||||
#define OMAP24XX_AUTOSTATE_L3_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_GFX */
|
||||
#define OMAP24XX_EN_3D_SHIFT 2
|
||||
#define OMAP24XX_EN_3D_MASK (1 << 2)
|
||||
#define OMAP24XX_EN_2D_SHIFT 1
|
||||
#define OMAP24XX_EN_2D_MASK (1 << 1)
|
||||
|
||||
/* CM_ICLKEN_GFX specific bits */
|
||||
|
||||
/* CM_IDLEST_GFX specific bits */
|
||||
|
||||
/* CM_CLKSEL_GFX specific bits */
|
||||
|
||||
/* CM_CLKSTCTRL_GFX */
|
||||
#define OMAP24XX_AUTOSTATE_GFX_SHIFT 0
|
||||
#define OMAP24XX_AUTOSTATE_GFX_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_WKUP specific bits */
|
||||
|
||||
/* CM_ICLKEN_WKUP specific bits */
|
||||
#define OMAP2430_EN_ICR_SHIFT 6
|
||||
#define OMAP2430_EN_ICR_MASK (1 << 6)
|
||||
#define OMAP24XX_EN_OMAPCTRL_SHIFT 5
|
||||
#define OMAP24XX_EN_OMAPCTRL_MASK (1 << 5)
|
||||
#define OMAP24XX_EN_WDT1_SHIFT 4
|
||||
#define OMAP24XX_EN_WDT1_MASK (1 << 4)
|
||||
#define OMAP24XX_EN_32KSYNC_SHIFT 1
|
||||
#define OMAP24XX_EN_32KSYNC_MASK (1 << 1)
|
||||
|
||||
/* CM_IDLEST_WKUP specific bits */
|
||||
#define OMAP2430_ST_ICR_SHIFT 6
|
||||
#define OMAP2430_ST_ICR_MASK (1 << 6)
|
||||
#define OMAP24XX_ST_OMAPCTRL_SHIFT 5
|
||||
#define OMAP24XX_ST_OMAPCTRL_MASK (1 << 5)
|
||||
#define OMAP24XX_ST_WDT1_SHIFT 4
|
||||
#define OMAP24XX_ST_WDT1_MASK (1 << 4)
|
||||
#define OMAP24XX_ST_MPU_WDT_SHIFT 3
|
||||
#define OMAP24XX_ST_MPU_WDT_MASK (1 << 3)
|
||||
#define OMAP24XX_ST_32KSYNC_SHIFT 1
|
||||
#define OMAP24XX_ST_32KSYNC_MASK (1 << 1)
|
||||
|
||||
/* CM_AUTOIDLE_WKUP */
|
||||
#define OMAP24XX_AUTO_OMAPCTRL_MASK (1 << 5)
|
||||
#define OMAP24XX_AUTO_WDT1_MASK (1 << 4)
|
||||
#define OMAP24XX_AUTO_MPU_WDT_MASK (1 << 3)
|
||||
#define OMAP24XX_AUTO_GPIOS_MASK (1 << 2)
|
||||
#define OMAP24XX_AUTO_32KSYNC_MASK (1 << 1)
|
||||
#define OMAP24XX_AUTO_GPT1_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL_WKUP */
|
||||
#define OMAP24XX_CLKSEL_GPT1_SHIFT 0
|
||||
#define OMAP24XX_CLKSEL_GPT1_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKEN_PLL */
|
||||
#define OMAP24XX_EN_54M_PLL_SHIFT 6
|
||||
#define OMAP24XX_EN_54M_PLL_MASK (0x3 << 6)
|
||||
#define OMAP24XX_EN_96M_PLL_SHIFT 2
|
||||
#define OMAP24XX_EN_96M_PLL_MASK (0x3 << 2)
|
||||
#define OMAP24XX_EN_DPLL_SHIFT 0
|
||||
#define OMAP24XX_EN_DPLL_MASK (0x3 << 0)
|
||||
|
||||
/* CM_IDLEST_CKGEN */
|
||||
#define OMAP24XX_ST_54M_APLL_SHIFT 9
|
||||
#define OMAP24XX_ST_54M_APLL_MASK (1 << 9)
|
||||
#define OMAP24XX_ST_96M_APLL_SHIFT 8
|
||||
#define OMAP24XX_ST_96M_APLL_MASK (1 << 8)
|
||||
#define OMAP24XX_ST_54M_CLK_MASK (1 << 6)
|
||||
#define OMAP24XX_ST_12M_CLK_MASK (1 << 5)
|
||||
#define OMAP24XX_ST_48M_CLK_MASK (1 << 4)
|
||||
#define OMAP24XX_ST_96M_CLK_MASK (1 << 2)
|
||||
#define OMAP24XX_ST_CORE_CLK_SHIFT 0
|
||||
#define OMAP24XX_ST_CORE_CLK_MASK (0x3 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_PLL */
|
||||
#define OMAP24XX_AUTO_54M_SHIFT 6
|
||||
#define OMAP24XX_AUTO_54M_MASK (0x3 << 6)
|
||||
#define OMAP24XX_AUTO_96M_SHIFT 2
|
||||
#define OMAP24XX_AUTO_96M_MASK (0x3 << 2)
|
||||
#define OMAP24XX_AUTO_DPLL_SHIFT 0
|
||||
#define OMAP24XX_AUTO_DPLL_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSEL1_PLL */
|
||||
#define OMAP2430_MAXDPLLFASTLOCK_SHIFT 28
|
||||
#define OMAP2430_MAXDPLLFASTLOCK_MASK (0x7 << 28)
|
||||
#define OMAP24XX_APLLS_CLKIN_SHIFT 23
|
||||
#define OMAP24XX_APLLS_CLKIN_MASK (0x7 << 23)
|
||||
#define OMAP24XX_DPLL_MULT_SHIFT 12
|
||||
#define OMAP24XX_DPLL_MULT_MASK (0x3ff << 12)
|
||||
#define OMAP24XX_DPLL_DIV_SHIFT 8
|
||||
#define OMAP24XX_DPLL_DIV_MASK (0xf << 8)
|
||||
#define OMAP24XX_54M_SOURCE_SHIFT 5
|
||||
#define OMAP24XX_54M_SOURCE_MASK (1 << 5)
|
||||
#define OMAP24XX_54M_SOURCE_WIDTH 1
|
||||
#define OMAP2430_96M_SOURCE_SHIFT 4
|
||||
#define OMAP2430_96M_SOURCE_MASK (1 << 4)
|
||||
#define OMAP2430_96M_SOURCE_WIDTH 1
|
||||
#define OMAP24XX_48M_SOURCE_SHIFT 3
|
||||
#define OMAP24XX_48M_SOURCE_MASK (1 << 3)
|
||||
#define OMAP2430_ALTCLK_SOURCE_SHIFT 0
|
||||
#define OMAP2430_ALTCLK_SOURCE_MASK (0x7 << 0)
|
||||
|
||||
/* CM_CLKSEL2_PLL */
|
||||
#define OMAP24XX_CORE_CLK_SRC_SHIFT 0
|
||||
#define OMAP24XX_CORE_CLK_SRC_MASK (0x3 << 0)
|
||||
|
||||
/* CM_FCLKEN_DSP */
|
||||
#define OMAP2420_EN_IVA_COP_SHIFT 10
|
||||
#define OMAP2420_EN_IVA_COP_MASK (1 << 10)
|
||||
#define OMAP2420_EN_IVA_MPU_SHIFT 8
|
||||
#define OMAP2420_EN_IVA_MPU_MASK (1 << 8)
|
||||
#define OMAP24XX_CM_FCLKEN_DSP_EN_DSP_SHIFT 0
|
||||
#define OMAP24XX_CM_FCLKEN_DSP_EN_DSP_MASK (1 << 0)
|
||||
|
||||
/* CM_ICLKEN_DSP */
|
||||
#define OMAP2420_EN_DSP_IPI_SHIFT 1
|
||||
#define OMAP2420_EN_DSP_IPI_MASK (1 << 1)
|
||||
|
||||
/* CM_IDLEST_DSP */
|
||||
#define OMAP2420_ST_IVA_MASK (1 << 8)
|
||||
#define OMAP2420_ST_IPI_MASK (1 << 1)
|
||||
#define OMAP24XX_ST_DSP_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_DSP */
|
||||
#define OMAP2420_AUTO_DSP_IPI_MASK (1 << 1)
|
||||
|
||||
/* CM_CLKSEL_DSP */
|
||||
#define OMAP2420_SYNC_IVA_MASK (1 << 13)
|
||||
#define OMAP2420_CLKSEL_IVA_SHIFT 8
|
||||
#define OMAP2420_CLKSEL_IVA_MASK (0x1f << 8)
|
||||
#define OMAP24XX_SYNC_DSP_MASK (1 << 7)
|
||||
#define OMAP24XX_CLKSEL_DSP_IF_SHIFT 5
|
||||
#define OMAP24XX_CLKSEL_DSP_IF_MASK (0x3 << 5)
|
||||
#define OMAP24XX_CLKSEL_DSP_SHIFT 0
|
||||
#define OMAP24XX_CLKSEL_DSP_MASK (0x1f << 0)
|
||||
|
||||
/* CM_CLKSTCTRL_DSP */
|
||||
#define OMAP2420_AUTOSTATE_IVA_SHIFT 8
|
||||
#define OMAP2420_AUTOSTATE_IVA_MASK (1 << 8)
|
||||
#define OMAP24XX_AUTOSTATE_DSP_SHIFT 0
|
||||
#define OMAP24XX_AUTOSTATE_DSP_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_EN_OSC_SHIFT 1
|
||||
#define OMAP2430_EN_OSC_MASK (1 << 1)
|
||||
|
||||
/* CM_ICLKEN_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_CM_ICLKEN_MDM_EN_MDM_SHIFT 0
|
||||
#define OMAP2430_CM_ICLKEN_MDM_EN_MDM_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST_MDM specific bits */
|
||||
/* 2430 only */
|
||||
|
||||
/* CM_AUTOIDLE_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_AUTO_OSC_MASK (1 << 1)
|
||||
#define OMAP2430_AUTO_MDM_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_SYNC_MDM_MASK (1 << 4)
|
||||
#define OMAP2430_CLKSEL_MDM_SHIFT 0
|
||||
#define OMAP2430_CLKSEL_MDM_MASK (0xf << 0)
|
||||
|
||||
/* CM_CLKSTCTRL_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_AUTOSTATE_MDM_SHIFT 0
|
||||
#define OMAP2430_AUTOSTATE_MDM_MASK (1 << 0)
|
||||
|
||||
/* OMAP24XX CM_CLKSTCTRL_*.AUTOSTATE_* register bit values */
|
||||
#define OMAP24XX_CLKSTCTRL_DISABLE_AUTO 0x0
|
||||
#define OMAP24XX_CLKSTCTRL_ENABLE_AUTO 0x1
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -20,798 +20,49 @@
|
|||
#ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_33XX_H
|
||||
#define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_33XX_H
|
||||
|
||||
/*
|
||||
* Used by CM_AUTOIDLE_DPLL_CORE, CM_AUTOIDLE_DPLL_DDR, CM_AUTOIDLE_DPLL_DISP,
|
||||
* CM_AUTOIDLE_DPLL_MPU, CM_AUTOIDLE_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_AUTO_DPLL_MODE_SHIFT 0
|
||||
#define AM33XX_AUTO_DPLL_MODE_WIDTH 3
|
||||
#define AM33XX_AUTO_DPLL_MODE_MASK (0x7 << 0)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_ADC_FCLK_SHIFT 14
|
||||
#define AM33XX_CLKACTIVITY_ADC_FCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_ADC_FCLK_MASK (1 << 16)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CAN_CLK_SHIFT 11
|
||||
#define AM33XX_CLKACTIVITY_CAN_CLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CAN_CLK_MASK (1 << 11)
|
||||
|
||||
/* Used by CM_PER_CLK_24MHZ_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CLK_24MHZ_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_CLK_24MHZ_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CLK_24MHZ_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_CPSW_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CPSW_125MHZ_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_CPSW_125MHZ_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CPSW_125MHZ_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_L4HS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CPSW_250MHZ_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_CPSW_250MHZ_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CPSW_250MHZ_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_L4HS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CPSW_50MHZ_GCLK_SHIFT 5
|
||||
#define AM33XX_CLKACTIVITY_CPSW_50MHZ_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CPSW_50MHZ_GCLK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_PER_L4HS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CPSW_5MHZ_GCLK_SHIFT 6
|
||||
#define AM33XX_CLKACTIVITY_CPSW_5MHZ_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CPSW_5MHZ_GCLK_MASK (1 << 6)
|
||||
|
||||
/* Used by CM_PER_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CPTS_RFT_GCLK_SHIFT 6
|
||||
#define AM33XX_CLKACTIVITY_CPTS_RFT_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CPTS_RFT_GCLK_MASK (1 << 6)
|
||||
|
||||
/* Used by CM_CEFUSE_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_CUST_EFUSE_SYS_CLK_SHIFT 9
|
||||
#define AM33XX_CLKACTIVITY_CUST_EFUSE_SYS_CLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_CUST_EFUSE_SYS_CLK_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_L3_AON_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_DBGSYSCLK_SHIFT 2
|
||||
#define AM33XX_CLKACTIVITY_DBGSYSCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_DBGSYSCLK_MASK (1 << 2)
|
||||
|
||||
/* Used by CM_L3_AON_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_DEBUG_CLKA_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_DEBUG_CLKA_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_DEBUG_CLKA_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_EMIF_GCLK_SHIFT 2
|
||||
#define AM33XX_CLKACTIVITY_EMIF_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_EMIF_GCLK_MASK (1 << 2)
|
||||
|
||||
/* Used by CM_GFX_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GFX_FCLK_SHIFT 9
|
||||
#define AM33XX_CLKACTIVITY_GFX_FCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GFX_FCLK_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_GFX_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GFX_L3_GCLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_GFX_L3_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GFX_L3_GCLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO0_GDBCLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_GPIO0_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO0_GDBCLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO_1_GDBCLK_SHIFT 19
|
||||
#define AM33XX_CLKACTIVITY_GPIO_1_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO_1_GDBCLK_MASK (1 << 19)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO_2_GDBCLK_SHIFT 20
|
||||
#define AM33XX_CLKACTIVITY_GPIO_2_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO_2_GDBCLK_MASK (1 << 20)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO_3_GDBCLK_SHIFT 21
|
||||
#define AM33XX_CLKACTIVITY_GPIO_3_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO_3_GDBCLK_MASK (1 << 21)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO_4_GDBCLK_SHIFT 22
|
||||
#define AM33XX_CLKACTIVITY_GPIO_4_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO_4_GDBCLK_MASK (1 << 22)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO_5_GDBCLK_SHIFT 26
|
||||
#define AM33XX_CLKACTIVITY_GPIO_5_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO_5_GDBCLK_MASK (1 << 26)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_GPIO_6_GDBCLK_SHIFT 18
|
||||
#define AM33XX_CLKACTIVITY_GPIO_6_GDBCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_GPIO_6_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_I2C0_GFCLK_SHIFT 11
|
||||
#define AM33XX_CLKACTIVITY_I2C0_GFCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_I2C0_GFCLK_MASK (1 << 11)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_I2C_FCLK_SHIFT 24
|
||||
#define AM33XX_CLKACTIVITY_I2C_FCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_I2C_FCLK_MASK (1 << 24)
|
||||
|
||||
/* Used by CM_PER_PRUSS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_IEP_GCLK_SHIFT 5
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_IEP_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_IEP_GCLK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_PER_PRUSS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_OCP_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_OCP_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_OCP_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_PRUSS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_UART_GCLK_SHIFT 6
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_UART_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_PRUSS_UART_GCLK_MASK (1 << 6)
|
||||
|
||||
/* Used by CM_PER_L3S_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L3S_GCLK_SHIFT 3
|
||||
#define AM33XX_CLKACTIVITY_L3S_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L3S_GCLK_MASK (1 << 3)
|
||||
|
||||
/* Used by CM_L3_AON_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L3_AON_GCLK_SHIFT 3
|
||||
#define AM33XX_CLKACTIVITY_L3_AON_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L3_AON_GCLK_MASK (1 << 3)
|
||||
|
||||
/* Used by CM_PER_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L3_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_L3_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L3_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_L4FW_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4FW_GCLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_L4FW_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4FW_GCLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_PER_L4HS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4HS_GCLK_SHIFT 3
|
||||
#define AM33XX_CLKACTIVITY_L4HS_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4HS_GCLK_MASK (1 << 3)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4LS_GCLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_L4LS_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4LS_GCLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_GFX_L4LS_GFX_CLKSTCTRL__1 */
|
||||
#define AM33XX_CLKACTIVITY_L4LS_GFX_GCLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_L4LS_GFX_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4LS_GFX_GCLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_CEFUSE_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4_CEFUSE_GICLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_L4_CEFUSE_GICLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4_CEFUSE_GICLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_RTC_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4_RTC_GCLK_SHIFT 8
|
||||
#define AM33XX_CLKACTIVITY_L4_RTC_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4_RTC_GCLK_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_L4_WKUP_AON_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4_WKUP_AON_GCLK_SHIFT 2
|
||||
#define AM33XX_CLKACTIVITY_L4_WKUP_AON_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4_WKUP_AON_GCLK_MASK (1 << 2)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_L4_WKUP_GCLK_SHIFT 2
|
||||
#define AM33XX_CLKACTIVITY_L4_WKUP_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_L4_WKUP_GCLK_MASK (1 << 2)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_LCDC_GCLK_SHIFT 17
|
||||
#define AM33XX_CLKACTIVITY_LCDC_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_LCDC_GCLK_MASK (1 << 17)
|
||||
|
||||
/* Used by CM_PER_LCDC_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_LCDC_L3_OCP_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_LCDC_L3_OCP_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_LCDC_L3_OCP_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_LCDC_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_LCDC_L4_OCP_GCLK_SHIFT 5
|
||||
#define AM33XX_CLKACTIVITY_LCDC_L4_OCP_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_LCDC_L4_OCP_GCLK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_PER_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_MCASP_GCLK_SHIFT 7
|
||||
#define AM33XX_CLKACTIVITY_MCASP_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_MCASP_GCLK_MASK (1 << 7)
|
||||
|
||||
/* Used by CM_PER_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_MMC_FCLK_SHIFT 3
|
||||
#define AM33XX_CLKACTIVITY_MMC_FCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_MMC_FCLK_MASK (1 << 3)
|
||||
|
||||
/* Used by CM_MPU_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_MPU_CLK_SHIFT 2
|
||||
#define AM33XX_CLKACTIVITY_MPU_CLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_MPU_CLK_MASK (1 << 2)
|
||||
|
||||
/* Used by CM_PER_OCPWP_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_OCPWP_L3_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_OCPWP_L3_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_OCPWP_L3_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CM_PER_OCPWP_L3_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_OCPWP_L4_GCLK_SHIFT 5
|
||||
#define AM33XX_CLKACTIVITY_OCPWP_L4_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_OCPWP_L4_GCLK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_RTC_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_RTC_32KCLK_SHIFT 9
|
||||
#define AM33XX_CLKACTIVITY_RTC_32KCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_RTC_32KCLK_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_SPI_GCLK_SHIFT 25
|
||||
#define AM33XX_CLKACTIVITY_SPI_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_SPI_GCLK_MASK (1 << 25)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_SR_SYSCLK_SHIFT 3
|
||||
#define AM33XX_CLKACTIVITY_SR_SYSCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_SR_SYSCLK_MASK (1 << 3)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER0_GCLK_SHIFT 10
|
||||
#define AM33XX_CLKACTIVITY_TIMER0_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER0_GCLK_MASK (1 << 10)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER1_GCLK_SHIFT 13
|
||||
#define AM33XX_CLKACTIVITY_TIMER1_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER1_GCLK_MASK (1 << 13)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER2_GCLK_SHIFT 14
|
||||
#define AM33XX_CLKACTIVITY_TIMER2_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER2_GCLK_MASK (1 << 14)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER3_GCLK_SHIFT 15
|
||||
#define AM33XX_CLKACTIVITY_TIMER3_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER3_GCLK_MASK (1 << 15)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER4_GCLK_SHIFT 16
|
||||
#define AM33XX_CLKACTIVITY_TIMER4_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER4_GCLK_MASK (1 << 16)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER5_GCLK_SHIFT 27
|
||||
#define AM33XX_CLKACTIVITY_TIMER5_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER5_GCLK_MASK (1 << 27)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER6_GCLK_SHIFT 28
|
||||
#define AM33XX_CLKACTIVITY_TIMER6_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER6_GCLK_MASK (1 << 28)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_TIMER7_GCLK_SHIFT 13
|
||||
#define AM33XX_CLKACTIVITY_TIMER7_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_TIMER7_GCLK_MASK (1 << 13)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_UART0_GFCLK_SHIFT 12
|
||||
#define AM33XX_CLKACTIVITY_UART0_GFCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_UART0_GFCLK_MASK (1 << 12)
|
||||
|
||||
/* Used by CM_PER_L4LS_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_UART_GFCLK_SHIFT 10
|
||||
#define AM33XX_CLKACTIVITY_UART_GFCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_UART_GFCLK_MASK (1 << 10)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_WDT0_GCLK_SHIFT 9
|
||||
#define AM33XX_CLKACTIVITY_WDT0_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_WDT0_GCLK_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_WKUP_CLKSTCTRL */
|
||||
#define AM33XX_CLKACTIVITY_WDT1_GCLK_SHIFT 4
|
||||
#define AM33XX_CLKACTIVITY_WDT1_GCLK_WIDTH 1
|
||||
#define AM33XX_CLKACTIVITY_WDT1_GCLK_MASK (1 << 4)
|
||||
|
||||
/* Used by CLKSEL_GFX_FCLK */
|
||||
#define AM33XX_CLKDIV_SEL_GFX_FCLK_SHIFT 0
|
||||
#define AM33XX_CLKDIV_SEL_GFX_FCLK_WIDTH 1
|
||||
#define AM33XX_CLKDIV_SEL_GFX_FCLK_MASK (1 << 0)
|
||||
|
||||
/* Used by CM_CLKOUT_CTRL */
|
||||
#define AM33XX_CLKOUT2DIV_SHIFT 3
|
||||
#define AM33XX_CLKOUT2DIV_WIDTH 3
|
||||
#define AM33XX_CLKOUT2DIV_MASK (0x7 << 3)
|
||||
|
||||
/* Used by CM_CLKOUT_CTRL */
|
||||
#define AM33XX_CLKOUT2EN_SHIFT 7
|
||||
#define AM33XX_CLKOUT2EN_WIDTH 1
|
||||
#define AM33XX_CLKOUT2EN_MASK (1 << 7)
|
||||
|
||||
/* Used by CM_CLKOUT_CTRL */
|
||||
#define AM33XX_CLKOUT2SOURCE_SHIFT 0
|
||||
#define AM33XX_CLKOUT2SOURCE_WIDTH 3
|
||||
#define AM33XX_CLKOUT2SOURCE_MASK (0x7 << 0)
|
||||
|
||||
/*
|
||||
* Used by CLKSEL_GPIO0_DBCLK, CLKSEL_LCDC_PIXEL_CLK, CLKSEL_TIMER2_CLK,
|
||||
* CLKSEL_TIMER3_CLK, CLKSEL_TIMER4_CLK, CLKSEL_TIMER5_CLK, CLKSEL_TIMER6_CLK,
|
||||
* CLKSEL_TIMER7_CLK
|
||||
*/
|
||||
#define AM33XX_CLKSEL_SHIFT 0
|
||||
#define AM33XX_CLKSEL_WIDTH 1
|
||||
#define AM33XX_CLKSEL_MASK (0x01 << 0)
|
||||
|
||||
/*
|
||||
* Renamed from CLKSEL Used by CLKSEL_PRUSS_OCP_CLK, CLKSEL_WDT1_CLK,
|
||||
* CM_CPTS_RFT_CLKSEL
|
||||
*/
|
||||
#define AM33XX_CLKSEL_0_0_SHIFT 0
|
||||
#define AM33XX_CLKSEL_0_0_WIDTH 1
|
||||
#define AM33XX_CLKSEL_0_0_MASK (1 << 0)
|
||||
|
||||
#define AM33XX_CLKSEL_0_1_SHIFT 0
|
||||
#define AM33XX_CLKSEL_0_1_WIDTH 2
|
||||
#define AM33XX_CLKSEL_0_1_MASK (3 << 0)
|
||||
|
||||
/* Renamed from CLKSEL Used by CLKSEL_TIMER1MS_CLK */
|
||||
#define AM33XX_CLKSEL_0_2_SHIFT 0
|
||||
#define AM33XX_CLKSEL_0_2_WIDTH 3
|
||||
#define AM33XX_CLKSEL_0_2_MASK (7 << 0)
|
||||
|
||||
/* Used by CLKSEL_GFX_FCLK */
|
||||
#define AM33XX_CLKSEL_GFX_FCLK_SHIFT 1
|
||||
#define AM33XX_CLKSEL_GFX_FCLK_WIDTH 1
|
||||
#define AM33XX_CLKSEL_GFX_FCLK_MASK (1 << 1)
|
||||
|
||||
/*
|
||||
* Used by CM_MPU_CLKSTCTRL, CM_RTC_CLKSTCTRL, CM_PER_CLK_24MHZ_CLKSTCTRL,
|
||||
* CM_PER_CPSW_CLKSTCTRL, CM_PER_PRUSS_CLKSTCTRL, CM_PER_L3S_CLKSTCTRL,
|
||||
* CM_PER_L3_CLKSTCTRL, CM_PER_L4FW_CLKSTCTRL, CM_PER_L4HS_CLKSTCTRL,
|
||||
* CM_PER_L4LS_CLKSTCTRL, CM_PER_LCDC_CLKSTCTRL, CM_PER_OCPWP_L3_CLKSTCTRL,
|
||||
* CM_L3_AON_CLKSTCTRL, CM_L4_WKUP_AON_CLKSTCTRL, CM_WKUP_CLKSTCTRL,
|
||||
* CM_GFX_L3_CLKSTCTRL, CM_GFX_L4LS_GFX_CLKSTCTRL__1, CM_CEFUSE_CLKSTCTRL
|
||||
*/
|
||||
#define AM33XX_CLKTRCTRL_SHIFT 0
|
||||
#define AM33XX_CLKTRCTRL_WIDTH 2
|
||||
#define AM33XX_CLKTRCTRL_MASK (0x3 << 0)
|
||||
|
||||
/*
|
||||
* Used by CM_SSC_DELTAMSTEP_DPLL_CORE, CM_SSC_DELTAMSTEP_DPLL_DDR,
|
||||
* CM_SSC_DELTAMSTEP_DPLL_DISP, CM_SSC_DELTAMSTEP_DPLL_MPU,
|
||||
* CM_SSC_DELTAMSTEP_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_DELTAMSTEP_SHIFT 0
|
||||
#define AM33XX_DELTAMSTEP_WIDTH 20
|
||||
#define AM33XX_DELTAMSTEP_MASK (0xfffff << 0)
|
||||
|
||||
/* Used by CM_CLKSEL_DPLL_DDR, CM_CLKSEL_DPLL_DISP, CM_CLKSEL_DPLL_MPU */
|
||||
#define AM33XX_DPLL_BYP_CLKSEL_SHIFT 23
|
||||
#define AM33XX_DPLL_BYP_CLKSEL_WIDTH 1
|
||||
#define AM33XX_DPLL_BYP_CLKSEL_MASK (1 << 23)
|
||||
|
||||
/* Used by CM_CLKDCOLDO_DPLL_PER */
|
||||
#define AM33XX_DPLL_CLKDCOLDO_GATE_CTRL_SHIFT 8
|
||||
#define AM33XX_DPLL_CLKDCOLDO_GATE_CTRL_WIDTH 1
|
||||
#define AM33XX_DPLL_CLKDCOLDO_GATE_CTRL_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_CLKDCOLDO_DPLL_PER */
|
||||
#define AM33XX_DPLL_CLKDCOLDO_PWDN_SHIFT 12
|
||||
#define AM33XX_DPLL_CLKDCOLDO_PWDN_WIDTH 1
|
||||
#define AM33XX_DPLL_CLKDCOLDO_PWDN_MASK (1 << 12)
|
||||
|
||||
/* Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU */
|
||||
#define AM33XX_DPLL_CLKOUT_DIV_SHIFT 0
|
||||
#define AM33XX_DPLL_CLKOUT_DIV_WIDTH 5
|
||||
#define AM33XX_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
|
||||
|
||||
/* Renamed from DPLL_CLKOUT_DIV Used by CM_DIV_M2_DPLL_PER */
|
||||
#define AM33XX_DPLL_CLKOUT_DIV_0_6_SHIFT 0
|
||||
#define AM33XX_DPLL_CLKOUT_DIV_0_6_WIDTH 7
|
||||
#define AM33XX_DPLL_CLKOUT_DIV_0_6_MASK (0x7f << 0)
|
||||
|
||||
/* Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU */
|
||||
#define AM33XX_DPLL_CLKOUT_DIVCHACK_SHIFT 5
|
||||
#define AM33XX_DPLL_CLKOUT_DIVCHACK_WIDTH 1
|
||||
#define AM33XX_DPLL_CLKOUT_DIVCHACK_MASK (1 << 5)
|
||||
|
||||
/* Renamed from DPLL_CLKOUT_DIVCHACK Used by CM_DIV_M2_DPLL_PER */
|
||||
#define AM33XX_DPLL_CLKOUT_DIVCHACK_M2_PER_SHIFT 7
|
||||
#define AM33XX_DPLL_CLKOUT_DIVCHACK_M2_PER_WIDTH 1
|
||||
#define AM33XX_DPLL_CLKOUT_DIVCHACK_M2_PER_MASK (1 << 7)
|
||||
|
||||
/*
|
||||
* Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU,
|
||||
* CM_DIV_M2_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_DPLL_CLKOUT_GATE_CTRL_SHIFT 8
|
||||
#define AM33XX_DPLL_CLKOUT_GATE_CTRL_WIDTH 1
|
||||
#define AM33XX_DPLL_CLKOUT_GATE_CTRL_MASK (1 << 8)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDR, CM_CLKSEL_DPLL_DISP,
|
||||
* CM_CLKSEL_DPLL_MPU
|
||||
*/
|
||||
#define AM33XX_DPLL_DIV_SHIFT 0
|
||||
#define AM33XX_DPLL_DIV_WIDTH 7
|
||||
#define AM33XX_DPLL_DIV_MASK (0x7f << 0)
|
||||
|
||||
#define AM33XX_DPLL_PER_DIV_MASK (0xff << 0)
|
||||
|
||||
/* Renamed from DPLL_DIV Used by CM_CLKSEL_DPLL_PERIPH */
|
||||
#define AM33XX_DPLL_DIV_0_7_SHIFT 0
|
||||
#define AM33XX_DPLL_DIV_0_7_WIDTH 8
|
||||
#define AM33XX_DPLL_DIV_0_7_MASK (0xff << 0)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU
|
||||
*/
|
||||
#define AM33XX_DPLL_DRIFTGUARD_EN_SHIFT 8
|
||||
#define AM33XX_DPLL_DRIFTGUARD_EN_WIDTH 1
|
||||
#define AM33XX_DPLL_DRIFTGUARD_EN_MASK (1 << 8)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_DPLL_EN_SHIFT 0
|
||||
#define AM33XX_DPLL_EN_WIDTH 3
|
||||
#define AM33XX_DPLL_EN_MASK (0x7 << 0)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU
|
||||
*/
|
||||
#define AM33XX_DPLL_LPMODE_EN_SHIFT 10
|
||||
#define AM33XX_DPLL_LPMODE_EN_WIDTH 1
|
||||
#define AM33XX_DPLL_LPMODE_EN_MASK (1 << 10)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDR, CM_CLKSEL_DPLL_DISP,
|
||||
* CM_CLKSEL_DPLL_MPU
|
||||
*/
|
||||
#define AM33XX_DPLL_MULT_SHIFT 8
|
||||
#define AM33XX_DPLL_MULT_WIDTH 11
|
||||
#define AM33XX_DPLL_MULT_MASK (0x7ff << 8)
|
||||
|
||||
/* Renamed from DPLL_MULT Used by CM_CLKSEL_DPLL_PERIPH */
|
||||
#define AM33XX_DPLL_MULT_PERIPH_SHIFT 8
|
||||
#define AM33XX_DPLL_MULT_PERIPH_WIDTH 12
|
||||
#define AM33XX_DPLL_MULT_PERIPH_MASK (0xfff << 8)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU
|
||||
*/
|
||||
#define AM33XX_DPLL_REGM4XEN_SHIFT 11
|
||||
#define AM33XX_DPLL_REGM4XEN_WIDTH 1
|
||||
#define AM33XX_DPLL_REGM4XEN_MASK (1 << 11)
|
||||
|
||||
/* Used by CM_CLKSEL_DPLL_PERIPH */
|
||||
#define AM33XX_DPLL_SD_DIV_SHIFT 24
|
||||
#define AM33XX_DPLL_SD_DIV_WIDTH 8
|
||||
#define AM33XX_DPLL_SD_DIV_MASK (0xff << 24)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_DPLL_SSC_ACK_SHIFT 13
|
||||
#define AM33XX_DPLL_SSC_ACK_WIDTH 1
|
||||
#define AM33XX_DPLL_SSC_ACK_MASK (1 << 13)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_DPLL_SSC_DOWNSPREAD_SHIFT 14
|
||||
#define AM33XX_DPLL_SSC_DOWNSPREAD_WIDTH 1
|
||||
#define AM33XX_DPLL_SSC_DOWNSPREAD_MASK (1 << 14)
|
||||
|
||||
/*
|
||||
* Used by CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDR, CM_CLKMODE_DPLL_DISP,
|
||||
* CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_DPLL_SSC_EN_SHIFT 12
|
||||
#define AM33XX_DPLL_SSC_EN_WIDTH 1
|
||||
#define AM33XX_DPLL_SSC_EN_MASK (1 << 12)
|
||||
|
||||
/* Used by CM_DIV_M4_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_DIV_SHIFT 0
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_DIV_WIDTH 5
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_DIV_MASK (0x1f << 0)
|
||||
|
||||
/* Used by CM_DIV_M4_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_DIVCHACK_SHIFT 5
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_DIVCHACK_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_DIVCHACK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_DIV_M4_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_GATE_CTRL_SHIFT 8
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_GATE_CTRL_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_GATE_CTRL_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_DIV_M4_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_PWDN_SHIFT 12
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_PWDN_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT1_PWDN_MASK (1 << 12)
|
||||
|
||||
/* Used by CM_DIV_M5_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_DIV_SHIFT 0
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_DIV_WIDTH 5
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_DIV_MASK (0x1f << 0)
|
||||
|
||||
/* Used by CM_DIV_M5_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_DIVCHACK_SHIFT 5
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_DIVCHACK_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_DIVCHACK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_DIV_M5_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_GATE_CTRL_SHIFT 8
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_GATE_CTRL_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_GATE_CTRL_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_DIV_M5_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_PWDN_SHIFT 12
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_PWDN_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT2_PWDN_MASK (1 << 12)
|
||||
|
||||
/* Used by CM_DIV_M6_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_DIV_SHIFT 0
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_DIV_WIDTH 5
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_DIV_MASK (0x1f << 0)
|
||||
|
||||
/* Used by CM_DIV_M6_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_DIVCHACK_SHIFT 5
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_DIVCHACK_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_DIVCHACK_MASK (1 << 5)
|
||||
|
||||
/* Used by CM_DIV_M6_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_GATE_CTRL_SHIFT 8
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_GATE_CTRL_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_GATE_CTRL_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_DIV_M6_DPLL_CORE */
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_PWDN_SHIFT 12
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_PWDN_WIDTH 1
|
||||
#define AM33XX_HSDIVIDER_CLKOUT3_PWDN_MASK (1 << 12)
|
||||
|
||||
/*
|
||||
* Used by CM_MPU_MPU_CLKCTRL, CM_RTC_RTC_CLKCTRL, CM_PER_AES0_CLKCTRL,
|
||||
* CM_PER_AES1_CLKCTRL, CM_PER_CLKDIV32K_CLKCTRL, CM_PER_CPGMAC0_CLKCTRL,
|
||||
* CM_PER_DCAN0_CLKCTRL, CM_PER_DCAN1_CLKCTRL, CM_PER_DES_CLKCTRL,
|
||||
* CM_PER_ELM_CLKCTRL, CM_PER_EMIF_CLKCTRL, CM_PER_EMIF_FW_CLKCTRL,
|
||||
* CM_PER_EPWMSS0_CLKCTRL, CM_PER_EPWMSS1_CLKCTRL, CM_PER_EPWMSS2_CLKCTRL,
|
||||
* CM_PER_GPIO1_CLKCTRL, CM_PER_GPIO2_CLKCTRL, CM_PER_GPIO3_CLKCTRL,
|
||||
* CM_PER_GPIO4_CLKCTRL, CM_PER_GPIO5_CLKCTRL, CM_PER_GPIO6_CLKCTRL,
|
||||
* CM_PER_GPMC_CLKCTRL, CM_PER_I2C1_CLKCTRL, CM_PER_I2C2_CLKCTRL,
|
||||
* CM_PER_PRUSS_CLKCTRL, CM_PER_IEEE5000_CLKCTRL, CM_PER_L3_CLKCTRL,
|
||||
* CM_PER_L3_INSTR_CLKCTRL, CM_PER_L4FW_CLKCTRL, CM_PER_L4HS_CLKCTRL,
|
||||
* CM_PER_L4LS_CLKCTRL, CM_PER_LCDC_CLKCTRL, CM_PER_MAILBOX0_CLKCTRL,
|
||||
* CM_PER_MAILBOX1_CLKCTRL, CM_PER_MCASP0_CLKCTRL, CM_PER_MCASP1_CLKCTRL,
|
||||
* CM_PER_MCASP2_CLKCTRL, CM_PER_MLB_CLKCTRL, CM_PER_MMC0_CLKCTRL,
|
||||
* CM_PER_MMC1_CLKCTRL, CM_PER_MMC2_CLKCTRL, CM_PER_MSTR_EXPS_CLKCTRL,
|
||||
* CM_PER_OCMCRAM_CLKCTRL, CM_PER_OCPWP_CLKCTRL, CM_PER_PCIE_CLKCTRL,
|
||||
* CM_PER_PKA_CLKCTRL, CM_PER_RNG_CLKCTRL, CM_PER_SHA0_CLKCTRL,
|
||||
* CM_PER_SLV_EXPS_CLKCTRL, CM_PER_SPARE0_CLKCTRL, CM_PER_SPARE1_CLKCTRL,
|
||||
* CM_PER_SPARE_CLKCTRL, CM_PER_SPI0_CLKCTRL, CM_PER_SPI1_CLKCTRL,
|
||||
* CM_PER_SPI2_CLKCTRL, CM_PER_SPI3_CLKCTRL, CM_PER_SPINLOCK_CLKCTRL,
|
||||
* CM_PER_TIMER2_CLKCTRL, CM_PER_TIMER3_CLKCTRL, CM_PER_TIMER4_CLKCTRL,
|
||||
* CM_PER_TIMER5_CLKCTRL, CM_PER_TIMER6_CLKCTRL, CM_PER_TIMER7_CLKCTRL,
|
||||
* CM_PER_TPCC_CLKCTRL, CM_PER_TPTC0_CLKCTRL, CM_PER_TPTC1_CLKCTRL,
|
||||
* CM_PER_TPTC2_CLKCTRL, CM_PER_UART1_CLKCTRL, CM_PER_UART2_CLKCTRL,
|
||||
* CM_PER_UART3_CLKCTRL, CM_PER_UART4_CLKCTRL, CM_PER_UART5_CLKCTRL,
|
||||
* CM_PER_USB0_CLKCTRL, CM_WKUP_ADC_TSC_CLKCTRL, CM_WKUP_CONTROL_CLKCTRL,
|
||||
* CM_WKUP_DEBUGSS_CLKCTRL, CM_WKUP_GPIO0_CLKCTRL, CM_WKUP_I2C0_CLKCTRL,
|
||||
* CM_WKUP_L4WKUP_CLKCTRL, CM_WKUP_SMARTREFLEX0_CLKCTRL,
|
||||
* CM_WKUP_SMARTREFLEX1_CLKCTRL, CM_WKUP_TIMER0_CLKCTRL,
|
||||
* CM_WKUP_TIMER1_CLKCTRL, CM_WKUP_UART0_CLKCTRL, CM_WKUP_WDT0_CLKCTRL,
|
||||
* CM_WKUP_WDT1_CLKCTRL, CM_GFX_BITBLT_CLKCTRL, CM_GFX_GFX_CLKCTRL,
|
||||
* CM_GFX_MMUCFG_CLKCTRL, CM_GFX_MMUDATA_CLKCTRL, CM_CEFUSE_CEFUSE_CLKCTRL
|
||||
*/
|
||||
#define AM33XX_IDLEST_SHIFT 16
|
||||
#define AM33XX_IDLEST_WIDTH 2
|
||||
#define AM33XX_IDLEST_MASK (0x3 << 16)
|
||||
|
||||
/* Used by CM_MAC_CLKSEL */
|
||||
#define AM33XX_MII_CLK_SEL_SHIFT 2
|
||||
#define AM33XX_MII_CLK_SEL_WIDTH 1
|
||||
#define AM33XX_MII_CLK_SEL_MASK (1 << 2)
|
||||
|
||||
/*
|
||||
* Used by CM_SSC_MODFREQDIV_DPLL_CORE, CM_SSC_MODFREQDIV_DPLL_DDR,
|
||||
* CM_SSC_MODFREQDIV_DPLL_DISP, CM_SSC_MODFREQDIV_DPLL_MPU,
|
||||
* CM_SSC_MODFREQDIV_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_MODFREQDIV_EXPONENT_SHIFT 8
|
||||
#define AM33XX_MODFREQDIV_EXPONENT_WIDTH 3
|
||||
#define AM33XX_MODFREQDIV_EXPONENT_MASK (0x7 << 8)
|
||||
|
||||
/*
|
||||
* Used by CM_SSC_MODFREQDIV_DPLL_CORE, CM_SSC_MODFREQDIV_DPLL_DDR,
|
||||
* CM_SSC_MODFREQDIV_DPLL_DISP, CM_SSC_MODFREQDIV_DPLL_MPU,
|
||||
* CM_SSC_MODFREQDIV_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_MODFREQDIV_MANTISSA_SHIFT 0
|
||||
#define AM33XX_MODFREQDIV_MANTISSA_WIDTH 7
|
||||
#define AM33XX_MODFREQDIV_MANTISSA_MASK (0x7f << 0)
|
||||
|
||||
/*
|
||||
* Used by CM_MPU_MPU_CLKCTRL, CM_RTC_RTC_CLKCTRL, CM_PER_AES0_CLKCTRL,
|
||||
* CM_PER_AES1_CLKCTRL, CM_PER_CLKDIV32K_CLKCTRL, CM_PER_CPGMAC0_CLKCTRL,
|
||||
* CM_PER_DCAN0_CLKCTRL, CM_PER_DCAN1_CLKCTRL, CM_PER_DES_CLKCTRL,
|
||||
* CM_PER_ELM_CLKCTRL, CM_PER_EMIF_CLKCTRL, CM_PER_EMIF_FW_CLKCTRL,
|
||||
* CM_PER_EPWMSS0_CLKCTRL, CM_PER_EPWMSS1_CLKCTRL, CM_PER_EPWMSS2_CLKCTRL,
|
||||
* CM_PER_GPIO1_CLKCTRL, CM_PER_GPIO2_CLKCTRL, CM_PER_GPIO3_CLKCTRL,
|
||||
* CM_PER_GPIO4_CLKCTRL, CM_PER_GPIO5_CLKCTRL, CM_PER_GPIO6_CLKCTRL,
|
||||
* CM_PER_GPMC_CLKCTRL, CM_PER_I2C1_CLKCTRL, CM_PER_I2C2_CLKCTRL,
|
||||
* CM_PER_PRUSS_CLKCTRL, CM_PER_IEEE5000_CLKCTRL, CM_PER_L3_CLKCTRL,
|
||||
* CM_PER_L3_INSTR_CLKCTRL, CM_PER_L4FW_CLKCTRL, CM_PER_L4HS_CLKCTRL,
|
||||
* CM_PER_L4LS_CLKCTRL, CM_PER_LCDC_CLKCTRL, CM_PER_MAILBOX0_CLKCTRL,
|
||||
* CM_PER_MAILBOX1_CLKCTRL, CM_PER_MCASP0_CLKCTRL, CM_PER_MCASP1_CLKCTRL,
|
||||
* CM_PER_MCASP2_CLKCTRL, CM_PER_MLB_CLKCTRL, CM_PER_MMC0_CLKCTRL,
|
||||
* CM_PER_MMC1_CLKCTRL, CM_PER_MMC2_CLKCTRL, CM_PER_MSTR_EXPS_CLKCTRL,
|
||||
* CM_PER_OCMCRAM_CLKCTRL, CM_PER_OCPWP_CLKCTRL, CM_PER_PCIE_CLKCTRL,
|
||||
* CM_PER_PKA_CLKCTRL, CM_PER_RNG_CLKCTRL, CM_PER_SHA0_CLKCTRL,
|
||||
* CM_PER_SLV_EXPS_CLKCTRL, CM_PER_SPARE0_CLKCTRL, CM_PER_SPARE1_CLKCTRL,
|
||||
* CM_PER_SPARE_CLKCTRL, CM_PER_SPI0_CLKCTRL, CM_PER_SPI1_CLKCTRL,
|
||||
* CM_PER_SPI2_CLKCTRL, CM_PER_SPI3_CLKCTRL, CM_PER_SPINLOCK_CLKCTRL,
|
||||
* CM_PER_TIMER2_CLKCTRL, CM_PER_TIMER3_CLKCTRL, CM_PER_TIMER4_CLKCTRL,
|
||||
* CM_PER_TIMER5_CLKCTRL, CM_PER_TIMER6_CLKCTRL, CM_PER_TIMER7_CLKCTRL,
|
||||
* CM_PER_TPCC_CLKCTRL, CM_PER_TPTC0_CLKCTRL, CM_PER_TPTC1_CLKCTRL,
|
||||
* CM_PER_TPTC2_CLKCTRL, CM_PER_UART1_CLKCTRL, CM_PER_UART2_CLKCTRL,
|
||||
* CM_PER_UART3_CLKCTRL, CM_PER_UART4_CLKCTRL, CM_PER_UART5_CLKCTRL,
|
||||
* CM_PER_USB0_CLKCTRL, CM_WKUP_ADC_TSC_CLKCTRL, CM_WKUP_CONTROL_CLKCTRL,
|
||||
* CM_WKUP_DEBUGSS_CLKCTRL, CM_WKUP_GPIO0_CLKCTRL, CM_WKUP_I2C0_CLKCTRL,
|
||||
* CM_WKUP_L4WKUP_CLKCTRL, CM_WKUP_SMARTREFLEX0_CLKCTRL,
|
||||
* CM_WKUP_SMARTREFLEX1_CLKCTRL, CM_WKUP_TIMER0_CLKCTRL,
|
||||
* CM_WKUP_TIMER1_CLKCTRL, CM_WKUP_UART0_CLKCTRL, CM_WKUP_WDT0_CLKCTRL,
|
||||
* CM_WKUP_WDT1_CLKCTRL, CM_WKUP_WKUP_M3_CLKCTRL, CM_GFX_BITBLT_CLKCTRL,
|
||||
* CM_GFX_GFX_CLKCTRL, CM_GFX_MMUCFG_CLKCTRL, CM_GFX_MMUDATA_CLKCTRL,
|
||||
* CM_CEFUSE_CEFUSE_CLKCTRL
|
||||
*/
|
||||
#define AM33XX_MODULEMODE_SHIFT 0
|
||||
#define AM33XX_MODULEMODE_WIDTH 2
|
||||
#define AM33XX_MODULEMODE_MASK (0x3 << 0)
|
||||
|
||||
/* Used by CM_WKUP_DEBUGSS_CLKCTRL */
|
||||
#define AM33XX_OPTCLK_DEBUG_CLKA_SHIFT 30
|
||||
#define AM33XX_OPTCLK_DEBUG_CLKA_WIDTH 1
|
||||
#define AM33XX_OPTCLK_DEBUG_CLKA_MASK (1 << 30)
|
||||
|
||||
/* Used by CM_WKUP_DEBUGSS_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_DBGSYSCLK_SHIFT 19
|
||||
#define AM33XX_OPTFCLKEN_DBGSYSCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_DBGSYSCLK_MASK (1 << 19)
|
||||
|
||||
/* Used by CM_WKUP_GPIO0_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO0_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO0_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO0_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_PER_GPIO1_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO_1_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO_1_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO_1_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_PER_GPIO2_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO_2_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO_2_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO_2_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_PER_GPIO3_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO_3_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO_3_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO_3_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_PER_GPIO4_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO_4_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO_4_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO_4_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_PER_GPIO5_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO_5_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO_5_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO_5_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_PER_GPIO6_CLKCTRL */
|
||||
#define AM33XX_OPTFCLKEN_GPIO_6_GDBCLK_SHIFT 18
|
||||
#define AM33XX_OPTFCLKEN_GPIO_6_GDBCLK_WIDTH 1
|
||||
#define AM33XX_OPTFCLKEN_GPIO_6_GDBCLK_MASK (1 << 18)
|
||||
|
||||
/*
|
||||
* Used by CM_MPU_MPU_CLKCTRL, CM_PER_CPGMAC0_CLKCTRL, CM_PER_PRUSS_CLKCTRL,
|
||||
* CM_PER_IEEE5000_CLKCTRL, CM_PER_LCDC_CLKCTRL, CM_PER_MLB_CLKCTRL,
|
||||
* CM_PER_MSTR_EXPS_CLKCTRL, CM_PER_OCPWP_CLKCTRL, CM_PER_PCIE_CLKCTRL,
|
||||
* CM_PER_SPARE_CLKCTRL, CM_PER_TPTC0_CLKCTRL, CM_PER_TPTC1_CLKCTRL,
|
||||
* CM_PER_TPTC2_CLKCTRL, CM_PER_USB0_CLKCTRL, CM_WKUP_DEBUGSS_CLKCTRL,
|
||||
* CM_WKUP_WKUP_M3_CLKCTRL, CM_GFX_BITBLT_CLKCTRL, CM_GFX_GFX_CLKCTRL
|
||||
*/
|
||||
#define AM33XX_STBYST_SHIFT 18
|
||||
#define AM33XX_STBYST_WIDTH 1
|
||||
#define AM33XX_STBYST_MASK (1 << 18)
|
||||
|
||||
/* Used by CM_WKUP_DEBUGSS_CLKCTRL */
|
||||
#define AM33XX_STM_PMD_CLKDIVSEL_SHIFT 27
|
||||
#define AM33XX_STM_PMD_CLKDIVSEL_WIDTH 3
|
||||
#define AM33XX_STM_PMD_CLKDIVSEL_MASK (0x7 << 27)
|
||||
|
||||
/* Used by CM_WKUP_DEBUGSS_CLKCTRL */
|
||||
#define AM33XX_STM_PMD_CLKSEL_SHIFT 22
|
||||
#define AM33XX_STM_PMD_CLKSEL_WIDTH 2
|
||||
#define AM33XX_STM_PMD_CLKSEL_MASK (0x3 << 22)
|
||||
|
||||
/*
|
||||
* Used by CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_DDR, CM_IDLEST_DPLL_DISP,
|
||||
* CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_ST_DPLL_CLK_SHIFT 0
|
||||
#define AM33XX_ST_DPLL_CLK_WIDTH 1
|
||||
#define AM33XX_ST_DPLL_CLK_MASK (1 << 0)
|
||||
|
||||
/* Used by CM_CLKDCOLDO_DPLL_PER */
|
||||
#define AM33XX_ST_DPLL_CLKDCOLDO_SHIFT 8
|
||||
#define AM33XX_ST_DPLL_CLKDCOLDO_WIDTH 1
|
||||
#define AM33XX_ST_DPLL_CLKDCOLDO_MASK (1 << 8)
|
||||
|
||||
/*
|
||||
* Used by CM_DIV_M2_DPLL_DDR, CM_DIV_M2_DPLL_DISP, CM_DIV_M2_DPLL_MPU,
|
||||
* CM_DIV_M2_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_ST_DPLL_CLKOUT_SHIFT 9
|
||||
#define AM33XX_ST_DPLL_CLKOUT_WIDTH 1
|
||||
#define AM33XX_ST_DPLL_CLKOUT_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_DIV_M4_DPLL_CORE */
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT1_SHIFT 9
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT1_WIDTH 1
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT1_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_DIV_M5_DPLL_CORE */
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT2_SHIFT 9
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT2_WIDTH 1
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT2_MASK (1 << 9)
|
||||
|
||||
/* Used by CM_DIV_M6_DPLL_CORE */
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT3_SHIFT 9
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT3_WIDTH 1
|
||||
#define AM33XX_ST_HSDIVIDER_CLKOUT3_MASK (1 << 9)
|
||||
|
||||
/*
|
||||
* Used by CM_IDLEST_DPLL_CORE, CM_IDLEST_DPLL_DDR, CM_IDLEST_DPLL_DISP,
|
||||
* CM_IDLEST_DPLL_MPU, CM_IDLEST_DPLL_PER
|
||||
*/
|
||||
#define AM33XX_ST_MN_BYPASS_SHIFT 8
|
||||
#define AM33XX_ST_MN_BYPASS_WIDTH 1
|
||||
#define AM33XX_ST_MN_BYPASS_MASK (1 << 8)
|
||||
|
||||
/* Used by CM_WKUP_DEBUGSS_CLKCTRL */
|
||||
#define AM33XX_TRC_PMD_CLKDIVSEL_SHIFT 24
|
||||
#define AM33XX_TRC_PMD_CLKDIVSEL_WIDTH 3
|
||||
#define AM33XX_TRC_PMD_CLKDIVSEL_MASK (0x7 << 24)
|
||||
|
||||
/* Used by CM_WKUP_DEBUGSS_CLKCTRL */
|
||||
#define AM33XX_TRC_PMD_CLKSEL_SHIFT 20
|
||||
#define AM33XX_TRC_PMD_CLKSEL_WIDTH 2
|
||||
#define AM33XX_TRC_PMD_CLKSEL_MASK (0x3 << 20)
|
||||
|
||||
/* Used by CONTROL_SEC_CLK_CTRL */
|
||||
#define AM33XX_TIMER0_CLKSEL_WIDTH 2
|
||||
#define AM33XX_TIMER0_CLKSEL_MASK (0x3 << 4)
|
||||
#endif
|
||||
|
|
|
@ -14,833 +14,201 @@
|
|||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
/* Bits shared between registers */
|
||||
|
||||
/* CM_FCLKEN1_CORE and CM_ICLKEN1_CORE shared bits */
|
||||
#define OMAP3430ES2_EN_MMC3_MASK (1 << 30)
|
||||
#define OMAP3430ES2_EN_MMC3_SHIFT 30
|
||||
#define OMAP3430_EN_MSPRO_MASK (1 << 23)
|
||||
#define OMAP3430_EN_MSPRO_SHIFT 23
|
||||
#define OMAP3430_EN_HDQ_MASK (1 << 22)
|
||||
#define OMAP3430_EN_HDQ_SHIFT 22
|
||||
#define OMAP3430ES1_EN_FSHOSTUSB_MASK (1 << 5)
|
||||
#define OMAP3430ES1_EN_FSHOSTUSB_SHIFT 5
|
||||
#define OMAP3430ES1_EN_D2D_MASK (1 << 3)
|
||||
#define OMAP3430ES1_EN_D2D_SHIFT 3
|
||||
#define OMAP3430_EN_SSI_MASK (1 << 0)
|
||||
#define OMAP3430_EN_SSI_SHIFT 0
|
||||
|
||||
/* CM_FCLKEN3_CORE and CM_ICLKEN3_CORE shared bits */
|
||||
#define OMAP3430ES2_EN_USBTLL_SHIFT 2
|
||||
#define OMAP3430ES2_EN_USBTLL_MASK (1 << 2)
|
||||
|
||||
/* CM_FCLKEN_WKUP and CM_ICLKEN_WKUP shared bits */
|
||||
#define OMAP3430_EN_WDT2_MASK (1 << 5)
|
||||
#define OMAP3430_EN_WDT2_SHIFT 5
|
||||
|
||||
/* CM_ICLKEN_CAM, CM_FCLKEN_CAM shared bits */
|
||||
#define OMAP3430_EN_CAM_MASK (1 << 0)
|
||||
#define OMAP3430_EN_CAM_SHIFT 0
|
||||
|
||||
/* CM_FCLKEN_PER, CM_ICLKEN_PER shared bits */
|
||||
#define OMAP3430_EN_WDT3_MASK (1 << 12)
|
||||
#define OMAP3430_EN_WDT3_SHIFT 12
|
||||
|
||||
/* CM_CLKSEL2_EMU, CM_CLKSEL3_EMU shared bits */
|
||||
#define OMAP3430_OVERRIDE_ENABLE_MASK (1 << 19)
|
||||
|
||||
|
||||
/* Bits specific to each register */
|
||||
|
||||
/* CM_FCLKEN_IVA2 */
|
||||
#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_MASK (1 << 0)
|
||||
#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT 0
|
||||
|
||||
/* CM_CLKEN_PLL_IVA2 */
|
||||
#define OMAP3430_IVA2_DPLL_RAMPTIME_SHIFT 8
|
||||
#define OMAP3430_IVA2_DPLL_RAMPTIME_MASK (0x3 << 8)
|
||||
#define OMAP3430_IVA2_DPLL_FREQSEL_SHIFT 4
|
||||
#define OMAP3430_IVA2_DPLL_FREQSEL_MASK (0xf << 4)
|
||||
#define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_SHIFT 3
|
||||
#define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_MASK (1 << 3)
|
||||
#define OMAP3430_EN_IVA2_DPLL_SHIFT 0
|
||||
#define OMAP3430_EN_IVA2_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_IDLEST_IVA2 */
|
||||
#define OMAP3430_ST_IVA2_SHIFT 0
|
||||
#define OMAP3430_ST_IVA2_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST_PLL_IVA2 */
|
||||
#define OMAP3430_ST_IVA2_CLK_SHIFT 0
|
||||
#define OMAP3430_ST_IVA2_CLK_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_PLL_IVA2 */
|
||||
#define OMAP3430_AUTO_IVA2_DPLL_SHIFT 0
|
||||
#define OMAP3430_AUTO_IVA2_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_CLKSEL1_PLL_IVA2 */
|
||||
#define OMAP3430_IVA2_CLK_SRC_SHIFT 19
|
||||
#define OMAP3430_IVA2_CLK_SRC_MASK (0x7 << 19)
|
||||
#define OMAP3430_IVA2_CLK_SRC_WIDTH 3
|
||||
#define OMAP3430_IVA2_DPLL_MULT_SHIFT 8
|
||||
#define OMAP3430_IVA2_DPLL_MULT_MASK (0x7ff << 8)
|
||||
#define OMAP3430_IVA2_DPLL_DIV_SHIFT 0
|
||||
#define OMAP3430_IVA2_DPLL_DIV_MASK (0x7f << 0)
|
||||
|
||||
/* CM_CLKSEL2_PLL_IVA2 */
|
||||
#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_SHIFT 0
|
||||
#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
|
||||
#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_WIDTH 5
|
||||
|
||||
/* CM_CLKSTCTRL_IVA2 */
|
||||
#define OMAP3430_CLKTRCTRL_IVA2_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_IVA2_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_IVA2 */
|
||||
#define OMAP3430_CLKACTIVITY_IVA2_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_IVA2_MASK (1 << 0)
|
||||
|
||||
/* CM_REVISION specific bits */
|
||||
|
||||
/* CM_SYSCONFIG specific bits */
|
||||
|
||||
/* CM_CLKEN_PLL_MPU */
|
||||
#define OMAP3430_MPU_DPLL_RAMPTIME_SHIFT 8
|
||||
#define OMAP3430_MPU_DPLL_RAMPTIME_MASK (0x3 << 8)
|
||||
#define OMAP3430_MPU_DPLL_FREQSEL_SHIFT 4
|
||||
#define OMAP3430_MPU_DPLL_FREQSEL_MASK (0xf << 4)
|
||||
#define OMAP3430_EN_MPU_DPLL_DRIFTGUARD_SHIFT 3
|
||||
#define OMAP3430_EN_MPU_DPLL_DRIFTGUARD_MASK (1 << 3)
|
||||
#define OMAP3430_EN_MPU_DPLL_SHIFT 0
|
||||
#define OMAP3430_EN_MPU_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_IDLEST_MPU */
|
||||
#define OMAP3430_ST_MPU_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST_PLL_MPU */
|
||||
#define OMAP3430_ST_MPU_CLK_SHIFT 0
|
||||
#define OMAP3430_ST_MPU_CLK_MASK (1 << 0)
|
||||
#define OMAP3430_ST_MPU_CLK_WIDTH 1
|
||||
|
||||
/* CM_AUTOIDLE_PLL_MPU */
|
||||
#define OMAP3430_AUTO_MPU_DPLL_SHIFT 0
|
||||
#define OMAP3430_AUTO_MPU_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_CLKSEL1_PLL_MPU */
|
||||
#define OMAP3430_MPU_CLK_SRC_SHIFT 19
|
||||
#define OMAP3430_MPU_CLK_SRC_MASK (0x7 << 19)
|
||||
#define OMAP3430_MPU_CLK_SRC_WIDTH 3
|
||||
#define OMAP3430_MPU_DPLL_MULT_SHIFT 8
|
||||
#define OMAP3430_MPU_DPLL_MULT_MASK (0x7ff << 8)
|
||||
#define OMAP3430_MPU_DPLL_DIV_SHIFT 0
|
||||
#define OMAP3430_MPU_DPLL_DIV_MASK (0x7f << 0)
|
||||
|
||||
/* CM_CLKSEL2_PLL_MPU */
|
||||
#define OMAP3430_MPU_DPLL_CLKOUT_DIV_SHIFT 0
|
||||
#define OMAP3430_MPU_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
|
||||
#define OMAP3430_MPU_DPLL_CLKOUT_DIV_WIDTH 5
|
||||
|
||||
/* CM_CLKSTCTRL_MPU */
|
||||
#define OMAP3430_CLKTRCTRL_MPU_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_MPU_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_MPU */
|
||||
#define OMAP3430_CLKACTIVITY_MPU_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_MPU_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN1_CORE specific bits */
|
||||
#define OMAP3430_EN_MODEM_MASK (1 << 31)
|
||||
#define OMAP3430_EN_MODEM_SHIFT 31
|
||||
|
||||
/* CM_ICLKEN1_CORE specific bits */
|
||||
#define OMAP3430_EN_ICR_MASK (1 << 29)
|
||||
#define OMAP3430_EN_ICR_SHIFT 29
|
||||
#define OMAP3430_EN_AES2_MASK (1 << 28)
|
||||
#define OMAP3430_EN_AES2_SHIFT 28
|
||||
#define OMAP3430_EN_SHA12_MASK (1 << 27)
|
||||
#define OMAP3430_EN_SHA12_SHIFT 27
|
||||
#define OMAP3430_EN_DES2_MASK (1 << 26)
|
||||
#define OMAP3430_EN_DES2_SHIFT 26
|
||||
#define OMAP3430ES1_EN_FAC_MASK (1 << 8)
|
||||
#define OMAP3430ES1_EN_FAC_SHIFT 8
|
||||
#define OMAP3430_EN_MAILBOXES_MASK (1 << 7)
|
||||
#define OMAP3430_EN_MAILBOXES_SHIFT 7
|
||||
#define OMAP3430_EN_OMAPCTRL_MASK (1 << 6)
|
||||
#define OMAP3430_EN_OMAPCTRL_SHIFT 6
|
||||
#define OMAP3430_EN_SAD2D_MASK (1 << 3)
|
||||
#define OMAP3430_EN_SAD2D_SHIFT 3
|
||||
#define OMAP3430_EN_SDRC_MASK (1 << 1)
|
||||
#define OMAP3430_EN_SDRC_SHIFT 1
|
||||
|
||||
/* AM35XX specific CM_ICLKEN1_CORE bits */
|
||||
#define AM35XX_EN_IPSS_MASK (1 << 4)
|
||||
#define AM35XX_EN_IPSS_SHIFT 4
|
||||
|
||||
/* CM_ICLKEN2_CORE */
|
||||
#define OMAP3430_EN_PKA_MASK (1 << 4)
|
||||
#define OMAP3430_EN_PKA_SHIFT 4
|
||||
#define OMAP3430_EN_AES1_MASK (1 << 3)
|
||||
#define OMAP3430_EN_AES1_SHIFT 3
|
||||
#define OMAP3430_EN_RNG_MASK (1 << 2)
|
||||
#define OMAP3430_EN_RNG_SHIFT 2
|
||||
#define OMAP3430_EN_SHA11_MASK (1 << 1)
|
||||
#define OMAP3430_EN_SHA11_SHIFT 1
|
||||
#define OMAP3430_EN_DES1_MASK (1 << 0)
|
||||
#define OMAP3430_EN_DES1_SHIFT 0
|
||||
|
||||
/* CM_ICLKEN3_CORE */
|
||||
#define OMAP3430_EN_MAD2D_SHIFT 3
|
||||
#define OMAP3430_EN_MAD2D_MASK (1 << 3)
|
||||
|
||||
/* CM_FCLKEN3_CORE specific bits */
|
||||
#define OMAP3430ES2_EN_TS_SHIFT 1
|
||||
#define OMAP3430ES2_EN_TS_MASK (1 << 1)
|
||||
#define OMAP3430ES2_EN_CPEFUSE_SHIFT 0
|
||||
#define OMAP3430ES2_EN_CPEFUSE_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST1_CORE specific bits */
|
||||
#define OMAP3430ES2_ST_MMC3_SHIFT 30
|
||||
#define OMAP3430ES2_ST_MMC3_MASK (1 << 30)
|
||||
#define OMAP3430_ST_ICR_SHIFT 29
|
||||
#define OMAP3430_ST_ICR_MASK (1 << 29)
|
||||
#define OMAP3430_ST_AES2_SHIFT 28
|
||||
#define OMAP3430_ST_AES2_MASK (1 << 28)
|
||||
#define OMAP3430_ST_SHA12_SHIFT 27
|
||||
#define OMAP3430_ST_SHA12_MASK (1 << 27)
|
||||
#define OMAP3430_ST_DES2_SHIFT 26
|
||||
#define OMAP3430_ST_DES2_MASK (1 << 26)
|
||||
#define OMAP3430_ST_MSPRO_SHIFT 23
|
||||
#define OMAP3430_ST_MSPRO_MASK (1 << 23)
|
||||
#define AM35XX_ST_UART4_SHIFT 23
|
||||
#define AM35XX_ST_UART4_MASK (1 << 23)
|
||||
#define OMAP3430_ST_HDQ_SHIFT 22
|
||||
#define OMAP3430_ST_HDQ_MASK (1 << 22)
|
||||
#define OMAP3430ES1_ST_FAC_SHIFT 8
|
||||
#define OMAP3430ES1_ST_FAC_MASK (1 << 8)
|
||||
#define OMAP3430ES2_ST_SSI_IDLE_SHIFT 8
|
||||
#define OMAP3430ES2_ST_SSI_IDLE_MASK (1 << 8)
|
||||
#define OMAP3430_ST_MAILBOXES_SHIFT 7
|
||||
#define OMAP3430_ST_MAILBOXES_MASK (1 << 7)
|
||||
#define OMAP3430_ST_OMAPCTRL_SHIFT 6
|
||||
#define OMAP3430_ST_OMAPCTRL_MASK (1 << 6)
|
||||
#define OMAP3430_ST_SAD2D_SHIFT 3
|
||||
#define OMAP3430_ST_SAD2D_MASK (1 << 3)
|
||||
#define OMAP3430_ST_SDMA_SHIFT 2
|
||||
#define OMAP3430_ST_SDMA_MASK (1 << 2)
|
||||
#define OMAP3430_ST_SDRC_SHIFT 1
|
||||
#define OMAP3430_ST_SDRC_MASK (1 << 1)
|
||||
#define OMAP3430_ST_SSI_STDBY_SHIFT 0
|
||||
#define OMAP3430_ST_SSI_STDBY_MASK (1 << 0)
|
||||
|
||||
/* AM35xx specific CM_IDLEST1_CORE bits */
|
||||
#define AM35XX_ST_IPSS_SHIFT 5
|
||||
#define AM35XX_ST_IPSS_MASK (1 << 5)
|
||||
|
||||
/* CM_IDLEST2_CORE */
|
||||
#define OMAP3430_ST_PKA_SHIFT 4
|
||||
#define OMAP3430_ST_PKA_MASK (1 << 4)
|
||||
#define OMAP3430_ST_AES1_SHIFT 3
|
||||
#define OMAP3430_ST_AES1_MASK (1 << 3)
|
||||
#define OMAP3430_ST_RNG_SHIFT 2
|
||||
#define OMAP3430_ST_RNG_MASK (1 << 2)
|
||||
#define OMAP3430_ST_SHA11_SHIFT 1
|
||||
#define OMAP3430_ST_SHA11_MASK (1 << 1)
|
||||
#define OMAP3430_ST_DES1_SHIFT 0
|
||||
#define OMAP3430_ST_DES1_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST3_CORE */
|
||||
#define OMAP3430ES2_ST_USBTLL_SHIFT 2
|
||||
#define OMAP3430ES2_ST_USBTLL_MASK (1 << 2)
|
||||
#define OMAP3430ES2_ST_CPEFUSE_SHIFT 0
|
||||
#define OMAP3430ES2_ST_CPEFUSE_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE1_CORE */
|
||||
#define OMAP3430_AUTO_MODEM_MASK (1 << 31)
|
||||
#define OMAP3430_AUTO_MODEM_SHIFT 31
|
||||
#define OMAP3430ES2_AUTO_MMC3_MASK (1 << 30)
|
||||
#define OMAP3430ES2_AUTO_MMC3_SHIFT 30
|
||||
#define OMAP3430ES2_AUTO_ICR_MASK (1 << 29)
|
||||
#define OMAP3430ES2_AUTO_ICR_SHIFT 29
|
||||
#define OMAP3430_AUTO_AES2_MASK (1 << 28)
|
||||
#define OMAP3430_AUTO_AES2_SHIFT 28
|
||||
#define OMAP3430_AUTO_SHA12_MASK (1 << 27)
|
||||
#define OMAP3430_AUTO_SHA12_SHIFT 27
|
||||
#define OMAP3430_AUTO_DES2_MASK (1 << 26)
|
||||
#define OMAP3430_AUTO_DES2_SHIFT 26
|
||||
#define OMAP3430_AUTO_MMC2_MASK (1 << 25)
|
||||
#define OMAP3430_AUTO_MMC2_SHIFT 25
|
||||
#define OMAP3430_AUTO_MMC1_MASK (1 << 24)
|
||||
#define OMAP3430_AUTO_MMC1_SHIFT 24
|
||||
#define OMAP3430_AUTO_MSPRO_MASK (1 << 23)
|
||||
#define OMAP3430_AUTO_MSPRO_SHIFT 23
|
||||
#define OMAP3430_AUTO_HDQ_MASK (1 << 22)
|
||||
#define OMAP3430_AUTO_HDQ_SHIFT 22
|
||||
#define OMAP3430_AUTO_MCSPI4_MASK (1 << 21)
|
||||
#define OMAP3430_AUTO_MCSPI4_SHIFT 21
|
||||
#define OMAP3430_AUTO_MCSPI3_MASK (1 << 20)
|
||||
#define OMAP3430_AUTO_MCSPI3_SHIFT 20
|
||||
#define OMAP3430_AUTO_MCSPI2_MASK (1 << 19)
|
||||
#define OMAP3430_AUTO_MCSPI2_SHIFT 19
|
||||
#define OMAP3430_AUTO_MCSPI1_MASK (1 << 18)
|
||||
#define OMAP3430_AUTO_MCSPI1_SHIFT 18
|
||||
#define OMAP3430_AUTO_I2C3_MASK (1 << 17)
|
||||
#define OMAP3430_AUTO_I2C3_SHIFT 17
|
||||
#define OMAP3430_AUTO_I2C2_MASK (1 << 16)
|
||||
#define OMAP3430_AUTO_I2C2_SHIFT 16
|
||||
#define OMAP3430_AUTO_I2C1_MASK (1 << 15)
|
||||
#define OMAP3430_AUTO_I2C1_SHIFT 15
|
||||
#define OMAP3430_AUTO_UART2_MASK (1 << 14)
|
||||
#define OMAP3430_AUTO_UART2_SHIFT 14
|
||||
#define OMAP3430_AUTO_UART1_MASK (1 << 13)
|
||||
#define OMAP3430_AUTO_UART1_SHIFT 13
|
||||
#define OMAP3430_AUTO_GPT11_MASK (1 << 12)
|
||||
#define OMAP3430_AUTO_GPT11_SHIFT 12
|
||||
#define OMAP3430_AUTO_GPT10_MASK (1 << 11)
|
||||
#define OMAP3430_AUTO_GPT10_SHIFT 11
|
||||
#define OMAP3430_AUTO_MCBSP5_MASK (1 << 10)
|
||||
#define OMAP3430_AUTO_MCBSP5_SHIFT 10
|
||||
#define OMAP3430_AUTO_MCBSP1_MASK (1 << 9)
|
||||
#define OMAP3430_AUTO_MCBSP1_SHIFT 9
|
||||
#define OMAP3430ES1_AUTO_FAC_MASK (1 << 8)
|
||||
#define OMAP3430ES1_AUTO_FAC_SHIFT 8
|
||||
#define OMAP3430_AUTO_MAILBOXES_MASK (1 << 7)
|
||||
#define OMAP3430_AUTO_MAILBOXES_SHIFT 7
|
||||
#define OMAP3430_AUTO_OMAPCTRL_MASK (1 << 6)
|
||||
#define OMAP3430_AUTO_OMAPCTRL_SHIFT 6
|
||||
#define OMAP3430ES1_AUTO_FSHOSTUSB_MASK (1 << 5)
|
||||
#define OMAP3430ES1_AUTO_FSHOSTUSB_SHIFT 5
|
||||
#define OMAP3430_AUTO_HSOTGUSB_MASK (1 << 4)
|
||||
#define OMAP3430_AUTO_HSOTGUSB_SHIFT 4
|
||||
#define OMAP3430ES1_AUTO_D2D_MASK (1 << 3)
|
||||
#define OMAP3430ES1_AUTO_D2D_SHIFT 3
|
||||
#define OMAP3430_AUTO_SAD2D_MASK (1 << 3)
|
||||
#define OMAP3430_AUTO_SAD2D_SHIFT 3
|
||||
#define OMAP3430_AUTO_SSI_MASK (1 << 0)
|
||||
#define OMAP3430_AUTO_SSI_SHIFT 0
|
||||
|
||||
/* CM_AUTOIDLE2_CORE */
|
||||
#define OMAP3430_AUTO_PKA_MASK (1 << 4)
|
||||
#define OMAP3430_AUTO_PKA_SHIFT 4
|
||||
#define OMAP3430_AUTO_AES1_MASK (1 << 3)
|
||||
#define OMAP3430_AUTO_AES1_SHIFT 3
|
||||
#define OMAP3430_AUTO_RNG_MASK (1 << 2)
|
||||
#define OMAP3430_AUTO_RNG_SHIFT 2
|
||||
#define OMAP3430_AUTO_SHA11_MASK (1 << 1)
|
||||
#define OMAP3430_AUTO_SHA11_SHIFT 1
|
||||
#define OMAP3430_AUTO_DES1_MASK (1 << 0)
|
||||
#define OMAP3430_AUTO_DES1_SHIFT 0
|
||||
|
||||
/* CM_AUTOIDLE3_CORE */
|
||||
#define OMAP3430ES2_AUTO_USBHOST (1 << 0)
|
||||
#define OMAP3430ES2_AUTO_USBHOST_SHIFT 0
|
||||
#define OMAP3430ES2_AUTO_USBTLL (1 << 2)
|
||||
#define OMAP3430ES2_AUTO_USBTLL_SHIFT 2
|
||||
#define OMAP3430ES2_AUTO_USBTLL_MASK (1 << 2)
|
||||
#define OMAP3430_AUTO_MAD2D_SHIFT 3
|
||||
#define OMAP3430_AUTO_MAD2D_MASK (1 << 3)
|
||||
|
||||
/* CM_CLKSEL_CORE */
|
||||
#define OMAP3430_CLKSEL_SSI_SHIFT 8
|
||||
#define OMAP3430_CLKSEL_SSI_MASK (0xf << 8)
|
||||
#define OMAP3430_CLKSEL_GPT11_MASK (1 << 7)
|
||||
#define OMAP3430_CLKSEL_GPT11_SHIFT 7
|
||||
#define OMAP3430_CLKSEL_GPT10_MASK (1 << 6)
|
||||
#define OMAP3430_CLKSEL_GPT10_SHIFT 6
|
||||
#define OMAP3430ES1_CLKSEL_FSHOSTUSB_SHIFT 4
|
||||
#define OMAP3430ES1_CLKSEL_FSHOSTUSB_MASK (0x3 << 4)
|
||||
#define OMAP3430_CLKSEL_L4_SHIFT 2
|
||||
#define OMAP3430_CLKSEL_L4_MASK (0x3 << 2)
|
||||
#define OMAP3430_CLKSEL_L4_WIDTH 2
|
||||
#define OMAP3430_CLKSEL_L3_SHIFT 0
|
||||
#define OMAP3430_CLKSEL_L3_MASK (0x3 << 0)
|
||||
#define OMAP3430_CLKSEL_L3_WIDTH 2
|
||||
#define OMAP3630_CLKSEL_96M_SHIFT 12
|
||||
#define OMAP3630_CLKSEL_96M_MASK (0x3 << 12)
|
||||
#define OMAP3630_CLKSEL_96M_WIDTH 2
|
||||
|
||||
/* CM_CLKSTCTRL_CORE */
|
||||
#define OMAP3430ES1_CLKTRCTRL_D2D_SHIFT 4
|
||||
#define OMAP3430ES1_CLKTRCTRL_D2D_MASK (0x3 << 4)
|
||||
#define OMAP3430_CLKTRCTRL_L4_SHIFT 2
|
||||
#define OMAP3430_CLKTRCTRL_L4_MASK (0x3 << 2)
|
||||
#define OMAP3430_CLKTRCTRL_L3_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_L3_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_CORE */
|
||||
#define OMAP3430ES1_CLKACTIVITY_D2D_SHIFT 2
|
||||
#define OMAP3430ES1_CLKACTIVITY_D2D_MASK (1 << 2)
|
||||
#define OMAP3430_CLKACTIVITY_L4_SHIFT 1
|
||||
#define OMAP3430_CLKACTIVITY_L4_MASK (1 << 1)
|
||||
#define OMAP3430_CLKACTIVITY_L3_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_L3_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_GFX */
|
||||
#define OMAP3430ES1_EN_3D_MASK (1 << 2)
|
||||
#define OMAP3430ES1_EN_3D_SHIFT 2
|
||||
#define OMAP3430ES1_EN_2D_MASK (1 << 1)
|
||||
#define OMAP3430ES1_EN_2D_SHIFT 1
|
||||
|
||||
/* CM_ICLKEN_GFX specific bits */
|
||||
|
||||
/* CM_IDLEST_GFX specific bits */
|
||||
|
||||
/* CM_CLKSEL_GFX specific bits */
|
||||
|
||||
/* CM_SLEEPDEP_GFX specific bits */
|
||||
|
||||
/* CM_CLKSTCTRL_GFX */
|
||||
#define OMAP3430ES1_CLKTRCTRL_GFX_SHIFT 0
|
||||
#define OMAP3430ES1_CLKTRCTRL_GFX_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_GFX */
|
||||
#define OMAP3430ES1_CLKACTIVITY_GFX_SHIFT 0
|
||||
#define OMAP3430ES1_CLKACTIVITY_GFX_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_SGX */
|
||||
#define OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_SHIFT 1
|
||||
#define OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_MASK (1 << 1)
|
||||
|
||||
/* CM_IDLEST_SGX */
|
||||
#define OMAP3430ES2_ST_SGX_SHIFT 1
|
||||
#define OMAP3430ES2_ST_SGX_MASK (1 << 1)
|
||||
|
||||
/* CM_ICLKEN_SGX */
|
||||
#define OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_SHIFT 0
|
||||
#define OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL_SGX */
|
||||
#define OMAP3430ES2_CLKSEL_SGX_SHIFT 0
|
||||
#define OMAP3430ES2_CLKSEL_SGX_MASK (0x7 << 0)
|
||||
|
||||
/* CM_CLKSTCTRL_SGX */
|
||||
#define OMAP3430ES2_CLKTRCTRL_SGX_SHIFT 0
|
||||
#define OMAP3430ES2_CLKTRCTRL_SGX_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_SGX */
|
||||
#define OMAP3430ES2_CLKACTIVITY_SGX_SHIFT 0
|
||||
#define OMAP3430ES2_CLKACTIVITY_SGX_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_WKUP specific bits */
|
||||
#define OMAP3430ES2_EN_USIMOCP_SHIFT 9
|
||||
#define OMAP3430ES2_EN_USIMOCP_MASK (1 << 9)
|
||||
|
||||
/* CM_ICLKEN_WKUP specific bits */
|
||||
#define OMAP3430_EN_WDT1_MASK (1 << 4)
|
||||
#define OMAP3430_EN_WDT1_SHIFT 4
|
||||
#define OMAP3430_EN_32KSYNC_MASK (1 << 2)
|
||||
#define OMAP3430_EN_32KSYNC_SHIFT 2
|
||||
|
||||
/* CM_IDLEST_WKUP specific bits */
|
||||
#define OMAP3430ES2_ST_USIMOCP_SHIFT 9
|
||||
#define OMAP3430ES2_ST_USIMOCP_MASK (1 << 9)
|
||||
#define OMAP3430_ST_WDT2_SHIFT 5
|
||||
#define OMAP3430_ST_WDT2_MASK (1 << 5)
|
||||
#define OMAP3430_ST_WDT1_SHIFT 4
|
||||
#define OMAP3430_ST_WDT1_MASK (1 << 4)
|
||||
#define OMAP3430_ST_32KSYNC_SHIFT 2
|
||||
#define OMAP3430_ST_32KSYNC_MASK (1 << 2)
|
||||
|
||||
/* CM_AUTOIDLE_WKUP */
|
||||
#define OMAP3430ES2_AUTO_USIMOCP_MASK (1 << 9)
|
||||
#define OMAP3430ES2_AUTO_USIMOCP_SHIFT 9
|
||||
#define OMAP3430_AUTO_WDT2_MASK (1 << 5)
|
||||
#define OMAP3430_AUTO_WDT2_SHIFT 5
|
||||
#define OMAP3430_AUTO_WDT1_MASK (1 << 4)
|
||||
#define OMAP3430_AUTO_WDT1_SHIFT 4
|
||||
#define OMAP3430_AUTO_GPIO1_MASK (1 << 3)
|
||||
#define OMAP3430_AUTO_GPIO1_SHIFT 3
|
||||
#define OMAP3430_AUTO_32KSYNC_MASK (1 << 2)
|
||||
#define OMAP3430_AUTO_32KSYNC_SHIFT 2
|
||||
#define OMAP3430_AUTO_GPT12_MASK (1 << 1)
|
||||
#define OMAP3430_AUTO_GPT12_SHIFT 1
|
||||
#define OMAP3430_AUTO_GPT1_MASK (1 << 0)
|
||||
#define OMAP3430_AUTO_GPT1_SHIFT 0
|
||||
|
||||
/* CM_CLKSEL_WKUP */
|
||||
#define OMAP3430ES2_CLKSEL_USIMOCP_MASK (0xf << 3)
|
||||
#define OMAP3430_CLKSEL_RM_SHIFT 1
|
||||
#define OMAP3430_CLKSEL_RM_MASK (0x3 << 1)
|
||||
#define OMAP3430_CLKSEL_RM_WIDTH 2
|
||||
#define OMAP3430_CLKSEL_GPT1_SHIFT 0
|
||||
#define OMAP3430_CLKSEL_GPT1_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKEN_PLL */
|
||||
#define OMAP3430_PWRDN_EMU_PERIPH_SHIFT 31
|
||||
#define OMAP3430_PWRDN_CAM_SHIFT 30
|
||||
#define OMAP3430_PWRDN_DSS1_SHIFT 29
|
||||
#define OMAP3430_PWRDN_TV_SHIFT 28
|
||||
#define OMAP3430_PWRDN_96M_SHIFT 27
|
||||
#define OMAP3430_PERIPH_DPLL_RAMPTIME_SHIFT 24
|
||||
#define OMAP3430_PERIPH_DPLL_RAMPTIME_MASK (0x3 << 24)
|
||||
#define OMAP3430_PERIPH_DPLL_FREQSEL_SHIFT 20
|
||||
#define OMAP3430_PERIPH_DPLL_FREQSEL_MASK (0xf << 20)
|
||||
#define OMAP3430_EN_PERIPH_DPLL_DRIFTGUARD_SHIFT 19
|
||||
#define OMAP3430_EN_PERIPH_DPLL_DRIFTGUARD_MASK (1 << 19)
|
||||
#define OMAP3430_EN_PERIPH_DPLL_SHIFT 16
|
||||
#define OMAP3430_EN_PERIPH_DPLL_MASK (0x7 << 16)
|
||||
#define OMAP3430_PWRDN_EMU_CORE_SHIFT 12
|
||||
#define OMAP3430_CORE_DPLL_RAMPTIME_SHIFT 8
|
||||
#define OMAP3430_CORE_DPLL_RAMPTIME_MASK (0x3 << 8)
|
||||
#define OMAP3430_CORE_DPLL_FREQSEL_SHIFT 4
|
||||
#define OMAP3430_CORE_DPLL_FREQSEL_MASK (0xf << 4)
|
||||
#define OMAP3430_EN_CORE_DPLL_DRIFTGUARD_SHIFT 3
|
||||
#define OMAP3430_EN_CORE_DPLL_DRIFTGUARD_MASK (1 << 3)
|
||||
#define OMAP3430_EN_CORE_DPLL_SHIFT 0
|
||||
#define OMAP3430_EN_CORE_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_CLKEN2_PLL */
|
||||
#define OMAP3430ES2_EN_PERIPH2_DPLL_LPMODE_SHIFT 10
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_RAMPTIME_MASK (0x3 << 8)
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_FREQSEL_SHIFT 4
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_FREQSEL_MASK (0xf << 4)
|
||||
#define OMAP3430ES2_EN_PERIPH2_DPLL_DRIFTGUARD_SHIFT 3
|
||||
#define OMAP3430ES2_EN_PERIPH2_DPLL_SHIFT 0
|
||||
#define OMAP3430ES2_EN_PERIPH2_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_IDLEST_CKGEN */
|
||||
#define OMAP3430_ST_54M_CLK_MASK (1 << 5)
|
||||
#define OMAP3430_ST_12M_CLK_MASK (1 << 4)
|
||||
#define OMAP3430_ST_48M_CLK_MASK (1 << 3)
|
||||
#define OMAP3430_ST_96M_CLK_MASK (1 << 2)
|
||||
#define OMAP3430_ST_PERIPH_CLK_SHIFT 1
|
||||
#define OMAP3430_ST_PERIPH_CLK_MASK (1 << 1)
|
||||
#define OMAP3430_ST_CORE_CLK_SHIFT 0
|
||||
#define OMAP3430_ST_CORE_CLK_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST2_CKGEN */
|
||||
#define OMAP3430ES2_ST_USIM_CLK_SHIFT 2
|
||||
#define OMAP3430ES2_ST_USIM_CLK_MASK (1 << 2)
|
||||
#define OMAP3430ES2_ST_120M_CLK_SHIFT 1
|
||||
#define OMAP3430ES2_ST_120M_CLK_MASK (1 << 1)
|
||||
#define OMAP3430ES2_ST_PERIPH2_CLK_SHIFT 0
|
||||
#define OMAP3430ES2_ST_PERIPH2_CLK_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_PLL */
|
||||
#define OMAP3430_AUTO_PERIPH_DPLL_SHIFT 3
|
||||
#define OMAP3430_AUTO_PERIPH_DPLL_MASK (0x7 << 3)
|
||||
#define OMAP3430_AUTO_CORE_DPLL_SHIFT 0
|
||||
#define OMAP3430_AUTO_CORE_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_AUTOIDLE2_PLL */
|
||||
#define OMAP3430ES2_AUTO_PERIPH2_DPLL_SHIFT 0
|
||||
#define OMAP3430ES2_AUTO_PERIPH2_DPLL_MASK (0x7 << 0)
|
||||
|
||||
/* CM_CLKSEL1_PLL */
|
||||
/* Note that OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK was (0x3 << 27) on 3430ES1 */
|
||||
#define OMAP3430_CORE_DPLL_CLKOUT_DIV_SHIFT 27
|
||||
#define OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK (0x1f << 27)
|
||||
#define OMAP3430_CORE_DPLL_CLKOUT_DIV_WIDTH 5
|
||||
#define OMAP3430_CORE_DPLL_MULT_SHIFT 16
|
||||
#define OMAP3430_CORE_DPLL_MULT_MASK (0x7ff << 16)
|
||||
#define OMAP3430_CORE_DPLL_DIV_SHIFT 8
|
||||
#define OMAP3430_CORE_DPLL_DIV_MASK (0x7f << 8)
|
||||
#define OMAP3430_SOURCE_96M_SHIFT 6
|
||||
#define OMAP3430_SOURCE_96M_MASK (1 << 6)
|
||||
#define OMAP3430_SOURCE_96M_WIDTH 1
|
||||
#define OMAP3430_SOURCE_54M_SHIFT 5
|
||||
#define OMAP3430_SOURCE_54M_MASK (1 << 5)
|
||||
#define OMAP3430_SOURCE_54M_WIDTH 1
|
||||
#define OMAP3430_SOURCE_48M_SHIFT 3
|
||||
#define OMAP3430_SOURCE_48M_MASK (1 << 3)
|
||||
|
||||
/* CM_CLKSEL2_PLL */
|
||||
#define OMAP3430_PERIPH_DPLL_MULT_SHIFT 8
|
||||
#define OMAP3430_PERIPH_DPLL_MULT_MASK (0x7ff << 8)
|
||||
#define OMAP3630_PERIPH_DPLL_MULT_MASK (0xfff << 8)
|
||||
#define OMAP3430_PERIPH_DPLL_DIV_SHIFT 0
|
||||
#define OMAP3430_PERIPH_DPLL_DIV_MASK (0x7f << 0)
|
||||
#define OMAP3630_PERIPH_DPLL_DCO_SEL_SHIFT 21
|
||||
#define OMAP3630_PERIPH_DPLL_DCO_SEL_MASK (0x7 << 21)
|
||||
#define OMAP3630_PERIPH_DPLL_SD_DIV_SHIFT 24
|
||||
#define OMAP3630_PERIPH_DPLL_SD_DIV_MASK (0xff << 24)
|
||||
|
||||
/* CM_CLKSEL3_PLL */
|
||||
#define OMAP3430_DIV_96M_SHIFT 0
|
||||
#define OMAP3430_DIV_96M_MASK (0x1f << 0)
|
||||
#define OMAP3430_DIV_96M_WIDTH 5
|
||||
#define OMAP3630_DIV_96M_MASK (0x3f << 0)
|
||||
#define OMAP3630_DIV_96M_WIDTH 6
|
||||
|
||||
/* CM_CLKSEL4_PLL */
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_MULT_SHIFT 8
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_MULT_MASK (0x7ff << 8)
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_DIV_SHIFT 0
|
||||
#define OMAP3430ES2_PERIPH2_DPLL_DIV_MASK (0x7f << 0)
|
||||
|
||||
/* CM_CLKSEL5_PLL */
|
||||
#define OMAP3430ES2_DIV_120M_SHIFT 0
|
||||
#define OMAP3430ES2_DIV_120M_MASK (0x1f << 0)
|
||||
#define OMAP3430ES2_DIV_120M_WIDTH 5
|
||||
|
||||
/* CM_CLKOUT_CTRL */
|
||||
#define OMAP3430_CLKOUT2_EN_SHIFT 7
|
||||
#define OMAP3430_CLKOUT2_EN_MASK (1 << 7)
|
||||
#define OMAP3430_CLKOUT2_DIV_SHIFT 3
|
||||
#define OMAP3430_CLKOUT2_DIV_MASK (0x7 << 3)
|
||||
#define OMAP3430_CLKOUT2_DIV_WIDTH 3
|
||||
#define OMAP3430_CLKOUT2SOURCE_SHIFT 0
|
||||
#define OMAP3430_CLKOUT2SOURCE_MASK (0x3 << 0)
|
||||
|
||||
/* CM_FCLKEN_DSS */
|
||||
#define OMAP3430_EN_TV_MASK (1 << 2)
|
||||
#define OMAP3430_EN_TV_SHIFT 2
|
||||
#define OMAP3430_EN_DSS2_MASK (1 << 1)
|
||||
#define OMAP3430_EN_DSS2_SHIFT 1
|
||||
#define OMAP3430_EN_DSS1_MASK (1 << 0)
|
||||
#define OMAP3430_EN_DSS1_SHIFT 0
|
||||
|
||||
/* CM_ICLKEN_DSS */
|
||||
#define OMAP3430_CM_ICLKEN_DSS_EN_DSS_MASK (1 << 0)
|
||||
#define OMAP3430_CM_ICLKEN_DSS_EN_DSS_SHIFT 0
|
||||
|
||||
/* CM_IDLEST_DSS */
|
||||
#define OMAP3430ES2_ST_DSS_IDLE_SHIFT 1
|
||||
#define OMAP3430ES2_ST_DSS_IDLE_MASK (1 << 1)
|
||||
#define OMAP3430ES2_ST_DSS_STDBY_SHIFT 0
|
||||
#define OMAP3430ES2_ST_DSS_STDBY_MASK (1 << 0)
|
||||
#define OMAP3430ES1_ST_DSS_SHIFT 0
|
||||
#define OMAP3430ES1_ST_DSS_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_DSS */
|
||||
#define OMAP3430_AUTO_DSS_MASK (1 << 0)
|
||||
#define OMAP3430_AUTO_DSS_SHIFT 0
|
||||
|
||||
/* CM_CLKSEL_DSS */
|
||||
#define OMAP3430_CLKSEL_TV_SHIFT 8
|
||||
#define OMAP3430_CLKSEL_TV_MASK (0x1f << 8)
|
||||
#define OMAP3430_CLKSEL_TV_WIDTH 5
|
||||
#define OMAP3630_CLKSEL_TV_MASK (0x3f << 8)
|
||||
#define OMAP3630_CLKSEL_TV_WIDTH 6
|
||||
#define OMAP3430_CLKSEL_DSS1_SHIFT 0
|
||||
#define OMAP3430_CLKSEL_DSS1_MASK (0x1f << 0)
|
||||
#define OMAP3430_CLKSEL_DSS1_WIDTH 5
|
||||
#define OMAP3630_CLKSEL_DSS1_MASK (0x3f << 0)
|
||||
#define OMAP3630_CLKSEL_DSS1_WIDTH 6
|
||||
|
||||
/* CM_SLEEPDEP_DSS specific bits */
|
||||
|
||||
/* CM_CLKSTCTRL_DSS */
|
||||
#define OMAP3430_CLKTRCTRL_DSS_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_DSS_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_DSS */
|
||||
#define OMAP3430_CLKACTIVITY_DSS_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_DSS_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_CAM specific bits */
|
||||
#define OMAP3430_EN_CSI2_MASK (1 << 1)
|
||||
#define OMAP3430_EN_CSI2_SHIFT 1
|
||||
|
||||
/* CM_ICLKEN_CAM specific bits */
|
||||
|
||||
/* CM_IDLEST_CAM */
|
||||
#define OMAP3430_ST_CAM_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_CAM */
|
||||
#define OMAP3430_AUTO_CAM_MASK (1 << 0)
|
||||
#define OMAP3430_AUTO_CAM_SHIFT 0
|
||||
|
||||
/* CM_CLKSEL_CAM */
|
||||
#define OMAP3430_CLKSEL_CAM_SHIFT 0
|
||||
#define OMAP3430_CLKSEL_CAM_MASK (0x1f << 0)
|
||||
#define OMAP3430_CLKSEL_CAM_WIDTH 5
|
||||
#define OMAP3630_CLKSEL_CAM_MASK (0x3f << 0)
|
||||
#define OMAP3630_CLKSEL_CAM_WIDTH 6
|
||||
|
||||
/* CM_SLEEPDEP_CAM specific bits */
|
||||
|
||||
/* CM_CLKSTCTRL_CAM */
|
||||
#define OMAP3430_CLKTRCTRL_CAM_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_CAM_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_CAM */
|
||||
#define OMAP3430_CLKACTIVITY_CAM_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_CAM_MASK (1 << 0)
|
||||
|
||||
/* CM_FCLKEN_PER specific bits */
|
||||
|
||||
/* CM_ICLKEN_PER specific bits */
|
||||
|
||||
/* CM_IDLEST_PER */
|
||||
#define OMAP3430_ST_WDT3_SHIFT 12
|
||||
#define OMAP3430_ST_WDT3_MASK (1 << 12)
|
||||
#define OMAP3430_ST_MCBSP4_SHIFT 2
|
||||
#define OMAP3430_ST_MCBSP4_MASK (1 << 2)
|
||||
#define OMAP3430_ST_MCBSP3_SHIFT 1
|
||||
#define OMAP3430_ST_MCBSP3_MASK (1 << 1)
|
||||
#define OMAP3430_ST_MCBSP2_SHIFT 0
|
||||
#define OMAP3430_ST_MCBSP2_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_PER */
|
||||
#define OMAP3630_AUTO_UART4_MASK (1 << 18)
|
||||
#define OMAP3630_AUTO_UART4_SHIFT 18
|
||||
#define OMAP3430_AUTO_GPIO6_MASK (1 << 17)
|
||||
#define OMAP3430_AUTO_GPIO6_SHIFT 17
|
||||
#define OMAP3430_AUTO_GPIO5_MASK (1 << 16)
|
||||
#define OMAP3430_AUTO_GPIO5_SHIFT 16
|
||||
#define OMAP3430_AUTO_GPIO4_MASK (1 << 15)
|
||||
#define OMAP3430_AUTO_GPIO4_SHIFT 15
|
||||
#define OMAP3430_AUTO_GPIO3_MASK (1 << 14)
|
||||
#define OMAP3430_AUTO_GPIO3_SHIFT 14
|
||||
#define OMAP3430_AUTO_GPIO2_MASK (1 << 13)
|
||||
#define OMAP3430_AUTO_GPIO2_SHIFT 13
|
||||
#define OMAP3430_AUTO_WDT3_MASK (1 << 12)
|
||||
#define OMAP3430_AUTO_WDT3_SHIFT 12
|
||||
#define OMAP3430_AUTO_UART3_MASK (1 << 11)
|
||||
#define OMAP3430_AUTO_UART3_SHIFT 11
|
||||
#define OMAP3430_AUTO_GPT9_MASK (1 << 10)
|
||||
#define OMAP3430_AUTO_GPT9_SHIFT 10
|
||||
#define OMAP3430_AUTO_GPT8_MASK (1 << 9)
|
||||
#define OMAP3430_AUTO_GPT8_SHIFT 9
|
||||
#define OMAP3430_AUTO_GPT7_MASK (1 << 8)
|
||||
#define OMAP3430_AUTO_GPT7_SHIFT 8
|
||||
#define OMAP3430_AUTO_GPT6_MASK (1 << 7)
|
||||
#define OMAP3430_AUTO_GPT6_SHIFT 7
|
||||
#define OMAP3430_AUTO_GPT5_MASK (1 << 6)
|
||||
#define OMAP3430_AUTO_GPT5_SHIFT 6
|
||||
#define OMAP3430_AUTO_GPT4_MASK (1 << 5)
|
||||
#define OMAP3430_AUTO_GPT4_SHIFT 5
|
||||
#define OMAP3430_AUTO_GPT3_MASK (1 << 4)
|
||||
#define OMAP3430_AUTO_GPT3_SHIFT 4
|
||||
#define OMAP3430_AUTO_GPT2_MASK (1 << 3)
|
||||
#define OMAP3430_AUTO_GPT2_SHIFT 3
|
||||
#define OMAP3430_AUTO_MCBSP4_MASK (1 << 2)
|
||||
#define OMAP3430_AUTO_MCBSP4_SHIFT 2
|
||||
#define OMAP3430_AUTO_MCBSP3_MASK (1 << 1)
|
||||
#define OMAP3430_AUTO_MCBSP3_SHIFT 1
|
||||
#define OMAP3430_AUTO_MCBSP2_MASK (1 << 0)
|
||||
#define OMAP3430_AUTO_MCBSP2_SHIFT 0
|
||||
|
||||
/* CM_CLKSEL_PER */
|
||||
#define OMAP3430_CLKSEL_GPT9_MASK (1 << 7)
|
||||
#define OMAP3430_CLKSEL_GPT9_SHIFT 7
|
||||
#define OMAP3430_CLKSEL_GPT8_MASK (1 << 6)
|
||||
#define OMAP3430_CLKSEL_GPT8_SHIFT 6
|
||||
#define OMAP3430_CLKSEL_GPT7_MASK (1 << 5)
|
||||
#define OMAP3430_CLKSEL_GPT7_SHIFT 5
|
||||
#define OMAP3430_CLKSEL_GPT6_MASK (1 << 4)
|
||||
#define OMAP3430_CLKSEL_GPT6_SHIFT 4
|
||||
#define OMAP3430_CLKSEL_GPT5_MASK (1 << 3)
|
||||
#define OMAP3430_CLKSEL_GPT5_SHIFT 3
|
||||
#define OMAP3430_CLKSEL_GPT4_MASK (1 << 2)
|
||||
#define OMAP3430_CLKSEL_GPT4_SHIFT 2
|
||||
#define OMAP3430_CLKSEL_GPT3_MASK (1 << 1)
|
||||
#define OMAP3430_CLKSEL_GPT3_SHIFT 1
|
||||
#define OMAP3430_CLKSEL_GPT2_MASK (1 << 0)
|
||||
#define OMAP3430_CLKSEL_GPT2_SHIFT 0
|
||||
|
||||
/* CM_SLEEPDEP_PER specific bits */
|
||||
#define OMAP3430_CM_SLEEPDEP_PER_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* CM_CLKSTCTRL_PER */
|
||||
#define OMAP3430_CLKTRCTRL_PER_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_PER_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_PER */
|
||||
#define OMAP3430_CLKACTIVITY_PER_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_PER_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL1_EMU */
|
||||
#define OMAP3430_DIV_DPLL4_SHIFT 24
|
||||
#define OMAP3430_DIV_DPLL4_MASK (0x1f << 24)
|
||||
#define OMAP3430_DIV_DPLL4_WIDTH 5
|
||||
#define OMAP3630_DIV_DPLL4_MASK (0x3f << 24)
|
||||
#define OMAP3630_DIV_DPLL4_WIDTH 6
|
||||
#define OMAP3430_DIV_DPLL3_SHIFT 16
|
||||
#define OMAP3430_DIV_DPLL3_MASK (0x1f << 16)
|
||||
#define OMAP3430_DIV_DPLL3_WIDTH 5
|
||||
#define OMAP3430_CLKSEL_TRACECLK_SHIFT 11
|
||||
#define OMAP3430_CLKSEL_TRACECLK_MASK (0x7 << 11)
|
||||
#define OMAP3430_CLKSEL_TRACECLK_WIDTH 3
|
||||
#define OMAP3430_CLKSEL_PCLK_SHIFT 8
|
||||
#define OMAP3430_CLKSEL_PCLK_MASK (0x7 << 8)
|
||||
#define OMAP3430_CLKSEL_PCLK_WIDTH 3
|
||||
#define OMAP3430_CLKSEL_PCLKX2_SHIFT 6
|
||||
#define OMAP3430_CLKSEL_PCLKX2_MASK (0x3 << 6)
|
||||
#define OMAP3430_CLKSEL_PCLKX2_WIDTH 2
|
||||
#define OMAP3430_CLKSEL_ATCLK_SHIFT 4
|
||||
#define OMAP3430_CLKSEL_ATCLK_MASK (0x3 << 4)
|
||||
#define OMAP3430_CLKSEL_ATCLK_WIDTH 2
|
||||
#define OMAP3430_TRACE_MUX_CTRL_SHIFT 2
|
||||
#define OMAP3430_TRACE_MUX_CTRL_MASK (0x3 << 2)
|
||||
#define OMAP3430_TRACE_MUX_CTRL_WIDTH 2
|
||||
#define OMAP3430_MUX_CTRL_SHIFT 0
|
||||
#define OMAP3430_MUX_CTRL_MASK (0x3 << 0)
|
||||
#define OMAP3430_MUX_CTRL_WIDTH 2
|
||||
|
||||
/* CM_CLKSTCTRL_EMU */
|
||||
#define OMAP3430_CLKTRCTRL_EMU_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_EMU_MASK (0x3 << 0)
|
||||
|
||||
/* CM_CLKSTST_EMU */
|
||||
#define OMAP3430_CLKACTIVITY_EMU_SHIFT 0
|
||||
#define OMAP3430_CLKACTIVITY_EMU_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSEL2_EMU specific bits */
|
||||
#define OMAP3430_CORE_DPLL_EMU_MULT_SHIFT 8
|
||||
#define OMAP3430_CORE_DPLL_EMU_MULT_MASK (0x7ff << 8)
|
||||
#define OMAP3430_CORE_DPLL_EMU_DIV_SHIFT 0
|
||||
#define OMAP3430_CORE_DPLL_EMU_DIV_MASK (0x7f << 0)
|
||||
|
||||
/* CM_CLKSEL3_EMU specific bits */
|
||||
#define OMAP3430_PERIPH_DPLL_EMU_MULT_SHIFT 8
|
||||
#define OMAP3430_PERIPH_DPLL_EMU_MULT_MASK (0x7ff << 8)
|
||||
#define OMAP3430_PERIPH_DPLL_EMU_DIV_SHIFT 0
|
||||
#define OMAP3430_PERIPH_DPLL_EMU_DIV_MASK (0x7f << 0)
|
||||
|
||||
/* CM_POLCTRL */
|
||||
#define OMAP3430_CLKOUT2_POL_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST_NEON */
|
||||
#define OMAP3430_ST_NEON_MASK (1 << 0)
|
||||
|
||||
/* CM_CLKSTCTRL_NEON */
|
||||
#define OMAP3430_CLKTRCTRL_NEON_SHIFT 0
|
||||
#define OMAP3430_CLKTRCTRL_NEON_MASK (0x3 << 0)
|
||||
|
||||
/* CM_FCLKEN_USBHOST */
|
||||
#define OMAP3430ES2_EN_USBHOST2_SHIFT 1
|
||||
#define OMAP3430ES2_EN_USBHOST2_MASK (1 << 1)
|
||||
#define OMAP3430ES2_EN_USBHOST1_SHIFT 0
|
||||
#define OMAP3430ES2_EN_USBHOST1_MASK (1 << 0)
|
||||
|
||||
/* CM_ICLKEN_USBHOST */
|
||||
#define OMAP3430ES2_EN_USBHOST_SHIFT 0
|
||||
#define OMAP3430ES2_EN_USBHOST_MASK (1 << 0)
|
||||
|
||||
/* CM_IDLEST_USBHOST */
|
||||
#define OMAP3430ES2_ST_USBHOST_IDLE_SHIFT 1
|
||||
#define OMAP3430ES2_ST_USBHOST_IDLE_MASK (1 << 1)
|
||||
#define OMAP3430ES2_ST_USBHOST_STDBY_SHIFT 0
|
||||
#define OMAP3430ES2_ST_USBHOST_STDBY_MASK (1 << 0)
|
||||
|
||||
/* CM_AUTOIDLE_USBHOST */
|
||||
#define OMAP3430ES2_AUTO_USBHOST_SHIFT 0
|
||||
#define OMAP3430ES2_AUTO_USBHOST_MASK (1 << 0)
|
||||
|
||||
/* CM_SLEEPDEP_USBHOST */
|
||||
#define OMAP3430ES2_EN_MPU_SHIFT 1
|
||||
#define OMAP3430ES2_EN_MPU_MASK (1 << 1)
|
||||
#define OMAP3430ES2_EN_IVA2_SHIFT 2
|
||||
#define OMAP3430ES2_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* CM_CLKSTCTRL_USBHOST */
|
||||
#define OMAP3430ES2_CLKTRCTRL_USBHOST_SHIFT 0
|
||||
#define OMAP3430ES2_CLKTRCTRL_USBHOST_MASK (3 << 0)
|
||||
|
||||
/* CM_CLKSTST_USBHOST */
|
||||
#define OMAP3430ES2_CLKACTIVITY_USBHOST_SHIFT 0
|
||||
#define OMAP3430ES2_CLKACTIVITY_USBHOST_MASK (1 << 0)
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
/* OMAP3XXX CM_CLKSTCTRL_*.CLKTRCTRL_* register bit values */
|
||||
#define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0
|
||||
#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1
|
||||
#define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2
|
||||
#define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3
|
||||
|
||||
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -20,8 +20,6 @@
|
|||
|
||||
#include "omap44xx.h"
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/* Physical address needed since MMU not enabled yet on secondary core */
|
||||
#define AUX_CORE_BOOT0_PA 0x48281800
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
|
|||
* @cpu : CPU ID
|
||||
* @power_state: CPU low power state.
|
||||
*/
|
||||
int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
|
||||
int omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
|
||||
{
|
||||
struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu);
|
||||
unsigned int cpu_state = 0;
|
||||
|
|
|
@ -51,7 +51,7 @@ void __iomem *omap4_get_scu_base(void)
|
|||
return scu_base;
|
||||
}
|
||||
|
||||
static void __cpuinit omap4_secondary_init(unsigned int cpu)
|
||||
static void omap4_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* Configure ACTRL and enable NS SMP bit access on CPU1 on HS device.
|
||||
|
@ -72,7 +72,7 @@ static void __cpuinit omap4_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
static struct clockdomain *cpu1_clkdm;
|
||||
static bool booted;
|
||||
|
|
|
@ -323,8 +323,8 @@ static void irq_save_secure_context(void)
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
static int __cpuinit irq_cpu_hotplug_notify(struct notifier_block *self,
|
||||
unsigned long action, void *hcpu)
|
||||
static int irq_cpu_hotplug_notify(struct notifier_block *self,
|
||||
unsigned long action, void *hcpu)
|
||||
{
|
||||
unsigned int cpu = (unsigned int)hcpu;
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
#include "cm1_54xx.h"
|
||||
#include "cm2_54xx.h"
|
||||
#include "prm54xx.h"
|
||||
#include "prm-regbits-54xx.h"
|
||||
#include "i2c.h"
|
||||
#include "mmc.h"
|
||||
#include "wd_timer.h"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
|
||||
#include "prcm-common.h"
|
||||
#include "prcm44xx.h"
|
||||
#include "prm-regbits-54xx.h"
|
||||
#include "prm54xx.h"
|
||||
#include "prcm_mpu54xx.h"
|
||||
|
||||
|
|
|
@ -16,274 +16,27 @@
|
|||
|
||||
#include "prm2xxx.h"
|
||||
|
||||
/* Bits shared between registers */
|
||||
|
||||
/* PRCM_IRQSTATUS_MPU, PM_IRQSTATUS_DSP, PRCM_IRQSTATUS_IVA shared bits */
|
||||
#define OMAP24XX_VOLTTRANS_ST_MASK (1 << 2)
|
||||
#define OMAP24XX_WKUP2_ST_MASK (1 << 1)
|
||||
#define OMAP24XX_WKUP1_ST_MASK (1 << 0)
|
||||
|
||||
/* PRCM_IRQENABLE_MPU, PM_IRQENABLE_DSP, PRCM_IRQENABLE_IVA shared bits */
|
||||
#define OMAP24XX_VOLTTRANS_EN_MASK (1 << 2)
|
||||
#define OMAP24XX_WKUP2_EN_MASK (1 << 1)
|
||||
#define OMAP24XX_WKUP1_EN_MASK (1 << 0)
|
||||
|
||||
/* PM_WKDEP_GFX, PM_WKDEP_MPU, PM_WKDEP_DSP, PM_WKDEP_MDM shared bits */
|
||||
#define OMAP24XX_EN_MPU_SHIFT 1
|
||||
#define OMAP24XX_EN_MPU_MASK (1 << 1)
|
||||
#define OMAP24XX_EN_CORE_SHIFT 0
|
||||
#define OMAP24XX_EN_CORE_MASK (1 << 0)
|
||||
|
||||
/*
|
||||
* PM_PWSTCTRL_MPU, PM_PWSTCTRL_GFX, PM_PWSTCTRL_DSP, PM_PWSTCTRL_MDM
|
||||
* shared bits
|
||||
*/
|
||||
#define OMAP24XX_MEMONSTATE_SHIFT 10
|
||||
#define OMAP24XX_MEMONSTATE_MASK (0x3 << 10)
|
||||
#define OMAP24XX_MEMRETSTATE_MASK (1 << 3)
|
||||
|
||||
/* PM_PWSTCTRL_GFX, PM_PWSTCTRL_DSP, PM_PWSTCTRL_MDM shared bits */
|
||||
#define OMAP24XX_FORCESTATE_MASK (1 << 18)
|
||||
|
||||
/*
|
||||
* PM_PWSTST_CORE, PM_PWSTST_GFX, PM_PWSTST_MPU, PM_PWSTST_DSP,
|
||||
* PM_PWSTST_MDM shared bits
|
||||
*/
|
||||
#define OMAP24XX_CLKACTIVITY_MASK (1 << 19)
|
||||
|
||||
/* PM_PWSTST_MPU, PM_PWSTST_CORE, PM_PWSTST_DSP shared bits */
|
||||
#define OMAP24XX_LASTSTATEENTERED_SHIFT 4
|
||||
#define OMAP24XX_LASTSTATEENTERED_MASK (0x3 << 4)
|
||||
|
||||
/* PM_PWSTST_MPU and PM_PWSTST_DSP shared bits */
|
||||
#define OMAP2430_MEMSTATEST_SHIFT 10
|
||||
#define OMAP2430_MEMSTATEST_MASK (0x3 << 10)
|
||||
|
||||
/* PM_PWSTST_GFX, PM_PWSTST_DSP, PM_PWSTST_MDM shared bits */
|
||||
#define OMAP24XX_POWERSTATEST_SHIFT 0
|
||||
#define OMAP24XX_POWERSTATEST_MASK (0x3 << 0)
|
||||
|
||||
|
||||
/* Bits specific to each register */
|
||||
|
||||
/* PRCM_REVISION */
|
||||
#define OMAP24XX_REV_SHIFT 0
|
||||
#define OMAP24XX_REV_MASK (0xff << 0)
|
||||
|
||||
/* PRCM_SYSCONFIG */
|
||||
#define OMAP24XX_AUTOIDLE_MASK (1 << 0)
|
||||
|
||||
/* PRCM_IRQSTATUS_MPU specific bits */
|
||||
#define OMAP2430_DPLL_RECAL_ST_MASK (1 << 6)
|
||||
#define OMAP24XX_TRANSITION_ST_MASK (1 << 5)
|
||||
#define OMAP24XX_EVGENOFF_ST_MASK (1 << 4)
|
||||
#define OMAP24XX_EVGENON_ST_MASK (1 << 3)
|
||||
|
||||
/* PRCM_IRQENABLE_MPU specific bits */
|
||||
#define OMAP2430_DPLL_RECAL_EN_MASK (1 << 6)
|
||||
#define OMAP24XX_TRANSITION_EN_MASK (1 << 5)
|
||||
#define OMAP24XX_EVGENOFF_EN_MASK (1 << 4)
|
||||
#define OMAP24XX_EVGENON_EN_MASK (1 << 3)
|
||||
|
||||
/* PRCM_VOLTCTRL */
|
||||
#define OMAP24XX_AUTO_EXTVOLT_MASK (1 << 15)
|
||||
#define OMAP24XX_FORCE_EXTVOLT_MASK (1 << 14)
|
||||
#define OMAP24XX_SETOFF_LEVEL_SHIFT 12
|
||||
#define OMAP24XX_SETOFF_LEVEL_MASK (0x3 << 12)
|
||||
#define OMAP24XX_MEMRETCTRL_MASK (1 << 8)
|
||||
#define OMAP24XX_SETRET_LEVEL_SHIFT 6
|
||||
#define OMAP24XX_SETRET_LEVEL_MASK (0x3 << 6)
|
||||
#define OMAP24XX_VOLT_LEVEL_SHIFT 0
|
||||
#define OMAP24XX_VOLT_LEVEL_MASK (0x3 << 0)
|
||||
|
||||
/* PRCM_VOLTST */
|
||||
#define OMAP24XX_ST_VOLTLEVEL_SHIFT 0
|
||||
#define OMAP24XX_ST_VOLTLEVEL_MASK (0x3 << 0)
|
||||
|
||||
/* PRCM_CLKSRC_CTRL specific bits */
|
||||
|
||||
/* PRCM_CLKOUT_CTRL */
|
||||
#define OMAP2420_CLKOUT2_EN_SHIFT 15
|
||||
#define OMAP2420_CLKOUT2_EN_MASK (1 << 15)
|
||||
#define OMAP2420_CLKOUT2_DIV_SHIFT 11
|
||||
#define OMAP2420_CLKOUT2_DIV_MASK (0x7 << 11)
|
||||
#define OMAP2420_CLKOUT2_DIV_WIDTH 3
|
||||
#define OMAP2420_CLKOUT2_SOURCE_SHIFT 8
|
||||
#define OMAP2420_CLKOUT2_SOURCE_MASK (0x3 << 8)
|
||||
#define OMAP24XX_CLKOUT_EN_SHIFT 7
|
||||
#define OMAP24XX_CLKOUT_EN_MASK (1 << 7)
|
||||
#define OMAP24XX_CLKOUT_DIV_SHIFT 3
|
||||
#define OMAP24XX_CLKOUT_DIV_MASK (0x7 << 3)
|
||||
#define OMAP24XX_CLKOUT_DIV_WIDTH 3
|
||||
#define OMAP24XX_CLKOUT_SOURCE_SHIFT 0
|
||||
#define OMAP24XX_CLKOUT_SOURCE_MASK (0x3 << 0)
|
||||
|
||||
/* PRCM_CLKEMUL_CTRL */
|
||||
#define OMAP24XX_EMULATION_EN_SHIFT 0
|
||||
#define OMAP24XX_EMULATION_EN_MASK (1 << 0)
|
||||
|
||||
/* PRCM_CLKCFG_CTRL */
|
||||
#define OMAP24XX_VALID_CONFIG_MASK (1 << 0)
|
||||
|
||||
/* PRCM_CLKCFG_STATUS */
|
||||
#define OMAP24XX_CONFIG_STATUS_MASK (1 << 0)
|
||||
|
||||
/* PRCM_VOLTSETUP specific bits */
|
||||
|
||||
/* PRCM_CLKSSETUP specific bits */
|
||||
|
||||
/* PRCM_POLCTRL */
|
||||
#define OMAP2420_CLKOUT2_POL_MASK (1 << 10)
|
||||
#define OMAP24XX_CLKOUT_POL_MASK (1 << 9)
|
||||
#define OMAP24XX_CLKREQ_POL_MASK (1 << 8)
|
||||
#define OMAP2430_USE_POWEROK_MASK (1 << 2)
|
||||
#define OMAP2430_POWEROK_POL_MASK (1 << 1)
|
||||
#define OMAP24XX_EXTVOL_POL_MASK (1 << 0)
|
||||
|
||||
/* RM_RSTST_MPU specific bits */
|
||||
/* 2430 calls GLOBALWMPU_RST "GLOBALWARM_RST" instead */
|
||||
|
||||
/* PM_WKDEP_MPU specific bits */
|
||||
#define OMAP2430_PM_WKDEP_MPU_EN_MDM_SHIFT 5
|
||||
#define OMAP2430_PM_WKDEP_MPU_EN_MDM_MASK (1 << 5)
|
||||
#define OMAP24XX_PM_WKDEP_MPU_EN_DSP_SHIFT 2
|
||||
#define OMAP24XX_PM_WKDEP_MPU_EN_DSP_MASK (1 << 2)
|
||||
|
||||
/* PM_EVGENCTRL_MPU specific bits */
|
||||
|
||||
/* PM_EVEGENONTIM_MPU specific bits */
|
||||
|
||||
/* PM_EVEGENOFFTIM_MPU specific bits */
|
||||
|
||||
/* PM_PWSTCTRL_MPU specific bits */
|
||||
#define OMAP2430_FORCESTATE_MASK (1 << 18)
|
||||
|
||||
/* PM_PWSTST_MPU specific bits */
|
||||
/* INTRANSITION, CLKACTIVITY, POWERSTATE, MEMSTATEST are 2430 only */
|
||||
|
||||
/* PM_WKEN1_CORE specific bits */
|
||||
|
||||
/* PM_WKEN2_CORE specific bits */
|
||||
|
||||
/* PM_WKST1_CORE specific bits*/
|
||||
|
||||
/* PM_WKST2_CORE specific bits */
|
||||
|
||||
/* PM_WKDEP_CORE specific bits*/
|
||||
#define OMAP2430_PM_WKDEP_CORE_EN_MDM_MASK (1 << 5)
|
||||
#define OMAP24XX_PM_WKDEP_CORE_EN_GFX_MASK (1 << 3)
|
||||
#define OMAP24XX_PM_WKDEP_CORE_EN_DSP_MASK (1 << 2)
|
||||
|
||||
/* PM_PWSTCTRL_CORE specific bits */
|
||||
#define OMAP24XX_MEMORYCHANGE_MASK (1 << 20)
|
||||
#define OMAP24XX_MEM3ONSTATE_SHIFT 14
|
||||
#define OMAP24XX_MEM3ONSTATE_MASK (0x3 << 14)
|
||||
#define OMAP24XX_MEM2ONSTATE_SHIFT 12
|
||||
#define OMAP24XX_MEM2ONSTATE_MASK (0x3 << 12)
|
||||
#define OMAP24XX_MEM1ONSTATE_SHIFT 10
|
||||
#define OMAP24XX_MEM1ONSTATE_MASK (0x3 << 10)
|
||||
#define OMAP24XX_MEM3RETSTATE_MASK (1 << 5)
|
||||
#define OMAP24XX_MEM2RETSTATE_MASK (1 << 4)
|
||||
#define OMAP24XX_MEM1RETSTATE_MASK (1 << 3)
|
||||
|
||||
/* PM_PWSTST_CORE specific bits */
|
||||
#define OMAP24XX_MEM3STATEST_SHIFT 14
|
||||
#define OMAP24XX_MEM3STATEST_MASK (0x3 << 14)
|
||||
#define OMAP24XX_MEM2STATEST_SHIFT 12
|
||||
#define OMAP24XX_MEM2STATEST_MASK (0x3 << 12)
|
||||
#define OMAP24XX_MEM1STATEST_SHIFT 10
|
||||
#define OMAP24XX_MEM1STATEST_MASK (0x3 << 10)
|
||||
|
||||
/* RM_RSTCTRL_GFX */
|
||||
#define OMAP24XX_GFX_RST_MASK (1 << 0)
|
||||
|
||||
/* RM_RSTST_GFX specific bits */
|
||||
#define OMAP24XX_GFX_SW_RST_MASK (1 << 4)
|
||||
|
||||
/* PM_PWSTCTRL_GFX specific bits */
|
||||
|
||||
/* PM_WKDEP_GFX specific bits */
|
||||
/* 2430 often calls EN_WAKEUP "EN_WKUP" */
|
||||
|
||||
/* RM_RSTCTRL_WKUP specific bits */
|
||||
|
||||
/* RM_RSTTIME_WKUP specific bits */
|
||||
|
||||
/* RM_RSTST_WKUP specific bits */
|
||||
/* 2430 calls EXTWMPU_RST "EXTWARM_RST" and GLOBALWMPU_RST "GLOBALWARM_RST" */
|
||||
#define OMAP24XX_EXTWMPU_RST_SHIFT 6
|
||||
#define OMAP24XX_EXTWMPU_RST_MASK (1 << 6)
|
||||
#define OMAP24XX_SECU_WD_RST_SHIFT 5
|
||||
#define OMAP24XX_SECU_WD_RST_MASK (1 << 5)
|
||||
#define OMAP24XX_MPU_WD_RST_SHIFT 4
|
||||
#define OMAP24XX_MPU_WD_RST_MASK (1 << 4)
|
||||
#define OMAP24XX_SECU_VIOL_RST_SHIFT 3
|
||||
#define OMAP24XX_SECU_VIOL_RST_MASK (1 << 3)
|
||||
|
||||
/* PM_WKEN_WKUP specific bits */
|
||||
|
||||
/* PM_WKST_WKUP specific bits */
|
||||
|
||||
/* RM_RSTCTRL_DSP */
|
||||
#define OMAP2420_RST_IVA_MASK (1 << 8)
|
||||
#define OMAP24XX_RST2_DSP_MASK (1 << 1)
|
||||
#define OMAP24XX_RST1_DSP_MASK (1 << 0)
|
||||
|
||||
/* RM_RSTST_DSP specific bits */
|
||||
/* 2430 calls GLOBALWMPU_RST "GLOBALWARM_RST" */
|
||||
#define OMAP2420_IVA_SW_RST_MASK (1 << 8)
|
||||
#define OMAP24XX_DSP_SW_RST2_MASK (1 << 5)
|
||||
#define OMAP24XX_DSP_SW_RST1_MASK (1 << 4)
|
||||
|
||||
/* PM_WKDEP_DSP specific bits */
|
||||
|
||||
/* PM_PWSTCTRL_DSP specific bits */
|
||||
/* 2430 only: MEMONSTATE, MEMRETSTATE */
|
||||
#define OMAP2420_MEMIONSTATE_SHIFT 12
|
||||
#define OMAP2420_MEMIONSTATE_MASK (0x3 << 12)
|
||||
#define OMAP2420_MEMIRETSTATE_MASK (1 << 4)
|
||||
|
||||
/* PM_PWSTST_DSP specific bits */
|
||||
/* MEMSTATEST is 2430 only */
|
||||
#define OMAP2420_MEMISTATEST_SHIFT 12
|
||||
#define OMAP2420_MEMISTATEST_MASK (0x3 << 12)
|
||||
|
||||
/* PRCM_IRQSTATUS_DSP specific bits */
|
||||
|
||||
/* PRCM_IRQENABLE_DSP specific bits */
|
||||
|
||||
/* RM_RSTCTRL_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_PWRON1_MDM_MASK (1 << 1)
|
||||
#define OMAP2430_RST1_MDM_MASK (1 << 0)
|
||||
|
||||
/* RM_RSTST_MDM specific bits */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_MDM_SECU_VIOL_MASK (1 << 6)
|
||||
#define OMAP2430_MDM_SW_PWRON1_MASK (1 << 5)
|
||||
#define OMAP2430_MDM_SW_RST1_MASK (1 << 4)
|
||||
|
||||
/* PM_WKEN_MDM */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_PM_WKEN_MDM_EN_MDM_MASK (1 << 0)
|
||||
|
||||
/* PM_WKST_MDM specific bits */
|
||||
/* 2430 only */
|
||||
|
||||
/* PM_WKDEP_MDM specific bits */
|
||||
/* 2430 only */
|
||||
|
||||
/* PM_PWSTCTRL_MDM specific bits */
|
||||
/* 2430 only */
|
||||
#define OMAP2430_KILLDOMAINWKUP_MASK (1 << 19)
|
||||
|
||||
/* PM_PWSTST_MDM specific bits */
|
||||
/* 2430 only */
|
||||
|
||||
/* PRCM_IRQSTATUS_IVA */
|
||||
/* 2420 only */
|
||||
|
||||
/* PRCM_IRQENABLE_IVA */
|
||||
/* 2420 only */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -18,340 +18,34 @@
|
|||
|
||||
#include "prm.h"
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_ABBOFF_ACT_EXPORT_SHIFT 1
|
||||
#define AM33XX_ABBOFF_ACT_EXPORT_MASK (1 << 1)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_ABBOFF_SLEEP_EXPORT_SHIFT 2
|
||||
#define AM33XX_ABBOFF_SLEEP_EXPORT_MASK (1 << 2)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_AIPOFF_SHIFT 8
|
||||
#define AM33XX_AIPOFF_MASK (1 << 8)
|
||||
|
||||
/* Used by PM_WKUP_PWRSTST */
|
||||
#define AM33XX_DEBUGSS_MEM_STATEST_SHIFT 17
|
||||
#define AM33XX_DEBUGSS_MEM_STATEST_MASK (0x3 << 17)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_DISABLE_RTA_EXPORT_SHIFT 0
|
||||
#define AM33XX_DISABLE_RTA_EXPORT_MASK (1 << 0)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_DPLL_CORE_RECAL_EN_SHIFT 12
|
||||
#define AM33XX_DPLL_CORE_RECAL_EN_MASK (1 << 12)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_DPLL_CORE_RECAL_ST_SHIFT 12
|
||||
#define AM33XX_DPLL_CORE_RECAL_ST_MASK (1 << 12)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_DPLL_DDR_RECAL_EN_SHIFT 14
|
||||
#define AM33XX_DPLL_DDR_RECAL_EN_MASK (1 << 14)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_DPLL_DDR_RECAL_ST_SHIFT 14
|
||||
#define AM33XX_DPLL_DDR_RECAL_ST_MASK (1 << 14)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_DPLL_DISP_RECAL_EN_SHIFT 15
|
||||
#define AM33XX_DPLL_DISP_RECAL_EN_MASK (1 << 15)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_DPLL_DISP_RECAL_ST_SHIFT 13
|
||||
#define AM33XX_DPLL_DISP_RECAL_ST_MASK (1 << 13)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_DPLL_MPU_RECAL_EN_SHIFT 11
|
||||
#define AM33XX_DPLL_MPU_RECAL_EN_MASK (1 << 11)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_DPLL_MPU_RECAL_ST_SHIFT 11
|
||||
#define AM33XX_DPLL_MPU_RECAL_ST_MASK (1 << 11)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_DPLL_PER_RECAL_EN_SHIFT 13
|
||||
#define AM33XX_DPLL_PER_RECAL_EN_MASK (1 << 13)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_DPLL_PER_RECAL_ST_SHIFT 15
|
||||
#define AM33XX_DPLL_PER_RECAL_ST_MASK (1 << 15)
|
||||
|
||||
/* Used by RM_WKUP_RSTST */
|
||||
#define AM33XX_EMULATION_M3_RST_SHIFT 6
|
||||
#define AM33XX_EMULATION_M3_RST_MASK (1 << 6)
|
||||
|
||||
/* Used by RM_MPU_RSTST */
|
||||
#define AM33XX_EMULATION_MPU_RST_SHIFT 5
|
||||
#define AM33XX_EMULATION_MPU_RST_MASK (1 << 5)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_ENFUNC1_EXPORT_SHIFT 3
|
||||
#define AM33XX_ENFUNC1_EXPORT_MASK (1 << 3)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_ENFUNC3_EXPORT_SHIFT 5
|
||||
#define AM33XX_ENFUNC3_EXPORT_MASK (1 << 5)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_ENFUNC4_SHIFT 6
|
||||
#define AM33XX_ENFUNC4_MASK (1 << 6)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_SETUP, PRM_LDO_SRAM_MPU_SETUP */
|
||||
#define AM33XX_ENFUNC5_SHIFT 7
|
||||
#define AM33XX_ENFUNC5_MASK (1 << 7)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_EXTERNAL_WARM_RST_SHIFT 5
|
||||
#define AM33XX_EXTERNAL_WARM_RST_MASK (1 << 5)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_FORCEWKUP_EN_SHIFT 10
|
||||
#define AM33XX_FORCEWKUP_EN_MASK (1 << 10)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_FORCEWKUP_ST_SHIFT 10
|
||||
#define AM33XX_FORCEWKUP_ST_MASK (1 << 10)
|
||||
|
||||
/* Used by PM_GFX_PWRSTCTRL */
|
||||
#define AM33XX_GFX_MEM_ONSTATE_SHIFT 17
|
||||
#define AM33XX_GFX_MEM_ONSTATE_MASK (0x3 << 17)
|
||||
|
||||
/* Used by PM_GFX_PWRSTCTRL */
|
||||
#define AM33XX_GFX_MEM_RETSTATE_SHIFT 6
|
||||
#define AM33XX_GFX_MEM_RETSTATE_MASK (1 << 6)
|
||||
|
||||
/* Used by PM_GFX_PWRSTST */
|
||||
#define AM33XX_GFX_MEM_STATEST_SHIFT 4
|
||||
#define AM33XX_GFX_MEM_STATEST_MASK (0x3 << 4)
|
||||
|
||||
/* Used by RM_GFX_RSTCTRL, RM_GFX_RSTST */
|
||||
#define AM33XX_GFX_RST_SHIFT 0
|
||||
#define AM33XX_GFX_RST_MASK (1 << 0)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_GLOBAL_COLD_RST_SHIFT 0
|
||||
#define AM33XX_GLOBAL_COLD_RST_MASK (1 << 0)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_GLOBAL_WARM_SW_RST_SHIFT 1
|
||||
#define AM33XX_GLOBAL_WARM_SW_RST_MASK (1 << 1)
|
||||
|
||||
/* Used by RM_WKUP_RSTST */
|
||||
#define AM33XX_ICECRUSHER_M3_RST_SHIFT 7
|
||||
#define AM33XX_ICECRUSHER_M3_RST_MASK (1 << 7)
|
||||
|
||||
/* Used by RM_MPU_RSTST */
|
||||
#define AM33XX_ICECRUSHER_MPU_RST_SHIFT 6
|
||||
#define AM33XX_ICECRUSHER_MPU_RST_MASK (1 << 6)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_ICEPICK_RST_SHIFT 9
|
||||
#define AM33XX_ICEPICK_RST_MASK (1 << 9)
|
||||
|
||||
/* Used by RM_PER_RSTCTRL */
|
||||
#define AM33XX_PRUSS_LRST_SHIFT 1
|
||||
#define AM33XX_PRUSS_LRST_MASK (1 << 1)
|
||||
|
||||
/* Used by PM_PER_PWRSTCTRL */
|
||||
#define AM33XX_PRUSS_MEM_ONSTATE_SHIFT 5
|
||||
#define AM33XX_PRUSS_MEM_ONSTATE_MASK (0x3 << 5)
|
||||
|
||||
/* Used by PM_PER_PWRSTCTRL */
|
||||
#define AM33XX_PRUSS_MEM_RETSTATE_SHIFT 7
|
||||
#define AM33XX_PRUSS_MEM_RETSTATE_MASK (1 << 7)
|
||||
|
||||
/* Used by PM_PER_PWRSTST */
|
||||
#define AM33XX_PRUSS_MEM_STATEST_SHIFT 23
|
||||
#define AM33XX_PRUSS_MEM_STATEST_MASK (0x3 << 23)
|
||||
|
||||
/*
|
||||
* Used by PM_GFX_PWRSTST, PM_CEFUSE_PWRSTST, PM_PER_PWRSTST, PM_MPU_PWRSTST,
|
||||
* PM_WKUP_PWRSTST, PM_RTC_PWRSTST
|
||||
*/
|
||||
#define AM33XX_INTRANSITION_SHIFT 20
|
||||
#define AM33XX_INTRANSITION_MASK (1 << 20)
|
||||
|
||||
/* Used by PM_CEFUSE_PWRSTST */
|
||||
#define AM33XX_LASTPOWERSTATEENTERED_SHIFT 24
|
||||
#define AM33XX_LASTPOWERSTATEENTERED_MASK (0x3 << 24)
|
||||
|
||||
/* Used by PM_GFX_PWRSTCTRL, PM_MPU_PWRSTCTRL, PM_RTC_PWRSTCTRL */
|
||||
#define AM33XX_LOGICRETSTATE_SHIFT 2
|
||||
#define AM33XX_LOGICRETSTATE_MASK (1 << 2)
|
||||
|
||||
/* Renamed from LOGICRETSTATE Used by PM_PER_PWRSTCTRL, PM_WKUP_PWRSTCTRL */
|
||||
#define AM33XX_LOGICRETSTATE_3_3_SHIFT 3
|
||||
#define AM33XX_LOGICRETSTATE_3_3_MASK (1 << 3)
|
||||
|
||||
/*
|
||||
* Used by PM_GFX_PWRSTST, PM_CEFUSE_PWRSTST, PM_PER_PWRSTST, PM_MPU_PWRSTST,
|
||||
* PM_WKUP_PWRSTST, PM_RTC_PWRSTST
|
||||
*/
|
||||
#define AM33XX_LOGICSTATEST_SHIFT 2
|
||||
#define AM33XX_LOGICSTATEST_MASK (1 << 2)
|
||||
|
||||
/*
|
||||
* Used by PM_GFX_PWRSTCTRL, PM_CEFUSE_PWRSTCTRL, PM_PER_PWRSTCTRL,
|
||||
* PM_MPU_PWRSTCTRL, PM_WKUP_PWRSTCTRL, PM_RTC_PWRSTCTRL
|
||||
*/
|
||||
#define AM33XX_LOWPOWERSTATECHANGE_SHIFT 4
|
||||
#define AM33XX_LOWPOWERSTATECHANGE_MASK (1 << 4)
|
||||
|
||||
/* Used by PM_MPU_PWRSTCTRL */
|
||||
#define AM33XX_MPU_L1_ONSTATE_SHIFT 18
|
||||
#define AM33XX_MPU_L1_ONSTATE_MASK (0x3 << 18)
|
||||
|
||||
/* Used by PM_MPU_PWRSTCTRL */
|
||||
#define AM33XX_MPU_L1_RETSTATE_SHIFT 22
|
||||
#define AM33XX_MPU_L1_RETSTATE_MASK (1 << 22)
|
||||
|
||||
/* Used by PM_MPU_PWRSTST */
|
||||
#define AM33XX_MPU_L1_STATEST_SHIFT 6
|
||||
#define AM33XX_MPU_L1_STATEST_MASK (0x3 << 6)
|
||||
|
||||
/* Used by PM_MPU_PWRSTCTRL */
|
||||
#define AM33XX_MPU_L2_ONSTATE_SHIFT 20
|
||||
#define AM33XX_MPU_L2_ONSTATE_MASK (0x3 << 20)
|
||||
|
||||
/* Used by PM_MPU_PWRSTCTRL */
|
||||
#define AM33XX_MPU_L2_RETSTATE_SHIFT 23
|
||||
#define AM33XX_MPU_L2_RETSTATE_MASK (1 << 23)
|
||||
|
||||
/* Used by PM_MPU_PWRSTST */
|
||||
#define AM33XX_MPU_L2_STATEST_SHIFT 8
|
||||
#define AM33XX_MPU_L2_STATEST_MASK (0x3 << 8)
|
||||
|
||||
/* Used by PM_MPU_PWRSTCTRL */
|
||||
#define AM33XX_MPU_RAM_ONSTATE_SHIFT 16
|
||||
#define AM33XX_MPU_RAM_ONSTATE_MASK (0x3 << 16)
|
||||
|
||||
/* Used by PM_MPU_PWRSTCTRL */
|
||||
#define AM33XX_MPU_RAM_RETSTATE_SHIFT 24
|
||||
#define AM33XX_MPU_RAM_RETSTATE_MASK (1 << 24)
|
||||
|
||||
/* Used by PM_MPU_PWRSTST */
|
||||
#define AM33XX_MPU_RAM_STATEST_SHIFT 4
|
||||
#define AM33XX_MPU_RAM_STATEST_MASK (0x3 << 4)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_MPU_SECURITY_VIOL_RST_SHIFT 2
|
||||
#define AM33XX_MPU_SECURITY_VIOL_RST_MASK (1 << 2)
|
||||
|
||||
/* Used by PRM_SRAM_COUNT */
|
||||
#define AM33XX_PCHARGECNT_VALUE_SHIFT 0
|
||||
#define AM33XX_PCHARGECNT_VALUE_MASK (0x3f << 0)
|
||||
|
||||
/* Used by RM_PER_RSTCTRL */
|
||||
#define AM33XX_PCI_LRST_SHIFT 0
|
||||
#define AM33XX_PCI_LRST_MASK (1 << 0)
|
||||
|
||||
/* Renamed from PCI_LRST Used by RM_PER_RSTST */
|
||||
#define AM33XX_PCI_LRST_5_5_SHIFT 5
|
||||
#define AM33XX_PCI_LRST_5_5_MASK (1 << 5)
|
||||
|
||||
/* Used by PM_PER_PWRSTCTRL */
|
||||
#define AM33XX_PER_MEM_ONSTATE_SHIFT 25
|
||||
#define AM33XX_PER_MEM_ONSTATE_MASK (0x3 << 25)
|
||||
|
||||
/* Used by PM_PER_PWRSTCTRL */
|
||||
#define AM33XX_PER_MEM_RETSTATE_SHIFT 29
|
||||
#define AM33XX_PER_MEM_RETSTATE_MASK (1 << 29)
|
||||
|
||||
/* Used by PM_PER_PWRSTST */
|
||||
#define AM33XX_PER_MEM_STATEST_SHIFT 17
|
||||
#define AM33XX_PER_MEM_STATEST_MASK (0x3 << 17)
|
||||
|
||||
/*
|
||||
* Used by PM_GFX_PWRSTCTRL, PM_CEFUSE_PWRSTCTRL, PM_PER_PWRSTCTRL,
|
||||
* PM_MPU_PWRSTCTRL
|
||||
*/
|
||||
#define AM33XX_POWERSTATE_SHIFT 0
|
||||
#define AM33XX_POWERSTATE_MASK (0x3 << 0)
|
||||
|
||||
/* Used by PM_GFX_PWRSTST, PM_CEFUSE_PWRSTST, PM_PER_PWRSTST, PM_MPU_PWRSTST */
|
||||
#define AM33XX_POWERSTATEST_SHIFT 0
|
||||
#define AM33XX_POWERSTATEST_MASK (0x3 << 0)
|
||||
|
||||
/* Used by PM_PER_PWRSTCTRL */
|
||||
#define AM33XX_RAM_MEM_ONSTATE_SHIFT 30
|
||||
#define AM33XX_RAM_MEM_ONSTATE_MASK (0x3 << 30)
|
||||
|
||||
/* Used by PM_PER_PWRSTCTRL */
|
||||
#define AM33XX_RAM_MEM_RETSTATE_SHIFT 27
|
||||
#define AM33XX_RAM_MEM_RETSTATE_MASK (1 << 27)
|
||||
|
||||
/* Used by PM_PER_PWRSTST */
|
||||
#define AM33XX_RAM_MEM_STATEST_SHIFT 21
|
||||
#define AM33XX_RAM_MEM_STATEST_MASK (0x3 << 21)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_CTRL, PRM_LDO_SRAM_MPU_CTRL */
|
||||
#define AM33XX_RETMODE_ENABLE_SHIFT 0
|
||||
#define AM33XX_RETMODE_ENABLE_MASK (1 << 0)
|
||||
|
||||
/* Used by REVISION_PRM */
|
||||
#define AM33XX_REV_SHIFT 0
|
||||
#define AM33XX_REV_MASK (0xff << 0)
|
||||
|
||||
/* Used by PRM_RSTTIME */
|
||||
#define AM33XX_RSTTIME1_SHIFT 0
|
||||
#define AM33XX_RSTTIME1_MASK (0xff << 0)
|
||||
|
||||
/* Used by PRM_RSTTIME */
|
||||
#define AM33XX_RSTTIME2_SHIFT 8
|
||||
#define AM33XX_RSTTIME2_MASK (0x1f << 8)
|
||||
|
||||
/* Used by PRM_RSTCTRL */
|
||||
#define AM33XX_RST_GLOBAL_COLD_SW_SHIFT 1
|
||||
#define AM33XX_RST_GLOBAL_COLD_SW_MASK (1 << 1)
|
||||
|
||||
/* Used by PRM_RSTCTRL */
|
||||
#define AM33XX_RST_GLOBAL_WARM_SW_SHIFT 0
|
||||
#define AM33XX_RST_GLOBAL_WARM_SW_MASK (1 << 0)
|
||||
|
||||
/* Used by PRM_SRAM_COUNT */
|
||||
#define AM33XX_SLPCNT_VALUE_SHIFT 16
|
||||
#define AM33XX_SLPCNT_VALUE_MASK (0xff << 16)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_CTRL, PRM_LDO_SRAM_MPU_CTRL */
|
||||
#define AM33XX_SRAMLDO_STATUS_SHIFT 8
|
||||
#define AM33XX_SRAMLDO_STATUS_MASK (1 << 8)
|
||||
|
||||
/* Used by PRM_LDO_SRAM_CORE_CTRL, PRM_LDO_SRAM_MPU_CTRL */
|
||||
#define AM33XX_SRAM_IN_TRANSITION_SHIFT 9
|
||||
#define AM33XX_SRAM_IN_TRANSITION_MASK (1 << 9)
|
||||
|
||||
/* Used by PRM_SRAM_COUNT */
|
||||
#define AM33XX_STARTUP_COUNT_SHIFT 24
|
||||
#define AM33XX_STARTUP_COUNT_MASK (0xff << 24)
|
||||
|
||||
/* Used by PRM_IRQENABLE_M3, PRM_IRQENABLE_MPU */
|
||||
#define AM33XX_TRANSITION_EN_SHIFT 8
|
||||
#define AM33XX_TRANSITION_EN_MASK (1 << 8)
|
||||
|
||||
/* Used by PRM_IRQSTATUS_M3, PRM_IRQSTATUS_MPU */
|
||||
#define AM33XX_TRANSITION_ST_SHIFT 8
|
||||
#define AM33XX_TRANSITION_ST_MASK (1 << 8)
|
||||
|
||||
/* Used by PRM_SRAM_COUNT */
|
||||
#define AM33XX_VSETUPCNT_VALUE_SHIFT 8
|
||||
#define AM33XX_VSETUPCNT_VALUE_MASK (0xff << 8)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_WDT0_RST_SHIFT 3
|
||||
#define AM33XX_WDT0_RST_MASK (1 << 3)
|
||||
|
||||
/* Used by PRM_RSTST */
|
||||
#define AM33XX_WDT1_RST_SHIFT 4
|
||||
#define AM33XX_WDT1_RST_MASK (1 << 4)
|
||||
|
||||
/* Used by RM_WKUP_RSTCTRL */
|
||||
#define AM33XX_WKUP_M3_LRST_SHIFT 3
|
||||
#define AM33XX_WKUP_M3_LRST_MASK (1 << 3)
|
||||
|
||||
/* Renamed from WKUP_M3_LRST Used by RM_WKUP_RSTST */
|
||||
#define AM33XX_WKUP_M3_LRST_5_5_SHIFT 5
|
||||
#define AM33XX_WKUP_M3_LRST_5_5_MASK (1 << 5)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -16,115 +16,25 @@
|
|||
|
||||
#include "prm3xxx.h"
|
||||
|
||||
/* Shared register bits */
|
||||
|
||||
/* PRM_VC_CMD_VAL_0, PRM_VC_CMD_VAL_1 shared bits */
|
||||
#define OMAP3430_ON_SHIFT 24
|
||||
#define OMAP3430_ON_MASK (0xff << 24)
|
||||
#define OMAP3430_ONLP_SHIFT 16
|
||||
#define OMAP3430_ONLP_MASK (0xff << 16)
|
||||
#define OMAP3430_RET_SHIFT 8
|
||||
#define OMAP3430_RET_MASK (0xff << 8)
|
||||
#define OMAP3430_OFF_SHIFT 0
|
||||
#define OMAP3430_OFF_MASK (0xff << 0)
|
||||
|
||||
/* PRM_VP1_CONFIG, PRM_VP2_CONFIG shared bits */
|
||||
#define OMAP3430_ERROROFFSET_SHIFT 24
|
||||
#define OMAP3430_ERROROFFSET_MASK (0xff << 24)
|
||||
#define OMAP3430_ERRORGAIN_SHIFT 16
|
||||
#define OMAP3430_ERRORGAIN_MASK (0xff << 16)
|
||||
#define OMAP3430_INITVOLTAGE_SHIFT 8
|
||||
#define OMAP3430_INITVOLTAGE_MASK (0xff << 8)
|
||||
#define OMAP3430_TIMEOUTEN_MASK (1 << 3)
|
||||
#define OMAP3430_INITVDD_MASK (1 << 2)
|
||||
#define OMAP3430_FORCEUPDATE_MASK (1 << 1)
|
||||
#define OMAP3430_VPENABLE_MASK (1 << 0)
|
||||
|
||||
/* PRM_VP1_VSTEPMIN, PRM_VP2_VSTEPMIN shared bits */
|
||||
#define OMAP3430_SMPSWAITTIMEMIN_SHIFT 8
|
||||
#define OMAP3430_SMPSWAITTIMEMIN_MASK (0xffff << 8)
|
||||
#define OMAP3430_VSTEPMIN_SHIFT 0
|
||||
#define OMAP3430_VSTEPMIN_MASK (0xff << 0)
|
||||
|
||||
/* PRM_VP1_VSTEPMAX, PRM_VP2_VSTEPMAX shared bits */
|
||||
#define OMAP3430_SMPSWAITTIMEMAX_SHIFT 8
|
||||
#define OMAP3430_SMPSWAITTIMEMAX_MASK (0xffff << 8)
|
||||
#define OMAP3430_VSTEPMAX_SHIFT 0
|
||||
#define OMAP3430_VSTEPMAX_MASK (0xff << 0)
|
||||
|
||||
/* PRM_VP1_VLIMITTO, PRM_VP2_VLIMITTO shared bits */
|
||||
#define OMAP3430_VDDMAX_SHIFT 24
|
||||
#define OMAP3430_VDDMAX_MASK (0xff << 24)
|
||||
#define OMAP3430_VDDMIN_SHIFT 16
|
||||
#define OMAP3430_VDDMIN_MASK (0xff << 16)
|
||||
#define OMAP3430_TIMEOUT_SHIFT 0
|
||||
#define OMAP3430_TIMEOUT_MASK (0xffff << 0)
|
||||
|
||||
/* PRM_VP1_VOLTAGE, PRM_VP2_VOLTAGE shared bits */
|
||||
#define OMAP3430_VPVOLTAGE_SHIFT 0
|
||||
#define OMAP3430_VPVOLTAGE_MASK (0xff << 0)
|
||||
|
||||
/* PRM_VP1_STATUS, PRM_VP2_STATUS shared bits */
|
||||
#define OMAP3430_VPINIDLE_MASK (1 << 0)
|
||||
|
||||
/* PM_WKDEP_IVA2, PM_WKDEP_MPU shared bits */
|
||||
#define OMAP3430_EN_PER_SHIFT 7
|
||||
#define OMAP3430_EN_PER_MASK (1 << 7)
|
||||
|
||||
/* PM_PWSTCTRL_IVA2, PM_PWSTCTRL_MPU, PM_PWSTCTRL_CORE shared bits */
|
||||
#define OMAP3430_MEMORYCHANGE_MASK (1 << 3)
|
||||
|
||||
/* PM_PWSTST_IVA2, PM_PWSTST_CORE shared bits */
|
||||
#define OMAP3430_LOGICSTATEST_MASK (1 << 2)
|
||||
|
||||
/* PM_PREPWSTST_IVA2, PM_PREPWSTST_CORE shared bits */
|
||||
#define OMAP3430_LASTLOGICSTATEENTERED_MASK (1 << 2)
|
||||
|
||||
/*
|
||||
* PM_PREPWSTST_IVA2, PM_PREPWSTST_MPU, PM_PREPWSTST_CORE,
|
||||
* PM_PREPWSTST_GFX, PM_PREPWSTST_DSS, PM_PREPWSTST_CAM,
|
||||
* PM_PREPWSTST_PER, PM_PREPWSTST_NEON shared bits
|
||||
*/
|
||||
#define OMAP3430_LASTPOWERSTATEENTERED_SHIFT 0
|
||||
#define OMAP3430_LASTPOWERSTATEENTERED_MASK (0x3 << 0)
|
||||
|
||||
/* PRM_IRQSTATUS_IVA2, PRM_IRQSTATUS_MPU shared bits */
|
||||
#define OMAP3430_WKUP_ST_MASK (1 << 0)
|
||||
|
||||
/* PRM_IRQENABLE_IVA2, PRM_IRQENABLE_MPU shared bits */
|
||||
#define OMAP3430_WKUP_EN_MASK (1 << 0)
|
||||
|
||||
/* PM_MPUGRPSEL1_CORE, PM_IVA2GRPSEL1_CORE shared bits */
|
||||
#define OMAP3430_GRPSEL_MMC2_MASK (1 << 25)
|
||||
#define OMAP3430_GRPSEL_MMC1_MASK (1 << 24)
|
||||
#define OMAP3430_GRPSEL_MCSPI4_MASK (1 << 21)
|
||||
#define OMAP3430_GRPSEL_MCSPI3_MASK (1 << 20)
|
||||
#define OMAP3430_GRPSEL_MCSPI2_MASK (1 << 19)
|
||||
#define OMAP3430_GRPSEL_MCSPI1_MASK (1 << 18)
|
||||
#define OMAP3430_GRPSEL_I2C3_SHIFT 17
|
||||
#define OMAP3430_GRPSEL_I2C3_MASK (1 << 17)
|
||||
#define OMAP3430_GRPSEL_I2C2_SHIFT 16
|
||||
#define OMAP3430_GRPSEL_I2C2_MASK (1 << 16)
|
||||
#define OMAP3430_GRPSEL_I2C1_SHIFT 15
|
||||
#define OMAP3430_GRPSEL_I2C1_MASK (1 << 15)
|
||||
#define OMAP3430_GRPSEL_UART2_MASK (1 << 14)
|
||||
#define OMAP3430_GRPSEL_UART1_MASK (1 << 13)
|
||||
#define OMAP3430_GRPSEL_GPT11_MASK (1 << 12)
|
||||
#define OMAP3430_GRPSEL_GPT10_MASK (1 << 11)
|
||||
#define OMAP3430_GRPSEL_MCBSP5_MASK (1 << 10)
|
||||
#define OMAP3430_GRPSEL_MCBSP1_MASK (1 << 9)
|
||||
#define OMAP3430_GRPSEL_HSOTGUSB_MASK (1 << 4)
|
||||
#define OMAP3430_GRPSEL_D2D_MASK (1 << 3)
|
||||
|
||||
/*
|
||||
* PM_PWSTCTRL_GFX, PM_PWSTCTRL_DSS, PM_PWSTCTRL_CAM,
|
||||
* PM_PWSTCTRL_PER shared bits
|
||||
*/
|
||||
#define OMAP3430_MEMONSTATE_SHIFT 16
|
||||
#define OMAP3430_MEMONSTATE_MASK (0x3 << 16)
|
||||
#define OMAP3430_MEMRETSTATE_MASK (1 << 8)
|
||||
|
||||
/* PM_MPUGRPSEL_PER, PM_IVA2GRPSEL_PER shared bits */
|
||||
#define OMAP3630_GRPSEL_UART4_MASK (1 << 18)
|
||||
#define OMAP3430_GRPSEL_GPIO6_MASK (1 << 17)
|
||||
#define OMAP3430_GRPSEL_GPIO5_MASK (1 << 16)
|
||||
|
@ -132,480 +42,89 @@
|
|||
#define OMAP3430_GRPSEL_GPIO3_MASK (1 << 14)
|
||||
#define OMAP3430_GRPSEL_GPIO2_MASK (1 << 13)
|
||||
#define OMAP3430_GRPSEL_UART3_MASK (1 << 11)
|
||||
#define OMAP3430_GRPSEL_GPT9_MASK (1 << 10)
|
||||
#define OMAP3430_GRPSEL_GPT8_MASK (1 << 9)
|
||||
#define OMAP3430_GRPSEL_GPT7_MASK (1 << 8)
|
||||
#define OMAP3430_GRPSEL_GPT6_MASK (1 << 7)
|
||||
#define OMAP3430_GRPSEL_GPT5_MASK (1 << 6)
|
||||
#define OMAP3430_GRPSEL_GPT4_MASK (1 << 5)
|
||||
#define OMAP3430_GRPSEL_GPT3_MASK (1 << 4)
|
||||
#define OMAP3430_GRPSEL_GPT2_MASK (1 << 3)
|
||||
#define OMAP3430_GRPSEL_MCBSP4_MASK (1 << 2)
|
||||
#define OMAP3430_GRPSEL_MCBSP3_MASK (1 << 1)
|
||||
#define OMAP3430_GRPSEL_MCBSP2_MASK (1 << 0)
|
||||
|
||||
/* PM_MPUGRPSEL_WKUP, PM_IVA2GRPSEL_WKUP shared bits */
|
||||
#define OMAP3430_GRPSEL_IO_MASK (1 << 8)
|
||||
#define OMAP3430_GRPSEL_SR2_MASK (1 << 7)
|
||||
#define OMAP3430_GRPSEL_SR1_MASK (1 << 6)
|
||||
#define OMAP3430_GRPSEL_GPIO1_MASK (1 << 3)
|
||||
#define OMAP3430_GRPSEL_GPT12_MASK (1 << 1)
|
||||
#define OMAP3430_GRPSEL_GPT1_MASK (1 << 0)
|
||||
|
||||
/* Bits specific to each register */
|
||||
|
||||
/* RM_RSTCTRL_IVA2 */
|
||||
#define OMAP3430_RST3_IVA2_MASK (1 << 2)
|
||||
#define OMAP3430_RST2_IVA2_MASK (1 << 1)
|
||||
#define OMAP3430_RST1_IVA2_MASK (1 << 0)
|
||||
|
||||
/* RM_RSTST_IVA2 specific bits */
|
||||
#define OMAP3430_EMULATION_VSEQ_RST_MASK (1 << 13)
|
||||
#define OMAP3430_EMULATION_VHWA_RST_MASK (1 << 12)
|
||||
#define OMAP3430_EMULATION_IVA2_RST_MASK (1 << 11)
|
||||
#define OMAP3430_IVA2_SW_RST3_MASK (1 << 10)
|
||||
#define OMAP3430_IVA2_SW_RST2_MASK (1 << 9)
|
||||
#define OMAP3430_IVA2_SW_RST1_MASK (1 << 8)
|
||||
|
||||
/* PM_WKDEP_IVA2 specific bits */
|
||||
|
||||
/* PM_PWSTCTRL_IVA2 specific bits */
|
||||
#define OMAP3430_L2FLATMEMONSTATE_SHIFT 22
|
||||
#define OMAP3430_L2FLATMEMONSTATE_MASK (0x3 << 22)
|
||||
#define OMAP3430_SHAREDL2CACHEFLATONSTATE_SHIFT 20
|
||||
#define OMAP3430_SHAREDL2CACHEFLATONSTATE_MASK (0x3 << 20)
|
||||
#define OMAP3430_L1FLATMEMONSTATE_SHIFT 18
|
||||
#define OMAP3430_L1FLATMEMONSTATE_MASK (0x3 << 18)
|
||||
#define OMAP3430_SHAREDL1CACHEFLATONSTATE_SHIFT 16
|
||||
#define OMAP3430_SHAREDL1CACHEFLATONSTATE_MASK (0x3 << 16)
|
||||
#define OMAP3430_L2FLATMEMRETSTATE_MASK (1 << 11)
|
||||
#define OMAP3430_SHAREDL2CACHEFLATRETSTATE_MASK (1 << 10)
|
||||
#define OMAP3430_L1FLATMEMRETSTATE_MASK (1 << 9)
|
||||
#define OMAP3430_SHAREDL1CACHEFLATRETSTATE_MASK (1 << 8)
|
||||
|
||||
/* PM_PWSTST_IVA2 specific bits */
|
||||
#define OMAP3430_L2FLATMEMSTATEST_SHIFT 10
|
||||
#define OMAP3430_L2FLATMEMSTATEST_MASK (0x3 << 10)
|
||||
#define OMAP3430_SHAREDL2CACHEFLATSTATEST_SHIFT 8
|
||||
#define OMAP3430_SHAREDL2CACHEFLATSTATEST_MASK (0x3 << 8)
|
||||
#define OMAP3430_L1FLATMEMSTATEST_SHIFT 6
|
||||
#define OMAP3430_L1FLATMEMSTATEST_MASK (0x3 << 6)
|
||||
#define OMAP3430_SHAREDL1CACHEFLATSTATEST_SHIFT 4
|
||||
#define OMAP3430_SHAREDL1CACHEFLATSTATEST_MASK (0x3 << 4)
|
||||
|
||||
/* PM_PREPWSTST_IVA2 specific bits */
|
||||
#define OMAP3430_LASTL2FLATMEMSTATEENTERED_SHIFT 10
|
||||
#define OMAP3430_LASTL2FLATMEMSTATEENTERED_MASK (0x3 << 10)
|
||||
#define OMAP3430_LASTSHAREDL2CACHEFLATSTATEENTERED_SHIFT 8
|
||||
#define OMAP3430_LASTSHAREDL2CACHEFLATSTATEENTERED_MASK (0x3 << 8)
|
||||
#define OMAP3430_LASTL1FLATMEMSTATEENTERED_SHIFT 6
|
||||
#define OMAP3430_LASTL1FLATMEMSTATEENTERED_MASK (0x3 << 6)
|
||||
#define OMAP3430_LASTSHAREDL1CACHEFLATSTATEENTERED_SHIFT 4
|
||||
#define OMAP3430_LASTSHAREDL1CACHEFLATSTATEENTERED_MASK (0x3 << 4)
|
||||
|
||||
/* PRM_IRQSTATUS_IVA2 specific bits */
|
||||
#define OMAP3430_PRM_IRQSTATUS_IVA2_IVA2_DPLL_ST_MASK (1 << 2)
|
||||
#define OMAP3430_FORCEWKUP_ST_MASK (1 << 1)
|
||||
|
||||
/* PRM_IRQENABLE_IVA2 specific bits */
|
||||
#define OMAP3430_PRM_IRQENABLE_IVA2_IVA2_DPLL_RECAL_EN_MASK (1 << 2)
|
||||
#define OMAP3430_FORCEWKUP_EN_MASK (1 << 1)
|
||||
|
||||
/* PRM_REVISION specific bits */
|
||||
|
||||
/* PRM_SYSCONFIG specific bits */
|
||||
|
||||
/* PRM_IRQSTATUS_MPU specific bits */
|
||||
#define OMAP3430ES2_SND_PERIPH_DPLL_ST_SHIFT 25
|
||||
#define OMAP3430ES2_SND_PERIPH_DPLL_ST_MASK (1 << 25)
|
||||
#define OMAP3430_VC_TIMEOUTERR_ST_MASK (1 << 24)
|
||||
#define OMAP3430_VC_RAERR_ST_MASK (1 << 23)
|
||||
#define OMAP3430_VC_SAERR_ST_MASK (1 << 22)
|
||||
#define OMAP3430_VP2_TRANXDONE_ST_MASK (1 << 21)
|
||||
#define OMAP3430_VP2_EQVALUE_ST_MASK (1 << 20)
|
||||
#define OMAP3430_VP2_NOSMPSACK_ST_MASK (1 << 19)
|
||||
#define OMAP3430_VP2_MAXVDD_ST_MASK (1 << 18)
|
||||
#define OMAP3430_VP2_MINVDD_ST_MASK (1 << 17)
|
||||
#define OMAP3430_VP2_OPPCHANGEDONE_ST_MASK (1 << 16)
|
||||
#define OMAP3430_VP1_TRANXDONE_ST_MASK (1 << 15)
|
||||
#define OMAP3430_VP1_EQVALUE_ST_MASK (1 << 14)
|
||||
#define OMAP3430_VP1_NOSMPSACK_ST_MASK (1 << 13)
|
||||
#define OMAP3430_VP1_MAXVDD_ST_MASK (1 << 12)
|
||||
#define OMAP3430_VP1_MINVDD_ST_MASK (1 << 11)
|
||||
#define OMAP3430_VP1_OPPCHANGEDONE_ST_MASK (1 << 10)
|
||||
#define OMAP3430_IO_ST_MASK (1 << 9)
|
||||
#define OMAP3430_PRM_IRQSTATUS_MPU_IVA2_DPLL_ST_MASK (1 << 8)
|
||||
#define OMAP3430_PRM_IRQSTATUS_MPU_IVA2_DPLL_ST_SHIFT 8
|
||||
#define OMAP3430_MPU_DPLL_ST_MASK (1 << 7)
|
||||
#define OMAP3430_MPU_DPLL_ST_SHIFT 7
|
||||
#define OMAP3430_PERIPH_DPLL_ST_MASK (1 << 6)
|
||||
#define OMAP3430_PERIPH_DPLL_ST_SHIFT 6
|
||||
#define OMAP3430_CORE_DPLL_ST_MASK (1 << 5)
|
||||
#define OMAP3430_CORE_DPLL_ST_SHIFT 5
|
||||
#define OMAP3430_TRANSITION_ST_MASK (1 << 4)
|
||||
#define OMAP3430_EVGENOFF_ST_MASK (1 << 3)
|
||||
#define OMAP3430_EVGENON_ST_MASK (1 << 2)
|
||||
#define OMAP3430_FS_USB_WKUP_ST_MASK (1 << 1)
|
||||
|
||||
/* PRM_IRQENABLE_MPU specific bits */
|
||||
#define OMAP3430ES2_SND_PERIPH_DPLL_RECAL_EN_SHIFT 25
|
||||
#define OMAP3430ES2_SND_PERIPH_DPLL_RECAL_EN_MASK (1 << 25)
|
||||
#define OMAP3430_VC_TIMEOUTERR_EN_MASK (1 << 24)
|
||||
#define OMAP3430_VC_RAERR_EN_MASK (1 << 23)
|
||||
#define OMAP3430_VC_SAERR_EN_MASK (1 << 22)
|
||||
#define OMAP3430_VP2_TRANXDONE_EN_MASK (1 << 21)
|
||||
#define OMAP3430_VP2_EQVALUE_EN_MASK (1 << 20)
|
||||
#define OMAP3430_VP2_NOSMPSACK_EN_MASK (1 << 19)
|
||||
#define OMAP3430_VP2_MAXVDD_EN_MASK (1 << 18)
|
||||
#define OMAP3430_VP2_MINVDD_EN_MASK (1 << 17)
|
||||
#define OMAP3430_VP2_OPPCHANGEDONE_EN_MASK (1 << 16)
|
||||
#define OMAP3430_VP1_TRANXDONE_EN_MASK (1 << 15)
|
||||
#define OMAP3430_VP1_EQVALUE_EN_MASK (1 << 14)
|
||||
#define OMAP3430_VP1_NOSMPSACK_EN_MASK (1 << 13)
|
||||
#define OMAP3430_VP1_MAXVDD_EN_MASK (1 << 12)
|
||||
#define OMAP3430_VP1_MINVDD_EN_MASK (1 << 11)
|
||||
#define OMAP3430_VP1_OPPCHANGEDONE_EN_MASK (1 << 10)
|
||||
#define OMAP3430_IO_EN_MASK (1 << 9)
|
||||
#define OMAP3430_PRM_IRQENABLE_MPU_IVA2_DPLL_RECAL_EN_MASK (1 << 8)
|
||||
#define OMAP3430_PRM_IRQENABLE_MPU_IVA2_DPLL_RECAL_EN_SHIFT 8
|
||||
#define OMAP3430_MPU_DPLL_RECAL_EN_MASK (1 << 7)
|
||||
#define OMAP3430_MPU_DPLL_RECAL_EN_SHIFT 7
|
||||
#define OMAP3430_PERIPH_DPLL_RECAL_EN_MASK (1 << 6)
|
||||
#define OMAP3430_PERIPH_DPLL_RECAL_EN_SHIFT 6
|
||||
#define OMAP3430_CORE_DPLL_RECAL_EN_MASK (1 << 5)
|
||||
#define OMAP3430_CORE_DPLL_RECAL_EN_SHIFT 5
|
||||
#define OMAP3430_TRANSITION_EN_MASK (1 << 4)
|
||||
#define OMAP3430_EVGENOFF_EN_MASK (1 << 3)
|
||||
#define OMAP3430_EVGENON_EN_MASK (1 << 2)
|
||||
#define OMAP3430_FS_USB_WKUP_EN_MASK (1 << 1)
|
||||
|
||||
/* RM_RSTST_MPU specific bits */
|
||||
#define OMAP3430_EMULATION_MPU_RST_MASK (1 << 11)
|
||||
|
||||
/* PM_WKDEP_MPU specific bits */
|
||||
#define OMAP3430_PM_WKDEP_MPU_EN_DSS_SHIFT 5
|
||||
#define OMAP3430_PM_WKDEP_MPU_EN_DSS_MASK (1 << 5)
|
||||
#define OMAP3430_PM_WKDEP_MPU_EN_IVA2_SHIFT 2
|
||||
#define OMAP3430_PM_WKDEP_MPU_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* PM_EVGENCTRL_MPU */
|
||||
#define OMAP3430_OFFLOADMODE_SHIFT 3
|
||||
#define OMAP3430_OFFLOADMODE_MASK (0x3 << 3)
|
||||
#define OMAP3430_ONLOADMODE_SHIFT 1
|
||||
#define OMAP3430_ONLOADMODE_MASK (0x3 << 1)
|
||||
#define OMAP3430_ENABLE_MASK (1 << 0)
|
||||
|
||||
/* PM_EVGENONTIM_MPU */
|
||||
#define OMAP3430_ONTIMEVAL_SHIFT 0
|
||||
#define OMAP3430_ONTIMEVAL_MASK (0xffffffff << 0)
|
||||
|
||||
/* PM_EVGENOFFTIM_MPU */
|
||||
#define OMAP3430_OFFTIMEVAL_SHIFT 0
|
||||
#define OMAP3430_OFFTIMEVAL_MASK (0xffffffff << 0)
|
||||
|
||||
/* PM_PWSTCTRL_MPU specific bits */
|
||||
#define OMAP3430_L2CACHEONSTATE_SHIFT 16
|
||||
#define OMAP3430_L2CACHEONSTATE_MASK (0x3 << 16)
|
||||
#define OMAP3430_L2CACHERETSTATE_MASK (1 << 8)
|
||||
#define OMAP3430_LOGICL1CACHERETSTATE_MASK (1 << 2)
|
||||
|
||||
/* PM_PWSTST_MPU specific bits */
|
||||
#define OMAP3430_L2CACHESTATEST_SHIFT 6
|
||||
#define OMAP3430_L2CACHESTATEST_MASK (0x3 << 6)
|
||||
#define OMAP3430_LOGICL1CACHESTATEST_MASK (1 << 2)
|
||||
|
||||
/* PM_PREPWSTST_MPU specific bits */
|
||||
#define OMAP3430_LASTL2CACHESTATEENTERED_SHIFT 6
|
||||
#define OMAP3430_LASTL2CACHESTATEENTERED_MASK (0x3 << 6)
|
||||
#define OMAP3430_LASTLOGICL1CACHESTATEENTERED_MASK (1 << 2)
|
||||
|
||||
/* RM_RSTCTRL_CORE */
|
||||
#define OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RSTPWRON_MASK (1 << 1)
|
||||
#define OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RST_MASK (1 << 0)
|
||||
|
||||
/* RM_RSTST_CORE specific bits */
|
||||
#define OMAP3430_MODEM_SECURITY_VIOL_RST_MASK (1 << 10)
|
||||
#define OMAP3430_RM_RSTST_CORE_MODEM_SW_RSTPWRON_MASK (1 << 9)
|
||||
#define OMAP3430_RM_RSTST_CORE_MODEM_SW_RST_MASK (1 << 8)
|
||||
|
||||
/* PM_WKEN1_CORE specific bits */
|
||||
|
||||
/* PM_MPUGRPSEL1_CORE specific bits */
|
||||
#define OMAP3430_GRPSEL_FSHOSTUSB_MASK (1 << 5)
|
||||
|
||||
/* PM_IVA2GRPSEL1_CORE specific bits */
|
||||
|
||||
/* PM_WKST1_CORE specific bits */
|
||||
|
||||
/* PM_PWSTCTRL_CORE specific bits */
|
||||
#define OMAP3430_MEM2ONSTATE_SHIFT 18
|
||||
#define OMAP3430_MEM2ONSTATE_MASK (0x3 << 18)
|
||||
#define OMAP3430_MEM1ONSTATE_SHIFT 16
|
||||
#define OMAP3430_MEM1ONSTATE_MASK (0x3 << 16)
|
||||
#define OMAP3430_MEM2RETSTATE_MASK (1 << 9)
|
||||
#define OMAP3430_MEM1RETSTATE_MASK (1 << 8)
|
||||
|
||||
/* PM_PWSTST_CORE specific bits */
|
||||
#define OMAP3430_MEM2STATEST_SHIFT 6
|
||||
#define OMAP3430_MEM2STATEST_MASK (0x3 << 6)
|
||||
#define OMAP3430_MEM1STATEST_SHIFT 4
|
||||
#define OMAP3430_MEM1STATEST_MASK (0x3 << 4)
|
||||
|
||||
/* PM_PREPWSTST_CORE specific bits */
|
||||
#define OMAP3430_LASTMEM2STATEENTERED_SHIFT 6
|
||||
#define OMAP3430_LASTMEM2STATEENTERED_MASK (0x3 << 6)
|
||||
#define OMAP3430_LASTMEM1STATEENTERED_SHIFT 4
|
||||
#define OMAP3430_LASTMEM1STATEENTERED_MASK (0x3 << 4)
|
||||
|
||||
/* RM_RSTST_GFX specific bits */
|
||||
|
||||
/* PM_WKDEP_GFX specific bits */
|
||||
#define OMAP3430_PM_WKDEP_GFX_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* PM_PWSTCTRL_GFX specific bits */
|
||||
|
||||
/* PM_PWSTST_GFX specific bits */
|
||||
|
||||
/* PM_PREPWSTST_GFX specific bits */
|
||||
|
||||
/* PM_WKEN_WKUP specific bits */
|
||||
#define OMAP3430_EN_IO_CHAIN_MASK (1 << 16)
|
||||
#define OMAP3430_EN_IO_MASK (1 << 8)
|
||||
#define OMAP3430_EN_GPIO1_MASK (1 << 3)
|
||||
|
||||
/* PM_MPUGRPSEL_WKUP specific bits */
|
||||
|
||||
/* PM_IVA2GRPSEL_WKUP specific bits */
|
||||
|
||||
/* PM_WKST_WKUP specific bits */
|
||||
#define OMAP3430_ST_IO_CHAIN_MASK (1 << 16)
|
||||
#define OMAP3430_ST_IO_MASK (1 << 8)
|
||||
|
||||
/* PRM_CLKSEL */
|
||||
#define OMAP3430_SYS_CLKIN_SEL_SHIFT 0
|
||||
#define OMAP3430_SYS_CLKIN_SEL_MASK (0x7 << 0)
|
||||
#define OMAP3430_SYS_CLKIN_SEL_WIDTH 3
|
||||
|
||||
/* PRM_CLKOUT_CTRL */
|
||||
#define OMAP3430_CLKOUT_EN_MASK (1 << 7)
|
||||
#define OMAP3430_CLKOUT_EN_SHIFT 7
|
||||
|
||||
/* RM_RSTST_DSS specific bits */
|
||||
|
||||
/* PM_WKEN_DSS */
|
||||
#define OMAP3430_PM_WKEN_DSS_EN_DSS_MASK (1 << 0)
|
||||
|
||||
/* PM_WKDEP_DSS specific bits */
|
||||
#define OMAP3430_PM_WKDEP_DSS_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* PM_PWSTCTRL_DSS specific bits */
|
||||
|
||||
/* PM_PWSTST_DSS specific bits */
|
||||
|
||||
/* PM_PREPWSTST_DSS specific bits */
|
||||
|
||||
/* RM_RSTST_CAM specific bits */
|
||||
|
||||
/* PM_WKDEP_CAM specific bits */
|
||||
#define OMAP3430_PM_WKDEP_CAM_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* PM_PWSTCTRL_CAM specific bits */
|
||||
|
||||
/* PM_PWSTST_CAM specific bits */
|
||||
|
||||
/* PM_PREPWSTST_CAM specific bits */
|
||||
|
||||
/* PM_PWSTCTRL_USBHOST specific bits */
|
||||
#define OMAP3430ES2_SAVEANDRESTORE_SHIFT 4
|
||||
|
||||
/* RM_RSTST_PER specific bits */
|
||||
|
||||
/* PM_WKEN_PER specific bits */
|
||||
|
||||
/* PM_MPUGRPSEL_PER specific bits */
|
||||
|
||||
/* PM_IVA2GRPSEL_PER specific bits */
|
||||
|
||||
/* PM_WKST_PER specific bits */
|
||||
|
||||
/* PM_WKDEP_PER specific bits */
|
||||
#define OMAP3430_PM_WKDEP_PER_EN_IVA2_MASK (1 << 2)
|
||||
|
||||
/* PM_PWSTCTRL_PER specific bits */
|
||||
|
||||
/* PM_PWSTST_PER specific bits */
|
||||
|
||||
/* PM_PREPWSTST_PER specific bits */
|
||||
|
||||
/* RM_RSTST_EMU specific bits */
|
||||
|
||||
/* PM_PWSTST_EMU specific bits */
|
||||
|
||||
/* PRM_VC_SMPS_SA */
|
||||
#define OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT 16
|
||||
#define OMAP3430_PRM_VC_SMPS_SA_SA1_MASK (0x7f << 16)
|
||||
#define OMAP3430_PRM_VC_SMPS_SA_SA0_SHIFT 0
|
||||
#define OMAP3430_PRM_VC_SMPS_SA_SA0_MASK (0x7f << 0)
|
||||
|
||||
/* PRM_VC_SMPS_VOL_RA */
|
||||
#define OMAP3430_VOLRA1_SHIFT 16
|
||||
#define OMAP3430_VOLRA1_MASK (0xff << 16)
|
||||
#define OMAP3430_VOLRA0_SHIFT 0
|
||||
#define OMAP3430_VOLRA0_MASK (0xff << 0)
|
||||
|
||||
/* PRM_VC_SMPS_CMD_RA */
|
||||
#define OMAP3430_CMDRA1_SHIFT 16
|
||||
#define OMAP3430_CMDRA1_MASK (0xff << 16)
|
||||
#define OMAP3430_CMDRA0_SHIFT 0
|
||||
#define OMAP3430_CMDRA0_MASK (0xff << 0)
|
||||
|
||||
/* PRM_VC_CMD_VAL_0 specific bits */
|
||||
#define OMAP3430_VC_CMD_ON_SHIFT 24
|
||||
#define OMAP3430_VC_CMD_ON_MASK (0xFF << 24)
|
||||
#define OMAP3430_VC_CMD_ONLP_SHIFT 16
|
||||
#define OMAP3430_VC_CMD_ONLP_MASK (0xFF << 16)
|
||||
#define OMAP3430_VC_CMD_RET_SHIFT 8
|
||||
#define OMAP3430_VC_CMD_RET_MASK (0xFF << 8)
|
||||
#define OMAP3430_VC_CMD_OFF_SHIFT 0
|
||||
#define OMAP3430_VC_CMD_OFF_MASK (0xFF << 0)
|
||||
|
||||
/* PRM_VC_CMD_VAL_1 specific bits */
|
||||
|
||||
/* PRM_VC_CH_CONF */
|
||||
#define OMAP3430_CMD1_MASK (1 << 20)
|
||||
#define OMAP3430_RACEN1_MASK (1 << 19)
|
||||
#define OMAP3430_RAC1_MASK (1 << 18)
|
||||
#define OMAP3430_RAV1_MASK (1 << 17)
|
||||
#define OMAP3430_PRM_VC_CH_CONF_SA1_MASK (1 << 16)
|
||||
#define OMAP3430_CMD0_MASK (1 << 4)
|
||||
#define OMAP3430_RACEN0_MASK (1 << 3)
|
||||
#define OMAP3430_RAC0_MASK (1 << 2)
|
||||
#define OMAP3430_RAV0_MASK (1 << 1)
|
||||
#define OMAP3430_PRM_VC_CH_CONF_SA0_MASK (1 << 0)
|
||||
|
||||
/* PRM_VC_I2C_CFG */
|
||||
#define OMAP3430_HSMASTER_MASK (1 << 5)
|
||||
#define OMAP3430_SREN_MASK (1 << 4)
|
||||
#define OMAP3430_HSEN_MASK (1 << 3)
|
||||
#define OMAP3430_MCODE_SHIFT 0
|
||||
#define OMAP3430_MCODE_MASK (0x7 << 0)
|
||||
|
||||
/* PRM_VC_BYPASS_VAL */
|
||||
#define OMAP3430_VALID_MASK (1 << 24)
|
||||
#define OMAP3430_DATA_SHIFT 16
|
||||
#define OMAP3430_DATA_MASK (0xff << 16)
|
||||
#define OMAP3430_REGADDR_SHIFT 8
|
||||
#define OMAP3430_REGADDR_MASK (0xff << 8)
|
||||
#define OMAP3430_SLAVEADDR_SHIFT 0
|
||||
#define OMAP3430_SLAVEADDR_MASK (0x7f << 0)
|
||||
|
||||
/* PRM_RSTCTRL */
|
||||
#define OMAP3430_RST_DPLL3_MASK (1 << 2)
|
||||
#define OMAP3430_RST_GS_MASK (1 << 1)
|
||||
|
||||
/* PRM_RSTTIME */
|
||||
#define OMAP3430_RSTTIME2_SHIFT 8
|
||||
#define OMAP3430_RSTTIME2_MASK (0x1f << 8)
|
||||
#define OMAP3430_RSTTIME1_SHIFT 0
|
||||
#define OMAP3430_RSTTIME1_MASK (0xff << 0)
|
||||
|
||||
/* PRM_RSTST */
|
||||
#define OMAP3430_ICECRUSHER_RST_SHIFT 10
|
||||
#define OMAP3430_ICECRUSHER_RST_MASK (1 << 10)
|
||||
#define OMAP3430_ICEPICK_RST_SHIFT 9
|
||||
#define OMAP3430_ICEPICK_RST_MASK (1 << 9)
|
||||
#define OMAP3430_VDD2_VOLTAGE_MANAGER_RST_SHIFT 8
|
||||
#define OMAP3430_VDD2_VOLTAGE_MANAGER_RST_MASK (1 << 8)
|
||||
#define OMAP3430_VDD1_VOLTAGE_MANAGER_RST_SHIFT 7
|
||||
#define OMAP3430_VDD1_VOLTAGE_MANAGER_RST_MASK (1 << 7)
|
||||
#define OMAP3430_EXTERNAL_WARM_RST_SHIFT 6
|
||||
#define OMAP3430_EXTERNAL_WARM_RST_MASK (1 << 6)
|
||||
#define OMAP3430_SECURE_WD_RST_SHIFT 5
|
||||
#define OMAP3430_SECURE_WD_RST_MASK (1 << 5)
|
||||
#define OMAP3430_MPU_WD_RST_SHIFT 4
|
||||
#define OMAP3430_MPU_WD_RST_MASK (1 << 4)
|
||||
#define OMAP3430_SECURITY_VIOL_RST_SHIFT 3
|
||||
#define OMAP3430_SECURITY_VIOL_RST_MASK (1 << 3)
|
||||
#define OMAP3430_GLOBAL_SW_RST_SHIFT 1
|
||||
#define OMAP3430_GLOBAL_SW_RST_MASK (1 << 1)
|
||||
#define OMAP3430_GLOBAL_COLD_RST_SHIFT 0
|
||||
#define OMAP3430_GLOBAL_COLD_RST_MASK (1 << 0)
|
||||
|
||||
/* PRM_VOLTCTRL */
|
||||
#define OMAP3430_SEL_VMODE_MASK (1 << 4)
|
||||
#define OMAP3430_SEL_OFF_MASK (1 << 3)
|
||||
#define OMAP3430_AUTO_OFF_MASK (1 << 2)
|
||||
#define OMAP3430_AUTO_RET_MASK (1 << 1)
|
||||
#define OMAP3430_AUTO_SLEEP_MASK (1 << 0)
|
||||
|
||||
/* PRM_SRAM_PCHARGE */
|
||||
#define OMAP3430_PCHARGE_TIME_SHIFT 0
|
||||
#define OMAP3430_PCHARGE_TIME_MASK (0xff << 0)
|
||||
|
||||
/* PRM_CLKSRC_CTRL */
|
||||
#define OMAP3430_SYSCLKDIV_SHIFT 6
|
||||
#define OMAP3430_SYSCLKDIV_MASK (0x3 << 6)
|
||||
#define OMAP3430_AUTOEXTCLKMODE_SHIFT 3
|
||||
#define OMAP3430_AUTOEXTCLKMODE_MASK (0x3 << 3)
|
||||
#define OMAP3430_SYSCLKSEL_SHIFT 0
|
||||
#define OMAP3430_SYSCLKSEL_MASK (0x3 << 0)
|
||||
|
||||
/* PRM_VOLTSETUP1 */
|
||||
#define OMAP3430_SETUP_TIME2_SHIFT 16
|
||||
#define OMAP3430_SETUP_TIME2_MASK (0xffff << 16)
|
||||
#define OMAP3430_SETUP_TIME1_SHIFT 0
|
||||
#define OMAP3430_SETUP_TIME1_MASK (0xffff << 0)
|
||||
|
||||
/* PRM_VOLTOFFSET */
|
||||
#define OMAP3430_OFFSET_TIME_SHIFT 0
|
||||
#define OMAP3430_OFFSET_TIME_MASK (0xffff << 0)
|
||||
|
||||
/* PRM_CLKSETUP */
|
||||
#define OMAP3430_SETUP_TIME_SHIFT 0
|
||||
#define OMAP3430_SETUP_TIME_MASK (0xffff << 0)
|
||||
|
||||
/* PRM_POLCTRL */
|
||||
#define OMAP3430_OFFMODE_POL_MASK (1 << 3)
|
||||
#define OMAP3430_CLKOUT_POL_MASK (1 << 2)
|
||||
#define OMAP3430_CLKREQ_POL_MASK (1 << 1)
|
||||
#define OMAP3430_EXTVOL_POL_MASK (1 << 0)
|
||||
|
||||
/* PRM_VOLTSETUP2 */
|
||||
#define OMAP3430_OFFMODESETUPTIME_SHIFT 0
|
||||
#define OMAP3430_OFFMODESETUPTIME_MASK (0xffff << 0)
|
||||
|
||||
/* PRM_VP1_CONFIG specific bits */
|
||||
|
||||
/* PRM_VP1_VSTEPMIN specific bits */
|
||||
|
||||
/* PRM_VP1_VSTEPMAX specific bits */
|
||||
|
||||
/* PRM_VP1_VLIMITTO specific bits */
|
||||
|
||||
/* PRM_VP1_VOLTAGE specific bits */
|
||||
|
||||
/* PRM_VP1_STATUS specific bits */
|
||||
|
||||
/* PRM_VP2_CONFIG specific bits */
|
||||
|
||||
/* PRM_VP2_VSTEPMIN specific bits */
|
||||
|
||||
/* PRM_VP2_VSTEPMAX specific bits */
|
||||
|
||||
/* PRM_VP2_VLIMITTO specific bits */
|
||||
|
||||
/* PRM_VP2_VOLTAGE specific bits */
|
||||
|
||||
/* PRM_VP2_STATUS specific bits */
|
||||
|
||||
/* RM_RSTST_NEON specific bits */
|
||||
|
||||
/* PM_WKDEP_NEON specific bits */
|
||||
|
||||
/* PM_PWSTCTRL_NEON specific bits */
|
||||
|
||||
/* PM_PWSTST_NEON specific bits */
|
||||
|
||||
/* PM_PREPWSTST_NEON specific bits */
|
||||
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -9,8 +9,6 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* SIRFSOC specific entry point for secondary CPUs. This provides
|
||||
* a "holding pen" into which all secondary cores are held until we're
|
||||
|
|
|
@ -44,7 +44,7 @@ void __init sirfsoc_map_scu(void)
|
|||
scu_base = (void __iomem *)SIRFSOC_VA(base);
|
||||
}
|
||||
|
||||
static void __cpuinit sirfsoc_secondary_init(unsigned int cpu)
|
||||
static void sirfsoc_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* let the primary processor know we're out of the
|
||||
|
@ -65,7 +65,7 @@ static struct of_device_id rsc_ids[] = {
|
|||
{},
|
||||
};
|
||||
|
||||
static int __cpuinit sirfsoc_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int sirfsoc_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
struct device_node *np;
|
||||
|
|
|
@ -208,7 +208,7 @@ config S3C24XX_GPIO_EXTRA128
|
|||
|
||||
config S3C24XX_PLL
|
||||
bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
|
||||
depends on ARM_S3C24XX
|
||||
depends on ARM_S3C24XX_CPUFREQ
|
||||
help
|
||||
Compile in support for changing the PLL frequency from the
|
||||
S3C24XX series CPUfreq driver. The PLL takes time to settle
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <asm/memory.h>
|
||||
|
||||
__CPUINIT
|
||||
/*
|
||||
* Boot code for secondary CPUs.
|
||||
*
|
||||
|
|
|
@ -14,8 +14,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <asm/memory.h>
|
||||
|
||||
__CPUINIT
|
||||
|
||||
ENTRY(shmobile_invalidate_start)
|
||||
bl v7_invalidate_l1
|
||||
b secondary_startup
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#define EMEV2_SCU_BASE 0x1e000000
|
||||
|
||||
static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int emev2_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
arch_send_wakeup_ipi_mask(cpumask_of(cpu_logical_map(cpu)));
|
||||
return 0;
|
||||
|
|
|
@ -81,7 +81,7 @@ static int r8a7779_platform_cpu_kill(unsigned int cpu)
|
|||
return ret ? ret : 1;
|
||||
}
|
||||
|
||||
static int __cpuinit r8a7779_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int r8a7779_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
struct r8a7779_pm_ch *ch = NULL;
|
||||
int ret = -EIO;
|
||||
|
|
|
@ -48,7 +48,7 @@ void __init sh73a0_register_twd(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
static int __cpuinit sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
cpu = cpu_logical_map(cpu);
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
__CPUINIT
|
||||
.arch armv7-a
|
||||
|
||||
ENTRY(secondary_trampoline)
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#include "core.h"
|
||||
|
||||
static int __cpuinit socfpga_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int socfpga_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
int trampoline_size = &secondary_trampoline_end - &secondary_trampoline;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ void __init spear13xx_l2x0_init(void);
|
|||
void spear_restart(enum reboot_mode, const char *);
|
||||
|
||||
void spear13xx_secondary_startup(void);
|
||||
void __cpuinit spear13xx_cpu_die(unsigned int cpu);
|
||||
void spear13xx_cpu_die(unsigned int cpu);
|
||||
|
||||
extern struct smp_operations spear13xx_smp_ops;
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ static DEFINE_SPINLOCK(boot_lock);
|
|||
|
||||
static void __iomem *scu_base = IOMEM(VA_SCU_BASE);
|
||||
|
||||
static void __cpuinit spear13xx_secondary_init(unsigned int cpu)
|
||||
static void spear13xx_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* let the primary processor know we're out of the
|
||||
|
@ -40,7 +40,7 @@ static void __cpuinit spear13xx_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
static int __cpuinit spear13xx_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int spear13xx_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "smp.h"
|
||||
|
||||
static void __cpuinit write_pen_release(int val)
|
||||
static void write_pen_release(int val)
|
||||
{
|
||||
pen_release = val;
|
||||
smp_wmb();
|
||||
|
@ -37,7 +37,7 @@ static void __cpuinit write_pen_release(int val)
|
|||
|
||||
static DEFINE_SPINLOCK(boot_lock);
|
||||
|
||||
void __cpuinit sti_secondary_init(unsigned int cpu)
|
||||
void sti_secondary_init(unsigned int cpu)
|
||||
{
|
||||
trace_hardirqs_off();
|
||||
|
||||
|
@ -54,7 +54,7 @@ void __cpuinit sti_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
int __cpuinit sti_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
int sti_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
static cpumask_t tegra_cpu_init_mask;
|
||||
|
||||
static void __cpuinit tegra_secondary_init(unsigned int cpu)
|
||||
static void tegra_secondary_init(unsigned int cpu)
|
||||
{
|
||||
cpumask_set_cpu(cpu, &tegra_cpu_init_mask);
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ static int tegra114_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int __cpuinit tegra_boot_secondary(unsigned int cpu,
|
||||
static int tegra_boot_secondary(unsigned int cpu,
|
||||
struct task_struct *idle)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) && tegra_chip_id == TEGRA20)
|
||||
|
|
|
@ -191,7 +191,7 @@ static const char *lp_state[TEGRA_MAX_SUSPEND_MODE] = {
|
|||
[TEGRA_SUSPEND_LP0] = "LP0",
|
||||
};
|
||||
|
||||
static int __cpuinit tegra_suspend_enter(suspend_state_t state)
|
||||
static int tegra_suspend_enter(suspend_state_t state)
|
||||
{
|
||||
enum tegra_suspend_mode mode = tegra_pmc_get_suspend_mode();
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ static void __iomem *scu_base_addr(void)
|
|||
|
||||
static DEFINE_SPINLOCK(boot_lock);
|
||||
|
||||
static void __cpuinit ux500_secondary_init(unsigned int cpu)
|
||||
static void ux500_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* let the primary processor know we're out of the
|
||||
|
@ -69,7 +69,7 @@ static void __cpuinit ux500_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
static int __cpuinit ux500_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int ux500_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ extern void secondary_startup(void);
|
|||
extern char zynq_secondary_trampoline;
|
||||
extern char zynq_secondary_trampoline_jump;
|
||||
extern char zynq_secondary_trampoline_end;
|
||||
extern int __cpuinit zynq_cpun_start(u32 address, int cpu);
|
||||
extern int zynq_cpun_start(u32 address, int cpu);
|
||||
extern struct smp_operations zynq_smp_ops __initdata;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
__CPUINIT
|
||||
|
||||
ENTRY(zynq_secondary_trampoline)
|
||||
ldr r0, [pc]
|
||||
bx r0
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
/*
|
||||
* Store number of cores in the system
|
||||
* Because of scu_get_core_count() must be in __init section and can't
|
||||
* be called from zynq_cpun_start() because it is in __cpuinit section.
|
||||
* be called from zynq_cpun_start() because it is not in __init section.
|
||||
*/
|
||||
static int ncores;
|
||||
|
||||
int __cpuinit zynq_cpun_start(u32 address, int cpu)
|
||||
int zynq_cpun_start(u32 address, int cpu)
|
||||
{
|
||||
u32 trampoline_code_size = &zynq_secondary_trampoline_end -
|
||||
&zynq_secondary_trampoline;
|
||||
|
@ -92,7 +92,7 @@ int __cpuinit zynq_cpun_start(u32 address, int cpu)
|
|||
}
|
||||
EXPORT_SYMBOL(zynq_cpun_start);
|
||||
|
||||
static int __cpuinit zynq_boot_secondary(unsigned int cpu,
|
||||
static int zynq_boot_secondary(unsigned int cpu,
|
||||
struct task_struct *idle)
|
||||
{
|
||||
return zynq_cpun_start(virt_to_phys(secondary_startup), cpu);
|
||||
|
|
|
@ -443,8 +443,6 @@ ENTRY(cpu_arm1020_set_pte_ext)
|
|||
#endif /* CONFIG_MMU */
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm1020_setup, #function
|
||||
__arm1020_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -425,8 +425,6 @@ ENTRY(cpu_arm1020e_set_pte_ext)
|
|||
#endif /* CONFIG_MMU */
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm1020e_setup, #function
|
||||
__arm1020e_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -407,8 +407,6 @@ ENTRY(cpu_arm1022_set_pte_ext)
|
|||
#endif /* CONFIG_MMU */
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm1022_setup, #function
|
||||
__arm1022_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -396,9 +396,6 @@ ENTRY(cpu_arm1026_set_pte_ext)
|
|||
#endif /* CONFIG_MMU */
|
||||
mov pc, lr
|
||||
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm1026_setup, #function
|
||||
__arm1026_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -116,8 +116,6 @@ ENTRY(cpu_arm720_reset)
|
|||
ENDPROC(cpu_arm720_reset)
|
||||
.popsection
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm710_setup, #function
|
||||
__arm710_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -60,8 +60,6 @@ ENTRY(cpu_arm740_reset)
|
|||
ENDPROC(cpu_arm740_reset)
|
||||
.popsection
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm740_setup, #function
|
||||
__arm740_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -51,8 +51,6 @@ ENTRY(cpu_arm7tdmi_reset)
|
|||
ENDPROC(cpu_arm7tdmi_reset)
|
||||
.popsection
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm7tdmi_setup, #function
|
||||
__arm7tdmi_setup:
|
||||
mov pc, lr
|
||||
|
|
|
@ -410,8 +410,6 @@ ENTRY(cpu_arm920_do_resume)
|
|||
ENDPROC(cpu_arm920_do_resume)
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm920_setup, #function
|
||||
__arm920_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -388,8 +388,6 @@ ENTRY(cpu_arm922_set_pte_ext)
|
|||
#endif /* CONFIG_MMU */
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm922_setup, #function
|
||||
__arm922_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -438,8 +438,6 @@ ENTRY(cpu_arm925_set_pte_ext)
|
|||
#endif /* CONFIG_MMU */
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm925_setup, #function
|
||||
__arm925_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -425,8 +425,6 @@ ENTRY(cpu_arm926_do_resume)
|
|||
ENDPROC(cpu_arm926_do_resume)
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm926_setup, #function
|
||||
__arm926_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -273,8 +273,6 @@ ENDPROC(arm940_dma_unmap_area)
|
|||
@ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
|
||||
define_cache_functions arm940
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm940_setup, #function
|
||||
__arm940_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -326,8 +326,6 @@ ENTRY(cpu_arm946_dcache_clean_area)
|
|||
mcr p15, 0, r0, c7, c10, 4 @ drain WB
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm946_setup, #function
|
||||
__arm946_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -51,8 +51,6 @@ ENTRY(cpu_arm9tdmi_reset)
|
|||
ENDPROC(cpu_arm9tdmi_reset)
|
||||
.popsection
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __arm9tdmi_setup, #function
|
||||
__arm9tdmi_setup:
|
||||
mov pc, lr
|
||||
|
|
|
@ -135,8 +135,6 @@ ENTRY(cpu_fa526_set_pte_ext)
|
|||
#endif
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __fa526_setup, #function
|
||||
__fa526_setup:
|
||||
/* On return of this routine, r0 must carry correct flags for CFG register */
|
||||
|
|
|
@ -514,8 +514,6 @@ ENTRY(cpu_feroceon_set_pte_ext)
|
|||
#endif
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __feroceon_setup, #function
|
||||
__feroceon_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -383,8 +383,6 @@ ENTRY(cpu_mohawk_do_resume)
|
|||
ENDPROC(cpu_mohawk_do_resume)
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __mohawk_setup, #function
|
||||
__mohawk_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -159,8 +159,6 @@ ENTRY(cpu_sa110_set_pte_ext)
|
|||
#endif
|
||||
mov pc, lr
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __sa110_setup, #function
|
||||
__sa110_setup:
|
||||
mov r10, #0
|
||||
|
|
|
@ -198,8 +198,6 @@ ENTRY(cpu_sa1100_do_resume)
|
|||
ENDPROC(cpu_sa1100_do_resume)
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __sa1100_setup, #function
|
||||
__sa1100_setup:
|
||||
mov r0, #0
|
||||
|
|
|
@ -180,8 +180,6 @@ ENDPROC(cpu_v6_do_resume)
|
|||
|
||||
.align
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* __v6_setup
|
||||
*
|
||||
|
|
|
@ -160,8 +160,6 @@ ENDPROC(cpu_v7_set_pte_ext)
|
|||
mcr p15, 0, \ttbr1, c2, c0, 1 @ load TTB1
|
||||
.endm
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/* AT
|
||||
* TFR EV X F I D LR S
|
||||
* .EEE ..EE PUI. .T.T 4RVI ZWRS BLDP WCAM
|
||||
|
@ -172,5 +170,3 @@ ENDPROC(cpu_v7_set_pte_ext)
|
|||
.type v7_crval, #object
|
||||
v7_crval:
|
||||
crval clear=0x2120c302, mmuset=0x10c03c7d, ucset=0x00c01c7c
|
||||
|
||||
.previous
|
||||
|
|
|
@ -140,8 +140,6 @@ ENDPROC(cpu_v7_set_pte_ext)
|
|||
mcrr p15, 0, \ttbr0, \zero, c2 @ load TTBR0
|
||||
.endm
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* AT
|
||||
* TFR EV X F IHD LR S
|
||||
|
@ -153,5 +151,3 @@ ENDPROC(cpu_v7_set_pte_ext)
|
|||
.type v7_crval, #object
|
||||
v7_crval:
|
||||
crval clear=0x0120c302, mmuset=0x30c23c7d, ucset=0x00c01c7c
|
||||
|
||||
.previous
|
||||
|
|
|
@ -167,8 +167,6 @@ ENDPROC(cpu_pj4b_do_idle)
|
|||
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
/*
|
||||
* __v7_setup
|
||||
*
|
||||
|
|
|
@ -446,8 +446,6 @@ ENTRY(cpu_xsc3_do_resume)
|
|||
ENDPROC(cpu_xsc3_do_resume)
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __xsc3_setup, #function
|
||||
__xsc3_setup:
|
||||
mov r0, #PSR_F_BIT|PSR_I_BIT|SVC_MODE
|
||||
|
|
|
@ -558,8 +558,6 @@ ENTRY(cpu_xscale_do_resume)
|
|||
ENDPROC(cpu_xscale_do_resume)
|
||||
#endif
|
||||
|
||||
__CPUINIT
|
||||
|
||||
.type __xscale_setup, #function
|
||||
__xscale_setup:
|
||||
mcr p15, 0, ip, c7, c7, 0 @ invalidate I, D caches & BTB
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
* observers, irrespective of whether they're taking part in coherency
|
||||
* or not. This is necessary for the hotplug code to work reliably.
|
||||
*/
|
||||
static void __cpuinit write_pen_release(int val)
|
||||
static void write_pen_release(int val)
|
||||
{
|
||||
pen_release = val;
|
||||
smp_wmb();
|
||||
|
@ -33,7 +33,7 @@ static void __cpuinit write_pen_release(int val)
|
|||
|
||||
static DEFINE_SPINLOCK(boot_lock);
|
||||
|
||||
void __cpuinit versatile_secondary_init(unsigned int cpu)
|
||||
void versatile_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/*
|
||||
* let the primary processor know we're out of the
|
||||
|
@ -48,7 +48,7 @@ void __cpuinit versatile_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
int __cpuinit versatile_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
int versatile_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ static inline u32 arch_timer_get_cntfrq(void)
|
|||
return val;
|
||||
}
|
||||
|
||||
static inline void __cpuinit arch_counter_set_user_access(void)
|
||||
static inline void arch_counter_set_user_access(void)
|
||||
{
|
||||
u32 cntkctl;
|
||||
|
||||
|
|
|
@ -83,14 +83,7 @@ static inline int reinstall_suspended_bps(struct pt_regs *regs)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
int aarch32_break_handler(struct pt_regs *regs);
|
||||
#else
|
||||
static int aarch32_break_handler(struct pt_regs *regs)
|
||||
{
|
||||
return -EFAULT;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLY */
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/compiler.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/irqflags.h>
|
||||
#include <linux/reboot.h>
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
|
@ -41,7 +42,7 @@ extern void show_pte(struct mm_struct *mm, unsigned long addr);
|
|||
extern void __show_regs(struct pt_regs *);
|
||||
|
||||
void soft_restart(unsigned long);
|
||||
extern void (*arm_pm_restart)(char str, const char *cmd);
|
||||
extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
|
||||
|
||||
#define UDBG_UNDEFINED (1 << 0)
|
||||
#define UDBG_SYSCALL (1 << 1)
|
||||
|
|
|
@ -141,7 +141,7 @@ static void clear_os_lock(void *unused)
|
|||
isb();
|
||||
}
|
||||
|
||||
static int __cpuinit os_lock_notify(struct notifier_block *self,
|
||||
static int os_lock_notify(struct notifier_block *self,
|
||||
unsigned long action, void *data)
|
||||
{
|
||||
int cpu = (unsigned long)data;
|
||||
|
@ -150,11 +150,11 @@ static int __cpuinit os_lock_notify(struct notifier_block *self,
|
|||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
static struct notifier_block __cpuinitdata os_lock_nb = {
|
||||
static struct notifier_block os_lock_nb = {
|
||||
.notifier_call = os_lock_notify,
|
||||
};
|
||||
|
||||
static int __cpuinit debug_monitors_init(void)
|
||||
static int debug_monitors_init(void)
|
||||
{
|
||||
/* Clear the OS lock. */
|
||||
smp_call_function(clear_os_lock, NULL, 1);
|
||||
|
|
|
@ -821,7 +821,7 @@ static void reset_ctrl_regs(void *unused)
|
|||
}
|
||||
}
|
||||
|
||||
static int __cpuinit hw_breakpoint_reset_notify(struct notifier_block *self,
|
||||
static int hw_breakpoint_reset_notify(struct notifier_block *self,
|
||||
unsigned long action,
|
||||
void *hcpu)
|
||||
{
|
||||
|
@ -831,7 +831,7 @@ static int __cpuinit hw_breakpoint_reset_notify(struct notifier_block *self,
|
|||
return NOTIFY_OK;
|
||||
}
|
||||
|
||||
static struct notifier_block __cpuinitdata hw_breakpoint_reset_nb = {
|
||||
static struct notifier_block hw_breakpoint_reset_nb = {
|
||||
.notifier_call = hw_breakpoint_reset_notify,
|
||||
};
|
||||
|
||||
|
|
|
@ -132,7 +132,7 @@ void machine_restart(char *cmd)
|
|||
|
||||
/* Now call the architecture specific reboot code. */
|
||||
if (arm_pm_restart)
|
||||
arm_pm_restart('h', cmd);
|
||||
arm_pm_restart(reboot_mode, cmd);
|
||||
|
||||
/*
|
||||
* Whoops - the architecture was unable to reboot.
|
||||
|
|
|
@ -71,7 +71,7 @@ static DEFINE_RAW_SPINLOCK(boot_lock);
|
|||
* in coherency or not. This is necessary for the hotplug code to work
|
||||
* reliably.
|
||||
*/
|
||||
static void __cpuinit write_pen_release(u64 val)
|
||||
static void write_pen_release(u64 val)
|
||||
{
|
||||
void *start = (void *)&secondary_holding_pen_release;
|
||||
unsigned long size = sizeof(secondary_holding_pen_release);
|
||||
|
@ -84,7 +84,7 @@ static void __cpuinit write_pen_release(u64 val)
|
|||
* Boot a secondary CPU, and assign it the specified idle task.
|
||||
* This also gives us the initial stack to use for this CPU.
|
||||
*/
|
||||
static int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
static int boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
||||
|
@ -122,7 +122,7 @@ static int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
|
|||
|
||||
static DECLARE_COMPLETION(cpu_running);
|
||||
|
||||
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
|
||||
int __cpu_up(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
@ -162,7 +162,7 @@ int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
|
|||
* This is the secondary CPU boot entry. We're using this CPUs
|
||||
* idle thread stack, but a set of temporary page tables.
|
||||
*/
|
||||
asmlinkage void __cpuinit secondary_start_kernel(void)
|
||||
asmlinkage void secondary_start_kernel(void)
|
||||
{
|
||||
struct mm_struct *mm = &init_mm;
|
||||
unsigned int cpu = smp_processor_id();
|
||||
|
@ -199,13 +199,6 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
|
|||
raw_spin_lock(&boot_lock);
|
||||
raw_spin_unlock(&boot_lock);
|
||||
|
||||
/*
|
||||
* Enable local interrupts.
|
||||
*/
|
||||
notify_cpu_starting(cpu);
|
||||
local_irq_enable();
|
||||
local_fiq_enable();
|
||||
|
||||
/*
|
||||
* OK, now it's safe to let the boot CPU continue. Wait for
|
||||
* the CPU migration code to notice that the CPU is online
|
||||
|
@ -214,6 +207,14 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
|
|||
set_cpu_online(cpu, true);
|
||||
complete(&cpu_running);
|
||||
|
||||
/*
|
||||
* Enable GIC and timers.
|
||||
*/
|
||||
notify_cpu_starting(cpu);
|
||||
|
||||
local_irq_enable();
|
||||
local_fiq_enable();
|
||||
|
||||
/*
|
||||
* OK, it's off to the idle thread for us
|
||||
*/
|
||||
|
|
|
@ -152,25 +152,8 @@ void do_bad_area(unsigned long addr, unsigned int esr, struct pt_regs *regs)
|
|||
#define ESR_CM (1 << 8)
|
||||
#define ESR_LNX_EXEC (1 << 24)
|
||||
|
||||
/*
|
||||
* Check that the permissions on the VMA allow for the fault which occurred.
|
||||
* If we encountered a write fault, we must have write permission, otherwise
|
||||
* we allow any permission.
|
||||
*/
|
||||
static inline bool access_error(unsigned int esr, struct vm_area_struct *vma)
|
||||
{
|
||||
unsigned int mask = VM_READ | VM_WRITE | VM_EXEC;
|
||||
|
||||
if (esr & ESR_WRITE)
|
||||
mask = VM_WRITE;
|
||||
if (esr & ESR_LNX_EXEC)
|
||||
mask = VM_EXEC;
|
||||
|
||||
return vma->vm_flags & mask ? false : true;
|
||||
}
|
||||
|
||||
static int __do_page_fault(struct mm_struct *mm, unsigned long addr,
|
||||
unsigned int esr, unsigned int flags,
|
||||
unsigned int mm_flags, unsigned long vm_flags,
|
||||
struct task_struct *tsk)
|
||||
{
|
||||
struct vm_area_struct *vma;
|
||||
|
@ -188,12 +171,17 @@ static int __do_page_fault(struct mm_struct *mm, unsigned long addr,
|
|||
* it.
|
||||
*/
|
||||
good_area:
|
||||
if (access_error(esr, vma)) {
|
||||
/*
|
||||
* Check that the permissions on the VMA allow for the fault which
|
||||
* occurred. If we encountered a write or exec fault, we must have
|
||||
* appropriate permissions, otherwise we allow any permission.
|
||||
*/
|
||||
if (!(vma->vm_flags & vm_flags)) {
|
||||
fault = VM_FAULT_BADACCESS;
|
||||
goto out;
|
||||
}
|
||||
|
||||
return handle_mm_fault(mm, vma, addr & PAGE_MASK, flags);
|
||||
return handle_mm_fault(mm, vma, addr & PAGE_MASK, mm_flags);
|
||||
|
||||
check_stack:
|
||||
if (vma->vm_flags & VM_GROWSDOWN && !expand_stack(vma, addr))
|
||||
|
@ -208,9 +196,15 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
|
|||
struct task_struct *tsk;
|
||||
struct mm_struct *mm;
|
||||
int fault, sig, code;
|
||||
bool write = (esr & ESR_WRITE) && !(esr & ESR_CM);
|
||||
unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
|
||||
(write ? FAULT_FLAG_WRITE : 0);
|
||||
unsigned long vm_flags = VM_READ | VM_WRITE | VM_EXEC;
|
||||
unsigned int mm_flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
|
||||
|
||||
if (esr & ESR_LNX_EXEC) {
|
||||
vm_flags = VM_EXEC;
|
||||
} else if ((esr & ESR_WRITE) && !(esr & ESR_CM)) {
|
||||
vm_flags = VM_WRITE;
|
||||
mm_flags |= FAULT_FLAG_WRITE;
|
||||
}
|
||||
|
||||
tsk = current;
|
||||
mm = tsk->mm;
|
||||
|
@ -248,7 +242,7 @@ retry:
|
|||
#endif
|
||||
}
|
||||
|
||||
fault = __do_page_fault(mm, addr, esr, flags, tsk);
|
||||
fault = __do_page_fault(mm, addr, mm_flags, vm_flags, tsk);
|
||||
|
||||
/*
|
||||
* If we need to retry but a fatal signal is pending, handle the
|
||||
|
@ -265,7 +259,7 @@ retry:
|
|||
*/
|
||||
|
||||
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr);
|
||||
if (flags & FAULT_FLAG_ALLOW_RETRY) {
|
||||
if (mm_flags & FAULT_FLAG_ALLOW_RETRY) {
|
||||
if (fault & VM_FAULT_MAJOR) {
|
||||
tsk->maj_flt++;
|
||||
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs,
|
||||
|
@ -280,7 +274,7 @@ retry:
|
|||
* Clear FAULT_FLAG_ALLOW_RETRY to avoid any risk of
|
||||
* starvation.
|
||||
*/
|
||||
flags &= ~FAULT_FLAG_ALLOW_RETRY;
|
||||
mm_flags &= ~FAULT_FLAG_ALLOW_RETRY;
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -468,7 +468,7 @@ static void bfin_pmu_setup(int cpu)
|
|||
memset(cpuhw, 0, sizeof(struct cpu_hw_events));
|
||||
}
|
||||
|
||||
static int __cpuinit
|
||||
static int
|
||||
bfin_pmu_notifier(struct notifier_block *self, unsigned long action, void *hcpu)
|
||||
{
|
||||
unsigned int cpu = (long)hcpu;
|
||||
|
|
|
@ -99,7 +99,7 @@ void __init generate_cplb_tables(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
void __cpuinit bfin_setup_caches(unsigned int cpu)
|
||||
void bfin_setup_caches(unsigned int cpu)
|
||||
{
|
||||
#ifdef CONFIG_BFIN_ICACHE
|
||||
bfin_icache_init(icplb_tbl[cpu]);
|
||||
|
@ -165,7 +165,7 @@ void __cpuinit bfin_setup_caches(unsigned int cpu)
|
|||
#endif
|
||||
}
|
||||
|
||||
void __cpuinit bfin_setup_cpudata(unsigned int cpu)
|
||||
void bfin_setup_cpudata(unsigned int cpu)
|
||||
{
|
||||
struct blackfin_cpudata *cpudata = &per_cpu(cpu_data, cpu);
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ int __init setup_profiling_timer(unsigned int multiplier) /* not supported */
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
void __cpuinit platform_secondary_init(unsigned int cpu)
|
||||
void platform_secondary_init(unsigned int cpu)
|
||||
{
|
||||
/* Clone setup for peripheral interrupt sources from CoreA. */
|
||||
bfin_write_SICB_IMASK0(bfin_read_SIC_IMASK0());
|
||||
|
@ -73,7 +73,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
|
|||
spin_unlock(&boot_lock);
|
||||
}
|
||||
|
||||
int __cpuinit platform_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
int platform_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
unsigned long timeout;
|
||||
|
||||
|
@ -154,7 +154,7 @@ void platform_clear_ipi(unsigned int cpu, int irq)
|
|||
* Setup core B's local core timer.
|
||||
* In SMP, core timer is used for clock event device.
|
||||
*/
|
||||
void __cpuinit bfin_local_timer_setup(void)
|
||||
void bfin_local_timer_setup(void)
|
||||
{
|
||||
#if defined(CONFIG_TICKSOURCE_CORETMR)
|
||||
struct irq_data *data = irq_get_irq_data(IRQ_CORETMR);
|
||||
|
|
|
@ -52,7 +52,7 @@ bfin_cache_init(struct cplb_entry *cplb_tbl, unsigned long cplb_addr,
|
|||
}
|
||||
|
||||
#ifdef CONFIG_BFIN_ICACHE
|
||||
void __cpuinit bfin_icache_init(struct cplb_entry *icplb_tbl)
|
||||
void bfin_icache_init(struct cplb_entry *icplb_tbl)
|
||||
{
|
||||
bfin_cache_init(icplb_tbl, ICPLB_ADDR0, ICPLB_DATA0, IMEM_CONTROL,
|
||||
(IMC | ENICPLB));
|
||||
|
@ -60,7 +60,7 @@ void __cpuinit bfin_icache_init(struct cplb_entry *icplb_tbl)
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_BFIN_DCACHE
|
||||
void __cpuinit bfin_dcache_init(struct cplb_entry *dcplb_tbl)
|
||||
void bfin_dcache_init(struct cplb_entry *dcplb_tbl)
|
||||
{
|
||||
/*
|
||||
* Anomaly notes:
|
||||
|
|
|
@ -1281,7 +1281,7 @@ static struct irq_chip bfin_gpio_irqchip = {
|
|||
.irq_set_wake = bfin_gpio_set_wake,
|
||||
};
|
||||
|
||||
void __cpuinit init_exception_vectors(void)
|
||||
void init_exception_vectors(void)
|
||||
{
|
||||
/* cannot program in software:
|
||||
* evt0 - emulation (jtag)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue