padctrl: tegra210-pmc: add DT binding doc for PAD power control
Laxman Dewangan [Thu, 21 May 2015 15:26:29 +0000 (20:26 +0530)]
Update DT binding document for Tegra 210 PAD power control
properties. Also add macro for dt-binding header which can
be use by the DTS file.

bug 1648039

Change-Id: Id2191031f277fdc8a22b0a29acbc7f84a395455a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
(cherry picked from commit b70f7b32a930ab7da73a3fbc5a81820449bb1b65)
Reviewed-on: http://git-master/r/750842

Documentation/devicetree/bindings/padctrl/padctrl-tegra210-pmc.txt
include/dt-bindings/padctrl/tegra210-pads.h

index 9e6b050..c15cc2a 100644 (file)
@@ -11,8 +11,17 @@ Optional properties:
                                        TEGRA210_PAD_AUDIO_HV IO_RAIL_VOLTAGE_3_3V>;
                The driver intialise the io pad voltage during registration.
 
+- platform-io-pad-power: Array of U32 data with IO rail ID and related
+               power enable/disable for that pad. Example
+               platform-io-pad-power = <
+                       TEGRA210_TEGRA_IO_PAD_GROUP_SDMMC3 TEGRA_IO_PAD_GROUP_POWER_DISABLE
+                       TEGRA_IO_PAD_GROUP_PEX_CTRL TEGRA_IO_PAD_GROUP_POWER_DISABLE
+                       TEGRA_IO_PAD_GROUP_DSI  TEGRA_IO_PAD_GROUP_POWER_ENABLE>;
 The pad id is passed as the argument and this is defined as macro at
        include/dt-bindings/padctrl/tegra210-pads.h
+For platform-io-pad-power, use the TEGRA_IO_PAD_GROUP_*.
+For platform-io-pad-voltage, use TEGRA210_PAD_*.
+
 Example: SDMMC1 pad is 6 and SDMMC3 is 7.
 
        tegra_pmc: pmc@7000e400 {
index 4eabc02..813aa1c 100644 (file)
 #define IO_PAD_VOLTAGE_1_8V    1800000
 #define IO_PAD_VOLTAGE_3_3V    3300000
 
+/* IO PAD group */
+#define TEGRA_IO_PAD_GROUP_AUDIO       0
+#define TEGRA_IO_PAD_GROUP_AUDIO_HV    1
+#define TEGRA_IO_PAD_GROUP_CAM         2
+#define TEGRA_IO_PAD_GROUP_CSIA                3
+#define TEGRA_IO_PAD_GROUP_CSIB                4
+#define TEGRA_IO_PAD_GROUP_CSIC                5
+#define TEGRA_IO_PAD_GROUP_CSID                6
+#define TEGRA_IO_PAD_GROUP_CSIE                7
+#define TEGRA_IO_PAD_GROUP_CSIF                8
+#define TEGRA_IO_PAD_GROUP_DBG         9
+#define TEGRA_IO_PAD_GROUP_DEBUG_NONAO 10
+#define TEGRA_IO_PAD_GROUP_DMIC                11
+#define TEGRA_IO_PAD_GROUP_DP          12
+#define TEGRA_IO_PAD_GROUP_DSI         13
+#define TEGRA_IO_PAD_GROUP_DSIB                14
+#define TEGRA_IO_PAD_GROUP_DSIC                15
+#define TEGRA_IO_PAD_GROUP_DSID                16
+#define TEGRA_IO_PAD_GROUP_EMMC                17
+#define TEGRA_IO_PAD_GROUP_EMMC2       18
+#define TEGRA_IO_PAD_GROUP_GPIO                19
+#define TEGRA_IO_PAD_GROUP_HDMI                20
+#define TEGRA_IO_PAD_GROUP_HSIC                21
+#define TEGRA_IO_PAD_GROUP_LVDS                22
+#define TEGRA_IO_PAD_GROUP_MIPI_BIAS   23
+#define TEGRA_IO_PAD_GROUP_PEX_BIAS    24
+#define TEGRA_IO_PAD_GROUP_PEX_CLK1    25
+#define TEGRA_IO_PAD_GROUP_PEX_CLK2    26
+#define TEGRA_IO_PAD_GROUP_PEX_CTRL    27
+#define TEGRA_IO_PAD_GROUP_SDMMC1      28
+#define TEGRA_IO_PAD_GROUP_SDMMC3      29
+#define TEGRA_IO_PAD_GROUP_SPI         30
+#define TEGRA_IO_PAD_GROUP_SPI_HV      31
+#define TEGRA_IO_PAD_GROUP_UART                32
+#define TEGRA_IO_PAD_GROUP_USB_BIAS    33
+#define TEGRA_IO_PAD_GROUP_USB0                34
+#define TEGRA_IO_PAD_GROUP_USB1                35
+#define TEGRA_IO_PAD_GROUP_USB2                36
+#define TEGRA_IO_PAD_GROUP_USB3                37
+
+#define TEGRA_IO_PAD_GROUP_POWER_DISABLE       0
+#define TEGRA_IO_PAD_GROUP_POWER_ENABLE                1
+
 #endif