1# Copyright (c), 2023 Basalte bv
2# SPDX-License-Identifier: Apache-2.0
3
4description: |
5  NXP SC18IM704 UART to I2C/GPIO bridge.
6
7  The SC18IM704 supports both an external I2C and GPIO controller. These
8  controllers have to be added to the Device Tree as children. While the
9  device itself has to be a child of a UART controller.
10
11  An example configuration:
12
13  &uart0 {
14    status = "okay";
15    pinctrl-0 = <&uart0_default>;
16    pinctrl-names = "default";
17
18    sc18im704: sc18im704 {
19      compatible = "nxp,sc18im704";
20      status = "okay";
21      target-speed = <115200>;
22      reset-gpios = <&gpio1 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
23
24      i2c_ext: sc18im704_i2c {
25        compatible = "nxp,sc18im704-i2c";
26        status = "okay";
27        #address-cells = <1>;
28        #size-cells = <0>;
29      };
30
31      gpio_ext: sc18im704_gpio {
32        compatible = "nxp,sc18im704-gpio";
33        status = "okay";
34        gpio-controller;
35        #gpio-cells = <2>;
36        ngpios = <8>;
37      };
38    };
39  };
40
41compatible: "nxp,sc18im704"
42
43include: uart-device.yaml
44
45properties:
46  reset-gpios:
47    type: phandle-array
48    description:
49      Driver reset pin of the bridge.
50      If connected directly to the MCU, this pin should be configured
51      as active low.
52
53  target-speed:
54    type: int
55    description:
56      UART baudrate which will be requested and to which
57      UART interface will be reconfigured during initialization phase.
58    enum:
59      - 1200
60      - 2400
61      - 4800
62      - 9600
63      - 14400
64      - 19200
65      - 28800
66      - 38400
67      - 57600
68      - 76800
69      - 115200
70      - 230400
71      - 460800
72
73bus: nxp,sc18im704
74