Message ID | 20220111201426.326777-1-krzysztof.kozlowski@canonical.com |
---|---|
Headers | show |
Series | pinctrl: dt-bindings: samsung: convert to dtschema | expand |
On Tue, 11 Jan 2022 21:17:19 +0100, Krzysztof Kozlowski wrote: > Older Samsung Exynos SoC pin controller nodes (Exynos3250, Exynos4, > Exynos5, Exynos5433) with external wake-up interrupts, expected to have > one interrupt for multiplexing these wake-up interrupts. Also they > expected to have exactly one pin controller capable of external wake-up > interrupts. > > It seems however that newer ARMv8 Exynos SoC like Exynos850 and > ExynosAutov9 have differences of their pin controller node capable of > external wake-up interrupts: > 1. No multiplexed external wake-up interrupt, only direct, > 2. More than one pin controller capable of external wake-up interrupts. > > Add dedicated Exynos850 and ExynosAutov9 compatibles. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > --- > .../samsung,pinctrl-wakeup-interrupt.yaml | 27 ++++++++++++++++--- > 1 file changed, 24 insertions(+), 3 deletions(-) > Reviewed-by: Rob Herring <robh@kernel.org>
> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > Sent: Wednesday, January 12, 2022 5:17 AM > To: Tomasz Figa <tomasz.figa@gmail.com>; Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com>; Sylwester Nawrocki > <s.nawrocki@samsung.com>; Linus Walleij <linus.walleij@linaro.org>; Rob > Herring <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org; linux- > samsung-soc@vger.kernel.org; linux-gpio@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org > Cc: Marek Szyprowski <m.szyprowski@samsung.com>; Sam Protsenko > <semen.protsenko@linaro.org>; Chanho Park <chanho61.park@samsung.com>; > Alim Akhtar <alim.akhtar@gmail.com> > Subject: [PATCH v2 20/28] arm64: dts: exynos: align pinctrl with dtschema > in ExynosAutov9 > > Align the pin controller related nodes with dtschema. No functional > change expected. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Great. Reviewed-by: Chanho Park <chanho61.park@samsung.com> And you can also put Tested-by: Chanho Park <chanho61.park@samsung.com> Best Regards, Chanho Park
> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > Sent: Wednesday, January 12, 2022 5:14 AM > To: Tomasz Figa <tomasz.figa@gmail.com>; Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com>; Sylwester Nawrocki > <s.nawrocki@samsung.com>; Linus Walleij <linus.walleij@linaro.org>; Rob > Herring <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org; linux- > samsung-soc@vger.kernel.org; linux-gpio@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org > Cc: Marek Szyprowski <m.szyprowski@samsung.com>; Sam Protsenko > <semen.protsenko@linaro.org>; Chanho Park <chanho61.park@samsung.com>; > Alim Akhtar <alim.akhtar@gmail.com>; stable@vger.kernel.org > Subject: [PATCH v2 01/28] pinctrl: samsung: drop pin banks references on > error paths > > The driver iterates over its devicetree children with > for_each_child_of_node() and stores for later found node pointer. This > has to be put in error paths to avoid leak during re-probing. > > Fixes: ab663789d697 ("pinctrl: samsung: Match pin banks with their device > nodes") > Cc: <stable@vger.kernel.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Reviewed-by: Chanho Park <chanho61.park@samsung.com> Best Regards, Chanho Park
> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > Sent: Wednesday, January 12, 2022 5:17 AM > To: Tomasz Figa <tomasz.figa@gmail.com>; Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com>; Sylwester Nawrocki > <s.nawrocki@samsung.com>; Linus Walleij <linus.walleij@linaro.org>; Rob > Herring <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org; linux- > samsung-soc@vger.kernel.org; linux-gpio@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org > Cc: Marek Szyprowski <m.szyprowski@samsung.com>; Sam Protsenko > <semen.protsenko@linaro.org>; Chanho Park <chanho61.park@samsung.com>; > Alim Akhtar <alim.akhtar@gmail.com> > Subject: [PATCH v2 28/28] arm64: dts: exynos: use dedicated wake-up > pinctrl compatible in ExynosAutov9 > > Older Samsung Exynos SoC pin controller nodes (Exynos3250, Exynos4, > Exynos5, Exynos5433) with external wake-up interrupts, expected to have > one interrupt for multiplexing these wake-up interrupts. Also they > expected to have exactly one pin controller capable of external wake-up > interrupts. > > It seems however that newer ARMv8 Exynos SoC like Exynos850 and > ExynosAutov9 have differences: > 1. No multiplexed external wake-up interrupt, only direct, 2. More than > one pin controller capable of external wake-up interrupts. > > Use dedicated ExynosAutov9 compatible for its external wake-up interrupts > controller to indicate the differences. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Reviewed-by: Chanho Park <chanho61.park@samsung.com> And you can also put Tested-by: Chanho Park <chanho61.park@samsung.com> Best Regards, Chanho Park
On Tue, 11 Jan 2022 at 22:15, Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> wrote: > > Hi, > > Changes since v1 > ================ > 1. Patch #1: add missing pin assignment (Alim). > 2. Patch #2: correct double sizeof() (Alim). > 3. Patch #7, #8: put label-override in proper patch (Alim). > 4. Patch #24: Extend doc, change the 'if' clause for wake-up interrupts. > 5. New patches: #25 - #28. > Exynos850 and ExynosAutov9 seems to be different in pin ctrl interrupt > handling, so they need their own compatibles. > Please kindly review and provide feedback on these as I do not have > details. > 6. Add review tags. > > Dependencies > ============ > 1. Patch #2 ("pinctrl: samsung: accept GPIO bank nodes with a suffix") is > necessary for DTS patches. > > 2. Last patches #27 and #28 depend on patch #26 adding the compatibles. > > Best regards, > Krzysztof > > Krzysztof Kozlowski (28): > pinctrl: samsung: drop pin banks references on error paths > pinctrl: samsung: accept GPIO bank nodes with a suffix > ARM: dts: exynos: drop unused pinctrl defines in Exynos3250 > ARM: dts: exynos: simplify PMIC DVS pin configuration in Odroid XU > ARM: dts: exynos: override pins by label in Peach Pit > ARM: dts: exynos: simplify PMIC DVS pin configuration in Peach Pit > ARM: dts: exynos: override pins by label in Peach Pi > ARM: dts: exynos: simplify PMIC DVS pin configuration in Peach Pi > ARM: dts: s3c64xx: drop unneeded pinctrl wake-up interrupt mapping > ARM: dts: exynos: align pinctrl with dtschema in Exynos3250 > ARM: dts: exynos: align pinctrl with dtschema in Exynos4210 > ARM: dts: exynos: align pinctrl with dtschema in Exynos4412 > ARM: dts: exynos: align pinctrl with dtschema in Exynos5250 > ARM: dts: exynos: align pinctrl with dtschema in Exynos5260 > ARM: dts: exynos: align pinctrl with dtschema in Exynos5410 > ARM: dts: exynos: align pinctrl with dtschema in Exynos542x/5800 > arm64: dts: exynos: align pinctrl with dtschema in Exynos5433 > arm64: dts: exynos: align pinctrl with dtschema in Exynos7 > arm64: dts: exynos: align pinctrl with dtschema in Exynos850 > arm64: dts: exynos: align pinctrl with dtschema in ExynosAutov9 > ARM: dts: s3c24xx: align pinctrl with dtschema > ARM: dts: s3c64xx: align pinctrl with dtschema > ARM: dts: s5pv210: align pinctrl with dtschema > dt-bindings: pinctrl: samsung: convert to dtschema > dt-bindings: pinctrl: samsung: describe Exynos850 and ExynosAutov9 > wake-ups > pinctrl: samsung: add support for Exynos850 and ExynosAutov9 wake-ups > arm64: dts: exynos: use dedicated wake-up pinctrl compatible in > Exynos850 > arm64: dts: exynos: use dedicated wake-up pinctrl compatible in > ExynosAutov9 > Maybe it makes sense to include my patch [1] for gpm6/gpm7 in this series? [1] https://lore.kernel.org/linux-arm-kernel/20220103181826.2136-1-semen.protsenko@linaro.org/T/ > .../pinctrl/samsung,pinctrl-gpio-bank.yaml | 52 +++ > .../pinctrl/samsung,pinctrl-pins-cfg.yaml | 81 ++++ > .../samsung,pinctrl-wakeup-interrupt.yaml | 106 +++++ > .../bindings/pinctrl/samsung,pinctrl.yaml | 392 ++++++++++++++++++ > .../bindings/pinctrl/samsung-pinctrl.txt | 383 ----------------- > MAINTAINERS | 2 +- > arch/arm/boot/dts/exynos3250-artik5.dtsi | 10 +- > arch/arm/boot/dts/exynos3250-pinctrl.dtsi | 165 ++++---- > arch/arm/boot/dts/exynos4210-i9100.dts | 30 +- > arch/arm/boot/dts/exynos4210-origen.dts | 2 +- > arch/arm/boot/dts/exynos4210-pinctrl.dtsi | 226 +++++----- > arch/arm/boot/dts/exynos4210-smdkv310.dts | 4 +- > arch/arm/boot/dts/exynos4210-trats.dts | 6 +- > .../boot/dts/exynos4210-universal_c210.dts | 12 +- > arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi | 4 +- > arch/arm/boot/dts/exynos4412-itop-elite.dts | 2 +- > .../boot/dts/exynos4412-itop-scp-core.dtsi | 2 +- > arch/arm/boot/dts/exynos4412-midas.dtsi | 30 +- > .../boot/dts/exynos4412-odroid-common.dtsi | 8 +- > arch/arm/boot/dts/exynos4412-odroidx.dts | 2 +- > arch/arm/boot/dts/exynos4412-origen.dts | 4 +- > arch/arm/boot/dts/exynos4412-p4note.dtsi | 44 +- > arch/arm/boot/dts/exynos4412-pinctrl.dtsi | 252 +++++------ > arch/arm/boot/dts/exynos4412-smdk4412.dts | 4 +- > arch/arm/boot/dts/exynos5250-arndale.dts | 2 +- > arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 220 +++++----- > arch/arm/boot/dts/exynos5250-smdk5250.dts | 2 +- > arch/arm/boot/dts/exynos5250-snow-common.dtsi | 22 +- > arch/arm/boot/dts/exynos5250-snow-rev5.dts | 2 +- > arch/arm/boot/dts/exynos5250-snow.dts | 2 +- > arch/arm/boot/dts/exynos5250-spring.dts | 20 +- > arch/arm/boot/dts/exynos5260-pinctrl.dtsi | 148 +++---- > arch/arm/boot/dts/exynos5260-xyref5260.dts | 2 +- > arch/arm/boot/dts/exynos5410-odroidxu.dts | 22 +- > arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 170 ++++---- > arch/arm/boot/dts/exynos5410-smdk5410.dts | 4 +- > arch/arm/boot/dts/exynos5420-arndale-octa.dts | 2 +- > arch/arm/boot/dts/exynos5420-peach-pit.dts | 89 ++-- > arch/arm/boot/dts/exynos5420-pinctrl.dtsi | 194 ++++----- > arch/arm/boot/dts/exynos5420-smdk5420.dts | 6 +- > arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 2 +- > .../boot/dts/exynos5422-odroidxu3-common.dtsi | 6 +- > arch/arm/boot/dts/exynos5800-peach-pi.dts | 89 ++-- > arch/arm/boot/dts/s3c2416-pinctrl.dtsi | 60 +-- > arch/arm/boot/dts/s3c6410-mini6410.dts | 4 +- > arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 210 +++++----- > arch/arm/boot/dts/s3c64xx.dtsi | 16 +- > arch/arm/boot/dts/s5pv210-aquila.dts | 2 +- > arch/arm/boot/dts/s5pv210-aries.dtsi | 40 +- > arch/arm/boot/dts/s5pv210-fascinate4g.dts | 12 +- > arch/arm/boot/dts/s5pv210-galaxys.dts | 16 +- > arch/arm/boot/dts/s5pv210-pinctrl.dtsi | 226 +++++----- > .../boot/dts/exynos/exynos5433-pinctrl.dtsi | 211 +++++----- > .../dts/exynos/exynos5433-tm2-common.dtsi | 259 ++++++------ > .../boot/dts/exynos/exynos7-espresso.dts | 6 +- > .../boot/dts/exynos/exynos7-pinctrl.dtsi | 176 ++++---- > .../boot/dts/exynos/exynos850-pinctrl.dtsi | 52 +-- > arch/arm64/boot/dts/exynos/exynos850.dtsi | 4 +- > .../boot/dts/exynos/exynosautov9-pinctrl.dtsi | 50 +-- > arch/arm64/boot/dts/exynos/exynosautov9.dtsi | 2 +- > drivers/pinctrl/samsung/pinctrl-exynos.c | 4 + > drivers/pinctrl/samsung/pinctrl-samsung.c | 87 +++- > 62 files changed, 2261 insertions(+), 2003 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-gpio-bank.yaml > create mode 100644 Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-pins-cfg.yaml > create mode 100644 Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > create mode 100644 Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml > delete mode 100644 Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt > > -- > 2.32.0 >
On 14/01/2022 19:31, Sam Protsenko wrote: > On Tue, 11 Jan 2022 at 22:15, Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com> wrote: >> >> Hi, >> >> Changes since v1 >> ================ >> 1. Patch #1: add missing pin assignment (Alim). >> 2. Patch #2: correct double sizeof() (Alim). >> 3. Patch #7, #8: put label-override in proper patch (Alim). >> 4. Patch #24: Extend doc, change the 'if' clause for wake-up interrupts. >> 5. New patches: #25 - #28. >> Exynos850 and ExynosAutov9 seems to be different in pin ctrl interrupt >> handling, so they need their own compatibles. >> Please kindly review and provide feedback on these as I do not have >> details. >> 6. Add review tags. >> >> Dependencies >> ============ >> 1. Patch #2 ("pinctrl: samsung: accept GPIO bank nodes with a suffix") is >> necessary for DTS patches. >> >> 2. Last patches #27 and #28 depend on patch #26 adding the compatibles. >> >> Best regards, >> Krzysztof >> >> Krzysztof Kozlowski (28): >> pinctrl: samsung: drop pin banks references on error paths >> pinctrl: samsung: accept GPIO bank nodes with a suffix >> ARM: dts: exynos: drop unused pinctrl defines in Exynos3250 >> ARM: dts: exynos: simplify PMIC DVS pin configuration in Odroid XU >> ARM: dts: exynos: override pins by label in Peach Pit >> ARM: dts: exynos: simplify PMIC DVS pin configuration in Peach Pit >> ARM: dts: exynos: override pins by label in Peach Pi >> ARM: dts: exynos: simplify PMIC DVS pin configuration in Peach Pi >> ARM: dts: s3c64xx: drop unneeded pinctrl wake-up interrupt mapping >> ARM: dts: exynos: align pinctrl with dtschema in Exynos3250 >> ARM: dts: exynos: align pinctrl with dtschema in Exynos4210 >> ARM: dts: exynos: align pinctrl with dtschema in Exynos4412 >> ARM: dts: exynos: align pinctrl with dtschema in Exynos5250 >> ARM: dts: exynos: align pinctrl with dtschema in Exynos5260 >> ARM: dts: exynos: align pinctrl with dtschema in Exynos5410 >> ARM: dts: exynos: align pinctrl with dtschema in Exynos542x/5800 >> arm64: dts: exynos: align pinctrl with dtschema in Exynos5433 >> arm64: dts: exynos: align pinctrl with dtschema in Exynos7 >> arm64: dts: exynos: align pinctrl with dtschema in Exynos850 >> arm64: dts: exynos: align pinctrl with dtschema in ExynosAutov9 >> ARM: dts: s3c24xx: align pinctrl with dtschema >> ARM: dts: s3c64xx: align pinctrl with dtschema >> ARM: dts: s5pv210: align pinctrl with dtschema >> dt-bindings: pinctrl: samsung: convert to dtschema >> dt-bindings: pinctrl: samsung: describe Exynos850 and ExynosAutov9 >> wake-ups >> pinctrl: samsung: add support for Exynos850 and ExynosAutov9 wake-ups >> arm64: dts: exynos: use dedicated wake-up pinctrl compatible in >> Exynos850 >> arm64: dts: exynos: use dedicated wake-up pinctrl compatible in >> ExynosAutov9 >> > > Maybe it makes sense to include my patch [1] for gpm6/gpm7 in this series? > > [1] https://lore.kernel.org/linux-arm-kernel/20220103181826.2136-1-semen.protsenko@linaro.org/T/ > Yes, if I am going to resend, I'll include yours. Otherwise, I will try to remember when applying. Best regards, Krzysztof
On Tue, 11 Jan 2022 21:13:58 +0100, Krzysztof Kozlowski wrote: > Changes since v1 > ================ > 1. Patch #1: add missing pin assignment (Alim). > 2. Patch #2: correct double sizeof() (Alim). > 3. Patch #7, #8: put label-override in proper patch (Alim). > 4. Patch #24: Extend doc, change the 'if' clause for wake-up interrupts. > 5. New patches: #25 - #28. > Exynos850 and ExynosAutov9 seems to be different in pin ctrl interrupt > handling, so they need their own compatibles. > Please kindly review and provide feedback on these as I do not have > details. > 6. Add review tags. > > [...] Applied, thanks! To Samsung SoC tree (Exynos850 is skipped because it was not merged into v5.17-rc1): [03/28] ARM: dts: exynos: drop unused pinctrl defines in Exynos3250 (no commit info) [04/28] ARM: dts: exynos: simplify PMIC DVS pin configuration in Odroid XU (no commit info) [05/28] ARM: dts: exynos: override pins by label in Peach Pit (no commit info) [06/28] ARM: dts: exynos: simplify PMIC DVS pin configuration in Peach Pit (no commit info) [07/28] ARM: dts: exynos: override pins by label in Peach Pi (no commit info) [08/28] ARM: dts: exynos: simplify PMIC DVS pin configuration in Peach Pi (no commit info) [09/28] ARM: dts: s3c64xx: drop unneeded pinctrl wake-up interrupt mapping (no commit info) [10/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos3250 (no commit info) [11/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos4210 (no commit info) [12/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos4412 (no commit info) [13/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos5250 (no commit info) [14/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos5260 (no commit info) [15/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos5410 (no commit info) [16/28] ARM: dts: exynos: align pinctrl with dtschema in Exynos542x/5800 (no commit info) [17/28] arm64: dts: exynos: align pinctrl with dtschema in Exynos5433 (no commit info) [18/28] arm64: dts: exynos: align pinctrl with dtschema in Exynos7 (no commit info) [20/28] arm64: dts: exynos: align pinctrl with dtschema in ExynosAutov9 (no commit info) [21/28] ARM: dts: s3c24xx: align pinctrl with dtschema (no commit info) [22/28] ARM: dts: s3c64xx: align pinctrl with dtschema (no commit info) [23/28] ARM: dts: s5pv210: align pinctrl with dtschema (no commit info) [28/28] arm64: dts: exynos: use dedicated wake-up pinctrl compatible in ExynosAutov9 (no commit info) Best regards,