Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci-2.6.23
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci-2.6.23
Commits
f86e0f5b
Commit
f86e0f5b
authored
Jun 02, 2005
by
Tony Lindgren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ARM: OMAP: Make clock.c reprogram DPLL and CKCTL in SRAM
Trying to reprogram DPLL or CKCTL needs to be done from SRAM.
parent
f0abea5e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
10 deletions
+7
-10
arch/arm/mach-omap/clock.c
arch/arm/mach-omap/clock.c
+7
-10
No files found.
arch/arm/mach-omap/clock.c
View file @
f86e0f5b
...
...
@@ -21,6 +21,7 @@
#include <asm/arch/usb.h>
#include "clock.h"
#include "sram.h"
static
LIST_HEAD
(
clocks
);
static
DECLARE_MUTEX
(
clocks_sem
);
...
...
@@ -51,7 +52,7 @@ static struct mpu_rate rate_table[] = {
{
192000000
,
19200000
,
192000000
,
0x050f
,
0x2510
},
/* 1/1/2/2/8/8 */
{
192000000
,
12000000
,
192000000
,
0x050f
,
0x2810
},
/* 1/1/2/2/8/8 */
{
96000000
,
12000000
,
192000000
,
0x055f
,
0x2810
},
/* 2/2/2/2/8/8 */
{
48000000
,
12000000
,
192000000
,
0x0
ccf
,
0x2810
},
/* 4/4
/4/4/8/8 */
{
48000000
,
12000000
,
192000000
,
0x0
baf
,
0x2810
},
/* 4/8
/4/4/8/8 */
{
24000000
,
12000000
,
192000000
,
0x0fff
,
0x2810
},
/* 8/8/8/8/8/8 */
#endif
#if defined(CONFIG_OMAP_ARM_182MHZ)
...
...
@@ -948,16 +949,12 @@ static int select_table_rate(struct clk * clk, unsigned long rate)
return
-
EINVAL
;
/*
* If ARM_TIM_CK is coming from CK_GEN1, reset it and set
* safe values for dividers in ARM_CKCTL.
* Otherwise system may hang when reprogramming DPLL_CTL.
* In most cases we should not need to reprogram DPLL.
* Reprogramming the DPLL is tricky, it must be done from SRAM.
*/
if
(
unlikely
(
ck_dpll1
.
rate
==
0
))
{
omap_writew
(
0x03ff
,
ARM_CKCTL
);
omap_writew
(
ptr
->
dpllctl_val
,
DPLL_CTL
);
ck_dpll1
.
rate
=
ptr
->
pll_rate
;
}
omap_writew
(
ptr
->
ckctl_val
,
ARM_CKCTL
);
omap_sram_reprogram_clock
(
ptr
->
dpllctl_val
,
ptr
->
ckctl_val
);
ck_dpll1
.
rate
=
ptr
->
pll_rate
;
propagate_rate
(
&
ck_dpll1
);
return
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment