Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
linux-arm
linux-coresight-backports
Commits
dae7df47
Commit
dae7df47
authored
Jul 13, 2014
by
Mike Turquette
Browse files
Merge branch 'clk-fixes' into clk-next
parents
22a69230
44943777
Changes
1
Hide whitespace changes
Inline
Side-by-side
drivers/clk/spear/spear3xx_clock.c
View file @
dae7df47
...
...
@@ -211,7 +211,7 @@ static inline void spear310_clk_init(void) { }
/* array of all spear 320 clock lookups */
#ifdef CONFIG_MACH_SPEAR320
#define SPEAR320_CONTROL_REG (soc_config_base + 0x00
0
0)
#define SPEAR320_CONTROL_REG (soc_config_base + 0x00
1
0)
#define SPEAR320_EXT_CTRL_REG (soc_config_base + 0x0018)
#define SPEAR320_UARTX_PCLK_MASK 0x1
...
...
@@ -245,7 +245,8 @@ static const char *smii0_parents[] = { "smii_125m_pad", "ras_pll2_clk",
"ras_syn0_gclk"
,
};
static
const
char
*
uartx_parents
[]
=
{
"ras_syn1_gclk"
,
"ras_apb_clk"
,
};
static
void
__init
spear320_clk_init
(
void
__iomem
*
soc_config_base
)
static
void
__init
spear320_clk_init
(
void
__iomem
*
soc_config_base
,
struct
clk
*
ras_apb_clk
)
{
struct
clk
*
clk
;
...
...
@@ -342,6 +343,8 @@ static void __init spear320_clk_init(void __iomem *soc_config_base)
SPEAR320_CONTROL_REG
,
UART1_PCLK_SHIFT
,
UART1_PCLK_MASK
,
0
,
&
_lock
);
clk_register_clkdev
(
clk
,
NULL
,
"a3000000.serial"
);
/* Enforce ras_apb_clk */
clk_set_parent
(
clk
,
ras_apb_clk
);
clk
=
clk_register_mux
(
NULL
,
"uart2_clk"
,
uartx_parents
,
ARRAY_SIZE
(
uartx_parents
),
...
...
@@ -349,6 +352,8 @@ static void __init spear320_clk_init(void __iomem *soc_config_base)
SPEAR320_EXT_CTRL_REG
,
SPEAR320_UART2_PCLK_SHIFT
,
SPEAR320_UARTX_PCLK_MASK
,
0
,
&
_lock
);
clk_register_clkdev
(
clk
,
NULL
,
"a4000000.serial"
);
/* Enforce ras_apb_clk */
clk_set_parent
(
clk
,
ras_apb_clk
);
clk
=
clk_register_mux
(
NULL
,
"uart3_clk"
,
uartx_parents
,
ARRAY_SIZE
(
uartx_parents
),
...
...
@@ -379,12 +384,12 @@ static void __init spear320_clk_init(void __iomem *soc_config_base)
clk_register_clkdev
(
clk
,
NULL
,
"60100000.serial"
);
}
#else
static
inline
void
spear320_clk_init
(
void
__iomem
*
s
oc_config_base
)
{
}
static
inline
void
spear320_clk_init
(
void
__iomem
*
s
b
,
struct
clk
*
rc
)
{
}
#endif
void
__init
spear3xx_clk_init
(
void
__iomem
*
misc_base
,
void
__iomem
*
soc_config_base
)
{
struct
clk
*
clk
,
*
clk1
;
struct
clk
*
clk
,
*
clk1
,
*
ras_apb_clk
;
clk
=
clk_register_fixed_rate
(
NULL
,
"osc_32k_clk"
,
NULL
,
CLK_IS_ROOT
,
32000
);
...
...
@@ -613,6 +618,7 @@ void __init spear3xx_clk_init(void __iomem *misc_base, void __iomem *soc_config_
clk
=
clk_register_gate
(
NULL
,
"ras_apb_clk"
,
"apb_clk"
,
0
,
RAS_CLK_ENB
,
RAS_APB_CLK_ENB
,
0
,
&
_lock
);
clk_register_clkdev
(
clk
,
"ras_apb_clk"
,
NULL
);
ras_apb_clk
=
clk
;
clk
=
clk_register_gate
(
NULL
,
"ras_32k_clk"
,
"osc_32k_clk"
,
0
,
RAS_CLK_ENB
,
RAS_32K_CLK_ENB
,
0
,
&
_lock
);
...
...
@@ -659,5 +665,5 @@ void __init spear3xx_clk_init(void __iomem *misc_base, void __iomem *soc_config_
else
if
(
of_machine_is_compatible
(
"st,spear310"
))
spear310_clk_init
();
else
if
(
of_machine_is_compatible
(
"st,spear320"
))
spear320_clk_init
(
soc_config_base
);
spear320_clk_init
(
soc_config_base
,
ras_apb_clk
);
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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