From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 03/17] sunxi: gpio: Add support for gpio pins on the AXP209 pmic
Date: Sun, 28 Dec 2014 11:35:45 +0100 [thread overview]
Message-ID: <549FDD01.40302@redhat.com> (raw)
In-Reply-To: <1419759268.13595.40.camel@hellion.org.uk>
Hi,
On 28-12-14 10:34, Ian Campbell wrote:
> On Wed, 2014-12-24 at 20:06 +0100, Hans de Goede wrote:
>> @@ -27,6 +32,17 @@ enum axp209_reg {
>>
>> #define AXP209_POWEROFF (1 << 7)
>>
>> +#define AXP209_GPIO_OUTPUT_LOW 0x00
>> +#define AXP209_GPIO_OUTPUT_HIGH 0x01
>> +#define AXP209_GPIO_INPUT 0x02
>> +
>> +#define AXP209_GPIO_OUTPUT_LOW 0x00
>> +#define AXP209_GPIO_OUTPUT_HIGH 0x01
>
> Aren't these LOW+HIGH ones duplicated?
Oops, copy + paste fail.
>
> Also, they lack the helpful comments which you added to the GPIO3 ones.
That is because they are self explanatory, unlike gpio3 which is
interesting with decoupled control bits, gpio0-2 simply have
3 bits which code 0 - 7, with 3+ being not interesting to us, so
we only use 0-2 which are low / high / input. Still I'll add some
comments for you :)
> I'd be included to add a /* GPIO3 is different from the others */ just
> here too (also: "sigh" re h/w inconsistency...).
Will do.
>> +#define AXP209_GPIO3_OUTPUT_LOW 0x00 /* Drive pin low, Output mode */
>> +#define AXP209_GPIO3_OUTPUT_HIGH 0x02 /* Float pin, Output mode */
>
> Is a floating output really a thing or is this a cut-and-paste-o?
Rather then a push-pull driver, gpio3 seems to have an
open collector / open drain driver, in combination with the
output enable transistor which one would expect on a tristate
driver. So it seems there are 2 ways to float the pin, one by
not driving the output-enable transistor, but also by driving
the output-enable transister, but not pulling the output low,
at least the datasheet describes 2 separate bits one to select
output/input the other to select drive-low/float.
I've chosen to map drvie output, but do not pull output low as
AXP209_GPIO3_OUTPUT_HIGH, and that is what the comment tries
to convey. Note this is all my interpretation of the not so
helpful datasheet.
>> +#define AXP209_GPIO3_INPUT 0x06 /* Float pin, Input mode */
>> +
>> +int axp_gpio_direction_output(unsigned int pin, unsigned int val)
>> +{
>> + u8 reg = axp209_get_gpio_ctrl_reg(pin);
>> +
>> + if (val) {
>> + val = (pin == 3) ? AXP209_GPIO3_OUTPUT_HIGH :
>> + AXP209_GPIO_OUTPUT_HIGH;
>> + } else {
>> + val = (pin == 3) ? AXP209_GPIO3_OUTPUT_LOW :
>> + AXP209_GPIO_OUTPUT_LOW;
>
> Both OUTPUT_LOW values happen to be the same, although I could see why
> you might want to do it this way for consistency.
I also notices the happen to be the same, but I indeed did things
this way for consistency.
Regards,
Hans
next prev parent reply other threads:[~2014-12-28 10:35 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-24 19:06 [U-Boot] sunxi: video: Add LCD output and A13-Olinuxino VGA output support Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 01/17] videomodes: Add support for refresh and pclk_khz to video_get_params() Hans de Goede
2014-12-28 9:27 ` Ian Campbell
2015-01-08 17:23 ` Anatolij Gustschin
2014-12-24 19:06 ` [U-Boot] [PATCH 02/17] sunxi: gpio: Properly sort mux defines by port number Hans de Goede
2014-12-28 9:28 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 03/17] sunxi: gpio: Add support for gpio pins on the AXP209 pmic Hans de Goede
2014-12-28 9:34 ` Ian Campbell
2014-12-28 10:35 ` Hans de Goede [this message]
2014-12-24 19:06 ` [U-Boot] [PATCH 04/17] sunxi: video: Drop disabling of backend / lcdc / hdmi encoder on modeset Hans de Goede
2014-12-28 9:34 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 05/17] sunxi: video: Improve monitor video-mode option handling Hans de Goede
2014-12-28 9:40 ` Ian Campbell
2014-12-28 10:55 ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 06/17] sunxi: video: Prepare for lcd support Hans de Goede
2014-12-28 9:41 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 07/17] sunxi: video: Modify sunxi_lcdc_pll_set to work with both tcon0 and tcon1 Hans de Goede
2014-12-29 13:36 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 08/17] sunxi: video: Move sunxi_drc_init Hans de Goede
2014-12-25 9:08 ` Chen-Yu Tsai
2014-12-25 10:22 ` Hans de Goede
2014-12-29 13:37 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 09/17] sunxi: video: Add lcd output support Hans de Goede
2014-12-29 13:43 ` Ian Campbell
2014-12-31 11:59 ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 10/17] sunxi: video: Add suppport SoCs without HDMI, e.g. the A13 and A23 Hans de Goede
2014-12-29 13:50 ` Ian Campbell
2014-12-31 12:07 ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 11/17] sunxi: video: Add support for VGA via external DACs connected to the LCD pins Hans de Goede
2014-12-29 13:51 ` Ian Campbell
2014-12-29 19:25 ` Hans de Goede
2014-12-30 2:21 ` Chen-Yu Tsai
2014-12-30 10:21 ` Hans de Goede
2014-12-24 19:06 ` [U-Boot] [PATCH 12/17] sunxi: sunxi-common.h: Reduce bootm_size to take the framebuffer into account Hans de Goede
2014-12-29 13:52 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 13/17] sunxi: A13-OLinuXino defconfigs: Enable VGA output, add lcd-mode for 7" LCD Hans de Goede
2014-12-29 13:53 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 14/17] sunxi: Add 2 defconfigs for using the Olimex 7" lcd with olinuxino boards Hans de Goede
2014-12-29 13:55 ` Ian Campbell
2014-12-29 19:27 ` Hans de Goede
2014-12-30 7:25 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 15/17] sunxi: Ippo_q8h defconfigs: Enable the LCD panel found on these tablets Hans de Goede
2014-12-25 10:00 ` Chen-Yu Tsai
2014-12-25 10:59 ` Hans de Goede
2014-12-26 6:44 ` Chen-Yu Tsai
2014-12-26 10:48 ` Hans de Goede
2014-12-29 13:57 ` Ian Campbell
2014-12-29 15:56 ` Chen-Yu Tsai
2014-12-29 19:31 ` Hans de Goede
2014-12-30 10:18 ` Siarhei Siamashka
2014-12-30 10:26 ` Hans de Goede
2014-12-30 10:36 ` Hans de Goede
2014-12-30 11:25 ` Siarhei Siamashka
2014-12-31 11:22 ` Hans de Goede
2014-12-30 12:17 ` Siarhei Siamashka
2014-12-31 11:22 ` Hans de Goede
2015-01-01 2:35 ` Chen-Yu Tsai
2015-01-01 12:36 ` Hans de Goede
2015-01-02 11:02 ` Siarhei Siamashka
2015-01-04 20:22 ` Hans de Goede
2015-01-01 20:03 ` Siarhei Siamashka
2015-01-01 20:15 ` Hans de Goede
2015-01-01 21:05 ` Siarhei Siamashka
2014-12-24 19:06 ` [U-Boot] [PATCH 16/17] sunxi: video: Remove sunxi_display.enabled variable Hans de Goede
2014-12-29 13:57 ` Ian Campbell
2014-12-24 19:06 ` [U-Boot] [PATCH 17/17] sunxi: video: Use sunxi_lcdc_get_clk_delay to calculate tcon1 delay Hans de Goede
2014-12-29 13:58 ` Ian Campbell
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=549FDD01.40302@redhat.com \
--to=hdegoede@redhat.com \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox