ARM: tegra: pluto: enable keyboard support
[linux-2.6.git] / arch / arm / mach-tegra / board-pluto.h
1 /*
2  * arch/arm/mach-tegra/board-pluto.h
3  *
4  * Copyright (c) 2012, NVIDIA Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18  */
19
20 #ifndef _MACH_TEGRA_BOARD_PLUTO_H
21 #define _MACH_TEGRA_BOARD_PLUTO_H
22
23 #include <mach/gpio-tegra.h>
24 #include <mach/irqs.h>
25 #include <linux/mfd/palmas.h>
26 #include "gpio-names.h"
27
28 /* External peripheral act as gpio */
29 /* PALMAS GPIO */
30 #define PALMAS_TEGRA_GPIO_BASE  TEGRA_NR_GPIOS
31
32 /* Audio-related GPIOs */
33 #define TEGRA_GPIO_CDC_IRQ              TEGRA_GPIO_PW3
34 #define TEGRA_GPIO_SPKR_EN              -1
35 #define TEGRA_GPIO_HP_DET               TEGRA_GPIO_PW2
36 #define TEGRA_GPIO_INT_MIC_EN           TEGRA_GPIO_PK3
37 #define TEGRA_GPIO_EXT_MIC_EN           TEGRA_GPIO_PK4
38
39 #define TEGRA_GPIO_W_DISABLE            TEGRA_GPIO_PDD7
40 #define TEGRA_GPIO_MODEM_RSVD1          TEGRA_GPIO_PV0
41 #define TEGRA_GPIO_MODEM_RSVD2          TEGRA_GPIO_PH7
42
43 /* External peripheral act as interrupt controller */
44 /* PLUTO IRQs */
45 #define PALMAS_TEGRA_IRQ_BASE   TEGRA_NR_IRQS
46
47 /* I2C related GPIOs */
48 #define TEGRA_GPIO_I2C1_SCL             TEGRA_GPIO_PC4
49 #define TEGRA_GPIO_I2C1_SDA             TEGRA_GPIO_PC5
50 #define TEGRA_GPIO_I2C2_SCL             TEGRA_GPIO_PT5
51 #define TEGRA_GPIO_I2C2_SDA             TEGRA_GPIO_PT6
52 #define TEGRA_GPIO_I2C3_SCL             TEGRA_GPIO_PBB1
53 #define TEGRA_GPIO_I2C3_SDA             TEGRA_GPIO_PBB2
54 #define TEGRA_GPIO_I2C4_SCL             TEGRA_GPIO_PV4
55 #define TEGRA_GPIO_I2C4_SDA             TEGRA_GPIO_PV5
56 #define TEGRA_GPIO_I2C5_SCL             TEGRA_GPIO_PZ6
57 #define TEGRA_GPIO_I2C5_SDA             TEGRA_GPIO_PZ7
58
59 int pluto_regulator_init(void);
60 int pluto_suspend_init(void);
61 int pluto_sdhci_init(void);
62 int pluto_pinmux_init(void);
63 int pluto_sensors_init(void);
64 int pluto_emc_init(void);
65 int pluto_panel_init(void);
66 int pluto_kbc_init(void);
67
68 #endif