Commit ec319903 authored by Thierry Reding's avatar Thierry Reding Committed by Stephen Warren

ARM: tegra: tamonten: Add DDC/PTA pinmux

This commit allows the I2C2 controller on Tegra20 to be routed either to
the DDC or the PTA pin group at runtime. On Tamonten this allows the I2C
bus to be used for the DDC of the HDMI connector or to access I2C chips
on the carrier board.
Signed-off-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
parent c42cb1c3
...@@ -62,10 +62,6 @@ dap4 { ...@@ -62,10 +62,6 @@ dap4 {
nvidia,pins = "dap4"; nvidia,pins = "dap4";
nvidia,function = "dap4"; nvidia,function = "dap4";
}; };
ddc {
nvidia,pins = "ddc";
nvidia,function = "i2c2";
};
dta { dta {
nvidia,pins = "dta", "dtd"; nvidia,pins = "dta", "dtd";
nvidia,function = "sdio2"; nvidia,function = "sdio2";
...@@ -91,7 +87,7 @@ gpv { ...@@ -91,7 +87,7 @@ gpv {
nvidia,function = "pcie"; nvidia,function = "pcie";
}; };
hdint { hdint {
nvidia,pins = "hdint", "pta"; nvidia,pins = "hdint";
nvidia,function = "hdmi"; nvidia,function = "hdmi";
}; };
i2cp { i2cp {
...@@ -230,6 +226,39 @@ conf_ld17_0 { ...@@ -230,6 +226,39 @@ conf_ld17_0 {
nvidia,pull = <1>; nvidia,pull = <1>;
}; };
}; };
state_i2cmux_ddc: pinmux_i2cmux_ddc {
ddc {
nvidia,pins = "ddc";
nvidia,function = "i2c2";
};
pta {
nvidia,pins = "pta";
nvidia,function = "rsvd4";
};
};
state_i2cmux_pta: pinmux_i2cmux_pta {
ddc {
nvidia,pins = "ddc";
nvidia,function = "rsvd4";
};
pta {
nvidia,pins = "pta";
nvidia,function = "i2c2";
};
};
state_i2cmux_idle: pinmux_i2cmux_idle {
ddc {
nvidia,pins = "ddc";
nvidia,function = "rsvd4";
};
pta {
nvidia,pins = "pta";
nvidia,function = "rsvd4";
};
};
}; };
i2s@70002800 { i2s@70002800 {
...@@ -246,6 +275,36 @@ i2c@7000c000 { ...@@ -246,6 +275,36 @@ i2c@7000c000 {
status = "okay"; status = "okay";
}; };
i2c@7000c400 {
clock-frequency = <100000>;
status = "okay";
};
i2cmux {
compatible = "i2c-mux-pinctrl";
#address-cells = <1>;
#size-cells = <0>;
i2c-parent = <&{/i2c@7000c400}>;
pinctrl-names = "ddc", "pta", "idle";
pinctrl-0 = <&state_i2cmux_ddc>;
pinctrl-1 = <&state_i2cmux_pta>;
pinctrl-2 = <&state_i2cmux_idle>;
i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
};
};
i2c@7000d000 { i2c@7000d000 {
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
......
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