From 39408ce587a6d9d9bc5fb1ec65dba27d56c16d46 Mon Sep 17 00:00:00 2001 From: Nikesh Oswal Date: Tue, 24 Jan 2012 12:11:31 +0530 Subject: 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 Signed-off-by: Varun Wadekar Reviewed-on: http://git-master/r/77733 Reviewed-by: Automatic_Commit_Validation_User --- arch/arm/mach-tegra/board-whistler-pinmux.c | 32 ++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-tegra/board-whistler-pinmux.c') 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[] = { -- cgit v1.2.3