xref: /freebsd/sys/contrib/device-tree/Bindings/serial/nxp,sc16is7xx.txt (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot* NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART)
2c66ec88fSEmmanuel Vadot* i2c as bus
3c66ec88fSEmmanuel Vadot
4c66ec88fSEmmanuel VadotRequired properties:
5c66ec88fSEmmanuel Vadot- compatible: Should be one of the following:
6c66ec88fSEmmanuel Vadot  - "nxp,sc16is740" for NXP SC16IS740,
7c66ec88fSEmmanuel Vadot  - "nxp,sc16is741" for NXP SC16IS741,
8c66ec88fSEmmanuel Vadot  - "nxp,sc16is750" for NXP SC16IS750,
9c66ec88fSEmmanuel Vadot  - "nxp,sc16is752" for NXP SC16IS752,
10c66ec88fSEmmanuel Vadot  - "nxp,sc16is760" for NXP SC16IS760,
11c66ec88fSEmmanuel Vadot  - "nxp,sc16is762" for NXP SC16IS762.
12c66ec88fSEmmanuel Vadot- reg: I2C address of the SC16IS7xx device.
13c66ec88fSEmmanuel Vadot- interrupts: Should contain the UART interrupt
14c66ec88fSEmmanuel Vadot- clocks: Reference to the IC source clock.
15c66ec88fSEmmanuel Vadot	OR (when there is no clock provider visible to the platform)
16c66ec88fSEmmanuel Vadot- clock-frequency: The source clock frequency for the IC.
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel VadotOptional properties:
19c66ec88fSEmmanuel Vadot- gpio-controller: Marks the device node as a GPIO controller.
20c66ec88fSEmmanuel Vadot- #gpio-cells: Should be two. The first cell is the GPIO number and
21c66ec88fSEmmanuel Vadot  the second cell is used to specify the GPIO polarity:
22c66ec88fSEmmanuel Vadot    0 = active high,
23c66ec88fSEmmanuel Vadot    1 = active low.
24c66ec88fSEmmanuel Vadot- irda-mode-ports: An array that lists the indices of the port that
25c66ec88fSEmmanuel Vadot		   should operate in IrDA mode.
26*aa1a8ff2SEmmanuel Vadot- nxp,modem-control-line-ports: An array that lists the indices of the port that
27*aa1a8ff2SEmmanuel Vadot				should have shared GPIO lines configured as
28*aa1a8ff2SEmmanuel Vadot				modem control lines.
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel VadotExample:
31c66ec88fSEmmanuel Vadot        sc16is750: sc16is750@51 {
32c66ec88fSEmmanuel Vadot                compatible = "nxp,sc16is750";
33c66ec88fSEmmanuel Vadot                reg = <0x51>;
34c66ec88fSEmmanuel Vadot                clocks = <&clk20m>;
35c66ec88fSEmmanuel Vadot                interrupt-parent = <&gpio3>;
36c66ec88fSEmmanuel Vadot                interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
37c66ec88fSEmmanuel Vadot                gpio-controller;
38c66ec88fSEmmanuel Vadot                #gpio-cells = <2>;
39c66ec88fSEmmanuel Vadot        };
40c66ec88fSEmmanuel Vadot
41*aa1a8ff2SEmmanuel Vadot	sc16is752: sc16is752@53 {
42*aa1a8ff2SEmmanuel Vadot		compatible = "nxp,sc16is752";
43*aa1a8ff2SEmmanuel Vadot		reg = <0x53>;
44*aa1a8ff2SEmmanuel Vadot		clocks = <&clk20m>;
45*aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&gpio3>;
46*aa1a8ff2SEmmanuel Vadot		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
47*aa1a8ff2SEmmanuel Vadot		nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
48*aa1a8ff2SEmmanuel Vadot		gpio-controller; /* Port 0 as GPIOs */
49*aa1a8ff2SEmmanuel Vadot		#gpio-cells = <2>;
50*aa1a8ff2SEmmanuel Vadot	};
51*aa1a8ff2SEmmanuel Vadot
52*aa1a8ff2SEmmanuel Vadot	sc16is752: sc16is752@54 {
53*aa1a8ff2SEmmanuel Vadot		compatible = "nxp,sc16is752";
54*aa1a8ff2SEmmanuel Vadot		reg = <0x54>;
55*aa1a8ff2SEmmanuel Vadot		clocks = <&clk20m>;
56*aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&gpio3>;
57*aa1a8ff2SEmmanuel Vadot		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
58*aa1a8ff2SEmmanuel Vadot		nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
59*aa1a8ff2SEmmanuel Vadot	};
60*aa1a8ff2SEmmanuel Vadot
61c66ec88fSEmmanuel Vadot* spi as bus
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel VadotRequired properties:
64c66ec88fSEmmanuel Vadot- compatible: Should be one of the following:
65c66ec88fSEmmanuel Vadot  - "nxp,sc16is740" for NXP SC16IS740,
66c66ec88fSEmmanuel Vadot  - "nxp,sc16is741" for NXP SC16IS741,
67c66ec88fSEmmanuel Vadot  - "nxp,sc16is750" for NXP SC16IS750,
68c66ec88fSEmmanuel Vadot  - "nxp,sc16is752" for NXP SC16IS752,
69c66ec88fSEmmanuel Vadot  - "nxp,sc16is760" for NXP SC16IS760,
70c66ec88fSEmmanuel Vadot  - "nxp,sc16is762" for NXP SC16IS762.
71c66ec88fSEmmanuel Vadot- reg: SPI chip select number.
72c66ec88fSEmmanuel Vadot- interrupts: Specifies the interrupt source of the parent interrupt
73c66ec88fSEmmanuel Vadot  controller. The format of the interrupt specifier depends on the
74c66ec88fSEmmanuel Vadot  parent interrupt controller.
75c66ec88fSEmmanuel Vadot- clocks: phandle to the IC source clock.
76c66ec88fSEmmanuel Vadot
77c66ec88fSEmmanuel VadotOptional properties:
78c66ec88fSEmmanuel Vadot- gpio-controller: Marks the device node as a GPIO controller.
79c66ec88fSEmmanuel Vadot- #gpio-cells: Should be two. The first cell is the GPIO number and
80c66ec88fSEmmanuel Vadot  the second cell is used to specify the GPIO polarity:
81c66ec88fSEmmanuel Vadot    0 = active high,
82c66ec88fSEmmanuel Vadot    1 = active low.
83c66ec88fSEmmanuel Vadot- irda-mode-ports: An array that lists the indices of the port that
84c66ec88fSEmmanuel Vadot		   should operate in IrDA mode.
85*aa1a8ff2SEmmanuel Vadot- nxp,modem-control-line-ports: An array that lists the indices of the port that
86*aa1a8ff2SEmmanuel Vadot				should have shared GPIO lines configured as
87*aa1a8ff2SEmmanuel Vadot				modem control lines.
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel VadotExample:
90c66ec88fSEmmanuel Vadot	sc16is750: sc16is750@0 {
91c66ec88fSEmmanuel Vadot		compatible = "nxp,sc16is750";
92c66ec88fSEmmanuel Vadot		reg = <0>;
93c66ec88fSEmmanuel Vadot		clocks = <&clk20m>;
94c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio3>;
95c66ec88fSEmmanuel Vadot		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
96c66ec88fSEmmanuel Vadot		gpio-controller;
97c66ec88fSEmmanuel Vadot		#gpio-cells = <2>;
98c66ec88fSEmmanuel Vadot	};
99*aa1a8ff2SEmmanuel Vadot
100*aa1a8ff2SEmmanuel Vadot	sc16is752: sc16is752@1 {
101*aa1a8ff2SEmmanuel Vadot		compatible = "nxp,sc16is752";
102*aa1a8ff2SEmmanuel Vadot		reg = <1>;
103*aa1a8ff2SEmmanuel Vadot		clocks = <&clk20m>;
104*aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&gpio3>;
105*aa1a8ff2SEmmanuel Vadot		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
106*aa1a8ff2SEmmanuel Vadot		nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
107*aa1a8ff2SEmmanuel Vadot		gpio-controller; /* Port 0 as GPIOs */
108*aa1a8ff2SEmmanuel Vadot		#gpio-cells = <2>;
109*aa1a8ff2SEmmanuel Vadot	};
110*aa1a8ff2SEmmanuel Vadot
111*aa1a8ff2SEmmanuel Vadot	sc16is752: sc16is752@2 {
112*aa1a8ff2SEmmanuel Vadot		compatible = "nxp,sc16is752";
113*aa1a8ff2SEmmanuel Vadot		reg = <2>;
114*aa1a8ff2SEmmanuel Vadot		clocks = <&clk20m>;
115*aa1a8ff2SEmmanuel Vadot		interrupt-parent = <&gpio3>;
116*aa1a8ff2SEmmanuel Vadot		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
117*aa1a8ff2SEmmanuel Vadot		nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
118*aa1a8ff2SEmmanuel Vadot	};
119