Skip to content

Commit 88a499c

Browse files
alcoopergregkh
authored andcommitted
dt-bindings: Add support for the Broadcom UART driver
Add DT bindings for the Broadcom 8250 based UART driver. This UART is based on an 8250 but adds additional functionality. The additional features include the ability to use DMA for transfers and a baud rate clock system that is more accurate at high baud rates. This UART is backward compatible with the standard 8250 UART. Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Al Cooper <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 22fce66 commit 88a499c

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/serial/brcm,bcm7271-uart.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Broadcom 8250 based serial port devicetree bindings
8+
9+
maintainers:
10+
- Al Cooper <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/serial.yaml#
14+
15+
description: |+
16+
The Broadcom UART is based on the basic 8250 UART but with
17+
enhancements for more accurate high speed baud rates and support
18+
for DMA.
19+
20+
properties:
21+
compatible:
22+
items:
23+
- enum:
24+
- brcm,bcm7271-uart
25+
- brcm,bcm7278-uart
26+
27+
reg:
28+
minItems: 1
29+
maxItems: 5
30+
31+
reg-names:
32+
description: The UART register block and optionally the DMA register blocks.
33+
oneOf:
34+
- items:
35+
- const: uart
36+
- items:
37+
- const: uart
38+
- const: dma_arb
39+
- const: dma_rx
40+
- const: dma_tx
41+
- const: dma_intr2
42+
43+
clocks:
44+
minItems: 1
45+
46+
clock-names:
47+
const: sw_baud
48+
49+
interrupts:
50+
minItems: 1
51+
maxItems: 2
52+
53+
interrupt-names:
54+
description: The UART interrupt and optionally the DMA interrupt.
55+
minItems: 1
56+
items:
57+
- const: uart
58+
- const: dma
59+
60+
required:
61+
- compatible
62+
- reg
63+
- reg-names
64+
- clocks
65+
- clock-names
66+
- interrupts
67+
- interrupt-names
68+
69+
unevaluatedProperties: false
70+
71+
examples:
72+
- |
73+
serial@840d000 {
74+
compatible = "brcm,bcm7271-uart";
75+
reg = <0x840d000 0x20>;
76+
reg-names = "uart";
77+
interrupts = <0x0 0x62 0x4>;
78+
interrupt-names = "uart";
79+
clocks = <&scmi_clk 190>;
80+
clock-names = "sw_baud";
81+
};
82+
83+
serial@840e000 {
84+
compatible = "brcm,bcm7271-uart";
85+
reg = <0x840e000 0x20>,
86+
<0x840e080 0x8>,
87+
<0x840e100 0xa8>,
88+
<0x840e200 0x4c>,
89+
<0x840e300 0x30>;
90+
reg-names = "uart", "dma_arb", "dma_rx", "dma_tx", "dma_intr2";
91+
interrupts = <0x0 0x62 0x4>, <0x0 0x75 0x4>;
92+
interrupt-names = "uart", "dma";
93+
clocks = <&scmi_clk 190>;
94+
clock-names = "sw_baud";
95+
};

0 commit comments

Comments
 (0)