[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CADrjBPrPpgy93At1bBanBoka14eyRbAArep5zuvbGWcOEnOuRQ@mail.gmail.com>
Date: Mon, 24 Nov 2025 17:42:22 +0000
From: Peter Griffin <peter.griffin@...aro.org>
To: Youngmin Nam <youngmin.nam@...sung.com>
Cc: krzk@...nel.org, s.nawrocki@...sung.com, alim.akhtar@...sung.com,
linus.walleij@...aro.org, semen.protsenko@...aro.org, ryu.real@...sung.com,
d7271.choe@...sung.com, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFT PATCH v2 0/5] pinctrl: samsung: exynos9 cleanups and fixes
Hi Youngmin,
On Mon, 17 Nov 2025 at 07:36, Youngmin Nam <youngmin.nam@...sung.com> wrote:
>
> Several SoCs carried near-duplicate pin bank macro families, making
> tables verbose and hard to share when only the bank type (alive/off)
> differs.
>
> GS101 had its own helpers even though the newer EXYNOS9_* helpers cover
> the same semantics, including per-bank filter control (FLTCON) offsets.
>
> Some pin-bank tables didn't match the SoC TRMs (bank type, EINT class,
> or bank names), and FLTCON wasn't always at a contiguous offset from
> EINT.
>
> This series does
> - Consolidate on EXYNOS9_* pin-bank macros. Pass bank_type explicitly.
> - Fix table errors on Exynos2200/7885/8890/8895 per TRM.
> - Add explicit per-bank FLTCON offsets and update affected tables.
> - Drop GS101-specific macros in favor of EXYNOS9_*.
> - Rename gs101_pinctrl_{suspend,resume} ->
> exynos9_pinctrl_{suspend,resume}.
>
> This series was based on the pinctrl/samsung tree [1].
>
> I tested on Exynos850 through boot and verified the pin values as
> follows:
One thing I just noticed is exynos850_pin_ctrl isn't actually setting
the .suspend and .resume callbacks so some of this code won't be
executed there (specifically saving/restoring the fltcon register). If
you're using e850 platform to test this series, you likely want to set
.suspend = exynos9_pinctrl_suspend,
.resume = exynos9_pinctrl_resume,
in exynos850_pin_ctrl for the alive bank
You can then #define DEBUG in drivers/pinctrl/samsung/pinctrl-exynos.c
Recompile, and do
echo platform > /sys/power/pm_test
echo mem > /sys/power/state
and you should see all the debug from the newly enabled exynos9
suspend/resume callbacks
[ 871.104840][ T741] gph2: save con 0x00000000
[ 871.104932][ T741] gph2: save fltcon0 0x00000000
[ 871.105022][ T741] gph2: save fltcon1 0x00000000
[ 871.105109][ T741] gph2: save mask 0x0000003f
<snip>
Prior to adding fltcon_offset and the gs101 (now exynos9) specific
suspend/resume callbacks this would generate a SError on gs101
Thanks,
Peter
>
> $:/sys/kernel/debug/pinctrl/139b0000.pinctrl-samsung-pinctrl# cat pins
> registered pins: 42
> pin 0 (gpg0-0) 0:gpg0 CON(0x0) DAT(0x0) PUD(0x1) DRV(0x2) CON_PDN(0x2) PUD_PDN(0x1)
> pin 1 (gpg0-1) 1:gpg0 CON(0x0) DAT(0x0) PUD(0x1) DRV(0x2) CON_PDN(0x2) PUD_PDN(0x1)
> ...
>
> Additional testing on the affected Exynos9-era platforms would be
> appreciated.
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git
>
> Changes in v2:
> - Added base tree for this series (pinctrl/samsung).
> - Renamed the macro parameter from 'types' to 'bank_type' for clarity
> (struct member remains 'type').
> - Reflowed commit messages (wrap at ~72 cols).
> - Replaced non-ASCII characters with ASCII equivalents.
> - Collected tags:
> Reviewed-by: Sam Protsenko <semen.protsenko@...aro.org>
> Tested-by: Sam Protsenko <semen.protsenko@...aro.org>
> - Normalized hex literals to lowercase and removed double spaces.
> - Aligned backslashes in macro definitions to form a vertical column
> for readability.
> - Added missing mailing lists (including linux-kernel) to Cc per
> scripts/get_maintainer.pl.
>
> Youngmin Nam (5):
> pinctrl: samsung: Consolidate pin-bank macros under EXYNOS9_* and pass
> bank_type explicitly
> pinctrl: samsung: fix incorrect pin-bank entries on
> Exynos2200/7885/8890/8895
> pinctrl: samsung: add per-bank FLTCON offset to EXYNOS9_PIN_BANK_* and
> fix tables
> pinctrl: samsung: fold GS101 pin-bank macros into EXYNOS9_*
> pinctrl: samsung: rename gs101_pinctrl_* to exynos9_pinctrl_*
>
> .../pinctrl/samsung/pinctrl-exynos-arm64.c | 1069 ++++++++---------
> drivers/pinctrl/samsung/pinctrl-exynos.c | 4 +-
> drivers/pinctrl/samsung/pinctrl-exynos.h | 97 +-
> drivers/pinctrl/samsung/pinctrl-samsung.h | 4 +-
> 4 files changed, 562 insertions(+), 612 deletions(-)
>
> --
> 2.39.2
>
Powered by blists - more mailing lists