lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250506221751.t3iwqquzjgysjaai@pali>
Date: Wed, 7 May 2025 00:17:51 +0200
From: Pali Rohár <pali@...nel.org>
To: "Rob Herring (Arm)" <robh@...nel.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Jiri Slaby <jirislaby@...nel.org>,
	Krzysztof Kozlowski <krzk+dt@...nel.org>,
	Conor Dooley <conor+dt@...nel.org>, linux-kernel@...r.kernel.org,
	linux-serial@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH] irq-names dt-bindings: serial: Convert
 marvell,armada-3700-uart to DT schema

On Tuesday 06 May 2025 17:00:41 Rob Herring (Arm) wrote:
> Convert the Marvell Armada-3700 UART binding to DT schema. It is a
> straight-forward conversion.
> 
> Drop the long deprecated single interrupt support.
> 
> Signed-off-by: Rob Herring (Arm) <robh@...nel.org>
> ---
>  .../serial/marvell,armada-3700-uart.yaml      | 102 ++++++++++++++++++
>  .../devicetree/bindings/serial/mvebu-uart.txt |  56 ----------
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 103 insertions(+), 57 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml
>  delete mode 100644 Documentation/devicetree/bindings/serial/mvebu-uart.txt
> 
> diff --git a/Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml b/Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml
> new file mode 100644
> index 000000000000..fa454337f06f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml
> @@ -0,0 +1,102 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/serial/marvell,armada-3700-uart.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell Armada-3700 UART
> +
> +maintainers:
> +  - Pali Rohár <pali@...nel.org>
> +
> +description:
> +  Marvell UART is a non standard UART used in some of Marvell EBU SoCs (e.g.
> +  Armada-3700).
> +
> +properties:
> +  compatible:
> +    enum:
> +      - marvell,armada-3700-uart
> +      - marvell,armada-3700-uart-ext
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +    description:
> +      UART reference clock used to derive the baud rate. If absent, only fixed
> +      baud rate from the bootloader is supported.
> +
> +  interrupts:
> +    minItems: 2
> +    items:
> +      - description: UART sum interrupt (deprecated single-element form)
> +      - description: UART TX interrupt
> +      - description: UART RX interrupt

I think that this is wrong description and does not match the old txt
description:

- Must contain three elements for the standard variant of the IP
  (marvell,armada-3700-uart): "uart-sum", "uart-tx" and "uart-rx",

- Must contain two elements for the extended variant of the IP
  (marvell,armada-3700-uart-ext): "uart-tx" and "uart-rx",

"UART sum interrupt" is not deprecated, it must be present for the
marvell,armada-3700-uart.

> +
> +  interrupt-names:
> +    minItems: 2
> +    maxItems: 3
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - interrupt-names
> +
> +unevaluatedProperties: false
> +
> +allOf:
> +  - $ref: /schemas/serial.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          const: marvell,armada-3700-uart-ext
> +    then:
> +      properties:
> +        interrupts:
> +          maxItems: 2
> +          
> +        interrupt-names:
> +          items:
> +            - const: uart-tx
> +            - const: uart-rx
> +    else:
> +      properties:
> +        interrupts:
> +          minItems: 3
> +
> +        interrupt-names:
> +          items:
> +            - const: uart-sum
> +            - const: uart-tx
> +            - const: uart-rx
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    serial@...00 {
> +        compatible = "marvell,armada-3700-uart";
> +        reg = <0x12000 0x18>;
> +        clocks = <&uartclk 0>;
> +        interrupts =
> +            <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
> +            <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
> +            <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
> +        interrupt-names = "uart-sum", "uart-tx", "uart-rx";
> +    };
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    serial@...00 {
> +        compatible = "marvell,armada-3700-uart-ext";
> +        reg = <0x12200 0x30>;
> +        clocks = <&uartclk 1>;
> +        interrupts =
> +            <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
> +            <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
> +        interrupt-names = "uart-tx", "uart-rx";
> +    };
> diff --git a/Documentation/devicetree/bindings/serial/mvebu-uart.txt b/Documentation/devicetree/bindings/serial/mvebu-uart.txt
> deleted file mode 100644
> index a062bbca532c..000000000000
> --- a/Documentation/devicetree/bindings/serial/mvebu-uart.txt
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -* Marvell UART : Non standard UART used in some of Marvell EBU SoCs
> -                 e.g., Armada-3700.
> -
> -Required properties:
> -- compatible:
> -    - "marvell,armada-3700-uart" for the standard variant of the UART
> -      (32 bytes FIFO, no DMA, level interrupts, 8-bit access to the
> -      FIFO), called also UART1.
> -    - "marvell,armada-3700-uart-ext" for the extended variant of the
> -      UART (128 bytes FIFO, DMA, front interrupts, 8-bit or 32-bit
> -      accesses to the FIFO), called also UART2.
> -- reg: offset and length of the register set for the device.
> -- clocks: UART reference clock used to derive the baudrate. If no clock
> -      is provided (possible only with the "marvell,armada-3700-uart"
> -      compatible string for backward compatibility), it will only work
> -      if the baudrate was initialized by the bootloader and no baudrate
> -      change will then be possible. When provided it should be UART1-clk
> -      for standard variant of UART and UART2-clk for extended variant
> -      of UART. TBG clock (with UART TBG divisors d1=d2=1) or xtal clock
> -      should not be used and are supported only for backward compatibility.
> -- interrupts:
> -    - Must contain three elements for the standard variant of the IP
> -      (marvell,armada-3700-uart): "uart-sum", "uart-tx" and "uart-rx",
> -      respectively the UART sum interrupt, the UART TX interrupt and
> -      UART RX interrupt. A corresponding interrupt-names property must
> -      be defined.
> -    - Must contain two elements for the extended variant of the IP
> -      (marvell,armada-3700-uart-ext): "uart-tx" and "uart-rx",
> -      respectively the UART TX interrupt and the UART RX interrupt. A
> -      corresponding interrupt-names property must be defined.
> -    - For backward compatibility reasons, a single element interrupts
> -      property is also supported for the standard variant of the IP,
> -      containing only the UART sum interrupt. This form is deprecated
> -      and should no longer be used.
> -
> -Example:
> -	uart0: serial@...00 {
> -		compatible = "marvell,armada-3700-uart";
> -		reg = <0x12000 0x18>;
> -		clocks = <&uartclk 0>;
> -		interrupts =
> -		<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
> -		<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
> -		<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
> -		interrupt-names = "uart-sum", "uart-tx", "uart-rx";
> -	};
> -
> -	uart1: serial@...00 {
> -		compatible = "marvell,armada-3700-uart-ext";
> -		reg = <0x12200 0x30>;
> -		clocks = <&uartclk 1>;
> -		interrupts =
> -		<GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
> -		<GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
> -		interrupt-names = "uart-tx", "uart-rx";
> -	};
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 96b827049501..8b1306c14380 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -14254,7 +14254,7 @@ MARVELL ARMADA 3700 SERIAL DRIVER
>  M:	Pali Rohár <pali@...nel.org>
>  S:	Maintained
>  F:	Documentation/devicetree/bindings/clock/marvell,armada-3700-uart-clock.yaml
> -F:	Documentation/devicetree/bindings/serial/mvebu-uart.txt
> +F:	Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml
>  F:	drivers/tty/serial/mvebu-uart.c
>  
>  MARVELL ARMADA DRM SUPPORT
> -- 
> 2.47.2
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ