ARM: tegra: turn on UART A clock at boot
Subsystems (3)
PATCH 1/1 ARM: tegra: turn on UART A clock at boot
From: Stephen Warren <[email protected]>
Some boards use UART D for the main serial console, and some use UART A. UART D's clock is listed in board-dt-tegra20.c's clock table, whereas UART A's clock is not. This causes the clock code to think UART A's clock is unsed. The common clock framework turns off unused clocks at boot time. This makes the kernel appear to hang. Add UART A's clock into the clock table to prevent this. Eventually, this requirement should be handled by the UART driver, and/or properties in a board-specific device tree file.
--- arch/arm/mach-tegra/board-dt-tegra20.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/mach-tegra/board-dt-tegra20.c +1 -0
@@ -71,6 +71,7 @@ struct of_dev_auxdata tegra20_auxdata_lookup[] __initdata = {static __initdata struct tegra_clk_init_table tegra_dt_clk_init_table[] = {/* name parent rate enabled */ + {"uarta" ,"pll_p" ,216000000 , true }, {"uartd" ,"pll_p" ,216000000 , true }, {"usbd" ,"clk_m" ,12000000 , false }, {"usb2" ,"clk_m" ,12000000 , false },
Signature · 1 line
1.7.0.4
PATCH 1/1 ARM: tegra: turn on UART A clock at boot
Quoted 11 lines · Stephen Warren
From: Stephen Warren<[email protected]>
Some boards use UART D for the main serial console, and some use UART A. UART D's clock is listed in board-dt-tegra20.c's clock table, whereas UART A's clock is not. This causes the clock code to think UART A's clock is unsed. The common clock framework turns off unused clocks at boot time. This makes the kernel appear to hang. Add UART A's clock into the clock table to prevent this. Eventually, this requirement should be handled by the UART driver, and/or properties in a board-specific device tree file.
Quoted 1 line
Signed-off-by Stephen Warren<[email protected]>
Thanks Stephen!!
Verified on Cardhu and Ventana with Common clock framework patches.
Quoted 16 lines
--- arch/arm/mach-tegra/board-dt-tegra20.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)arch/arm/mach-tegra/board-dt-tegra20.c +1
-0@@ -71,6 +71,7 @@ struct of_dev_auxdata tegra20_auxdata_lookup[] __initdata = {static __initdata struct tegra_clk_init_table tegra_dt_clk_init_table[] = {/* name parent rate enabled */ + {"uarta" ,"pll_p" ,216000000 , true }, {"uartd" ,"pll_p" ,216000000 , true }, {"usbd" ,"clk_m" ,12000000 , false }, {"usb2" ,"clk_m" ,12000000 , false },
Stephen Warren
AppliedPATCH 1/1 ARM: tegra: turn on UART A clock at boot
In reply to Stephen WarrenQuoted 10 lines · Stephen Warren
From: Stephen Warren <[email protected]>
Some boards use UART D for the main serial console, and some use UART A. UART D's clock is listed in board-dt-tegra20.c's clock table, whereas UART A's clock is not. This causes the clock code to think UART A's clock is unsed. The common clock framework turns off unused clocks at boot time. This makes the kernel appear to hang. Add UART A's clock into the clock table to prevent this. Eventually, this requirement should be handled by the UART driver, and/or properties in a board-specific device tree file.
Applied to for-3.7/common-clk.