From: Kevin Hilman <khilman@baylibre.com>
To: Carlo Caione <ccaione@baylibre.com>,
jbrunet@baylibre.com, narmstrong@baylibre.com,
u-boot@lists.denx.de, linux-amlogic@lists.infradead.org
Cc: Carlo Caione <ccaione@baylibre.com>
Subject: Re: [PATCH] pinctrl: meson: axg: Fix GPIO pin offsets
Date: Thu, 06 Dec 2018 21:14:58 -0800 [thread overview]
Message-ID: <7hpnudyl2l.fsf@baylibre.com> (raw)
In-Reply-To: <20181206080811.30320-1-ccaione@baylibre.com>
Carlo Caione <ccaione@baylibre.com> writes:
> The pin number (first and last) in the bank definition is missing the
> pin base offset shifting. This is causing a miscalculation when
> retrieving the register and pin offsets in the GPIO driver causing the
> 'gpio' command to drive the wrong pins / GPIOs in the second GPIO chip
> (the AO bank is driven correctly because the shifting is already 0).
>
> Signed-off-by: Carlo Caione <ccaione@baylibre.com>
This looks like it could use a Fixes: tag for stable.
Kevin
> ---
> drivers/pinctrl/meson/pinctrl-meson-axg.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg.c b/drivers/pinctrl/meson/pinctrl-meson-axg.c
> index a54fbce910..3bbbe817b4 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson-axg.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson-axg.c
> @@ -14,7 +14,7 @@
>
> #include "pinctrl-meson-axg.h"
>
> -#define EE_OFF 14
> +#define EE_OFF 15
>
> /* emmc */
> static const unsigned int emmc_nand_d0_pins[] = {BOOT_0};
> @@ -893,17 +893,17 @@ static struct meson_pmx_func meson_axg_aobus_functions[] = {
> };
>
> static struct meson_bank meson_axg_periphs_banks[] = {
> - /* name first last pullen pull dir out in */
> - BANK("Z", GPIOZ_0, GPIOZ_10, 3, 0, 3, 0, 9, 0, 10, 0, 11, 0),
> - BANK("BOOT", BOOT_0, BOOT_14, 4, 0, 4, 0, 12, 0, 13, 0, 14, 0),
> - BANK("A", GPIOA_0, GPIOA_20, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0),
> - BANK("X", GPIOX_0, GPIOX_22, 2, 0, 2, 0, 6, 0, 7, 0, 8, 0),
> - BANK("Y", GPIOY_0, GPIOY_15, 1, 0, 1, 0, 3, 0, 4, 0, 5, 0),
> + /* name first last pullen pull dir out in */
> + BANK("Z", PIN(GPIOZ_0, EE_OFF), PIN(GPIOZ_10, EE_OFF), 3, 0, 3, 0, 9, 0, 10, 0, 11, 0),
> + BANK("BOOT", PIN(BOOT_0, EE_OFF), PIN(BOOT_14, EE_OFF), 4, 0, 4, 0, 12, 0, 13, 0, 14, 0),
> + BANK("A", PIN(GPIOA_0, EE_OFF), PIN(GPIOA_20, EE_OFF), 0, 0, 0, 0, 0, 0, 1, 0, 2, 0),
> + BANK("X", PIN(GPIOX_0, EE_OFF), PIN(GPIOX_22, EE_OFF), 2, 0, 2, 0, 6, 0, 7, 0, 8, 0),
> + BANK("Y", PIN(GPIOY_0, EE_OFF), PIN(GPIOY_15, EE_OFF), 1, 0, 1, 0, 3, 0, 4, 0, 5, 0),
> };
>
> static struct meson_bank meson_axg_aobus_banks[] = {
> - /* name first last pullen pull dir out in */
> - BANK("AO", GPIOAO_0, GPIOAO_13, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0),
> + /* name first last pullen pull dir out in */
> + BANK("AO", PIN(GPIOAO_0, 0), PIN(GPIOAO_13, 0), 0, 16, 0, 0, 0, 0, 0, 16, 1, 0),
> };
>
> static struct meson_pmx_bank meson_axg_periphs_pmx_banks[] = {
> @@ -931,11 +931,11 @@ static struct meson_axg_pmx_data meson_axg_aobus_pmx_banks_data = {
>
> struct meson_pinctrl_data meson_axg_periphs_pinctrl_data = {
> .name = "periphs-banks",
> - .pin_base = 11,
> + .pin_base = 15,
> .groups = meson_axg_periphs_groups,
> .funcs = meson_axg_periphs_functions,
> .banks = meson_axg_periphs_banks,
> - .num_pins = 100,
> + .num_pins = 86,
> .num_groups = ARRAY_SIZE(meson_axg_periphs_groups),
> .num_funcs = ARRAY_SIZE(meson_axg_periphs_functions),
> .num_banks = ARRAY_SIZE(meson_axg_periphs_banks),
> --
> 2.19.1
>
>
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] pinctrl: meson: axg: Fix GPIO pin offsets
Date: Thu, 06 Dec 2018 21:14:58 -0800 [thread overview]
Message-ID: <7hpnudyl2l.fsf@baylibre.com> (raw)
In-Reply-To: <20181206080811.30320-1-ccaione@baylibre.com>
Carlo Caione <ccaione@baylibre.com> writes:
> The pin number (first and last) in the bank definition is missing the
> pin base offset shifting. This is causing a miscalculation when
> retrieving the register and pin offsets in the GPIO driver causing the
> 'gpio' command to drive the wrong pins / GPIOs in the second GPIO chip
> (the AO bank is driven correctly because the shifting is already 0).
>
> Signed-off-by: Carlo Caione <ccaione@baylibre.com>
This looks like it could use a Fixes: tag for stable.
Kevin
> ---
> drivers/pinctrl/meson/pinctrl-meson-axg.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg.c b/drivers/pinctrl/meson/pinctrl-meson-axg.c
> index a54fbce910..3bbbe817b4 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson-axg.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson-axg.c
> @@ -14,7 +14,7 @@
>
> #include "pinctrl-meson-axg.h"
>
> -#define EE_OFF 14
> +#define EE_OFF 15
>
> /* emmc */
> static const unsigned int emmc_nand_d0_pins[] = {BOOT_0};
> @@ -893,17 +893,17 @@ static struct meson_pmx_func meson_axg_aobus_functions[] = {
> };
>
> static struct meson_bank meson_axg_periphs_banks[] = {
> - /* name first last pullen pull dir out in */
> - BANK("Z", GPIOZ_0, GPIOZ_10, 3, 0, 3, 0, 9, 0, 10, 0, 11, 0),
> - BANK("BOOT", BOOT_0, BOOT_14, 4, 0, 4, 0, 12, 0, 13, 0, 14, 0),
> - BANK("A", GPIOA_0, GPIOA_20, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0),
> - BANK("X", GPIOX_0, GPIOX_22, 2, 0, 2, 0, 6, 0, 7, 0, 8, 0),
> - BANK("Y", GPIOY_0, GPIOY_15, 1, 0, 1, 0, 3, 0, 4, 0, 5, 0),
> + /* name first last pullen pull dir out in */
> + BANK("Z", PIN(GPIOZ_0, EE_OFF), PIN(GPIOZ_10, EE_OFF), 3, 0, 3, 0, 9, 0, 10, 0, 11, 0),
> + BANK("BOOT", PIN(BOOT_0, EE_OFF), PIN(BOOT_14, EE_OFF), 4, 0, 4, 0, 12, 0, 13, 0, 14, 0),
> + BANK("A", PIN(GPIOA_0, EE_OFF), PIN(GPIOA_20, EE_OFF), 0, 0, 0, 0, 0, 0, 1, 0, 2, 0),
> + BANK("X", PIN(GPIOX_0, EE_OFF), PIN(GPIOX_22, EE_OFF), 2, 0, 2, 0, 6, 0, 7, 0, 8, 0),
> + BANK("Y", PIN(GPIOY_0, EE_OFF), PIN(GPIOY_15, EE_OFF), 1, 0, 1, 0, 3, 0, 4, 0, 5, 0),
> };
>
> static struct meson_bank meson_axg_aobus_banks[] = {
> - /* name first last pullen pull dir out in */
> - BANK("AO", GPIOAO_0, GPIOAO_13, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0),
> + /* name first last pullen pull dir out in */
> + BANK("AO", PIN(GPIOAO_0, 0), PIN(GPIOAO_13, 0), 0, 16, 0, 0, 0, 0, 0, 16, 1, 0),
> };
>
> static struct meson_pmx_bank meson_axg_periphs_pmx_banks[] = {
> @@ -931,11 +931,11 @@ static struct meson_axg_pmx_data meson_axg_aobus_pmx_banks_data = {
>
> struct meson_pinctrl_data meson_axg_periphs_pinctrl_data = {
> .name = "periphs-banks",
> - .pin_base = 11,
> + .pin_base = 15,
> .groups = meson_axg_periphs_groups,
> .funcs = meson_axg_periphs_functions,
> .banks = meson_axg_periphs_banks,
> - .num_pins = 100,
> + .num_pins = 86,
> .num_groups = ARRAY_SIZE(meson_axg_periphs_groups),
> .num_funcs = ARRAY_SIZE(meson_axg_periphs_functions),
> .num_banks = ARRAY_SIZE(meson_axg_periphs_banks),
> --
> 2.19.1
>
>
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2018-12-07 5:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-06 8:08 [PATCH] pinctrl: meson: axg: Fix GPIO pin offsets Carlo Caione
2018-12-06 8:08 ` [U-Boot] " Carlo Caione
2018-12-07 5:14 ` Kevin Hilman [this message]
2018-12-07 5:14 ` Kevin Hilman
2018-12-07 8:40 ` Neil Armstrong
2018-12-07 8:40 ` [U-Boot] " Neil Armstrong
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=7hpnudyl2l.fsf@baylibre.com \
--to=khilman@baylibre.com \
--cc=ccaione@baylibre.com \
--cc=jbrunet@baylibre.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=narmstrong@baylibre.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 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.