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 - google,lga-uart 58 - rockchip,px30-uart 59 - rockchip,rk1808-uart 60 - rockchip,rk3036-uart 61 - rockchip,rk3066-uart 62 - rockchip,rk3128-uart 63 - rockchip,rk3188-uart 64 - rockchip,rk3288-uart 65 - rockchip,rk3308-uart 66 - rockchip,rk3328-uart 67 - rockchip,rk3368-uart 68 - rockchip,rk3399-uart 69 - rockchip,rk3506-uart 70 - rockchip,rk3528-uart 71 - rockchip,rk3562-uart 72 - rockchip,rk3568-uart 73 - rockchip,rk3576-uart 74 - rockchip,rk3588-uart 75 - rockchip,rv1103b-uart 76 - rockchip,rv1106-uart 77 - rockchip,rv1108-uart 78 - rockchip,rv1126-uart 79 - sophgo,sg2044-uart 80 - starfive,jh7100-hsuart 81 - starfive,jh7100-uart 82 - starfive,jh7110-uart 83 - ultrarisc,dp1000-uart 84 - const: snps,dw-apb-uart 85 - const: snps,dw-apb-uart 86 87 reg: 88 maxItems: 1 89 90 interrupts: 91 maxItems: 1 92 93 clock-frequency: true 94 95 clocks: 96 minItems: 1 97 maxItems: 2 98 99 clock-names: 100 items: 101 - const: baudclk 102 - const: apb_pclk 103 104 dmas: 105 maxItems: 2 106 107 dma-names: 108 items: 109 - const: tx 110 - const: rx 111 112 snps,uart-16550-compatible: 113 description: reflects the value of UART_16550_COMPATIBLE configuration 114 parameter. Define this if your UART does not implement the busy functionality. 115 type: boolean 116 117 power-domains: 118 maxItems: 1 119 120 resets: 121 minItems: 1 122 maxItems: 2 123 124 reg-shift: true 125 126 reg-io-width: true 127 128 dcd-override: 129 description: Override the DCD modem status signal. This signal will 130 always be reported as active instead of being obtained from the modem 131 status register. Define this if your serial port does not use this 132 pin. 133 type: boolean 134 135 dsr-override: 136 description: Override the DTS modem status signal. This signal will 137 always be reported as active instead of being obtained from the modem 138 status register. Define this if your serial port does not use this 139 pin. 140 type: boolean 141 142 cts-override: 143 description: Override the CTS modem status signal. This signal will 144 always be reported as active instead of being obtained from the modem 145 status register. Define this if your serial port does not use this 146 pin. 147 type: boolean 148 149 ri-override: 150 description: Override the RI modem status signal. This signal will always 151 be reported as inactive instead of being obtained from the modem status 152 register. Define this if your serial port does not use this pin. 153 type: boolean 154 155required: 156 - compatible 157 - reg 158 159unevaluatedProperties: false 160 161examples: 162 - | 163 serial@80230000 { 164 compatible = "snps,dw-apb-uart"; 165 reg = <0x80230000 0x100>; 166 clock-frequency = <3686400>; 167 interrupts = <10>; 168 reg-shift = <2>; 169 reg-io-width = <4>; 170 dcd-override; 171 dsr-override; 172 cts-override; 173 ri-override; 174 }; 175 176 - | 177 // Example with one clock: 178 serial@80230000 { 179 compatible = "snps,dw-apb-uart"; 180 reg = <0x80230000 0x100>; 181 clocks = <&baudclk>; 182 interrupts = <10>; 183 reg-shift = <2>; 184 reg-io-width = <4>; 185 }; 186 187 - | 188 // Example with two clocks: 189 serial@80230000 { 190 compatible = "snps,dw-apb-uart"; 191 reg = <0x80230000 0x100>; 192 clocks = <&baudclk>, <&apb_pclk>; 193 clock-names = "baudclk", "apb_pclk"; 194 interrupts = <10>; 195 reg-shift = <2>; 196 reg-io-width = <4>; 197 }; 198... 199