184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 284943d6fSEmmanuel Vadot%YAML 1.2 384943d6fSEmmanuel Vadot--- 484943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/serial/nxp,sc16is7xx.yaml# 584943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 684943d6fSEmmanuel Vadot 784943d6fSEmmanuel Vadottitle: NXP SC16IS7xx Advanced Universal Asynchronous Receiver-Transmitter (UART) 884943d6fSEmmanuel Vadot 984943d6fSEmmanuel Vadotmaintainers: 1084943d6fSEmmanuel Vadot - Hugo Villeneuve <hvilleneuve@dimonoff.com> 1184943d6fSEmmanuel Vadot 1284943d6fSEmmanuel Vadotproperties: 1384943d6fSEmmanuel Vadot compatible: 1484943d6fSEmmanuel Vadot enum: 1584943d6fSEmmanuel Vadot - nxp,sc16is740 1684943d6fSEmmanuel Vadot - nxp,sc16is741 1784943d6fSEmmanuel Vadot - nxp,sc16is750 1884943d6fSEmmanuel Vadot - nxp,sc16is752 1984943d6fSEmmanuel Vadot - nxp,sc16is760 2084943d6fSEmmanuel Vadot - nxp,sc16is762 2184943d6fSEmmanuel Vadot 2284943d6fSEmmanuel Vadot reg: 2384943d6fSEmmanuel Vadot maxItems: 1 2484943d6fSEmmanuel Vadot 2584943d6fSEmmanuel Vadot interrupts: 2684943d6fSEmmanuel Vadot maxItems: 1 2784943d6fSEmmanuel Vadot 2884943d6fSEmmanuel Vadot clocks: 2984943d6fSEmmanuel Vadot maxItems: 1 3084943d6fSEmmanuel Vadot 31*0e8011faSEmmanuel Vadot reset-gpios: 32*0e8011faSEmmanuel Vadot maxItems: 1 33*0e8011faSEmmanuel Vadot 3484943d6fSEmmanuel Vadot clock-frequency: 3584943d6fSEmmanuel Vadot description: 3684943d6fSEmmanuel Vadot When there is no clock provider visible to the platform, this 3784943d6fSEmmanuel Vadot is the source crystal or external clock frequency for the IC in Hz. 3884943d6fSEmmanuel Vadot minimum: 1 3984943d6fSEmmanuel Vadot maximum: 80000000 4084943d6fSEmmanuel Vadot 4184943d6fSEmmanuel Vadot gpio-controller: true 4284943d6fSEmmanuel Vadot 4384943d6fSEmmanuel Vadot "#gpio-cells": 4484943d6fSEmmanuel Vadot const: 2 4584943d6fSEmmanuel Vadot 4684943d6fSEmmanuel Vadot gpio-line-names: 4784943d6fSEmmanuel Vadot minItems: 1 4884943d6fSEmmanuel Vadot maxItems: 8 4984943d6fSEmmanuel Vadot 5084943d6fSEmmanuel Vadot irda-mode-ports: 5184943d6fSEmmanuel Vadot description: | 5284943d6fSEmmanuel Vadot An array that lists the indices of the port that should operate in IrDA 5384943d6fSEmmanuel Vadot mode: 5484943d6fSEmmanuel Vadot 0: port A 5584943d6fSEmmanuel Vadot 1: port B 5684943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 5784943d6fSEmmanuel Vadot minItems: 1 5884943d6fSEmmanuel Vadot maxItems: 2 5984943d6fSEmmanuel Vadot items: 6084943d6fSEmmanuel Vadot minimum: 0 6184943d6fSEmmanuel Vadot maximum: 1 6284943d6fSEmmanuel Vadot 6384943d6fSEmmanuel Vadot nxp,modem-control-line-ports: 6484943d6fSEmmanuel Vadot description: | 6584943d6fSEmmanuel Vadot An array that lists the indices of the port that should have shared GPIO 6684943d6fSEmmanuel Vadot lines configured as modem control lines: 6784943d6fSEmmanuel Vadot 0: port A 6884943d6fSEmmanuel Vadot 1: port B 6984943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 7084943d6fSEmmanuel Vadot minItems: 1 7184943d6fSEmmanuel Vadot maxItems: 2 7284943d6fSEmmanuel Vadot items: 7384943d6fSEmmanuel Vadot minimum: 0 7484943d6fSEmmanuel Vadot maximum: 1 7584943d6fSEmmanuel Vadot 7684943d6fSEmmanuel Vadotrequired: 7784943d6fSEmmanuel Vadot - compatible 7884943d6fSEmmanuel Vadot - reg 7984943d6fSEmmanuel Vadot - interrupts 8084943d6fSEmmanuel Vadot 8184943d6fSEmmanuel VadotallOf: 8284943d6fSEmmanuel Vadot - $ref: /schemas/spi/spi-peripheral-props.yaml# 8384943d6fSEmmanuel Vadot - $ref: /schemas/serial/serial.yaml# 8484943d6fSEmmanuel Vadot - $ref: /schemas/serial/rs485.yaml# 8584943d6fSEmmanuel Vadot 8684943d6fSEmmanuel VadotoneOf: 8784943d6fSEmmanuel Vadot - required: 8884943d6fSEmmanuel Vadot - clocks 8984943d6fSEmmanuel Vadot - required: 9084943d6fSEmmanuel Vadot - clock-frequency 9184943d6fSEmmanuel Vadot 9284943d6fSEmmanuel VadotunevaluatedProperties: false 9384943d6fSEmmanuel Vadot 9484943d6fSEmmanuel Vadotexamples: 9584943d6fSEmmanuel Vadot - | 9684943d6fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 97*0e8011faSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 9884943d6fSEmmanuel Vadot i2c { 9984943d6fSEmmanuel Vadot #address-cells = <1>; 10084943d6fSEmmanuel Vadot #size-cells = <0>; 10184943d6fSEmmanuel Vadot 10284943d6fSEmmanuel Vadot serial@51 { 10384943d6fSEmmanuel Vadot compatible = "nxp,sc16is750"; 10484943d6fSEmmanuel Vadot reg = <0x51>; 10584943d6fSEmmanuel Vadot clocks = <&clk20m>; 10684943d6fSEmmanuel Vadot interrupt-parent = <&gpio3>; 10784943d6fSEmmanuel Vadot interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 10884943d6fSEmmanuel Vadot gpio-controller; 10984943d6fSEmmanuel Vadot #gpio-cells = <2>; 11084943d6fSEmmanuel Vadot }; 11184943d6fSEmmanuel Vadot 11284943d6fSEmmanuel Vadot serial@53 { 11384943d6fSEmmanuel Vadot compatible = "nxp,sc16is752"; 11484943d6fSEmmanuel Vadot reg = <0x53>; 11584943d6fSEmmanuel Vadot clocks = <&clk20m>; 11684943d6fSEmmanuel Vadot interrupt-parent = <&gpio3>; 11784943d6fSEmmanuel Vadot interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 11884943d6fSEmmanuel Vadot nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */ 11984943d6fSEmmanuel Vadot gpio-controller; /* Port 0 as GPIOs */ 12084943d6fSEmmanuel Vadot #gpio-cells = <2>; 12184943d6fSEmmanuel Vadot }; 12284943d6fSEmmanuel Vadot 12384943d6fSEmmanuel Vadot serial@54 { 12484943d6fSEmmanuel Vadot compatible = "nxp,sc16is752"; 12584943d6fSEmmanuel Vadot reg = <0x54>; 12684943d6fSEmmanuel Vadot clocks = <&clk20m>; 127*0e8011faSEmmanuel Vadot reset-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 12884943d6fSEmmanuel Vadot interrupt-parent = <&gpio3>; 12984943d6fSEmmanuel Vadot interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 13084943d6fSEmmanuel Vadot nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */ 13184943d6fSEmmanuel Vadot }; 13284943d6fSEmmanuel Vadot }; 133