lkml.org 
[lkml]   [2012]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9 24/25] gpio/omap: restore OE only after setting the output level
    Date
    From: Nishanth Menon <nm@ti.com>

    Setup the dataout register before restoring OE. This is to make
    sure that we have valid data in dataout register which would be
    made available in output pins as soon as OE is enabled. Else,
    there is risk of unknown data getting out into gpio pins.

    Signed-off-by: Nishanth Menon <nm@ti.com>
    Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
    Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
    ---
    drivers/gpio/gpio-omap.c | 3 ++-
    1 files changed, 2 insertions(+), 1 deletions(-)

    diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
    index 36aaea7..81fdbcf 100644
    --- a/drivers/gpio/gpio-omap.c
    +++ b/drivers/gpio/gpio-omap.c
    @@ -1351,7 +1351,6 @@ static void omap_gpio_restore_context(struct gpio_bank *bank)
    __raw_writel(bank->context.wake_en,
    bank->base + bank->regs->wkup_en);
    __raw_writel(bank->context.ctrl, bank->base + bank->regs->ctrl);
    - __raw_writel(bank->context.oe, bank->base + bank->regs->direction);
    __raw_writel(bank->context.leveldetect0,
    bank->base + bank->regs->leveldetect0);
    __raw_writel(bank->context.leveldetect1,
    @@ -1361,6 +1360,8 @@ static void omap_gpio_restore_context(struct gpio_bank *bank)
    __raw_writel(bank->context.fallingdetect,
    bank->base + bank->regs->fallingdetect);
    __raw_writel(bank->context.dataout, bank->base + bank->regs->dataout);
    + __raw_writel(bank->context.oe, bank->base + bank->regs->direction);
    +
    if (bank->dbck_enable_mask) {
    __raw_writel(bank->context.debounce, bank->base +
    bank->regs->debounce);
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2012-02-02 18:39    [W:0.022 / U:33.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site