diff options
author | Nikesh Oswal <noswal@nvidia.com> | 2012-01-24 12:11:31 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2012-01-30 11:57:01 -0800 |
commit | 39408ce587a6d9d9bc5fb1ec65dba27d56c16d46 (patch) | |
tree | cd6c7c548e25dc22facfcf6e6491f71c0dd20d1b | |
parent | 47ec40cdf0fc96c91fa9245f3f12dbd5a8ef3c96 (diff) |
arm: tegra: whistler: increase driver strength of dap
for low driver strength of daps we are getting noise in voice call
hence increase the drive strength of daps for voice call
Bug: 919350
Change-Id: I29dca68f339078cd80bebdb6ae46b46117e32949
Reviewed-on: http://git-master/r/77002
Change-Id: I4c59379a1859938038cff175ab695808bddb0963
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/77733
Reviewed-by: Automatic_Commit_Validation_User
-rw-r--r-- | arch/arm/mach-tegra/board-whistler-pinmux.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-whistler-pinmux.c b/arch/arm/mach-tegra/board-whistler-pinmux.c index 081b4feb531f..22c2f984c662 100644 --- a/arch/arm/mach-tegra/board-whistler-pinmux.c +++ b/arch/arm/mach-tegra/board-whistler-pinmux.c @@ -22,6 +22,35 @@ #include "board-whistler.h" #include "gpio-names.h" +/* Setting the drive strength of pins + * hsm: Enable High speed mode (ENABLE/DISABLE) + * Schimit: Enable/disable schimit (ENABLE/DISABLE) + * drive: low power mode (DIV_1, DIV_2, DIV_4, DIV_8) + * pulldn_drive - drive down (falling edge) - Driver Output Pull-Down drive + * strength code. Value from 0 to 31. + * pullup_drive - drive up (rising edge) - Driver Output Pull-Up drive + * strength code. Value from 0 to 31. + * pulldn_slew - Driver Output Pull-Up slew control code - 2bit code + * code 11 is least slewing of signal. code 00 is highest + * slewing of the signal. + * Value - FASTEST, FAST, SLOW, SLOWEST + * pullup_slew - Driver Output Pull-Down slew control code - + * code 11 is least slewing of signal. code 00 is highest + * slewing of the signal. + * Value - FASTEST, FAST, SLOW, SLOWEST + */ +#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, \ + } + #define DEFAULT_DRIVE(_name) \ { \ .pingroup = TEGRA_DRIVE_PINGROUP_##_name, \ @@ -34,13 +63,14 @@ .slew_falling = TEGRA_SLEW_SLOWEST, \ } - static __initdata struct tegra_drive_pingroup_config whistler_drive_pinmux[] = { DEFAULT_DRIVE(DBG), DEFAULT_DRIVE(DDC), DEFAULT_DRIVE(VI1), DEFAULT_DRIVE(VI2), DEFAULT_DRIVE(SDIO1), + SET_DRIVE(DAP2, DISABLE, ENABLE, DIV_1, 46, 46, SLOWEST, SLOWEST), + SET_DRIVE(DAP3, DISABLE, ENABLE, DIV_1, 46, 46, SLOWEST, SLOWEST), }; static __initdata struct tegra_pingroup_config whistler_pinmux[] = { |