From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A796FC433EF for ; Sat, 23 Apr 2022 20:38:10 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A5AD283DA7; Sat, 23 Apr 2022 22:38:07 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=googlemail.com header.i=@googlemail.com header.b="OeP1ef8l"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0F12183DFD; Sat, 23 Apr 2022 22:38:05 +0200 (CEST) Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5401E81DCD for ; Sat, 23 Apr 2022 22:38:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=chf.fritz@googlemail.com Received: by mail-wr1-x431.google.com with SMTP id s21so898397wrb.8 for ; Sat, 23 Apr 2022 13:38:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20210112; h=message-id:subject:from:reply-to:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=TkXKrrARr+D3aRjR5p2rTZFieqNWfuDq75ewDZhHFrk=; b=OeP1ef8lOHHcsbojX5sCY7yFx2CpuyTB+BjXeh4G+q4kyEH8vvsco3owlKTEbMb0cR MI5kAzVqOJPMG+jyJUZYPBywBaPyTMdpFC/l35AYF7zPNftJncp2U2MdkMWVMstdDtK8 z0S4yfcOXg0NJUSq6e3New/CAKDCqW+8ml8ZJXliGUgESTwOH9oqAxFRkOcjxaCpG9Wd 404tKHUbW0Bdu/5d3IA64cer8dQdUsPXErHAgWvlYW8bqt1OpbE8H8BpRtvku1QqnoyI m7DH5fgBOh24rw3nLs7Cmns4OgGhLkZeGYLIvZ82mFYM3rMdm+TU1zvQTso0Cy0hrxMU 9log== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:reply-to:to:cc:date :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=TkXKrrARr+D3aRjR5p2rTZFieqNWfuDq75ewDZhHFrk=; b=ZwponzQi0NSiSJqDfuH2i4ucB/RnyblwaFNSnkA5I8Pmal5dodOeTM1Dohxid6hfaF R4W+ktR10njuHPjP+IipHL9HwSIrIZJu5iC2m9F/prQgVz08/TrSCwE+aDUnTSOPDRf6 IQVdCMAofsVp5DCcFcZkPFKFvjzNP92Mv4hkuDW6fXlOCEYIuwm+60FobYSvHL63MKmX XTVPwuhhqtjBIhkDjaHVUcqP499uN7kA6XrX6BVnmvpOf3p8KiBM7JAabcUMRSwlyB0Y i1r2pEq3RhwoRUcj+RxxqTIW4Kyj45qGiXdBcvMzLU08vKllujEXHlUJdxSJgzw+af2u jz1Q== X-Gm-Message-State: AOAM5311YsgBckx2qX1kBmB8Fqa0tiznVkjT4SNmbNA3PRJQgEVw4a2M X5ERM62JRi7mmu4xZW06nh0rP/5FETU= X-Google-Smtp-Source: ABdhPJy4076aNjwvlJfAzuJEyeuA2nt1Ls8Loo7c2rJsO0ZLKO0tRiM5MRPq0H3z4NgpvohaLSenog== X-Received: by 2002:a05:6000:156c:b0:20a:8397:6d28 with SMTP id 12-20020a056000156c00b0020a83976d28mr8228704wrz.363.1650746280673; Sat, 23 Apr 2022 13:38:00 -0700 (PDT) Received: from mars.fritz.box ([2a02:8070:bb0:8700:3e7c:3fff:fe20:2cae]) by smtp.gmail.com with ESMTPSA id l28-20020a05600c1d1c00b0038ece66f1b0sm4871733wms.8.2022.04.23.13.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Apr 2022 13:38:00 -0700 (PDT) Message-ID: Subject: Re: [RESEND PATCH] gpio: rgpio2p: Enhance reading of GPIO pin value From: Christoph Fritz To: Stefano Babic Cc: u-boot , Peng Fan , Fabio Estevam , Tom Rini Date: Sat, 23 Apr 2022 22:37:59 +0200 In-Reply-To: <9be9017e32432390c565202b1e61a81eb66a6b27.camel@googlemail.com> References: <9be9017e32432390c565202b1e61a81eb66a6b27.camel@googlemail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: chf.fritz@googlemail.com Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Hello Stefano, could you please pick up this patch? bye -- Christoph On Tue, 2022-04-05 at 12:29 +0200, Christoph Fritz wrote: > Add support for reading GPIO pin value when function is output. > With this patch applied, gpio toggle command is working. > > Signed-off-by: Christoph Fritz > Reviewed-by: Peng Fan > Reviewed-by: Fabio Estevam > --- >  drivers/gpio/imx_rgpio2p.c | 14 +++++++++++++- >  1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpio/imx_rgpio2p.c b/drivers/gpio/imx_rgpio2p.c > index 0e2874ca95c..175e460aff5 100644 > --- a/drivers/gpio/imx_rgpio2p.c > +++ b/drivers/gpio/imx_rgpio2p.c > @@ -39,6 +39,14 @@ static int imx_rgpio2p_is_output(struct gpio_regs > *regs, int offset) >         return val & (1 << offset) ? 1 : 0; >  } >   > +static int imx_rgpio2p_bank_get_direction(struct gpio_regs *regs, > int offset) > +{ > +       if ((readl(®s->gpio_pddr) >> offset) & 0x01) > +               return IMX_RGPIO2P_DIRECTION_OUT; > + > +       return IMX_RGPIO2P_DIRECTION_IN; > +} > + >  static void imx_rgpio2p_bank_direction(struct gpio_regs *regs, int > offset, >                                     enum imx_rgpio2p_direction > direction) >  { > @@ -67,7 +75,11 @@ static void imx_rgpio2p_bank_set_value(struct > gpio_regs *regs, int offset, >   >  static int imx_rgpio2p_bank_get_value(struct gpio_regs *regs, int > offset) >  { > -       return (readl(®s->gpio_pdir) >> offset) & 0x01; > +       if (imx_rgpio2p_bank_get_direction(regs, offset) == > +           IMX_RGPIO2P_DIRECTION_IN) > +               return (readl(®s->gpio_pdir) >> offset) & 0x01; > + > +       return (readl(®s->gpio_pdor) >> offset) & 0x01; >  } >   >  static int  imx_rgpio2p_direction_input(struct udevice *dev, > unsigned offset)