summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-colibri_t30.h
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-09-14 08:22:56 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2012-10-03 14:55:57 +0200
commita33c89148ee32833cb930ea4779e6863c9bbc71d (patch)
tree5f63fb800e04f289be83567d75b0c4ed5b461104 /arch/arm/mach-tegra/board-colibri_t30.h
parent49f91ff5b1083b8350ea0bd8fc1a37d7436b7e5b (diff)
tegra: colibri_t30: initial Toradex Colibri T30 L4T R16 support
Tested on early prototype Colibri T30 V1.0a eMMC module. Known issues: - spurious boot hang after following kernel message [ 5.595219] Timed out waiting for lock bit on pll pll_a - no audio (SGTL5000) support integrated yet - NAND detection/support disabled for now due to boot hang - USB OTG support disabled for now due to boot hang - trying to spawn L4T R16 X driver seems to hang Note: requires uImage with adjusted entry point/load address as follows mkimage -A arm -C none -O linux -T kernel -a 0x82008000 -e 0x82008000 -n 'Linux-3.1.10-colibri_t30' -d zImage uImage
Diffstat (limited to 'arch/arm/mach-tegra/board-colibri_t30.h')
-rw-r--r--arch/arm/mach-tegra/board-colibri_t30.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-colibri_t30.h b/arch/arm/mach-tegra/board-colibri_t30.h
new file mode 100644
index 000000000000..b67082a5b4cf
--- /dev/null
+++ b/arch/arm/mach-tegra/board-colibri_t30.h
@@ -0,0 +1,71 @@
+/*
+ * arch/arm/mach-tegra/board-colibri_t30.h
+ *
+ * Copyright (c) 2012 Toradex, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _MACH_TEGRA_BOARD_COLIBRI_T30_H
+#define _MACH_TEGRA_BOARD_COLIBRI_T30_H
+
+#include <linux/mfd/tps6591x.h>
+
+#include <mach/gpio.h>
+#include <mach/irqs.h>
+
+/* External peripheral act as gpio */
+/* TPS6591x GPIOs */
+#define TPS6591X_GPIO_BASE TEGRA_NR_GPIOS
+#define TPS6591X_GPIO_0 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP0)
+#define TPS6591X_GPIO_1 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP1)
+#define TPS6591X_GPIO_2 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP2)
+#define TPS6591X_GPIO_3 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP3)
+#define TPS6591X_GPIO_4 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP4)
+#define TPS6591X_GPIO_5 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP5)
+#define TPS6591X_GPIO_6 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP6)
+#define TPS6591X_GPIO_7 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP7)
+#define TPS6591X_GPIO_8 (TPS6591X_GPIO_BASE + TPS6591X_GPIO_GP8)
+#define TPS6591X_GPIO_END (TPS6591X_GPIO_BASE + TPS6591X_GPIO_NR)
+
+#define AC_PRESENT_GPIO TPS6591X_GPIO_4
+
+/*****************Interrupt tables ******************/
+/* External peripheral act as interrupt controller */
+/* TPS6591x IRQs */
+#define TPS6591X_IRQ_BASE TEGRA_NR_IRQS
+#define TPS6591X_IRQ_END (TPS6591X_IRQ_BASE + 18)
+
+#define AC_PRESENT_INT (TPS6591X_INT_GPIO4 + TPS6591X_IRQ_BASE)
+
+/* STMPE811 IRQs */
+#define STMPE811_IRQ_BASE TPS6591X_IRQ_END
+#define STMPE811_IRQ_END (STMPE811_IRQ_BASE + 22)
+
+//#define COLIBRI_T30_SDMMC4B /* SD-card on SDMMC4B rather than SDMMC2 */
+//#define COLIBRI_T30_VI
+
+int colibri_t30_regulator_init(void);
+int colibri_t30_suspend_init(void);
+int colibri_t30_pinmux_init(void);
+int colibri_t30_panel_init(void);
+int colibri_t30_sensors_init(void);
+int colibri_t30_gpio_switch_regulator_init(void);
+int colibri_t30_pins_state_init(void);
+int colibri_t30_emc_init(void);
+int colibri_t30_power_off_init(void);
+int colibri_t30_edp_init(void);
+
+#endif