Skip to content

Commit

Permalink
ARM: tegra: tamonten: Add DDC/PTA pinmux
Browse files Browse the repository at this point in the history
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: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
  • Loading branch information
Thierry Reding authored and Stephen Warren committed Nov 15, 2012
1 parent c42cb1c commit ec31990
Showing 1 changed file with 64 additions and 5 deletions.
69 changes: 64 additions & 5 deletions arch/arm/boot/dts/tegra20-tamonten.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,6 @@
nvidia,pins = "dap4";
nvidia,function = "dap4";
};
ddc {
nvidia,pins = "ddc";
nvidia,function = "i2c2";
};
dta {
nvidia,pins = "dta", "dtd";
nvidia,function = "sdio2";
Expand All @@ -91,7 +87,7 @@
nvidia,function = "pcie";
};
hdint {
nvidia,pins = "hdint", "pta";
nvidia,pins = "hdint";
nvidia,function = "hdmi";
};
i2cp {
Expand Down Expand Up @@ -230,6 +226,39 @@
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 {
Expand All @@ -246,6 +275,36 @@
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 {
clock-frequency = <400000>;
status = "okay";
Expand Down

0 comments on commit ec31990

Please sign in to comment.