summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-tegranote7c.h
blob: 326c7266a0599a72dded66abe547d3da45c92399 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
 * arch/arm/mach-tegra/board-tegranote7c.h
 *
 * Copyright (c) 2014, NVIDIA Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * 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_TEGRANOTE7C_H
#define _MACH_TEGRA_BOARD_TEGRANOTE7C_H

#include <mach/gpio.h>
#include <mach/irqs.h>
#include <linux/mpu.h>
#include <linux/thermal.h>
#include <linux/platform_data/thermal_sensors.h>
#include "gpio-names.h"
#include "tegra11_soctherm.h"

#define PMC_WAKE_STATUS 0x14
#define PMC_WAKE2_STATUS 0x168

/* External peripheral act as gpio */
#define PALMAS_TEGRA_GPIO_BASE	TEGRA_NR_GPIOS

/* Audio-related GPIOs */
#define TEGRA_GPIO_CDC_IRQ		TEGRA_GPIO_PW3
#define TEGRA_GPIO_LDO1_EN		TEGRA_GPIO_PV3
#define TEGRA_GPIO_CODEC1_EN	-1
#define TEGRA_GPIO_CODEC2_EN	-1
#define TEGRA_GPIO_CODEC3_EN	-1

#define TEGRA_GPIO_SPKR_EN		-1
#define TEGRA_GPIO_HP_DET		TEGRA_GPIO_PR7
#define TEGRA_GPIO_INT_MIC_EN		TEGRA_GPIO_PK3
#define TEGRA_GPIO_EXT_MIC_EN		-1

#define TEGRA_SOC_OC_IRQ_BASE		TEGRA_NR_IRQS
#define TEGRA_SOC_OC_NUM_IRQ		TEGRA_SOC_OC_IRQ_MAX

/* External peripheral act as interrupt controller */
#define PALMAS_TEGRA_IRQ_BASE	(TEGRA_SOC_OC_IRQ_BASE + TEGRA_SOC_OC_NUM_IRQ)
#define PALMAS_TEGRA_IRQ_END	(PALMAS_TEGRA_IRQ_BASE + PALMAS_NUM_IRQ)

/* I2C related GPIOs */
#define TEGRA_GPIO_I2C1_SCL		TEGRA_GPIO_PC4
#define TEGRA_GPIO_I2C1_SDA             TEGRA_GPIO_PC5
#define TEGRA_GPIO_I2C2_SCL             TEGRA_GPIO_PT5
#define TEGRA_GPIO_I2C2_SDA             TEGRA_GPIO_PT6
#define TEGRA_GPIO_I2C3_SCL             TEGRA_GPIO_PBB1
#define TEGRA_GPIO_I2C3_SDA             TEGRA_GPIO_PBB2
#define TEGRA_GPIO_I2C4_SCL             TEGRA_GPIO_PV4
#define TEGRA_GPIO_I2C4_SDA             TEGRA_GPIO_PV5
#define TEGRA_GPIO_I2C5_SCL             TEGRA_GPIO_PZ6
#define TEGRA_GPIO_I2C5_SDA             TEGRA_GPIO_PZ7

/* Camera related GPIOs */
#define CAM_RSTN			TEGRA_GPIO_PBB3
#define CAM_FLASH_STROBE		TEGRA_GPIO_PBB4
#define CAM1_POWER_DWN_GPIO		TEGRA_GPIO_PBB5
#define CAM2_POWER_DWN_GPIO		TEGRA_GPIO_PBB6
#define CAM_AF_PWDN			TEGRA_GPIO_PBB7
#define CAM_GPIO1			TEGRA_GPIO_PCC1
#define CAM_GPIO2			TEGRA_GPIO_PCC2

/* Touchscreen definitions */
#define TOUCH_GPIO_IRQ_RAYDIUM_SPI      TEGRA_GPIO_PK2
#define TOUCH_GPIO_RST_RAYDIUM_SPI      TEGRA_GPIO_PK4
#define TOUCH_GPIO_IRQ_MAXIM_STI_SPI    TEGRA_GPIO_PK2
#define TOUCH_GPIO_RST_MAXIM_STI_SPI    TEGRA_GPIO_PK4

/* Invensense MPU Definitions */
#define MPU_GYRO_NAME                 "mpu6050"
#define MPU_GYRO_IRQ_GPIO             TEGRA_GPIO_PR3
#define MPU_GYRO_ADDR                 0x69
#define MPU_GYRO_BUS_NUM              0
#define MPU_GYRO_ORIENTATION          MTMAT_TOP_CCW_90
#define MPU_COMPASS_NAME              "ak8975"
#define MPU_COMPASS_IRQ_GPIO          0
#define MPU_COMPASS_ADDR              0x0D
#define MPU_COMPASS_BUS_NUM           0
#define MPU_COMPASS_ORIENTATION       MTMAT_BOT_CCW_270

/* Modem related GPIOs */
#define MODEM_EN		TEGRA_GPIO_PP2
#define MDM_RST			TEGRA_GPIO_PP0
#define MDM_COLDBOOT		TEGRA_GPIO_PI5
#define MDM_APACK2		TEGRA_GPIO_PV0
#define MDM_PWR_BOOST	TEGRA_GPIO_PQ1

int tegranote7c_regulator_init(void);
int tegranote7c_power_off_init(void);
int tegranote7c_suspend_init(void);
int tegranote7c_sdhci_init(void);
int tegranote7c_pinmux_init(void);
int tegranote7c_sensors_init(void);
int tegranote7c_emc_init(void);
int tegranote7c_edp_init(void);
int tegranote7c_panel_init(void);
int tegranote7c_kbc_init(void);
int tegranote7c_pmon_init(void);
int tegranote7c_soctherm_init(void);
void tegranote7c_sysedp_core_init(void);

/* UART port which is used by bluetooth*/
#define BLUETOOTH_UART_DEV_NAME "/dev/ttyHS2"

/* Baseband IDs */
enum tegra_bb_type {
	TEGRA_BB_NEMO = 1,
};

#define UTMI1_PORT_OWNER_XUSB	0x1
#define UTMI2_PORT_OWNER_XUSB	0x2
#define HSIC1_PORT_OWNER_XUSB	0x4

#define TEGRANOTE7C_BATTERY_MAX_CURRENT	4500
#define UART_FROM_SDCARD 0x5
#endif