summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNitin Kumbhar <nkumbhar@nvidia.com>2011-07-25 16:24:11 +0530
committerSimone Willett <swillett@nvidia.com>2011-08-08 17:39:52 -0700
commita714dd55c49e16173f7cff264ac58b5cbd6c0942 (patch)
tree584fcffb171664e4ce9c2ac9bb2e0b5657b6d26c
parented66cd3fd7774392fd31226dec0a58eb29e1dc69 (diff)
ventana: use separate emc chips for ventana based devices
Many platforms are derived from ventana and have different types of memories. Add a separate array for the emc chips being used on those platforms. Be default, the array is not populated with any entries. This disables memory scaling for that device. BUG 854226 Change-Id: Ic200c980c074ce315880c964f08ce1d5482f6766 Reviewed-on: http://git-master/r/43038 Reviewed-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com> Tested-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-ventana-memory.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-memory.c b/arch/arm/mach-tegra/board-ventana-memory.c
index a1075ddb75a7..1adcd8b20d71 100644
--- a/arch/arm/mach-tegra/board-ventana-memory.c
+++ b/arch/arm/mach-tegra/board-ventana-memory.c
@@ -563,19 +563,30 @@ static const struct tegra_emc_chip ventana_t25_emc_chips[] = {
},
};
+static const struct tegra_emc_chip ventana_siblings_emc_chips[] = {
+};
+
#define TEGRA25_SKU 0x0B00
+#define board_is_ventana(bi) (bi.board_id == 0x24b || bi.board_id == 0x252)
int ventana_emc_init(void)
{
struct board_info BoardInfo;
tegra_get_board_info(&BoardInfo);
- if (BoardInfo.sku == TEGRA25_SKU) {
- tegra_init_emc(ventana_t25_emc_chips,
- ARRAY_SIZE(ventana_t25_emc_chips));
+
+ if (board_is_ventana(BoardInfo)) {
+ if (BoardInfo.sku == TEGRA25_SKU)
+ tegra_init_emc(ventana_t25_emc_chips,
+ ARRAY_SIZE(ventana_t25_emc_chips));
+ else
+ tegra_init_emc(ventana_emc_chips,
+ ARRAY_SIZE(ventana_emc_chips));
} else {
- tegra_init_emc(ventana_emc_chips,
- ARRAY_SIZE(ventana_emc_chips));
+ pr_info("ventana_emc_init: using ventana_siblings_emc_chips\n");
+ tegra_init_emc(ventana_siblings_emc_chips,
+ ARRAY_SIZE(ventana_siblings_emc_chips));
}
+
return 0;
}