From 73625e3e2e2bc36198f5b43e0f32d9dfb8e3b77c Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 23 Jun 2010 15:49:17 -0700 Subject: [ARM] tegra: Add support for reading fuses The Tegra SOC contains fuses to identify the CPU type and bin, and a unique id. The CPU info is required to determine the correct voltages for each cpu and core frequency. Signed-off-by: Colin Cross --- arch/arm/mach-tegra/common.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/mach-tegra/common.c') diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 039a514b61ef..9aedaf77013c 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -26,6 +26,7 @@ #include "board.h" #include "clock.h" +#include "fuse.h" static __initdata struct tegra_clk_init_table common_clk_init_table[] = { /* name parent rate enabled */ @@ -55,6 +56,7 @@ void __init tegra_init_cache(void) void __init tegra_common_init(void) { + tegra_init_fuse(); tegra_init_clock(); tegra_clk_init_from_table(common_clk_init_table); tegra_init_cache(); -- cgit v1.2.3 From 8486bddc09c84606fb22cf30c6282335275d4dfa Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 24 Jun 2010 18:57:00 -0700 Subject: [ARM] tegra: common: Update common clock init table Renames clocks in the clock init table to match the datasheet names Signed-off-by: Colin Cross --- arch/arm/mach-tegra/common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arch/arm/mach-tegra/common.c') diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 9aedaf77013c..445104a993ba 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -36,8 +36,8 @@ static __initdata struct tegra_clk_init_table common_clk_init_table[] = { { "pll_p_out2", "pll_p", 48000000, true }, { "pll_p_out3", "pll_p", 72000000, true }, { "pll_p_out4", "pll_p", 108000000, true }, - { "sys", "pll_p_out4", 108000000, true }, - { "hclk", "sys", 108000000, true }, + { "sclk", "pll_p_out4", 108000000, true }, + { "hclk", "sclk", 108000000, true }, { "pclk", "hclk", 54000000, true }, { NULL, NULL, 0, 0}, }; -- cgit v1.2.3 From 4de3a8fa334851e642d4889d6afa6e5d3daea10a Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Mon, 5 Apr 2010 13:16:42 -0700 Subject: [ARM] tegra: Add APB DMA support The APB DMA block handles DMA transfers to and from some peripherals in the Tegra SOC. It reads from sequential addresses on the memory bus, and writes repeatedly to the same address on the APB bus. Two transfer modes are supported, oneshot for transferring a known size to or from a peripheral, and continuous for streaming data. In continuous mode, a callback occurs when the buffer is half full to allow the existing data to be handled and a new request queued.x v2 changes: dma API no longer uses PTR_ERR Signed-off-by: Erik Gilling Signed-off-by: Colin Cross --- arch/arm/mach-tegra/common.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'arch/arm/mach-tegra/common.c') diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 445104a993ba..7c91e2b9d643 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -19,10 +19,13 @@ #include #include +#include +#include #include #include +#include #include "board.h" #include "clock.h" @@ -52,6 +55,7 @@ void __init tegra_init_cache(void) l2x0_init(p, 0x6C080001, 0x8200c3fe); #endif + } void __init tegra_common_init(void) @@ -60,4 +64,7 @@ void __init tegra_common_init(void) tegra_init_clock(); tegra_clk_init_from_table(common_clk_init_table); tegra_init_cache(); +#ifdef CONFIG_TEGRA_SYSTEM_DMA + tegra_dma_init(); +#endif } -- cgit v1.2.3