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