Message ID | 20220111201722.327219-19-krzysztof.kozlowski@canonical.com (mailing list archive) |
---|---|
State | New, archived |
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>
On Tue, 11 Jan 2022 at 22:18, Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 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> > --- Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> > .../samsung,pinctrl-wakeup-interrupt.yaml | 27 ++++++++++++++++--- > 1 file changed, 24 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > index 6b684a53119b..a822f70f5702 100644 > --- a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml > @@ -16,9 +16,12 @@ description: | > controller. > > External wake-up interrupts for Samsung S3C/S5P/Exynos SoC pin controller. > - Only one pin-controller device node can include external wake-up interrupts > - child node (in other words, only one External wake-up interrupts > + For S3C24xx, S3C64xx, S5PV210 and Exynos4210 compatible wake-up interrupt > + controllers, only one pin-controller device node can include external wake-up > + interrupts child node (in other words, only one External wake-up interrupts > pin-controller is supported). > + For newer controllers, multiple pin-controller device node can include > + external wake-up interrupts child node. > > See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for > additional information and example. > @@ -32,6 +35,8 @@ properties: > - samsung,s5pv210-wakeup-eint > - samsung,exynos4210-wakeup-eint > - samsung,exynos7-wakeup-eint > + - samsung,exynos850-wakeup-eint > + - samsung,exynosautov9-wakeup-eint > > interrupts: > description: > @@ -41,7 +46,6 @@ properties: > > required: > - compatible > - - interrupts > > allOf: > - if: > @@ -56,6 +60,8 @@ allOf: > interrupts: > minItems: 6 > maxItems: 6 > + required: > + - interrupts > > - if: > properties: > @@ -67,6 +73,8 @@ allOf: > interrupts: > minItems: 4 > maxItems: 4 > + required: > + - interrupts > > - if: > properties: > @@ -81,5 +89,18 @@ allOf: > interrupts: > minItems: 1 > maxItems: 1 > + required: > + - interrupts > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - samsung,exynos850-wakeup-eint > + - samsung,exynosautov9-wakeup-eint > + then: > + properties: > + interrupts: false > > additionalProperties: false > -- > 2.32.0 >
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml index 6b684a53119b..a822f70f5702 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml +++ b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml @@ -16,9 +16,12 @@ description: | controller. External wake-up interrupts for Samsung S3C/S5P/Exynos SoC pin controller. - Only one pin-controller device node can include external wake-up interrupts - child node (in other words, only one External wake-up interrupts + For S3C24xx, S3C64xx, S5PV210 and Exynos4210 compatible wake-up interrupt + controllers, only one pin-controller device node can include external wake-up + interrupts child node (in other words, only one External wake-up interrupts pin-controller is supported). + For newer controllers, multiple pin-controller device node can include + external wake-up interrupts child node. See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for additional information and example. @@ -32,6 +35,8 @@ properties: - samsung,s5pv210-wakeup-eint - samsung,exynos4210-wakeup-eint - samsung,exynos7-wakeup-eint + - samsung,exynos850-wakeup-eint + - samsung,exynosautov9-wakeup-eint interrupts: description: @@ -41,7 +46,6 @@ properties: required: - compatible - - interrupts allOf: - if: @@ -56,6 +60,8 @@ allOf: interrupts: minItems: 6 maxItems: 6 + required: + - interrupts - if: properties: @@ -67,6 +73,8 @@ allOf: interrupts: minItems: 4 maxItems: 4 + required: + - interrupts - if: properties: @@ -81,5 +89,18 @@ allOf: interrupts: minItems: 1 maxItems: 1 + required: + - interrupts + + - if: + properties: + compatible: + contains: + enum: + - samsung,exynos850-wakeup-eint + - samsung,exynosautov9-wakeup-eint + then: + properties: + interrupts: false additionalProperties: false
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(-)