Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | # SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/serial/samsung_uart.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung S3C, S5P, Exynos, and S5L (Apple SoC) SoC UART Controller maintainers: - Krzysztof Kozlowski <krzk@kernel.org> - Greg Kroah-Hartman <gregkh@linuxfoundation.org> description: |+ Each Samsung UART should have an alias correctly numbered in the "aliases" node, according to serialN format, where N is the port number (non-negative decimal integer) as specified by User's Manual of respective SoC. properties: compatible: items: - enum: - apple,s5l-uart - samsung,s3c2410-uart - samsung,s3c2412-uart - samsung,s3c2440-uart - samsung,s3c6400-uart - samsung,s5pv210-uart - samsung,exynos4210-uart - samsung,exynos850-uart reg: maxItems: 1 reg-io-width: description: | The size (in bytes) of the IO accesses that should be performed on the device. $ref: /schemas/types.yaml#/definitions/uint32 enum: [ 1, 4 ] clocks: minItems: 2 maxItems: 5 clock-names: description: N = 0 is allowed for SoCs without internal baud clock mux. minItems: 2 items: - const: uart - pattern: '^clk_uart_baud[0-3]$' - pattern: '^clk_uart_baud[0-3]$' - pattern: '^clk_uart_baud[0-3]$' - pattern: '^clk_uart_baud[0-3]$' dmas: items: - description: DMA controller phandle and request line for RX - description: DMA controller phandle and request line for TX dma-names: items: - const: rx - const: tx interrupts: description: RX interrupt and optionally TX interrupt. minItems: 1 maxItems: 2 samsung,uart-fifosize: description: The fifo size supported by the UART channel. $ref: /schemas/types.yaml#/definitions/uint32 enum: [16, 64, 256] required: - compatible - clocks - clock-names - interrupts - reg unevaluatedProperties: false allOf: - $ref: serial.yaml# - if: properties: compatible: contains: enum: - samsung,s3c2410-uart - samsung,s5pv210-uart then: properties: clocks: minItems: 2 maxItems: 3 clock-names: minItems: 2 maxItems: 3 items: - const: uart - pattern: '^clk_uart_baud[0-1]$' - pattern: '^clk_uart_baud[0-1]$' - if: properties: compatible: contains: enum: - apple,s5l-uart - samsung,exynos4210-uart then: properties: clocks: minItems: 2 maxItems: 2 clock-names: minItems: 2 maxItems: 2 items: - const: uart - const: clk_uart_baud0 examples: - | #include <dt-bindings/clock/samsung,s3c64xx-clock.h> uart0: serial@7f005000 { compatible = "samsung,s3c6400-uart"; reg = <0x7f005000 0x100>; interrupt-parent = <&vic1>; interrupts = <5>; clock-names = "uart", "clk_uart_baud2", "clk_uart_baud3"; clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>, <&clocks SCLK_UART>; samsung,uart-fifosize = <16>; }; |