xref: /freebsd/sys/contrib/device-tree/Bindings/serial/nxp,sc16is7xx.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
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