Skip to content
Snippets Groups Projects
Commit 29b83d98 authored by Timur Tabi's avatar Timur Tabi Committed by Kumar Gala
Browse files

powerpc/p1022ds: set the clock-frequency prop only if the clock is enabled


The clock-frequency property in an audio codec's device tree node is set to
the input clock frequency for that codec.  On the Freescale P1022DS board,
the input clock is enabled only if the hwconfig 'audclk' option is set.
Therefore, the property should only be set in the device tree if the clock
is actually enabled.

Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 9571865e
No related branches found
No related tags found
No related merge requests found
...@@ -308,7 +308,8 @@ int board_eth_init(bd_t *bis) ...@@ -308,7 +308,8 @@ int board_eth_init(bd_t *bis)
* ft_codec_setup - fix up the clock-frequency property of the codec node * ft_codec_setup - fix up the clock-frequency property of the codec node
* *
* Update the clock-frequency property based on the value of the 'audclk' * Update the clock-frequency property based on the value of the 'audclk'
* hwconfig option. If audclk is not specified, then default to 12.288MHz. * hwconfig option. If audclk is not specified, then don't write anything
* to the device tree, because it means that the codec clock is disabled.
*/ */
static void ft_codec_setup(void *blob, const char *compatible) static void ft_codec_setup(void *blob, const char *compatible)
{ {
...@@ -317,12 +318,15 @@ static void ft_codec_setup(void *blob, const char *compatible) ...@@ -317,12 +318,15 @@ static void ft_codec_setup(void *blob, const char *compatible)
u32 freq; u32 freq;
audclk = hwconfig_arg("audclk", &arglen); audclk = hwconfig_arg("audclk", &arglen);
if (audclk && (strncmp(audclk, "11", 2) == 0)) if (audclk) {
freq = 11289600; if (strncmp(audclk, "11", 2) == 0)
else freq = 11289600;
freq = 12288000; else
freq = 12288000;
do_fixup_by_compat_u32(blob, compatible, "clock-frequency", freq, 1); do_fixup_by_compat_u32(blob, compatible, "clock-frequency",
freq, 1);
}
} }
void ft_board_setup(void *blob, bd_t *bd) void ft_board_setup(void *blob, bd_t *bd)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment