On Wed, Nov 2, 2016 at 10:09 AM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
NVIDIA Tegra124 and later SoCs support the multi-voltage level andLooking for an ACK from Stephen &| Thierry.
low power state of some of its IO pads. The IO pads can work in
the voltage of the 1.8V and 3.3V of IO power rail sources. When IO
interface are not used then IO pads can be configure in low power
state to reduce the power from that IO pads.
On Tegra124, the IO power rail source is auto detected by SoC and hence
it is only require to configure in low power mode if IO pads are not
used.
On T210 onwards, the auto-detection is removed from SoC and hence SW
must configure the PMC register explicitly to set proper voltage in
IO pads based on IO rail power source voltage.
This driver adds the IO pad driver to configure the power state and
IO pad voltage based on the usage and power tree via pincontrol
framework. The configuration can be static and dynamic.
Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>
The driver built in pinctrl branch and so this is expected. The APIs are in the above branch.
---But it's an orthogonal patch right?
On top of the branch from Thierry's T186 work
https://github.com/thierryreding/linux/tree/tegra186
The build robot seems to have problems with it so pls fix these.
+static const struct pinconf_generic_params tegra_io_pads_cfg_params[] = {Why can you not use the standard power-source binding
+ {
+ .property = "nvidia,power-source-voltage",
+ .param = TEGRA_IO_PAD_POWER_SOURCE_VOLTAGE,
+ },
+};
from Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
instead of inventing this nvidia,* variant?