ARM: tegra12: set CPU rate to 2.2GHz for sku 0x87
[linux-3.10.git] / arch / arm / mach-tegra / board-macallan.h
1 /*
2  * arch/arm/mach-tegra/board-macallan.h
3  *
4  * Copyright (c) 2013, NVIDIA Corporation. All rights reserved.
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_MACALLAN_H
21 #define _MACH_TEGRA_BOARD_MACALLAN_H
22
23 #include <mach/irqs.h>
24 #include "gpio-names.h"
25 #include <linux/thermal.h>
26 #include <linux/platform_data/thermal_sensors.h>
27 #include "tegra11_soctherm.h"
28
29 #define PMC_WAKE_STATUS 0x14
30 #define PMC_WAKE2_STATUS 0x168
31
32 /* External peripheral act as gpio */
33 #define PALMAS_TEGRA_GPIO_BASE  TEGRA_NR_GPIOS
34
35 /* Audio-related GPIOs */
36 #define TEGRA_GPIO_CDC_IRQ              TEGRA_GPIO_PW3
37 #define TEGRA_GPIO_LDO1_EN              TEGRA_GPIO_PV3
38 #define TEGRA_GPIO_CODEC1_EN    TEGRA_GPIO_PP3
39 #define TEGRA_GPIO_CODEC2_EN    TEGRA_GPIO_PP1
40 #define TEGRA_GPIO_CODEC3_EN    TEGRA_GPIO_PV0
41
42 #define TEGRA_GPIO_SPKR_EN              -1
43 #define TEGRA_GPIO_HP_DET               TEGRA_GPIO_PR7
44 #define TEGRA_GPIO_INT_MIC_EN           TEGRA_GPIO_PK3
45 #define TEGRA_GPIO_EXT_MIC_EN           -1
46
47 #define TEGRA_SOC_OC_IRQ_BASE           TEGRA_NR_IRQS
48 #define TEGRA_SOC_OC_NUM_IRQ            TEGRA_SOC_OC_IRQ_MAX
49
50 /* External peripheral act as interrupt controller */
51 #define PALMAS_TEGRA_IRQ_BASE   (TEGRA_SOC_OC_IRQ_BASE + TEGRA_SOC_OC_NUM_IRQ)
52 #define PALMAS_TEGRA_IRQ_END    (PALMAS_TEGRA_IRQ_BASE + PALMAS_NUM_IRQ)
53
54 /* I2C related GPIOs */
55 #define TEGRA_GPIO_I2C1_SCL             TEGRA_GPIO_PC4
56 #define TEGRA_GPIO_I2C1_SDA             TEGRA_GPIO_PC5
57 #define TEGRA_GPIO_I2C2_SCL             TEGRA_GPIO_PT5
58 #define TEGRA_GPIO_I2C2_SDA             TEGRA_GPIO_PT6
59 #define TEGRA_GPIO_I2C3_SCL             TEGRA_GPIO_PBB1
60 #define TEGRA_GPIO_I2C3_SDA             TEGRA_GPIO_PBB2
61 #define TEGRA_GPIO_I2C4_SCL             TEGRA_GPIO_PV4
62 #define TEGRA_GPIO_I2C4_SDA             TEGRA_GPIO_PV5
63 #define TEGRA_GPIO_I2C5_SCL             TEGRA_GPIO_PZ6
64 #define TEGRA_GPIO_I2C5_SDA             TEGRA_GPIO_PZ7
65
66 /* Camera related GPIOs */
67 #define CAM_RSTN                        TEGRA_GPIO_PBB3
68 #define CAM_FLASH_STROBE                TEGRA_GPIO_PBB4
69 #define CAM1_POWER_DWN_GPIO             TEGRA_GPIO_PBB5
70 #define CAM2_POWER_DWN_GPIO             TEGRA_GPIO_PBB6
71 #define CAM_AF_PWDN                     TEGRA_GPIO_PBB7
72 #define CAM_GPIO1                       TEGRA_GPIO_PCC1
73 #define CAM_GPIO2                       TEGRA_GPIO_PCC2
74
75 /* Touchscreen definitions */
76 #define TOUCH_GPIO_IRQ_RAYDIUM_SPI      TEGRA_GPIO_PK2
77 #define TOUCH_GPIO_RST_RAYDIUM_SPI      TEGRA_GPIO_PK4
78
79 /* Invensense MPU Definitions */
80 #define MPU_GYRO_NAME           "mpu6050"
81 #define MPU_GYRO_IRQ_GPIO       TEGRA_GPIO_PR3
82 #define MPU_GYRO_ADDR           0x69
83 #define MPU_GYRO_BUS_NUM        0
84 #define MPU_GYRO_ORIENTATION    { 0, 1, 0, 1, 0, 0, 0, 0, -1 }
85 #define MPU_COMPASS_NAME        "ak8975"
86 #define MPU_COMPASS_IRQ_GPIO    0
87 #define MPU_COMPASS_ADDR        0x0D
88 #define MPU_COMPASS_BUS_NUM     0
89 #define MPU_COMPASS_ORIENTATION { 0, 1, 0, 1, 0, 0, 0, 0, -1 }
90
91 /* Modem related GPIOs */
92 #define MODEM_EN                TEGRA_GPIO_PP2
93 #define MDM_RST                 TEGRA_GPIO_PP0
94 #define MDM_COLDBOOT            TEGRA_GPIO_PO5
95
96 int macallan_regulator_init(void);
97 int macallan_suspend_init(void);
98 int macallan_sdhci_init(void);
99 int macallan_sensors_init(void);
100 int macallan_emc_init(void);
101 int macallan_edp_init(void);
102 int macallan_panel_init(void);
103 int roth_panel_init(void);
104 int macallan_kbc_init(void);
105 int macallan_pmon_init(void);
106 int macallan_soctherm_init(void);
107
108
109 extern struct tegra_sdhci_platform_data macallan_tegra_sdhci_platform_data0;
110
111 /* UART port which is used by bluetooth*/
112 #define BLUETOOTH_UART_DEV_NAME "/dev/ttyTHS2"
113
114 /* Baseband IDs */
115 enum tegra_bb_type {
116         TEGRA_BB_NEMO = 1,
117 };
118
119 #define UTMI1_PORT_OWNER_XUSB   0x1
120 #define UTMI2_PORT_OWNER_XUSB   0x2
121 #define HSIC1_PORT_OWNER_XUSB   0x4
122
123 #endif