[PATCH v3 05/13] arm/dt: Tegra: Add pinmux node
Stephen Warren
swarren at nvidia.com
Thu Aug 25 19:43:36 EDT 2011
Add a pinmux node to tegra20.dtsi in order to instantiate the future
pinmux device. Add pinmux nodes to Harmony and Seaboard, which detail
the entire initial pinmux configuration. This configuration is identical
to that in board-harmony/seaboard-pinmux.c.
Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
arch/arm/boot/dts/tegra-harmony.dts | 243 ++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/tegra-seaboard.dts | 239 +++++++++++++++++++++++++++++++++
arch/arm/boot/dts/tegra20.dtsi | 5 +
3 files changed, 487 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts
index 2bbe559..a2b8dec 100644
--- a/arch/arm/boot/dts/tegra-harmony.dts
+++ b/arch/arm/boot/dts/tegra-harmony.dts
@@ -30,6 +30,249 @@
>;
};
+ pinmux: pinmux at 70000000 {
+ nvidia,mux-groups {
+ ata {
+ pins = "ata";
+ function = "ide";
+ };
+ atb {
+ pins = "atb", "gma", "gme";
+ function = "sdio4";
+ };
+ atc {
+ pins = "atc";
+ function = "nand";
+ };
+ atd {
+ pins = "atd", "ate", "gmb", "gmd", "spia", "spib";
+ function = "gmi";
+ };
+ cdev1 {
+ pins = "cdev1";
+ function = "plla_out";
+ };
+ cdev2 {
+ pins = "cdev2";
+ function = "pllp_out4";
+ pull-down;
+ tristate;
+ };
+ ck32 {
+ pins = "ck32", "ddrc", "pmca", "pmcb", "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
+ function = "none";
+ };
+ crtp {
+ pins = "crtp";
+ function = "crt";
+ tristate;
+ };
+ csus {
+ pins = "csus";
+ function = "vi_sensor_clk";
+ pull-down;
+ tristate;
+ };
+ dap1 {
+ pins = "dap1";
+ function = "dap1";
+ };
+ dap2 {
+ pins = "dap2";
+ function = "dap2";
+ tristate;
+ };
+ dap3 {
+ pins = "dap3";
+ function = "dap3";
+ tristate;
+ };
+ dap4 {
+ pins = "dap4";
+ function = "dap4";
+ tristate;
+ };
+ ddc {
+ pins = "ddc";
+ function = "i2c2";
+ pull-up;
+ };
+ dta {
+ pins = "dta", "dtd";
+ function = "sdio2";
+ pull-up;
+ };
+ dtb {
+ pins = "dtb";
+ function = "rsvd1";
+ };
+ dtc {
+ pins = "dtc", "dte";
+ function = "rsvd1";
+ tristate;
+ };
+ dtf {
+ pins = "dtf";
+ function = "i2c3";
+ tristate;
+ };
+ gmc {
+ pins = "gmc";
+ function = "uartd";
+ };
+ gpu {
+ pins = "gpu";
+ function = "gmi";
+ tristate;
+ };
+ gpu7 {
+ pins = "gpu7";
+ function = "rtck";
+ };
+ gpv {
+ pins = "gpv", "slxa", "slxk";
+ function = "pcie";
+ tristate;
+ };
+ hdint {
+ pins = "hdint";
+ function = "hdmi";
+ pull-up;
+ tristate;
+ };
+ i2cp {
+ pins = "i2cp", "rm";
+ function = "i2c";
+ };
+ irrx {
+ pins = "irrx", "irtx";
+ function = "uarta";
+ pull-up;
+ tristate;
+ };
+ kbca {
+ pins = "kbca", "kbcb", "kbcc", "kbcd", "kbce", "kbcf";
+ function = "kbc";
+ pull-up;
+ };
+ lcsn {
+ pins = "lcsn", "ldc", "lm1", "lpw1", "lsc1", "lsck", "lsda", "lsdi", "lvp0";
+ function = "displaya";
+ pull-up;
+ tristate;
+ };
+ ld0 {
+ pins = "ld0", "ld1", "ld10", "ld11", "ld12", "ld13", "ld14", "ld15", "ld16", "ld17", "ld2", "ld3", "ld4", "ld5", "ld6", "ld7", "ld8", "ld9", "ldi", "lhp0", "lhp1", "lhp2", "lpp", "lvp1";
+ function = "displaya";
+ pull-down;
+ };
+ lhs {
+ pins = "lhs", "lm0", "lpw0", "lpw2", "lsc0", "lspi", "lvs";
+ function = "displaya";
+ pull-up;
+ };
+ owc {
+ pins = "owc";
+ function = "rsvd2";
+ pull-up;
+ tristate;
+ };
+ pmc {
+ pins = "pmc";
+ function = "pwr_on";
+ };
+ pta {
+ pins = "pta";
+ function = "hdmi";
+ };
+ sdb {
+ pins = "sdb";
+ function = "pwm";
+ tristate;
+ };
+ sdc {
+ pins = "sdc";
+ function = "pwm";
+ pull-up;
+ };
+ sdd {
+ pins = "sdd";
+ function = "pwm";
+ pull-up;
+ tristate;
+ };
+ sdio1 {
+ pins = "sdio1";
+ function = "sdio1";
+ tristate;
+ };
+ slxc {
+ pins = "slxc", "slxd";
+ function = "spdif";
+ tristate;
+ };
+ spdi {
+ pins = "spdi", "spdo", "uac";
+ function = "rsvd2";
+ tristate;
+ };
+ spic {
+ pins = "spic";
+ function = "gmi";
+ pull-up;
+ tristate;
+ };
+ spid {
+ pins = "spid", "spif";
+ function = "spi1";
+ pull-down;
+ tristate;
+ };
+ spie {
+ pins = "spie";
+ function = "spi1";
+ pull-up;
+ tristate;
+ };
+ spig {
+ pins = "spig";
+ function = "spi2_alt";
+ tristate;
+ };
+ spih {
+ pins = "spih";
+ function = "spi2_alt";
+ pull-up;
+ tristate;
+ };
+ uaa {
+ pins = "uaa", "uab";
+ function = "ulpi";
+ pull-up;
+ tristate;
+ };
+ uad {
+ pins = "uad";
+ function = "irda";
+ pull-up;
+ tristate;
+ };
+ uca {
+ pins = "uca", "ucb";
+ function = "uartc";
+ pull-up;
+ tristate;
+ };
+ uda {
+ pins = "uda";
+ function = "ulpi";
+ tristate;
+ };
+ };
+ nvidia,drive-groups {
+ };
+ };
+
i2c at 7000c000 {
clock-frequency = <400000>;
diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts
index ec8f8cf..b0677b2 100644
--- a/arch/arm/boot/dts/tegra-seaboard.dts
+++ b/arch/arm/boot/dts/tegra-seaboard.dts
@@ -24,6 +24,245 @@
>;
};
+ pinmux: pinmux at 70000000 {
+ nvidia,mux-groups {
+ ata {
+ pins = "ata";
+ function = "ide";
+ };
+ atb {
+ pins = "atb", "gma", "gme";
+ function = "sdio4";
+ };
+ atc {
+ pins = "atc";
+ function = "nand";
+ };
+ atd {
+ pins = "atd";
+ function = "gmi";
+ };
+ ate {
+ pins = "ate", "spib";
+ function = "gmi";
+ tristate;
+ };
+ cdev1 {
+ pins = "cdev1";
+ function = "plla_out";
+ };
+ cdev2 {
+ pins = "cdev2";
+ function = "pllp_out4";
+ };
+ ck32 {
+ pins = "ck32", "ddrc", "pmca", "pmcb", "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
+ function = "none";
+ };
+ crtp {
+ pins = "crtp";
+ function = "crt";
+ pull-up;
+ tristate;
+ };
+ csus {
+ pins = "csus";
+ function = "vi_sensor_clk";
+ tristate;
+ };
+ dap1 {
+ pins = "dap1";
+ function = "dap1";
+ };
+ dap2 {
+ pins = "dap2";
+ function = "dap2";
+ };
+ dap3 {
+ pins = "dap3";
+ function = "dap3";
+ tristate;
+ };
+ dap4 {
+ pins = "dap4";
+ function = "dap4";
+ };
+ ddc {
+ pins = "ddc", "owc";
+ function = "rsvd2";
+ tristate;
+ };
+ dta {
+ pins = "dta", "dtb", "dtc", "dtd";
+ function = "vi";
+ pull-down;
+ };
+ dte {
+ pins = "dte";
+ function = "vi";
+ pull-down;
+ tristate;
+ };
+ dtf {
+ pins = "dtf";
+ function = "i2c3";
+ };
+ gmb {
+ pins = "gmb", "spia";
+ function = "gmi";
+ pull-up;
+ tristate;
+ };
+ gmc {
+ pins = "gmc";
+ function = "uartd";
+ };
+ gmd {
+ pins = "gmd";
+ function = "sflash";
+ };
+ gpu {
+ pins = "gpu";
+ function = "pwm";
+ };
+ gpu7 {
+ pins = "gpu7";
+ function = "rtck";
+ };
+ gpv {
+ pins = "gpv";
+ function = "pcie";
+ tristate;
+ };
+ hdint {
+ pins = "hdint", "lsc1", "lsck", "lsda";
+ function = "hdmi";
+ tristate;
+ };
+ i2cp {
+ pins = "i2cp", "rm";
+ function = "i2c";
+ };
+ irrx {
+ pins = "irrx", "irtx";
+ function = "uartb";
+ };
+ kbca {
+ pins = "kbca", "kbcb", "kbcc", "kbcd", "kbce", "kbcf";
+ function = "kbc";
+ pull-up;
+ };
+ lcsn {
+ pins = "lcsn", "ldc", "lpw1", "lsdi", "lvp0";
+ function = "rsvd4";
+ tristate;
+ };
+ ld0 {
+ pins = "ld0", "ld1", "ld10", "ld11", "ld12", "ld13", "ld14", "ld15", "ld16", "ld17", "ld2", "ld3", "ld4", "ld5", "ld6", "ld7", "ld8", "ld9", "ldi", "lhp0", "lhp1", "lhp2", "lhs", "lpp", "lsc0", "lspi", "lvp1", "lvs";
+ function = "displaya";
+ };
+ lm0 {
+ pins = "lm0";
+ function = "rsvd4";
+ };
+ lm1 {
+ pins = "lm1";
+ function = "crt";
+ tristate;
+ };
+ lpw0 {
+ pins = "lpw0", "lpw2", "pta";
+ function = "hdmi";
+ };
+ pmc {
+ pins = "pmc";
+ function = "pwr_on";
+ };
+ sdb {
+ pins = "sdb", "sdc", "sdd";
+ function = "sdio3";
+ };
+ sdio1 {
+ pins = "sdio1";
+ function = "sdio1";
+ pull-up;
+ };
+ slxa {
+ pins = "slxa";
+ function = "pcie";
+ pull-up;
+ tristate;
+ };
+ slxc {
+ pins = "slxc";
+ function = "spdif";
+ tristate;
+ };
+ slxd {
+ pins = "slxd";
+ function = "spdif";
+ };
+ slxk {
+ pins = "slxk";
+ function = "pcie";
+ };
+ spdi {
+ pins = "spdi", "spdo", "uac";
+ function = "rsvd2";
+ };
+ spic {
+ pins = "spic";
+ function = "gmi";
+ pull-up;
+ };
+ spid {
+ pins = "spid", "spie";
+ function = "spi1";
+ tristate;
+ };
+ spif {
+ pins = "spif";
+ function = "spi1";
+ pull-down;
+ tristate;
+ };
+ spig {
+ pins = "spig", "spih";
+ function = "spi2_alt";
+ pull-up;
+ tristate;
+ };
+ uaa {
+ pins = "uaa", "uab";
+ function = "ulpi";
+ pull-up;
+ };
+ uad {
+ pins = "uad";
+ function = "irda";
+ };
+ uca {
+ pins = "uca", "ucb";
+ function = "uartc";
+ };
+ uda {
+ pins = "uda";
+ function = "ulpi";
+ };
+ };
+ nvidia,drive-groups {
+ sdio1 {
+ pins = "sdio1";
+ nvidia,schmitt;
+ nvidia,drive-power = <3>;
+ nvidia,pull-down-strength = <31>;
+ nvidia,pull-up-strength = <31>;
+ nvidia,slew-rate-rising = <3>;
+ nvidia,slew-rate-falling = <3>;
+ };
+ };
+ };
+
serial at 70006300 {
clock-frequency = < 216000000 >;
};
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index 5727595..5921c1d 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -77,6 +77,11 @@
gpio-controller;
};
+ pinmux: pinmux at 70000000 {
+ compatible = "nvidia,tegra20-pinmux";
+ reg = < 0x70000000 0xc00 >;
+ };
+
serial at 70006000 {
compatible = "nvidia,tegra20-uart";
reg = <0x70006000 0x40>;
--
1.7.0.4
More information about the linux-arm-kernel
mailing list