On Tue, Apr 12, 2016 at 4:56 PM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
NVIDIA Tegra210 supports the IO pads which can operate at 1.8V(...)
or 3.3V I/O voltage levels. Also the IO pads can be configured
for power down state if it is not used. SW needs to configure the
voltage level of IO pads based on IO rail voltage and its power
state based on platform usage.
The voltage and power state configurations of pads are provided
through pin control frameworks. Add pin control driver for Tegra's
IO pads' voltage and power state configurations.
Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>
+config PINCTRL_TEGRA210_IO_PADWhy does this need its own Kconfig option?
Can't you just unconditionally compile it in if
PINCTRL_TEGRA210 is selected, you seem to say
it is there on all these platforms anyway.
+static const struct pinconf_generic_params tegra_io_pads_cfg_params[] = {What's so nvidia-specific about this?
+ {
+ .property = "nvidia,io-rail-voltage",
+ .param = TEGRA_IO_RAIL_VOLTAGE,
+ }, {
We have power-source in
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
which takes a custom argument. This is obviously what you
are doing (selecting one of two rails), so use that binding.
When writing, I considered this property but was not able to fully convinced myself to use this but I think now I am fine to use this as you suggested.
+ .property = "nvidia,io-pad-deep-power-down",Likewise the generic bindings have low-power-enable and
+ .param = TEGRA_IO_PAD_DEEP_POWER_DOWN,
+ },
low-power-disable, this seems like a copy of low-power-enable;
Even if Tegra is not using the generic code for handling the
standard bindings (GENERIC_PINCONF) it doesn't stop
you from using the generic bindings and contributing to them.
Historically you have a few custom bindings like these:
nvidia,pins
nvidia,function
nvidia,pull
nvidia,tristate
etc etc, but that is just unfortunate and due to preceding the
generic bindings. I would appreciate if you started to support
the generic bindings in parallel, but I'm not gonna push that issue.