All of lore.kernel.org
 help / color / mirror / Atom feed
From: jacopo mondi <jacopo@jmondi.org>
To: Fabio Estevam <festevam@gmail.com>
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	geert@glider.be, Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-renesas-soc@vger.kernel.org,
	linux-media <linux-media@vger.kernel.org>,
	linux-sh@vger.kernel.org,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies
Date: Wed, 3 Jan 2018 20:34:15 +0100	[thread overview]
Message-ID: <20180103193415.GI9493@w540> (raw)
In-Reply-To: <CAOMZO5AGEt7pvjLnFN4P19qR28f2d128+80OnJ8SC59-pSgBpA@mail.gmail.com>

Hi Fabio,

On Wed, Jan 03, 2018 at 04:14:35PM -0200, Fabio Estevam wrote:
> On Wed, Jan 3, 2018 at 3:37 PM, jacopo mondi <jacopo@jmondi.org> wrote:
>
> >> Initially the rest GPIO was doing:
> >>
> >> -       gpio_set_value(GPIO_PTT3, 0);
> >> -       mdelay(10);
> >> -       gpio_set_value(GPIO_PTT3, 1);
> >> -       mdelay(10); /* wait to let chip come out of reset */
> >
> > And that's what my driver code does :)
>
> No, on 5/9 you converted the original code to:
>
> GPIO_LOOKUP("sh7722_pfc", GPIO_PTT3, "rstb", GPIO_ACTIVE_HIGH)
>
> It should be GPIO_ACTIVE_LOW instead.
>
> > My point is that if I read the manual and I see an active low gpio (0
> > is reset state) then the driver code uses it as and active high one (1
> > is the reset state), that would be weird to me.
>
> Then on this patch you should do:
>
> gpiod_set_value(priv->rstb_gpio, 1);  ---> This tells the GPIO to go
> to its active state (In this case active == logic level 0)
> usleep_range(500, 1000);
> gpiod_set_value(priv->rstb_gpio, 0); ---> This tells the GPIO to go to
> its inactive state (In this case inactive == logic level 1)
>
> You can also look at Documentation/gpio/consumer.txt where the usage
> of the gpiod_xxx API is described.
>
> It seems you are confusing it with the legacy gpio_set_value() API
> (Documentation/gpio/gpio-legacy.txt)

It took you 3 email messages, but maybe I finally got it.

So, 1 and 0 do not actually represent the line level but the active
or inactive states, that's fine. This seems to me a bit inconsistent with
the existence of flags like GPIOD_OUT_HIGH/LOW meant to be used at gpiod_get()
time, where the actual line level has to be used instead, but that's a
discussion surely not pertinent to this series.

Thanks for your patience.
    j


>
> Hope this helps.

WARNING: multiple messages have this Message-ID (diff)
From: jacopo mondi <jacopo@jmondi.org>
To: Fabio Estevam <festevam@gmail.com>
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	geert@glider.be, Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-renesas-soc@vger.kernel.org,
	linux-media <linux-media@vger.kernel.org>,
	linux-sh@vger.kernel.org,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies
Date: Wed, 03 Jan 2018 19:34:15 +0000	[thread overview]
Message-ID: <20180103193415.GI9493@w540> (raw)
In-Reply-To: <CAOMZO5AGEt7pvjLnFN4P19qR28f2d128+80OnJ8SC59-pSgBpA@mail.gmail.com>

Hi Fabio,

On Wed, Jan 03, 2018 at 04:14:35PM -0200, Fabio Estevam wrote:
> On Wed, Jan 3, 2018 at 3:37 PM, jacopo mondi <jacopo@jmondi.org> wrote:
>
> >> Initially the rest GPIO was doing:
> >>
> >> -       gpio_set_value(GPIO_PTT3, 0);
> >> -       mdelay(10);
> >> -       gpio_set_value(GPIO_PTT3, 1);
> >> -       mdelay(10); /* wait to let chip come out of reset */
> >
> > And that's what my driver code does :)
>
> No, on 5/9 you converted the original code to:
>
> GPIO_LOOKUP("sh7722_pfc", GPIO_PTT3, "rstb", GPIO_ACTIVE_HIGH)
>
> It should be GPIO_ACTIVE_LOW instead.
>
> > My point is that if I read the manual and I see an active low gpio (0
> > is reset state) then the driver code uses it as and active high one (1
> > is the reset state), that would be weird to me.
>
> Then on this patch you should do:
>
> gpiod_set_value(priv->rstb_gpio, 1);  ---> This tells the GPIO to go
> to its active state (In this case active = logic level 0)
> usleep_range(500, 1000);
> gpiod_set_value(priv->rstb_gpio, 0); ---> This tells the GPIO to go to
> its inactive state (In this case inactive = logic level 1)
>
> You can also look at Documentation/gpio/consumer.txt where the usage
> of the gpiod_xxx API is described.
>
> It seems you are confusing it with the legacy gpio_set_value() API
> (Documentation/gpio/gpio-legacy.txt)

It took you 3 email messages, but maybe I finally got it.

So, 1 and 0 do not actually represent the line level but the active
or inactive states, that's fine. This seems to me a bit inconsistent with
the existence of flags like GPIOD_OUT_HIGH/LOW meant to be used at gpiod_get()
time, where the actual line level has to be used instead, but that's a
discussion surely not pertinent to this series.

Thanks for your patience.
    j


>
> Hope this helps.

  reply	other threads:[~2018-01-03 19:34 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-28 14:01 [PATCH v2 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2017-12-28 14:01 ` [PATCH v2 1/9] dt-bindings: media: Add Renesas CEU bindings Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2018-01-02  9:34   ` Geert Uytterhoeven
2018-01-02  9:34     ` Geert Uytterhoeven
2018-01-02 11:45   ` Laurent Pinchart
2018-01-02 11:45     ` Laurent Pinchart
2018-01-03  8:49     ` jacopo mondi
2018-01-03  8:49       ` jacopo mondi
2018-01-03 11:22       ` Laurent Pinchart
2018-01-03 11:22         ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 2/9] include: media: Add Renesas CEU driver interface Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2018-01-02 11:50   ` Laurent Pinchart
2018-01-02 11:50     ` Laurent Pinchart
2018-01-03  9:00     ` jacopo mondi
2018-01-03  9:00       ` jacopo mondi
2017-12-28 14:01 ` [PATCH v2 3/9] v4l: platform: Add Renesas CEU driver Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2018-01-02 13:46   ` Laurent Pinchart
2018-01-02 13:46     ` Laurent Pinchart
2018-01-02 13:46     ` Laurent Pinchart
2018-01-03 10:47     ` jacopo mondi
2018-01-03 10:47       ` jacopo mondi
2018-01-03 11:19       ` Laurent Pinchart
2018-01-03 11:19         ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 4/9] ARM: dts: r7s72100: Add Capture Engine Unit (CEU) Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2018-01-02  9:35   ` Geert Uytterhoeven
2018-01-02  9:35     ` Geert Uytterhoeven
2018-01-02  9:35     ` Geert Uytterhoeven
2018-01-02 13:54   ` Laurent Pinchart
2018-01-02 13:54     ` Laurent Pinchart
2018-01-02 13:54     ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 5/9] arch: sh: migor: Use new renesas-ceu camera driver Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2017-12-30 19:04   ` kbuild test robot
2017-12-30 19:04     ` kbuild test robot
2017-12-30 19:04     ` kbuild test robot
2018-01-02 15:27   ` Laurent Pinchart
2018-01-02 15:27     ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 6/9] v4l: i2c: Copy ov772x soc_camera sensor driver Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2017-12-29 12:47   ` Philippe Ombredanne
2017-12-29 12:47     ` Philippe Ombredanne
2018-01-02  9:00     ` jacopo mondi
2018-01-02  9:00       ` jacopo mondi
2017-12-28 14:01 ` [PATCH v2 7/9] media: i2c: ov772x: Remove soc_camera dependencies Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2018-01-02 15:44   ` Laurent Pinchart
2018-01-02 15:44     ` Laurent Pinchart
2018-01-03 15:44     ` jacopo mondi
2018-01-03 15:44       ` jacopo mondi
2018-01-03 15:44       ` jacopo mondi
2018-01-03 15:49       ` Laurent Pinchart
2018-01-03 15:49         ` Laurent Pinchart
2018-01-03 16:24         ` jacopo mondi
2018-01-03 16:24           ` jacopo mondi
2017-12-28 14:01 ` [PATCH v2 8/9] v4l: i2c: Copy tw9910 soc_camera sensor driver Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2017-12-28 14:01 ` [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies Jacopo Mondi
2017-12-28 14:01   ` Jacopo Mondi
2018-01-02 15:50   ` Laurent Pinchart
2018-01-02 15:50     ` Laurent Pinchart
2018-01-03 16:24     ` jacopo mondi
2018-01-03 16:24       ` jacopo mondi
2018-01-03 16:41   ` Fabio Estevam
2018-01-03 16:41     ` Fabio Estevam
2018-01-03 17:13     ` jacopo mondi
2018-01-03 17:13       ` jacopo mondi
2018-01-03 17:13       ` jacopo mondi
2018-01-03 17:27       ` Fabio Estevam
2018-01-03 17:27         ` Fabio Estevam
2018-01-03 17:37         ` jacopo mondi
2018-01-03 17:37           ` jacopo mondi
2018-01-03 18:14           ` Fabio Estevam
2018-01-03 18:14             ` Fabio Estevam
2018-01-03 19:34             ` jacopo mondi [this message]
2018-01-03 19:34               ` jacopo mondi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180103193415.GI9493@w540 \
    --to=jacopo@jmondi.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=geert@glider.be \
    --cc=hverkuil@xs4all.nl \
    --cc=jacopo+renesas@jmondi.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.