Skip to contentSkip to conversation

ARM: tegra: turn on UART A clock at boot

PATCH New Stephen Warren 2 participants 3 messages Jul 24, 2012 – Aug 3, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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
index 70a19a9..5daffd5 100644
@@ -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
#1 lore raw

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

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
index 70a19a9..5daffd5 100644
@@ -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 },
author Applied
#2 lore raw

PATCH 1/1 ARM: tegra: turn on UART A clock at boot

In reply to Stephen Warren
Quoted 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.