Message ID | 20231122200407.423264-1-krzysztof.kozlowski@linaro.org |
---|---|
State | Accepted |
Commit | 904140fa45533f6d05071e24492013da16c46b7f |
Headers | show |
Series | [1/3] dt-bindings: pinctrl: samsung: use Exynos7 fallbacks for newer wake-up controllers | expand |
On 23. 11. 23. 05:04, Krzysztof Kozlowski wrote: > Older ARM8 SoCs like Exynos5433, Exynos7 and Exynos7885 have the pin > controller with wake-up interrupts muxed, thus the wake-up interrupt > controller device node has interrupts property, while its pin banks > might not (because they are muxed by the wake-up controller). > > Newer SoCs like Exynos850 and ExynosAutov9 do not used muxed wake-up > interrupts: > 1. Wake-up interrupt controller device node has no interrupts, > 2. Its pin banks have interrupts (since there is no muxing). > > Their programming interface is however still compatible with Exynos7, > thus change the bindings to express this: retain compatibility with > Exynos7 and add new compatibility fallback of Exynos850 in newer > designs. > > No driver changes are needed. This is necessary only to properly > describe DTS. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Jaewon Kim <jaewon02.kim@samsung.com> I will also apply it to ExynosAutov920 DT patch. Thanks Jaewon Kim > > --- > > Cc: Peter Griffin <peter.griffin@linaro.org> > Cc: semen.protsenko@linaro.org > Cc: Jaewon Kim <jaewon02.kim@samsung.com> > --- > .../samsung,pinctrl-wakeup-interrupt.yaml | 25 +++++++++++-------- > 1 file changed, 15 insertions(+), 10 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > index 1b75abebb953..2bafa867aea2 100644 > --- a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > @@ -36,13 +36,17 @@ properties: > - samsung,s5pv210-wakeup-eint > - samsung,exynos4210-wakeup-eint > - samsung,exynos7-wakeup-eint > - - samsung,exynos850-wakeup-eint > - - samsung,exynosautov9-wakeup-eint > - - samsung,exynosautov920-wakeup-eint > - items: > - enum: > - samsung,exynos5433-wakeup-eint > - samsung,exynos7885-wakeup-eint > + - samsung,exynos850-wakeup-eint > + - const: samsung,exynos7-wakeup-eint > + - items: > + - enum: > + - samsung,exynosautov9-wakeup-eint > + - samsung,exynosautov920-wakeup-eint > + - const: samsung,exynos850-wakeup-eint > - const: samsung,exynos7-wakeup-eint > > interrupts: > @@ -86,11 +90,14 @@ allOf: > - if: > properties: > compatible: > - contains: > - enum: > - - samsung,s5pv210-wakeup-eint > - - samsung,exynos4210-wakeup-eint > - - samsung,exynos7-wakeup-eint > + # Match without "contains", to skip newer variants which are still > + # compatible with samsung,exynos7-wakeup-eint > + enum: > + - samsung,s5pv210-wakeup-eint > + - samsung,exynos4210-wakeup-eint > + - samsung,exynos5433-wakeup-eint > + - samsung,exynos7-wakeup-eint > + - samsung,exynos7885-wakeup-eint > then: > properties: > interrupts: > @@ -105,8 +112,6 @@ allOf: > contains: > enum: > - samsung,exynos850-wakeup-eint > - - samsung,exynosautov9-wakeup-eint > - - samsung,exynosautov920-wakeup-eint > then: > properties: > interrupts: false
On Wed, Nov 22, 2023 at 09:04:05PM +0100, Krzysztof Kozlowski wrote: > Older ARM8 SoCs like Exynos5433, Exynos7 and Exynos7885 have the pin > controller with wake-up interrupts muxed, thus the wake-up interrupt > controller device node has interrupts property, while its pin banks > might not (because they are muxed by the wake-up controller). > > Newer SoCs like Exynos850 and ExynosAutov9 do not used muxed wake-up > interrupts: > 1. Wake-up interrupt controller device node has no interrupts, > 2. Its pin banks have interrupts (since there is no muxing). > > Their programming interface is however still compatible with Exynos7, > thus change the bindings to express this: retain compatibility with > Exynos7 and add new compatibility fallback of Exynos850 in newer > designs. > > No driver changes are needed. This is necessary only to properly > describe DTS. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Cheers, Conor.
On Wed, 22 Nov 2023 21:04:05 +0100, Krzysztof Kozlowski wrote: > Older ARM8 SoCs like Exynos5433, Exynos7 and Exynos7885 have the pin > controller with wake-up interrupts muxed, thus the wake-up interrupt > controller device node has interrupts property, while its pin banks > might not (because they are muxed by the wake-up controller). > > Newer SoCs like Exynos850 and ExynosAutov9 do not used muxed wake-up > interrupts: > 1. Wake-up interrupt controller device node has no interrupts, > 2. Its pin banks have interrupts (since there is no muxing). > > [...] Applied, thanks! [1/3] dt-bindings: pinctrl: samsung: use Exynos7 fallbacks for newer wake-up controllers https://git.kernel.org/pinctrl/samsung/c/904140fa45533f6d05071e24492013da16c46b7f Best regards,
On Wed, 22 Nov 2023 21:04:07 +0100, Krzysztof Kozlowski wrote: > ExynosAutov9 pin controller capable of wake-ups is still compatible with > Exynos7, however it does not mux interrupts. Add Exynos7 compatible > fallback to annotate that compatibility and match the bindings. > > Applied, thanks! [3/3] arm64: dts: exynosautov9: use Exynos7 fallbacks for pin wake-up controllers https://git.kernel.org/krzk/linux/c/7c1156d8a719d5fca39e0e40e4465e4cbd765e89 Best regards,
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml index 1b75abebb953..2bafa867aea2 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml +++ b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml @@ -36,13 +36,17 @@ properties: - samsung,s5pv210-wakeup-eint - samsung,exynos4210-wakeup-eint - samsung,exynos7-wakeup-eint - - samsung,exynos850-wakeup-eint - - samsung,exynosautov9-wakeup-eint - - samsung,exynosautov920-wakeup-eint - items: - enum: - samsung,exynos5433-wakeup-eint - samsung,exynos7885-wakeup-eint + - samsung,exynos850-wakeup-eint + - const: samsung,exynos7-wakeup-eint + - items: + - enum: + - samsung,exynosautov9-wakeup-eint + - samsung,exynosautov920-wakeup-eint + - const: samsung,exynos850-wakeup-eint - const: samsung,exynos7-wakeup-eint interrupts: @@ -86,11 +90,14 @@ allOf: - if: properties: compatible: - contains: - enum: - - samsung,s5pv210-wakeup-eint - - samsung,exynos4210-wakeup-eint - - samsung,exynos7-wakeup-eint + # Match without "contains", to skip newer variants which are still + # compatible with samsung,exynos7-wakeup-eint + enum: + - samsung,s5pv210-wakeup-eint + - samsung,exynos4210-wakeup-eint + - samsung,exynos5433-wakeup-eint + - samsung,exynos7-wakeup-eint + - samsung,exynos7885-wakeup-eint then: properties: interrupts: @@ -105,8 +112,6 @@ allOf: contains: enum: - samsung,exynos850-wakeup-eint - - samsung,exynosautov9-wakeup-eint - - samsung,exynosautov920-wakeup-eint then: properties: interrupts: false
Older ARM8 SoCs like Exynos5433, Exynos7 and Exynos7885 have the pin controller with wake-up interrupts muxed, thus the wake-up interrupt controller device node has interrupts property, while its pin banks might not (because they are muxed by the wake-up controller). Newer SoCs like Exynos850 and ExynosAutov9 do not used muxed wake-up interrupts: 1. Wake-up interrupt controller device node has no interrupts, 2. Its pin banks have interrupts (since there is no muxing). Their programming interface is however still compatible with Exynos7, thus change the bindings to express this: retain compatibility with Exynos7 and add new compatibility fallback of Exynos850 in newer designs. No driver changes are needed. This is necessary only to properly describe DTS. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- Cc: Peter Griffin <peter.griffin@linaro.org> Cc: semen.protsenko@linaro.org Cc: Jaewon Kim <jaewon02.kim@samsung.com> --- .../samsung,pinctrl-wakeup-interrupt.yaml | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-)