The 1st patch converts the old binding mostly 1:1.
The 2nd patch deprecates the unused marvell,armadaxp compatible.
The 3rd patch documents the existing usage of the offset/marvell,pwm-offset
properties.
Chris Packham (3):
dt-bindings: gpio: gpio-mvebu: convert txt binding to DT schema format
dt-bindings: gpio: gpio-mvebu: deprecate armadaxp-gpio
dt-bindings: gpio: gpio-mvebu: document offset and marvell,pwm-offset
.../arm/marvell/ap80x-system-controller.txt | 2 +-
.../arm/marvell/cp110-system-controller.txt | 2 +-
.../devicetree/bindings/gpio/gpio-mvebu.txt | 93 -----------
.../devicetree/bindings/gpio/gpio-mvebu.yaml | 146 ++++++++++++++++++
MAINTAINERS | 2 +-
5 files changed, 149 insertions(+), 96 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-mvebu.txt
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
--
2.36.1
Commit 5f79c651e81e ("arm: mvebu: use global interrupts for GPIOs on
Armada XP") the marvell,armadaxp-gpio compatible obsolete.
The driver code still exists to handle the armadaxp behaviour but all
the in-tree boards use the marvell,armada-370-gpio. Document the
marvell,armadaxp-gpio compatible as deprecated.
Signed-off-by: Chris Packham <[email protected]>
---
Notes:
This could potentially be squashed into the first commit but it seemed
more proper to do a straight 1:1 conversion of the old binding then
clean things up to match reality.
Changes in v4:
- New
.../devicetree/bindings/gpio/gpio-mvebu.yaml | 24 +++++++------------
1 file changed, 8 insertions(+), 16 deletions(-)
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
index d1695e7bd825..459ec35864fe 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
+++ b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
@@ -21,17 +21,21 @@ properties:
- enum:
- marvell,mv78200-gpio
- marvell,armada-370-gpio
- - marvell,armadaxp-gpio
- const: marvell,orion-gpio
+ - description: Deprecated binding
+ items:
+ - const: marvell,armadaxp-gpio
+ - const: marvell,orion-gpio
+ deprecated: true
+
reg:
description: |
Address and length of the register set for the device. Not used for
marvell,armada-8k-gpio.
- For the "marvell,armadaxp-gpio" variant a second entry is expected for
- the per-cpu registers. For other variants second entry can be provided,
- for the PWM function using the GPIO Blink Counter on/off registers.
+ A second entry can be provided, for the PWM function using the GPIO Blink
+ Counter on/off registers.
minItems: 1
maxItems: 2
@@ -103,18 +107,6 @@ allOf:
required:
- reg
- - if:
- properties:
- compatible:
- contains:
- const: marvell,armadaxp-gpio
- then:
- properties:
- reg:
- minItems: 2
- reg-names:
- minItems: 2
-
unevaluatedProperties: true
examples:
--
2.36.1
On Thu, May 26, 2022 at 3:29 AM Chris Packham
<[email protected]> wrote:
>
> The 1st patch converts the old binding mostly 1:1.
> The 2nd patch deprecates the unused marvell,armadaxp compatible.
> The 3rd patch documents the existing usage of the offset/marvell,pwm-offset
> properties.
>
> Chris Packham (3):
> dt-bindings: gpio: gpio-mvebu: convert txt binding to DT schema format
> dt-bindings: gpio: gpio-mvebu: deprecate armadaxp-gpio
> dt-bindings: gpio: gpio-mvebu: document offset and marvell,pwm-offset
>
> .../arm/marvell/ap80x-system-controller.txt | 2 +-
> .../arm/marvell/cp110-system-controller.txt | 2 +-
> .../devicetree/bindings/gpio/gpio-mvebu.txt | 93 -----------
> .../devicetree/bindings/gpio/gpio-mvebu.yaml | 146 ++++++++++++++++++
> MAINTAINERS | 2 +-
> 5 files changed, 149 insertions(+), 96 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-mvebu.txt
> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
>
> --
> 2.36.1
>
Applied the series, thanks!
Bart
On Thursday 26 May 2022 13:29:45 Chris Packham wrote:
> Commit 5f79c651e81e ("arm: mvebu: use global interrupts for GPIOs on
> Armada XP") the marvell,armadaxp-gpio compatible obsolete.
No, marvell,armadaxp-gpio is required for per-cpu interrupt support. I fixed it recently:
https://lore.kernel.org/linux-devicetree/[email protected]/
https://lore.kernel.org/linux-devicetree/[email protected]/
> The driver code still exists to handle the armadaxp behaviour but all
> the in-tree boards use the marvell,armada-370-gpio. Document the
> marvell,armadaxp-gpio compatible as deprecated.
For per-cpu interrupt support is marvell,armadaxp-gpio needed and
therefore it cannot be deprecated.
What can be deprecated is marvell,armada-370-gpio and it can be replaced
by marvell,orion-gpio, which covers _all_ SoCs starting from the oldest
one = Orion. See discussion for more details:
https://lore.kernel.org/linux-devicetree/[email protected]/
> Signed-off-by: Chris Packham <[email protected]>
> ---
>
> Notes:
> This could potentially be squashed into the first commit but it seemed
> more proper to do a straight 1:1 conversion of the old binding then
> clean things up to match reality.
>
> Changes in v4:
> - New
>
> .../devicetree/bindings/gpio/gpio-mvebu.yaml | 24 +++++++------------
> 1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
> index d1695e7bd825..459ec35864fe 100644
> --- a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
> +++ b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
> @@ -21,17 +21,21 @@ properties:
> - enum:
> - marvell,mv78200-gpio
> - marvell,armada-370-gpio
> - - marvell,armadaxp-gpio
> - const: marvell,orion-gpio
>
> + - description: Deprecated binding
> + items:
> + - const: marvell,armadaxp-gpio
> + - const: marvell,orion-gpio
> + deprecated: true
> +
> reg:
> description: |
> Address and length of the register set for the device. Not used for
> marvell,armada-8k-gpio.
>
> - For the "marvell,armadaxp-gpio" variant a second entry is expected for
> - the per-cpu registers. For other variants second entry can be provided,
> - for the PWM function using the GPIO Blink Counter on/off registers.
> + A second entry can be provided, for the PWM function using the GPIO Blink
> + Counter on/off registers.
> minItems: 1
> maxItems: 2
>
> @@ -103,18 +107,6 @@ allOf:
> required:
> - reg
>
> - - if:
> - properties:
> - compatible:
> - contains:
> - const: marvell,armadaxp-gpio
> - then:
> - properties:
> - reg:
> - minItems: 2
> - reg-names:
> - minItems: 2
> -
> unevaluatedProperties: true
>
> examples:
> --
> 2.36.1
>
Hi Pali,
On 28/11/22 20:59, Pali Rohár wrote:
> On Thursday 26 May 2022 13:29:45 Chris Packham wrote:
>> Commit 5f79c651e81e ("arm: mvebu: use global interrupts for GPIOs on
>> Armada XP") the marvell,armadaxp-gpio compatible obsolete.
> No, marvell,armadaxp-gpio is required for per-cpu interrupt support. I fixed it recently:
> https://lore.kernel.org/linux-devicetree/[email protected]/
> https://lore.kernel.org/linux-devicetree/[email protected]/
I'll reply to these directly but when you changed the compatible to
armadaxp you changed the meaning of the 2nd reg property.
>
>> The driver code still exists to handle the armadaxp behaviour but all
>> the in-tree boards use the marvell,armada-370-gpio. Document the
>> marvell,armadaxp-gpio compatible as deprecated.
> For per-cpu interrupt support is marvell,armadaxp-gpio needed and
> therefore it cannot be deprecated.
OK. We can make it un-deprecated (as you say the code exists, just no
board uses it currently).
>
> What can be deprecated is marvell,armada-370-gpio and it can be replaced
> by marvell,orion-gpio, which covers _all_ SoCs starting from the oldest
> one = Orion. See discussion for more details:
> https://lore.kernel.org/linux-devicetree/[email protected]/
Yes I can see that they're treated the same internally. There had been a
trend of adding specialization compatible strings just in case they were
needed in the future even if there was currently no difference between
the base variant and the newer version. That argument falls a bit flat
since we never added armada-38x-gpio.
So what path forward would you like to see? I'd happily send a patch
un-deprecating the armadaxp compatible. I'm a little hesitant to mark
the armada-370 as deprecated given it's current usage with the in-tree
dtses.
>
>> Signed-off-by: Chris Packham <[email protected]>
>> ---
>>
>> Notes:
>> This could potentially be squashed into the first commit but it seemed
>> more proper to do a straight 1:1 conversion of the old binding then
>> clean things up to match reality.
>>
>> Changes in v4:
>> - New
>>
>> .../devicetree/bindings/gpio/gpio-mvebu.yaml | 24 +++++++------------
>> 1 file changed, 8 insertions(+), 16 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
>> index d1695e7bd825..459ec35864fe 100644
>> --- a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
>> +++ b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
>> @@ -21,17 +21,21 @@ properties:
>> - enum:
>> - marvell,mv78200-gpio
>> - marvell,armada-370-gpio
>> - - marvell,armadaxp-gpio
>> - const: marvell,orion-gpio
>>
>> + - description: Deprecated binding
>> + items:
>> + - const: marvell,armadaxp-gpio
>> + - const: marvell,orion-gpio
>> + deprecated: true
>> +
>> reg:
>> description: |
>> Address and length of the register set for the device. Not used for
>> marvell,armada-8k-gpio.
>>
>> - For the "marvell,armadaxp-gpio" variant a second entry is expected for
>> - the per-cpu registers. For other variants second entry can be provided,
>> - for the PWM function using the GPIO Blink Counter on/off registers.
>> + A second entry can be provided, for the PWM function using the GPIO Blink
>> + Counter on/off registers.
>> minItems: 1
>> maxItems: 2
>>
>> @@ -103,18 +107,6 @@ allOf:
>> required:
>> - reg
>>
>> - - if:
>> - properties:
>> - compatible:
>> - contains:
>> - const: marvell,armadaxp-gpio
>> - then:
>> - properties:
>> - reg:
>> - minItems: 2
>> - reg-names:
>> - minItems: 2
>> -
>> unevaluatedProperties: true
>>
>> examples:
>> --
>> 2.36.1
>>