16a24490fSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0
26a24490fSKrzysztof Kozlowski%YAML 1.2
36a24490fSKrzysztof Kozlowski---
46a24490fSKrzysztof Kozlowski$id: http://devicetree.org/schemas/serial/samsung_uart.yaml#
56a24490fSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
66a24490fSKrzysztof Kozlowski
7b8466833SHector Martintitle: Samsung S3C, S5P, Exynos, and S5L (Apple SoC) SoC UART Controller
86a24490fSKrzysztof Kozlowski
96a24490fSKrzysztof Kozlowskimaintainers:
106a24490fSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
116a24490fSKrzysztof Kozlowski  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
126a24490fSKrzysztof Kozlowski
136a24490fSKrzysztof Kozlowskidescription: |+
146a24490fSKrzysztof Kozlowski  Each Samsung UART should have an alias correctly numbered in the "aliases"
156a24490fSKrzysztof Kozlowski  node, according to serialN format, where N is the port number (non-negative
166a24490fSKrzysztof Kozlowski  decimal integer) as specified by User's Manual of respective SoC.
176a24490fSKrzysztof Kozlowski
186a24490fSKrzysztof Kozlowskiproperties:
196a24490fSKrzysztof Kozlowski  compatible:
206a24490fSKrzysztof Kozlowski    items:
216a24490fSKrzysztof Kozlowski      - enum:
22b8466833SHector Martin          - apple,s5l-uart
23*02a64ef6SVincent Whitchurch          - axis,artpec8-uart
246a24490fSKrzysztof Kozlowski          - samsung,s3c2410-uart
256a24490fSKrzysztof Kozlowski          - samsung,s3c2412-uart
266a24490fSKrzysztof Kozlowski          - samsung,s3c2440-uart
276a24490fSKrzysztof Kozlowski          - samsung,s3c6400-uart
286a24490fSKrzysztof Kozlowski          - samsung,s5pv210-uart
296a24490fSKrzysztof Kozlowski          - samsung,exynos4210-uart
300fc58931SKrzysztof Kozlowski          - samsung,exynos5433-uart
31538a9909SSam Protsenko          - samsung,exynos850-uart
326a24490fSKrzysztof Kozlowski
336a24490fSKrzysztof Kozlowski  reg:
346a24490fSKrzysztof Kozlowski    maxItems: 1
356a24490fSKrzysztof Kozlowski
367ad3bee4SHyunki Koo  reg-io-width:
377ad3bee4SHyunki Koo    description: |
387ad3bee4SHyunki Koo      The size (in bytes) of the IO accesses that should be performed
397ad3bee4SHyunki Koo      on the device.
40086e9074SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
41086e9074SRob Herring    enum: [ 1, 4 ]
427ad3bee4SHyunki Koo
436a24490fSKrzysztof Kozlowski  clocks:
446a24490fSKrzysztof Kozlowski    minItems: 2
456a24490fSKrzysztof Kozlowski    maxItems: 5
466a24490fSKrzysztof Kozlowski
476a24490fSKrzysztof Kozlowski  clock-names:
486a24490fSKrzysztof Kozlowski    description: N = 0 is allowed for SoCs without internal baud clock mux.
496a24490fSKrzysztof Kozlowski    minItems: 2
506a24490fSKrzysztof Kozlowski    items:
516a24490fSKrzysztof Kozlowski      - const: uart
526a24490fSKrzysztof Kozlowski      - pattern: '^clk_uart_baud[0-3]$'
536a24490fSKrzysztof Kozlowski      - pattern: '^clk_uart_baud[0-3]$'
546a24490fSKrzysztof Kozlowski      - pattern: '^clk_uart_baud[0-3]$'
556a24490fSKrzysztof Kozlowski      - pattern: '^clk_uart_baud[0-3]$'
566a24490fSKrzysztof Kozlowski
5771b25f4dSKrzysztof Kozlowski  dmas:
5871b25f4dSKrzysztof Kozlowski    items:
5971b25f4dSKrzysztof Kozlowski      - description: DMA controller phandle and request line for RX
6071b25f4dSKrzysztof Kozlowski      - description: DMA controller phandle and request line for TX
6171b25f4dSKrzysztof Kozlowski
6271b25f4dSKrzysztof Kozlowski  dma-names:
6371b25f4dSKrzysztof Kozlowski    items:
6471b25f4dSKrzysztof Kozlowski      - const: rx
6571b25f4dSKrzysztof Kozlowski      - const: tx
6671b25f4dSKrzysztof Kozlowski
676a24490fSKrzysztof Kozlowski  interrupts:
686a24490fSKrzysztof Kozlowski    description: RX interrupt and optionally TX interrupt.
696a24490fSKrzysztof Kozlowski    minItems: 1
706a24490fSKrzysztof Kozlowski    maxItems: 2
716a24490fSKrzysztof Kozlowski
726a24490fSKrzysztof Kozlowski  samsung,uart-fifosize:
736a24490fSKrzysztof Kozlowski    description: The fifo size supported by the UART channel.
743d21a460SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
753d21a460SRob Herring    enum: [16, 64, 256]
766a24490fSKrzysztof Kozlowski
776a24490fSKrzysztof Kozlowskirequired:
786a24490fSKrzysztof Kozlowski  - compatible
796a24490fSKrzysztof Kozlowski  - clocks
806a24490fSKrzysztof Kozlowski  - clock-names
816a24490fSKrzysztof Kozlowski  - interrupts
826a24490fSKrzysztof Kozlowski  - reg
836a24490fSKrzysztof Kozlowski
84e7d1737cSKrzysztof KozlowskiunevaluatedProperties: false
855be478f9SRob Herring
866a24490fSKrzysztof KozlowskiallOf:
878f082dcfSZhen Lei  - $ref: serial.yaml#
88e7d1737cSKrzysztof Kozlowski
896a24490fSKrzysztof Kozlowski  - if:
906a24490fSKrzysztof Kozlowski      properties:
916a24490fSKrzysztof Kozlowski        compatible:
926a24490fSKrzysztof Kozlowski          contains:
936a24490fSKrzysztof Kozlowski            enum:
946a24490fSKrzysztof Kozlowski              - samsung,s3c2410-uart
956a24490fSKrzysztof Kozlowski              - samsung,s5pv210-uart
966a24490fSKrzysztof Kozlowski    then:
976a24490fSKrzysztof Kozlowski      properties:
986a24490fSKrzysztof Kozlowski        clocks:
996a24490fSKrzysztof Kozlowski          minItems: 2
1006a24490fSKrzysztof Kozlowski          maxItems: 3
1016a24490fSKrzysztof Kozlowski        clock-names:
1026a24490fSKrzysztof Kozlowski          minItems: 2
1036a24490fSKrzysztof Kozlowski          maxItems: 3
1046a24490fSKrzysztof Kozlowski          items:
1056a24490fSKrzysztof Kozlowski            - const: uart
1066a24490fSKrzysztof Kozlowski            - pattern: '^clk_uart_baud[0-1]$'
1076a24490fSKrzysztof Kozlowski            - pattern: '^clk_uart_baud[0-1]$'
1086a24490fSKrzysztof Kozlowski
1096a24490fSKrzysztof Kozlowski  - if:
1106a24490fSKrzysztof Kozlowski      properties:
1116a24490fSKrzysztof Kozlowski        compatible:
1126a24490fSKrzysztof Kozlowski          contains:
1136a24490fSKrzysztof Kozlowski            enum:
114b8466833SHector Martin              - apple,s5l-uart
115*02a64ef6SVincent Whitchurch              - axis,artpec8-uart
1166a24490fSKrzysztof Kozlowski              - samsung,exynos4210-uart
1170fc58931SKrzysztof Kozlowski              - samsung,exynos5433-uart
1186a24490fSKrzysztof Kozlowski    then:
1196a24490fSKrzysztof Kozlowski      properties:
1206a24490fSKrzysztof Kozlowski        clocks:
1216a24490fSKrzysztof Kozlowski          minItems: 2
1226a24490fSKrzysztof Kozlowski          maxItems: 2
1236a24490fSKrzysztof Kozlowski        clock-names:
1246a24490fSKrzysztof Kozlowski          minItems: 2
1256a24490fSKrzysztof Kozlowski          maxItems: 2
1266a24490fSKrzysztof Kozlowski          items:
1276a24490fSKrzysztof Kozlowski            - const: uart
1286a24490fSKrzysztof Kozlowski            - const: clk_uart_baud0
1296a24490fSKrzysztof Kozlowski
1306a24490fSKrzysztof Kozlowskiexamples:
1316a24490fSKrzysztof Kozlowski  - |
1326a24490fSKrzysztof Kozlowski    #include <dt-bindings/clock/samsung,s3c64xx-clock.h>
1336a24490fSKrzysztof Kozlowski
1346a24490fSKrzysztof Kozlowski    uart0: serial@7f005000 {
1356a24490fSKrzysztof Kozlowski        compatible = "samsung,s3c6400-uart";
1366a24490fSKrzysztof Kozlowski        reg = <0x7f005000 0x100>;
1376a24490fSKrzysztof Kozlowski        interrupt-parent = <&vic1>;
1386a24490fSKrzysztof Kozlowski        interrupts = <5>;
1396a24490fSKrzysztof Kozlowski        clock-names = "uart", "clk_uart_baud2",
1406a24490fSKrzysztof Kozlowski                      "clk_uart_baud3";
1416a24490fSKrzysztof Kozlowski        clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
1426a24490fSKrzysztof Kozlowski                 <&clocks SCLK_UART>;
1436a24490fSKrzysztof Kozlowski        samsung,uart-fifosize = <16>;
1446a24490fSKrzysztof Kozlowski    };
145