1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/serial/snps-dw-apb-uart.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Synopsys DesignWare ABP UART 8 9maintainers: 10 - Rob Herring <robh@kernel.org> 11 12allOf: 13 - $ref: serial.yaml# 14 - $ref: rs485.yaml# 15 16 - if: 17 properties: 18 compatible: 19 items: 20 - {} 21 - const: renesas,rzn1-uart 22 - const: snps,dw-apb-uart 23 then: 24 properties: 25 dmas: false 26 dma-names: false 27 28 - if: 29 properties: 30 compatible: 31 contains: 32 const: starfive,jh7110-uart 33 then: 34 properties: 35 resets: 36 minItems: 2 37 else: 38 properties: 39 resets: 40 maxItems: 1 41 42properties: 43 compatible: 44 oneOf: 45 - items: 46 - const: renesas,r9a06g032-uart 47 - const: renesas,rzn1-uart 48 - const: snps,dw-apb-uart 49 - items: 50 - const: renesas,r9a06g032-uart 51 - const: renesas,rzn1-uart 52 - items: 53 - enum: 54 - anlogic,dr1v90-uart 55 - brcm,bcm11351-dw-apb-uart 56 - brcm,bcm21664-dw-apb-uart 57 - rockchip,px30-uart 58 - rockchip,rk1808-uart 59 - rockchip,rk3036-uart 60 - rockchip,rk3066-uart 61 - rockchip,rk3128-uart 62 - rockchip,rk3188-uart 63 - rockchip,rk3288-uart 64 - rockchip,rk3308-uart 65 - rockchip,rk3328-uart 66 - rockchip,rk3368-uart 67 - rockchip,rk3399-uart 68 - rockchip,rk3506-uart 69 - rockchip,rk3528-uart 70 - rockchip,rk3562-uart 71 - rockchip,rk3568-uart 72 - rockchip,rk3576-uart 73 - rockchip,rk3588-uart 74 - rockchip,rv1103b-uart 75 - rockchip,rv1108-uart 76 - rockchip,rv1126-uart 77 - sophgo,sg2044-uart 78 - starfive,jh7100-hsuart 79 - starfive,jh7100-uart 80 - starfive,jh7110-uart 81 - const: snps,dw-apb-uart 82 - const: snps,dw-apb-uart 83 84 reg: 85 maxItems: 1 86 87 interrupts: 88 maxItems: 1 89 90 clock-frequency: true 91 92 clocks: 93 minItems: 1 94 maxItems: 2 95 96 clock-names: 97 items: 98 - const: baudclk 99 - const: apb_pclk 100 101 dmas: 102 maxItems: 2 103 104 dma-names: 105 items: 106 - const: tx 107 - const: rx 108 109 snps,uart-16550-compatible: 110 description: reflects the value of UART_16550_COMPATIBLE configuration 111 parameter. Define this if your UART does not implement the busy functionality. 112 type: boolean 113 114 power-domains: 115 maxItems: 1 116 117 resets: 118 minItems: 1 119 maxItems: 2 120 121 reg-shift: true 122 123 reg-io-width: true 124 125 dcd-override: 126 description: Override the DCD modem status signal. This signal will 127 always be reported as active instead of being obtained from the modem 128 status register. Define this if your serial port does not use this 129 pin. 130 type: boolean 131 132 dsr-override: 133 description: Override the DTS modem status signal. This signal will 134 always be reported as active instead of being obtained from the modem 135 status register. Define this if your serial port does not use this 136 pin. 137 type: boolean 138 139 cts-override: 140 description: Override the CTS modem status signal. This signal will 141 always be reported as active instead of being obtained from the modem 142 status register. Define this if your serial port does not use this 143 pin. 144 type: boolean 145 146 ri-override: 147 description: Override the RI modem status signal. This signal will always 148 be reported as inactive instead of being obtained from the modem status 149 register. Define this if your serial port does not use this pin. 150 type: boolean 151 152required: 153 - compatible 154 - reg 155 156unevaluatedProperties: false 157 158examples: 159 - | 160 serial@80230000 { 161 compatible = "snps,dw-apb-uart"; 162 reg = <0x80230000 0x100>; 163 clock-frequency = <3686400>; 164 interrupts = <10>; 165 reg-shift = <2>; 166 reg-io-width = <4>; 167 dcd-override; 168 dsr-override; 169 cts-override; 170 ri-override; 171 }; 172 173 - | 174 // Example with one clock: 175 serial@80230000 { 176 compatible = "snps,dw-apb-uart"; 177 reg = <0x80230000 0x100>; 178 clocks = <&baudclk>; 179 interrupts = <10>; 180 reg-shift = <2>; 181 reg-io-width = <4>; 182 }; 183 184 - | 185 // Example with two clocks: 186 serial@80230000 { 187 compatible = "snps,dw-apb-uart"; 188 reg = <0x80230000 0x100>; 189 clocks = <&baudclk>, <&apb_pclk>; 190 clock-names = "baudclk", "apb_pclk"; 191 interrupts = <10>; 192 reg-shift = <2>; 193 reg-io-width = <4>; 194 }; 195... 196