@@ -342,7 +342,7 @@ struct tegra_sor {
struct drm_info_list *debugfs_files;
const struct tegra_sor_ops *ops;
- enum tegra_io_pad pad;
+ unsigned int pad;
/* for HDMI 2.0 */
struct tegra_sor_hdmi_settings *settings;
@@ -132,7 +132,7 @@ struct tegra_powergate {
};
struct tegra_io_pad_soc {
- enum tegra_io_pad id;
+ unsigned int id;
unsigned int dpd;
unsigned int voltage;
};
@@ -945,7 +945,7 @@ static void tegra_powergate_init(struct tegra_pmc *pmc,
}
static const struct tegra_io_pad_soc *
-tegra_io_pad_find(struct tegra_pmc *pmc, enum tegra_io_pad id)
+tegra_io_pad_find(struct tegra_pmc *pmc, unsigned int id)
{
unsigned int i;
@@ -956,7 +956,7 @@ tegra_io_pad_find(struct tegra_pmc *pmc, enum tegra_io_pad id)
return NULL;
}
-static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request,
+static int tegra_io_pad_prepare(unsigned int id, unsigned long *request,
unsigned long *status, u32 *mask)
{
const struct tegra_io_pad_soc *pad;
@@ -1029,7 +1029,7 @@ static void tegra_io_pad_unprepare(void)
*
* Returns: 0 on success or a negative error code on failure.
*/
-int tegra_io_pad_power_enable(enum tegra_io_pad id)
+int tegra_io_pad_power_enable(unsigned int id)
{
unsigned long request, status;
u32 mask;
@@ -1065,7 +1065,7 @@ EXPORT_SYMBOL(tegra_io_pad_power_enable);
*
* Returns: 0 on success or a negative error code on failure.
*/
-int tegra_io_pad_power_disable(enum tegra_io_pad id)
+int tegra_io_pad_power_disable(unsigned int id)
{
unsigned long request, status;
u32 mask;
@@ -1095,7 +1095,7 @@ int tegra_io_pad_power_disable(enum tegra_io_pad id)
}
EXPORT_SYMBOL(tegra_io_pad_power_disable);
-int tegra_io_pad_set_voltage(enum tegra_io_pad id,
+int tegra_io_pad_set_voltage(unsigned int id,
enum tegra_io_pad_voltage voltage)
{
const struct tegra_io_pad_soc *pad;
@@ -1133,7 +1133,7 @@ int tegra_io_pad_set_voltage(enum tegra_io_pad id,
}
EXPORT_SYMBOL(tegra_io_pad_set_voltage);
-int tegra_io_pad_get_voltage(enum tegra_io_pad id)
+int tegra_io_pad_get_voltage(unsigned int id)
{
const struct tegra_io_pad_soc *pad;
u32 value;
new file mode 100644
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2010 Google, Inc
+ * Copyright (c) 2014 NVIDIA Corporation
+ *
+ * Author:
+ * Colin Cross <ccross@google.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * 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.
+ *
+ */
+
+#ifndef _DT_BINDINGS_SOC_TEGRA_PMC_H
+#define _DT_BINDINGS_SOC_TEGRA_PMC_H
+
+#define TEGRA_IO_PAD_AUDIO 0
+#define TEGRA_IO_PAD_AUDIO_HV 1
+#define TEGRA_IO_PAD_BB 2
+#define TEGRA_IO_PAD_CAM 3
+#define TEGRA_IO_PAD_COMP 4
+#define TEGRA_IO_PAD_CONN 5
+#define TEGRA_IO_PAD_CSIA 6
+#define TEGRA_IO_PAD_CSIB 7
+#define TEGRA_IO_PAD_CSIC 8
+#define TEGRA_IO_PAD_CSID 9
+#define TEGRA_IO_PAD_CSIE 10
+#define TEGRA_IO_PAD_CSIF 11
+#define TEGRA_IO_PAD_DBG 12
+#define TEGRA_IO_PAD_DEBUG_NONAO 13
+#define TEGRA_IO_PAD_DMIC 14
+#define TEGRA_IO_PAD_DMIC_HV 15
+#define TEGRA_IO_PAD_DP 16
+#define TEGRA_IO_PAD_DSI 17
+#define TEGRA_IO_PAD_DSIB 18
+#define TEGRA_IO_PAD_DSIC 19
+#define TEGRA_IO_PAD_DSID 20
+#define TEGRA_IO_PAD_EDP 21
+#define TEGRA_IO_PAD_EMMC 22
+#define TEGRA_IO_PAD_EMMC2 23
+#define TEGRA_IO_PAD_GPIO 24
+#define TEGRA_IO_PAD_HDMI 25
+#define TEGRA_IO_PAD_HDMI_DP0 26
+#define TEGRA_IO_PAD_HDMI_DP1 27
+#define TEGRA_IO_PAD_HSIC 28
+#define TEGRA_IO_PAD_HV 29
+#define TEGRA_IO_PAD_LVDS 30
+#define TEGRA_IO_PAD_MIPI_BIAS 31
+#define TEGRA_IO_PAD_NAND 32
+#define TEGRA_IO_PAD_PEX_BIAS 33
+#define TEGRA_IO_PAD_PEX_CLK_BIAS 34
+#define TEGRA_IO_PAD_PEX_CLK1 35
+#define TEGRA_IO_PAD_PEX_CLK2 36
+#define TEGRA_IO_PAD_PEX_CLK3 37
+#define TEGRA_IO_PAD_PEX_CNTRL 38
+#define TEGRA_IO_PAD_SDMMC1 39
+#define TEGRA_IO_PAD_SDMMC1_HV 40
+#define TEGRA_IO_PAD_SDMMC2 41
+#define TEGRA_IO_PAD_SDMMC2_HV 42
+#define TEGRA_IO_PAD_SDMMC3 43
+#define TEGRA_IO_PAD_SDMMC3_HV 44
+#define TEGRA_IO_PAD_SDMMC4 45
+#define TEGRA_IO_PAD_SPI 46
+#define TEGRA_IO_PAD_SPI_HV 47
+#define TEGRA_IO_PAD_SYS_DDC 48
+#define TEGRA_IO_PAD_UART 49
+#define TEGRA_IO_PAD_UFS 50
+#define TEGRA_IO_PAD_USB0 51
+#define TEGRA_IO_PAD_USB1 52
+#define TEGRA_IO_PAD_USB2 53
+#define TEGRA_IO_PAD_USB3 54
+#define TEGRA_IO_PAD_USB_BIAS 55
+
+#endif /* _DT_BINDINGS_SOC_TEGRA_PMC_H */
@@ -22,6 +22,7 @@
#include <linux/reboot.h>
#include <soc/tegra/pm.h>
+#include <dt-bindings/soc/tegra/pmc.h>
struct clk;
struct reset_control;
@@ -70,72 +71,6 @@ int tegra_pmc_cpu_remove_clamping(unsigned int cpuid);
#define TEGRA_POWERGATE_3D0 TEGRA_POWERGATE_3D
-/**
- * enum tegra_io_pad - I/O pad group identifier
- *
- * I/O pins on Tegra SoCs are grouped into so-called I/O pads. Each such pad
- * can be used to control the common voltage signal level and power state of
- * the pins of the given pad.
- */
-enum tegra_io_pad {
- TEGRA_IO_PAD_AUDIO,
- TEGRA_IO_PAD_AUDIO_HV,
- TEGRA_IO_PAD_BB,
- TEGRA_IO_PAD_CAM,
- TEGRA_IO_PAD_COMP,
- TEGRA_IO_PAD_CONN,
- TEGRA_IO_PAD_CSIA,
- TEGRA_IO_PAD_CSIB,
- TEGRA_IO_PAD_CSIC,
- TEGRA_IO_PAD_CSID,
- TEGRA_IO_PAD_CSIE,
- TEGRA_IO_PAD_CSIF,
- TEGRA_IO_PAD_DBG,
- TEGRA_IO_PAD_DEBUG_NONAO,
- TEGRA_IO_PAD_DMIC,
- TEGRA_IO_PAD_DMIC_HV,
- TEGRA_IO_PAD_DP,
- TEGRA_IO_PAD_DSI,
- TEGRA_IO_PAD_DSIB,
- TEGRA_IO_PAD_DSIC,
- TEGRA_IO_PAD_DSID,
- TEGRA_IO_PAD_EDP,
- TEGRA_IO_PAD_EMMC,
- TEGRA_IO_PAD_EMMC2,
- TEGRA_IO_PAD_GPIO,
- TEGRA_IO_PAD_HDMI,
- TEGRA_IO_PAD_HDMI_DP0,
- TEGRA_IO_PAD_HDMI_DP1,
- TEGRA_IO_PAD_HSIC,
- TEGRA_IO_PAD_HV,
- TEGRA_IO_PAD_LVDS,
- TEGRA_IO_PAD_MIPI_BIAS,
- TEGRA_IO_PAD_NAND,
- TEGRA_IO_PAD_PEX_BIAS,
- TEGRA_IO_PAD_PEX_CLK_BIAS,
- TEGRA_IO_PAD_PEX_CLK1,
- TEGRA_IO_PAD_PEX_CLK2,
- TEGRA_IO_PAD_PEX_CLK3,
- TEGRA_IO_PAD_PEX_CNTRL,
- TEGRA_IO_PAD_SDMMC1,
- TEGRA_IO_PAD_SDMMC1_HV,
- TEGRA_IO_PAD_SDMMC2,
- TEGRA_IO_PAD_SDMMC2_HV,
- TEGRA_IO_PAD_SDMMC3,
- TEGRA_IO_PAD_SDMMC3_HV,
- TEGRA_IO_PAD_SDMMC4,
- TEGRA_IO_PAD_SPI,
- TEGRA_IO_PAD_SPI_HV,
- TEGRA_IO_PAD_SYS_DDC,
- TEGRA_IO_PAD_UART,
- TEGRA_IO_PAD_UFS,
- TEGRA_IO_PAD_USB0,
- TEGRA_IO_PAD_USB1,
- TEGRA_IO_PAD_USB2,
- TEGRA_IO_PAD_USB3,
- TEGRA_IO_PAD_USB_BIAS,
-};
-
/* deprecated, use TEGRA_IO_PAD_{HDMI,LVDS} instead */
#define TEGRA_IO_RAIL_HDMI TEGRA_IO_PAD_HDMI
#define TEGRA_IO_RAIL_LVDS TEGRA_IO_PAD_LVDS
@@ -160,11 +95,11 @@ int tegra_powergate_remove_clamping(unsigned int id);
int tegra_powergate_sequence_power_up(unsigned int id, struct clk *clk,
struct reset_control *rst);
-int tegra_io_pad_power_enable(enum tegra_io_pad id);
-int tegra_io_pad_power_disable(enum tegra_io_pad id);
-int tegra_io_pad_set_voltage(enum tegra_io_pad id,
+int tegra_io_pad_power_enable(unsigned int id);
+int tegra_io_pad_power_disable(unsigned int id);
+int tegra_io_pad_set_voltage(unsigned int id,
enum tegra_io_pad_voltage voltage);
-int tegra_io_pad_get_voltage(enum tegra_io_pad id);
+int tegra_io_pad_get_voltage(unsigned int id);
/* deprecated, use tegra_io_pad_power_{enable,disable}() instead */
int tegra_io_rail_power_on(unsigned int id);
@@ -202,23 +137,23 @@ static inline int tegra_powergate_sequence_power_up(unsigned int id,
return -ENOSYS;
}
-static inline int tegra_io_pad_power_enable(enum tegra_io_pad id)
+static inline int tegra_io_pad_power_enable(unsigned int id)
{
return -ENOSYS;
}
-static inline int tegra_io_pad_power_disable(enum tegra_io_pad id)
+static inline int tegra_io_pad_power_disable(unsigned int id)
{
return -ENOSYS;
}
-static inline int tegra_io_pad_set_voltage(enum tegra_io_pad id,
+static inline int tegra_io_pad_set_voltage(unsigned int id,
enum tegra_io_pad_voltage voltage)
{
return -ENOSYS;
}
-static inline int tegra_io_pad_get_voltage(enum tegra_io_pad id)
+static inline int tegra_io_pad_get_voltage(unsigned int id)
{
return -ENOSYS;
}