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 <hvilleneuve@dimonoff.com> 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 maxItems: 1 27 28 clocks: 29 maxItems: 1 30 31 reset-gpios: 32 maxItems: 1 33 34 clock-frequency: 35 description: 36 When there is no clock provider visible to the platform, this 37 is the source crystal or external clock frequency for the IC in Hz. 38 minimum: 1 39 maximum: 80000000 40 41 gpio-controller: true 42 43 "#gpio-cells": 44 const: 2 45 46 gpio-line-names: 47 minItems: 1 48 maxItems: 8 49 50 irda-mode-ports: 51 description: | 52 An array that lists the indices of the port that should operate in IrDA 53 mode: 54 0: port A 55 1: port B 56 $ref: /schemas/types.yaml#/definitions/uint32-array 57 minItems: 1 58 maxItems: 2 59 items: 60 minimum: 0 61 maximum: 1 62 63 nxp,modem-control-line-ports: 64 description: | 65 An array that lists the indices of the port that should have shared GPIO 66 lines configured as modem control lines: 67 0: port A 68 1: port B 69 $ref: /schemas/types.yaml#/definitions/uint32-array 70 minItems: 1 71 maxItems: 2 72 items: 73 minimum: 0 74 maximum: 1 75 76required: 77 - compatible 78 - reg 79 - interrupts 80 81allOf: 82 - $ref: /schemas/spi/spi-peripheral-props.yaml# 83 - $ref: /schemas/serial/serial.yaml# 84 - $ref: /schemas/serial/rs485.yaml# 85 86oneOf: 87 - required: 88 - clocks 89 - required: 90 - clock-frequency 91 92unevaluatedProperties: false 93 94examples: 95 - | 96 #include <dt-bindings/interrupt-controller/irq.h> 97 #include <dt-bindings/gpio/gpio.h> 98 i2c { 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 serial@51 { 103 compatible = "nxp,sc16is750"; 104 reg = <0x51>; 105 clocks = <&clk20m>; 106 interrupt-parent = <&gpio3>; 107 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 108 gpio-controller; 109 #gpio-cells = <2>; 110 }; 111 112 serial@53 { 113 compatible = "nxp,sc16is752"; 114 reg = <0x53>; 115 clocks = <&clk20m>; 116 interrupt-parent = <&gpio3>; 117 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 118 nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */ 119 gpio-controller; /* Port 0 as GPIOs */ 120 #gpio-cells = <2>; 121 }; 122 123 serial@54 { 124 compatible = "nxp,sc16is752"; 125 reg = <0x54>; 126 clocks = <&clk20m>; 127 reset-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 128 interrupt-parent = <&gpio3>; 129 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 130 nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */ 131 }; 132 }; 133