Commit 66b2d6e9 authored by Jon Hunter's avatar Jon Hunter Committed by Thierry Reding

arm64: tegra: Add DPAUX pinctrl bindings

Add the DPAUX pinctrl states for the DPAUX nodes defining all three
possible states of "aux", "i2c" and "off". Also add the 'i2c-bus'
node for the DPAUX nodes so that the I2C driver core does not attempt
to parse the pinctrl state nodes.

Populate the nodes for the pinctrl clients of the DPAUX pin controller.
There are two clients for each DPAUX instance, namely the SOR and one of
the I2C adapters. The SOR clients may used the DPAUX pins in either AUX
or I2C modes and so for these devices we don't define any of the generic
pinctrl states (default, idle, etc) because the SOR driver will directly
set the state needed. For I2C clients only the I2C mode is used and so
we can simplify matters by using the generic pinctrl states for default
and idle.
Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 0f133090
...@@ -35,6 +35,26 @@ dpaux1: dpaux@54040000 { ...@@ -35,6 +35,26 @@ dpaux1: dpaux@54040000 {
resets = <&tegra_car 207>; resets = <&tegra_car 207>;
reset-names = "dpaux"; reset-names = "dpaux";
status = "disabled"; status = "disabled";
state_dpaux1_aux: pinmux-aux {
groups = "dpaux-io";
function = "aux";
};
state_dpaux1_i2c: pinmux-i2c {
groups = "dpaux-io";
function = "i2c";
};
state_dpaux1_off: pinmux-off {
groups = "dpaux-io";
function = "off";
};
i2c-bus {
#address-cells = <1>;
#size-cells = <0>;
};
}; };
vi@54080000 { vi@54080000 {
...@@ -154,6 +174,10 @@ sor@54540000 { ...@@ -154,6 +174,10 @@ sor@54540000 {
clock-names = "sor", "parent", "dp", "safe"; clock-names = "sor", "parent", "dp", "safe";
resets = <&tegra_car 182>; resets = <&tegra_car 182>;
reset-names = "sor"; reset-names = "sor";
pinctrl-0 = <&state_dpaux_aux>;
pinctrl-1 = <&state_dpaux_i2c>;
pinctrl-2 = <&state_dpaux_off>;
pinctrl-names = "aux", "i2c", "off";
status = "disabled"; status = "disabled";
}; };
...@@ -168,6 +192,10 @@ sor@54580000 { ...@@ -168,6 +192,10 @@ sor@54580000 {
clock-names = "sor", "parent", "dp", "safe"; clock-names = "sor", "parent", "dp", "safe";
resets = <&tegra_car 183>; resets = <&tegra_car 183>;
reset-names = "sor"; reset-names = "sor";
pinctrl-0 = <&state_dpaux1_aux>;
pinctrl-1 = <&state_dpaux1_i2c>;
pinctrl-2 = <&state_dpaux1_off>;
pinctrl-names = "aux", "i2c", "off";
status = "disabled"; status = "disabled";
}; };
...@@ -181,6 +209,26 @@ dpaux: dpaux@545c0000 { ...@@ -181,6 +209,26 @@ dpaux: dpaux@545c0000 {
resets = <&tegra_car 181>; resets = <&tegra_car 181>;
reset-names = "dpaux"; reset-names = "dpaux";
status = "disabled"; status = "disabled";
state_dpaux_aux: pinmux-aux {
groups = "dpaux-io";
function = "aux";
};
state_dpaux_i2c: pinmux-i2c {
groups = "dpaux-io";
function = "i2c";
};
state_dpaux_off: pinmux-off {
groups = "dpaux-io";
function = "off";
};
i2c-bus {
#address-cells = <1>;
#size-cells = <0>;
};
}; };
isp@54600000 { isp@54600000 {
...@@ -478,6 +526,9 @@ i2c@7000c700 { ...@@ -478,6 +526,9 @@ i2c@7000c700 {
reset-names = "i2c"; reset-names = "i2c";
dmas = <&apbdma 26>, <&apbdma 26>; dmas = <&apbdma 26>, <&apbdma 26>;
dma-names = "rx", "tx"; dma-names = "rx", "tx";
pinctrl-0 = <&state_dpaux1_i2c>;
pinctrl-1 = <&state_dpaux1_off>;
pinctrl-names = "default", "idle";
status = "disabled"; status = "disabled";
}; };
...@@ -508,6 +559,9 @@ i2c@7000d100 { ...@@ -508,6 +559,9 @@ i2c@7000d100 {
reset-names = "i2c"; reset-names = "i2c";
dmas = <&apbdma 30>, <&apbdma 30>; dmas = <&apbdma 30>, <&apbdma 30>;
dma-names = "rx", "tx"; dma-names = "rx", "tx";
pinctrl-0 = <&state_dpaux_i2c>;
pinctrl-1 = <&state_dpaux_off>;
pinctrl-names = "default", "idle";
status = "disabled"; status = "disabled";
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment