summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-harmony.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2010-05-14 19:30:34 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2012-03-21 22:10:44 -0700
commiteb2f44125f2d00e79d7ad7735f9901d9f855045e (patch)
tree01708f2592d02402c8f70c90440e9b1a42ed3208 /arch/arm/mach-tegra/board-harmony.c
parent3149651a9bfaede0482b248d27741e129f48f06a (diff)
[ARM] tegra: harmony: Make board init calls explicit
Signed-off-by: Colin Cross <ccross@android.com> Change-Id: Ic14e8db00f2272de2f4ee4013bb3ab5c1951e7fe Rebase-Id: Rebac80b43410ed08f04ba9081be3912cd38b5c6e
Diffstat (limited to 'arch/arm/mach-tegra/board-harmony.c')
-rw-r--r--arch/arm/mach-tegra/board-harmony.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c
index b8d45f0e6a8b..ce827a9e8e64 100644
--- a/arch/arm/mach-tegra/board-harmony.c
+++ b/arch/arm/mach-tegra/board-harmony.c
@@ -49,6 +49,31 @@
#include "devices.h"
#include "gpio-names.h"
+/* NVidia bootloader tags */
+#define ATAG_NVIDIA 0x41000801
+
+#define ATAG_NVIDIA_RM 0x1
+#define ATAG_NVIDIA_DISPLAY 0x2
+#define ATAG_NVIDIA_FRAMEBUFFER 0x3
+#define ATAG_NVIDIA_CHIPSHMOO 0x4
+#define ATAG_NVIDIA_CHIPSHMOOPHYS 0x5
+#define ATAG_NVIDIA_PRESERVED_MEM_0 0x10000
+#define ATAG_NVIDIA_PRESERVED_MEM_N 2
+#define ATAG_NVIDIA_FORCE_32 0x7fffffff
+
+struct tag_tegra {
+ __u32 bootarg_key;
+ __u32 bootarg_len;
+ char bootarg[1];
+};
+
+static int __init parse_tag_nvidia(const struct tag *tag)
+{
+
+ return 0;
+}
+__tagtable(ATAG_NVIDIA, parse_tag_nvidia);
+
static struct tegra_nand_chip_parms nand_chip_parms[] = {
/* Samsung K5E2G1GACM */
[0] = {
@@ -291,6 +316,14 @@ static struct platform_device *harmony_devices[] __initdata = {
&tegra_nand_device,
&tegra_otg,
&pda_power_device,
+ &tegra_i2c_device1,
+ &tegra_i2c_device2,
+ &tegra_i2c_device3,
+ &tegra_i2c_device4,
+ &tegra_spi_device1,
+ &tegra_spi_device2,
+ &tegra_spi_device3,
+ &tegra_spi_device4,
};
static void __init tegra_harmony_fixup(struct tag *tags, char **cmdline,
@@ -347,6 +380,8 @@ static void __init tegra_harmony_init(void)
platform_add_devices(harmony_devices, ARRAY_SIZE(harmony_devices));
harmony_i2c_init();
harmony_regulator_init();
+ harmony_panel_init();
+ harmony_sdhci_init();
}
MACHINE_START(HARMONY, "harmony")