Messages in this thread |  | | From | Peter Griffin <> | | Date | Mon, 24 Nov 2025 17:42:22 +0000 | | 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@samsung.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@linaro.org> > Tested-by: Sam Protsenko <semen.protsenko@linaro.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 >
|  |