From patchwork Thu Dec 6 08:08:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlo Caione X-Patchwork-Id: 1008716 X-Patchwork-Delegate: narmstrong@baylibre.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=baylibre-com.20150623.gappssmtp.com header.i=@baylibre-com.20150623.gappssmtp.com header.b="IYL4o12d"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 439Z201Ns7z9s3C for ; Thu, 6 Dec 2018 23:01:12 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C8B48C221F9; Thu, 6 Dec 2018 12:00:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id DD0AEC22536; Thu, 6 Dec 2018 11:59:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8FE65C224D0; Thu, 6 Dec 2018 08:09:53 +0000 (UTC) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by lists.denx.de (Postfix) with ESMTPS id 03389C224D1 for ; Thu, 6 Dec 2018 08:08:16 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id y1so1993wmi.3 for ; Thu, 06 Dec 2018 00:08:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+FSHq2iBQCrSLo+lxzbd3YK0O/5uRXso3eFpPbSZnXs=; b=IYL4o12d0Jahc96ULFTHQD70bFlP1jUFYQlrHarqcdK2tw+SDedu9qOR2Ts6n84UB6 uuiXPiQory3+MFCT7KdCGebK7HLivogBLjHGD4qJaGPMy+7Cv6tfY4EYFuFHxuZV03Vr tu64v4+/VtrC/iMpg1ZT24Gu2S4NfexcwxXmqTxYN/kNCGfWKxeJFc9R/Ks22QLKsZCc sveDSVPsap34pv+5We1t0cI6g1EfdqlZvmfKECuHXaILUTWMXeBaAx7sHDc5aTyQh6jS gu43q/if6r/bnkXzXULkd/ffStwIJcii+rdWLEs9PlYV9vAIdRCuSd9S1YfjZtSFcYBY 0t9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+FSHq2iBQCrSLo+lxzbd3YK0O/5uRXso3eFpPbSZnXs=; b=QyxKbYKEUHZ7bMUecA6TtBOev39F4Nu+KHP8uROcdAn+H53W87MLXkVmmt3SsMrmAJ uI7rf828gIuIHUwzvSwyQ5skaZPqJqViqjdaGTHkkK1nQyCCcCsIKm09e0XBqScORTIO kAB8MJiR7WXcOeUB7lcUqNeg+XPI1hCG6P/vm54fymqTgpezrWhvo74XXxf5F7FNn8/H TWhaWj4Q8+fzLsgLokxKjWp4lIQSsUc9x+OvsLrIBfiz01eK2TQcH9yazGi9NmHIcf39 edg1NBSBQJ9Ymag6g0aa5nkOJ5nGtup0/PYSZQ9ThfNeuO9L4UQL50fEfg4UmEzwajYX LV7Q== X-Gm-Message-State: AA+aEWaJvSSG+tPzCRLi7CsSflS2r9KAajReg7JDAaumzqSc1be5+tuQ D99/ZWJR1DlCbsBb3/SxTVXNyA== X-Google-Smtp-Source: AFSGD/VI0ZqYH+cVv87wbs38TWIQjNfwTsPMVXG7g3sU2pr9a0kUzrNy/iv7EdBHdFRzie235FOjjw== X-Received: by 2002:a1c:1801:: with SMTP id 1mr19869382wmy.153.1544083695528; Thu, 06 Dec 2018 00:08:15 -0800 (PST) Received: from xps.expressvpn ([2a00:23c4:f7a1:ce00:7082:d306:16fb:dc71]) by smtp.gmail.com with ESMTPSA id x76sm29448886wmd.27.2018.12.06.00.08.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Dec 2018 00:08:14 -0800 (PST) From: Carlo Caione To: jbrunet@baylibre.com, narmstrong@baylibre.com, u-boot@lists.denx.de, linux-amlogic@lists.infradead.org Date: Thu, 6 Dec 2018 08:08:11 +0000 Message-Id: <20181206080811.30320-1-ccaione@baylibre.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-Mailman-Approved-At: Thu, 06 Dec 2018 11:59:05 +0000 Cc: Carlo Caione Subject: [U-Boot] [PATCH] pinctrl: meson: axg: Fix GPIO pin offsets X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" 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 --- 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),