On 12/04/16 15:56, Laxman Dewangan wrote:
NVIDIA Tegra210 supports the IO pads which can operate at 1.8VThis should be 'pmc@7000e400'. We were incorrectly adding the '0,'
or 3.3V I/O voltage levels. Also IO pads can be configured for
power down state if it is not in used. SW needs to configure the
voltage level of IO pads based on IO rail voltage and its power
state based on platform usage.
Add DT binding document for detailing the DT properties for
configuring IO pads voltage levels and its power state.
Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>
---
.../bindings/pinctrl/nvidia,tegra210-io-pad.txt | 102 +++++++++++++++++++++
.../dt-bindings/pinctrl/pinctrl-tegra210-io-pad.h | 24 +++++
2 files changed, 126 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-io-pad.txt
create mode 100644 include/dt-bindings/pinctrl/pinctrl-tegra210-io-pad.h
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-io-pad.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-io-pad.txt
new file mode 100644
index 0000000..97cdd4f
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-io-pad.txt
@@ -0,0 +1,102 @@
+NVIDIA Tegra210 PMC IO pad controller
+
+NVIDIA Tegra210 supports IO pads which can operate at 1.8V or 3.3V I/O
+power rail voltages. SW needs to configure the voltage level of IO pads
+based on platform specific power tree.
+
+The voltage configurations of IO pads should be done in boot if it is not
+going to change other wise dynamically based on IO rail voltage on that
+IO pads.
+
+The node for the Tegra210 io-pad driver must be sub node of pmc@0,7000e400.
previously.
+I think you have have "Must be ..." here. I am also wondering if the
+Required properties:
+- compatible: "nvidia,tegra210-io-pad"
pinctrl device should be registered by the pmc driver and so not a
separate driver to the PMC driver. In other words, the PMC driver calls
pinctrl_register() directly.
+The voltage supported on the pads are 1.8V and 3.3V. The enums are defined as:You may consider just using integer values here like we do for regulators.
+ For 1.8V, use TEGRA210_IO_RAIL_1800000UV
+ For 3.3V, use TEGRA210_IO_RAIL_3300000UV
+ TEGRA210_IO_PAD_DEEP_POWER_DOWN_DISABLE forSounds like a boolean parameter. So may consider that if the property
+ disable.
+ TEGRA210_IO_PAD_DEEP_POWER_DOWN_ENABLE for
+ enable.
'nvidia,io-pad-deep-power-down' is present then it means enable
deep-power-down and if not present then don't. Then you do not need to
assign a value to it.