Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: serial: Convert marvell,armada-3700-uart to DT schema

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@kernel.org>
Link: https://lore.kernel.org/r/20250507154408.1595932-1-robh@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Rob Herring (Arm) and committed by
Greg Kroah-Hartman
2446bd69 6f5ff13b

+103 -57
+102
Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/serial/marvell,armada-3700-uart.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Marvell Armada-3700 UART 8 + 9 + maintainers: 10 + - Pali Rohár <pali@kernel.org> 11 + 12 + description: 13 + Marvell UART is a non standard UART used in some of Marvell EBU SoCs (e.g. 14 + Armada-3700). 15 + 16 + properties: 17 + compatible: 18 + enum: 19 + - marvell,armada-3700-uart 20 + - marvell,armada-3700-uart-ext 21 + 22 + reg: 23 + maxItems: 1 24 + 25 + clocks: 26 + maxItems: 1 27 + description: 28 + UART reference clock used to derive the baud rate. If absent, only fixed 29 + baud rate from the bootloader is supported. 30 + 31 + interrupts: 32 + minItems: 2 33 + items: 34 + - description: UART sum interrupt 35 + - description: UART TX interrupt 36 + - description: UART RX interrupt 37 + 38 + interrupt-names: 39 + minItems: 2 40 + maxItems: 3 41 + 42 + required: 43 + - compatible 44 + - reg 45 + - interrupts 46 + - interrupt-names 47 + 48 + unevaluatedProperties: false 49 + 50 + allOf: 51 + - $ref: /schemas/serial/serial.yaml# 52 + - if: 53 + properties: 54 + compatible: 55 + const: marvell,armada-3700-uart-ext 56 + then: 57 + properties: 58 + interrupts: 59 + maxItems: 2 60 + 61 + interrupt-names: 62 + items: 63 + - const: uart-tx 64 + - const: uart-rx 65 + else: 66 + properties: 67 + interrupts: 68 + minItems: 3 69 + 70 + interrupt-names: 71 + items: 72 + - const: uart-sum 73 + - const: uart-tx 74 + - const: uart-rx 75 + 76 + examples: 77 + - | 78 + #include <dt-bindings/interrupt-controller/arm-gic.h> 79 + 80 + serial@12000 { 81 + compatible = "marvell,armada-3700-uart"; 82 + reg = <0x12000 0x18>; 83 + clocks = <&uartclk 0>; 84 + interrupts = 85 + <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 86 + <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 87 + <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 88 + interrupt-names = "uart-sum", "uart-tx", "uart-rx"; 89 + }; 90 + 91 + - | 92 + #include <dt-bindings/interrupt-controller/arm-gic.h> 93 + 94 + serial@12200 { 95 + compatible = "marvell,armada-3700-uart-ext"; 96 + reg = <0x12200 0x30>; 97 + clocks = <&uartclk 1>; 98 + interrupts = 99 + <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, 100 + <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; 101 + interrupt-names = "uart-tx", "uart-rx"; 102 + };
-56
Documentation/devicetree/bindings/serial/mvebu-uart.txt
··· 1 - * Marvell UART : Non standard UART used in some of Marvell EBU SoCs 2 - e.g., Armada-3700. 3 - 4 - Required properties: 5 - - compatible: 6 - - "marvell,armada-3700-uart" for the standard variant of the UART 7 - (32 bytes FIFO, no DMA, level interrupts, 8-bit access to the 8 - FIFO), called also UART1. 9 - - "marvell,armada-3700-uart-ext" for the extended variant of the 10 - UART (128 bytes FIFO, DMA, front interrupts, 8-bit or 32-bit 11 - accesses to the FIFO), called also UART2. 12 - - reg: offset and length of the register set for the device. 13 - - clocks: UART reference clock used to derive the baudrate. If no clock 14 - is provided (possible only with the "marvell,armada-3700-uart" 15 - compatible string for backward compatibility), it will only work 16 - if the baudrate was initialized by the bootloader and no baudrate 17 - change will then be possible. When provided it should be UART1-clk 18 - for standard variant of UART and UART2-clk for extended variant 19 - of UART. TBG clock (with UART TBG divisors d1=d2=1) or xtal clock 20 - should not be used and are supported only for backward compatibility. 21 - - interrupts: 22 - - Must contain three elements for the standard variant of the IP 23 - (marvell,armada-3700-uart): "uart-sum", "uart-tx" and "uart-rx", 24 - respectively the UART sum interrupt, the UART TX interrupt and 25 - UART RX interrupt. A corresponding interrupt-names property must 26 - be defined. 27 - - Must contain two elements for the extended variant of the IP 28 - (marvell,armada-3700-uart-ext): "uart-tx" and "uart-rx", 29 - respectively the UART TX interrupt and the UART RX interrupt. A 30 - corresponding interrupt-names property must be defined. 31 - - For backward compatibility reasons, a single element interrupts 32 - property is also supported for the standard variant of the IP, 33 - containing only the UART sum interrupt. This form is deprecated 34 - and should no longer be used. 35 - 36 - Example: 37 - uart0: serial@12000 { 38 - compatible = "marvell,armada-3700-uart"; 39 - reg = <0x12000 0x18>; 40 - clocks = <&uartclk 0>; 41 - interrupts = 42 - <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 43 - <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 44 - <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 45 - interrupt-names = "uart-sum", "uart-tx", "uart-rx"; 46 - }; 47 - 48 - uart1: serial@12200 { 49 - compatible = "marvell,armada-3700-uart-ext"; 50 - reg = <0x12200 0x30>; 51 - clocks = <&uartclk 1>; 52 - interrupts = 53 - <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, 54 - <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; 55 - interrupt-names = "uart-tx", "uart-rx"; 56 - };
+1 -1
MAINTAINERS
··· 14275 14275 M: Pali Rohár <pali@kernel.org> 14276 14276 S: Maintained 14277 14277 F: Documentation/devicetree/bindings/clock/marvell,armada-3700-uart-clock.yaml 14278 - F: Documentation/devicetree/bindings/serial/mvebu-uart.txt 14278 + F: Documentation/devicetree/bindings/serial/marvell,armada-3700-uart.yaml 14279 14279 F: drivers/tty/serial/mvebu-uart.c 14280 14280 14281 14281 MARVELL ARMADA DRM SUPPORT