gpio: rcar: Fix runtime PM imbalance on error
[linux/fpc-iii.git] / Documentation / devicetree / bindings / serial / samsung_uart.yaml
blob9d2ce347875b46ef59f0b00a4a597b406e037b3c
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/serial/samsung_uart.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Samsung S3C, S5P and Exynos SoC UART Controller
9 maintainers:
10   - Krzysztof Kozlowski <krzk@kernel.org>
11   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
13 description: |+
14   Each Samsung UART should have an alias correctly numbered in the "aliases"
15   node, according to serialN format, where N is the port number (non-negative
16   decimal integer) as specified by User's Manual of respective SoC.
18 properties:
19   compatible:
20     items:
21       - enum:
22           - samsung,s3c2410-uart
23           - samsung,s3c2412-uart
24           - samsung,s3c2440-uart
25           - samsung,s3c6400-uart
26           - samsung,s5pv210-uart
27           - samsung,exynos4210-uart
29   reg:
30     maxItems: 1
32   clocks:
33     minItems: 2
34     maxItems: 5
36   clock-names:
37     description: N = 0 is allowed for SoCs without internal baud clock mux.
38     minItems: 2
39     maxItems: 5
40     items:
41       - const: uart
42       - pattern: '^clk_uart_baud[0-3]$'
43       - pattern: '^clk_uart_baud[0-3]$'
44       - pattern: '^clk_uart_baud[0-3]$'
45       - pattern: '^clk_uart_baud[0-3]$'
47   interrupts:
48     description: RX interrupt and optionally TX interrupt.
49     minItems: 1
50     maxItems: 2
52   samsung,uart-fifosize:
53     description: The fifo size supported by the UART channel.
54     allOf:
55       - $ref: /schemas/types.yaml#/definitions/uint32
56       - enum: [16, 64, 256]
58 required:
59   - compatible
60   - clocks
61   - clock-names
62   - interrupts
63   - reg
65 allOf:
66   - if:
67       properties:
68         compatible:
69           contains:
70             enum:
71               - samsung,s3c2410-uart
72               - samsung,s5pv210-uart
73     then:
74       properties:
75         clocks:
76           minItems: 2
77           maxItems: 3
78         clock-names:
79           minItems: 2
80           maxItems: 3
81           items:
82             - const: uart
83             - pattern: '^clk_uart_baud[0-1]$'
84             - pattern: '^clk_uart_baud[0-1]$'
86   - if:
87       properties:
88         compatible:
89           contains:
90             enum:
91               - samsung,exynos4210-uart
92     then:
93       properties:
94         clocks:
95           minItems: 2
96           maxItems: 2
97         clock-names:
98           minItems: 2
99           maxItems: 2
100           items:
101             - const: uart
102             - const: clk_uart_baud0
104 examples:
105   - |
106     #include <dt-bindings/clock/samsung,s3c64xx-clock.h>
108     uart0: serial@7f005000 {
109         compatible = "samsung,s3c6400-uart";
110         reg = <0x7f005000 0x100>;
111         interrupt-parent = <&vic1>;
112         interrupts = <5>;
113         clock-names = "uart", "clk_uart_baud2",
114                       "clk_uart_baud3";
115         clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
116                  <&clocks SCLK_UART>;
117         samsung,uart-fifosize = <16>;
118     };