1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/serial/nxp,sc16is7xx.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NXP SC16IS7xx Advanced Universal Asynchronous Receiver-Transmitter (UART) 8 9maintainers: 10 - Hugo Villeneuve <[email protected]> 11 12properties: 13 compatible: 14 enum: 15 - nxp,sc16is740 16 - nxp,sc16is741 17 - nxp,sc16is750 18 - nxp,sc16is752 19 - nxp,sc16is760 20 - nxp,sc16is762 21 22 reg: 23 maxItems: 1 24 25 interrupts: 26 description: 27 When missing, device driver uses polling instead. 28 maxItems: 1 29 30 clocks: 31 maxItems: 1 32 33 reset-gpios: 34 maxItems: 1 35 36 clock-frequency: 37 description: 38 When there is no clock provider visible to the platform, this 39 is the source crystal or external clock frequency for the IC in Hz. 40 minimum: 1 41 maximum: 80000000 42 43 gpio-controller: true 44 45 "#gpio-cells": 46 const: 2 47 48 gpio-line-names: 49 minItems: 1 50 maxItems: 8 51 52 irda-mode-ports: 53 description: | 54 An array that lists the indices of the port that should operate in IrDA 55 mode: 56 0: port A 57 1: port B 58 $ref: /schemas/types.yaml#/definitions/uint32-array 59 minItems: 1 60 maxItems: 2 61 items: 62 minimum: 0 63 maximum: 1 64 65 nxp,modem-control-line-ports: 66 description: | 67 An array that lists the indices of the port that should have shared GPIO 68 lines configured as modem control lines: 69 0: port A 70 1: port B 71 $ref: /schemas/types.yaml#/definitions/uint32-array 72 minItems: 1 73 maxItems: 2 74 items: 75 minimum: 0 76 maximum: 1 77 78required: 79 - compatible 80 - reg 81 82allOf: 83 - $ref: /schemas/spi/spi-peripheral-props.yaml# 84 - $ref: /schemas/serial/serial.yaml# 85 - $ref: /schemas/serial/rs485.yaml# 86 87oneOf: 88 - required: 89 - clocks 90 - required: 91 - clock-frequency 92 93unevaluatedProperties: false 94 95examples: 96 - | 97 #include <dt-bindings/interrupt-controller/irq.h> 98 #include <dt-bindings/gpio/gpio.h> 99 i2c { 100 #address-cells = <1>; 101 #size-cells = <0>; 102 103 serial@51 { 104 compatible = "nxp,sc16is750"; 105 reg = <0x51>; 106 clocks = <&clk20m>; 107 interrupt-parent = <&gpio3>; 108 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 109 gpio-controller; 110 #gpio-cells = <2>; 111 }; 112 113 serial@53 { 114 compatible = "nxp,sc16is752"; 115 reg = <0x53>; 116 clocks = <&clk20m>; 117 interrupt-parent = <&gpio3>; 118 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 119 nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */ 120 gpio-controller; /* Port 0 as GPIOs */ 121 #gpio-cells = <2>; 122 }; 123 124 serial@54 { 125 compatible = "nxp,sc16is752"; 126 reg = <0x54>; 127 clocks = <&clk20m>; 128 reset-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 129 interrupt-parent = <&gpio3>; 130 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 131 nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */ 132 }; 133 }; 134