arm: tegra3: Keep DAP2 in maximum driver strength
Laxman Dewangan [Tue, 2 Aug 2011 08:46:48 +0000 (13:46 +0530)]
Setting maximum driver strength of DAP2 in all tegra3
based system by default.

bug 820361

Original-Change-Id: I2f992f4779e7babe76a5dc7a679bee53b3369c9a
Reviewed-on: http://git-master/r/44497
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

Rebase-Id: R03343987d0b060291c323558f5eaf96b63cd2321

arch/arm/mach-tegra/pinmux-tegra30-tables.c

index 2877579..8419967 100644 (file)
@@ -364,6 +364,23 @@ static const struct tegra_pingroup_desc tegra_soc_pingroups[TEGRA_MAX_PINGROUP]
        PINGROUP(PEX_L2_CLKREQ_N, PEXCTL,   PCIE,       HDA,        RSVD2,      RSVD3,      RSVD,       INPUT,  0x33dc),
        PINGROUP(HDMI_CEC,        SYS,      CEC,        RSVD1,      RSVD2,      RSVD3,      RSVD,       INPUT,  0x33e0),
 };
+#endif
+
+#define SET_DRIVE(_name, _hsm, _schmitt, _drive, _pulldn_drive, _pullup_drive, _pulldn_slew, _pullup_slew) \
+       {                                                       \
+               .pingroup = TEGRA_DRIVE_PINGROUP_##_name,       \
+               .hsm = TEGRA_HSM_##_hsm,                        \
+               .schmitt = TEGRA_SCHMITT_##_schmitt,            \
+               .drive = TEGRA_DRIVE_##_drive,                  \
+               .pull_down = TEGRA_PULL_##_pulldn_drive,        \
+               .pull_up = TEGRA_PULL_##_pullup_drive,          \
+               .slew_rising = TEGRA_SLEW_##_pulldn_slew,       \
+               .slew_falling = TEGRA_SLEW_##_pullup_slew,      \
+       }
+
+static __initdata struct tegra_drive_pingroup_config t30_def_drive_pinmux[] = {
+       SET_DRIVE(DAP2, DISABLE, ENABLE, DIV_1, 31, 31, FASTEST, FASTEST),
+};
 
 void tegra30_pinmux_init(const struct tegra_pingroup_desc **pg,
                int *pg_max, const struct tegra_drive_pingroup_desc **pgdrive,
@@ -374,3 +391,9 @@ void tegra30_pinmux_init(const struct tegra_pingroup_desc **pg,
        *pgdrive = tegra_soc_drive_pingroups;
        *pgdrive_max = TEGRA_MAX_DRIVE_PINGROUP;
 }
+
+void tegra30_default_pinmux()
+{
+       tegra_drive_pinmux_config_table(t30_def_drive_pinmux,
+                                       ARRAY_SIZE(t30_def_drive_pinmux));
+}