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
|