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 contains: 20 const: starfive,jh7110-uart 21 then: 22 properties: 23 resets: 24 minItems: 2 25 else: 26 properties: 27 resets: 28 maxItems: 1 29 30properties: 31 compatible: 32 oneOf: 33 - items: 34 - enum: 35 - renesas,r9a06g032-uart 36 - renesas,r9a06g033-uart 37 - const: renesas,rzn1-uart 38 - items: 39 - enum: 40 - brcm,bcm11351-dw-apb-uart 41 - brcm,bcm21664-dw-apb-uart 42 - rockchip,px30-uart 43 - rockchip,rk1808-uart 44 - rockchip,rk3036-uart 45 - rockchip,rk3066-uart 46 - rockchip,rk3128-uart 47 - rockchip,rk3188-uart 48 - rockchip,rk3288-uart 49 - rockchip,rk3308-uart 50 - rockchip,rk3328-uart 51 - rockchip,rk3368-uart 52 - rockchip,rk3399-uart 53 - rockchip,rk3528-uart 54 - rockchip,rk3568-uart 55 - rockchip,rk3576-uart 56 - rockchip,rk3588-uart 57 - rockchip,rv1108-uart 58 - rockchip,rv1126-uart 59 - sophgo,sg2044-uart 60 - starfive,jh7100-hsuart 61 - starfive,jh7100-uart 62 - starfive,jh7110-uart 63 - const: snps,dw-apb-uart 64 - const: snps,dw-apb-uart 65 66 reg: 67 maxItems: 1 68 69 interrupts: 70 maxItems: 1 71 72 clock-frequency: true 73 74 clocks: 75 minItems: 1 76 maxItems: 2 77 78 clock-names: 79 items: 80 - const: baudclk 81 - const: apb_pclk 82 83 dmas: 84 maxItems: 2 85 86 dma-names: 87 items: 88 - const: tx 89 - const: rx 90 91 snps,uart-16550-compatible: 92 description: reflects the value of UART_16550_COMPATIBLE configuration 93 parameter. Define this if your UART does not implement the busy functionality. 94 type: boolean 95 96 resets: 97 minItems: 1 98 maxItems: 2 99 100 reg-shift: true 101 102 reg-io-width: true 103 104 dcd-override: 105 description: Override the DCD modem status signal. This signal will 106 always be reported as active instead of being obtained from the modem 107 status register. Define this if your serial port does not use this 108 pin. 109 type: boolean 110 111 dsr-override: 112 description: Override the DTS modem status signal. This signal will 113 always be reported as active instead of being obtained from the modem 114 status register. Define this if your serial port does not use this 115 pin. 116 type: boolean 117 118 cts-override: 119 description: Override the CTS modem status signal. This signal will 120 always be reported as active instead of being obtained from the modem 121 status register. Define this if your serial port does not use this 122 pin. 123 type: boolean 124 125 ri-override: 126 description: Override the RI modem status signal. This signal will always 127 be reported as inactive instead of being obtained from the modem status 128 register. Define this if your serial port does not use this pin. 129 type: boolean 130 131required: 132 - compatible 133 - reg 134 135unevaluatedProperties: false 136 137examples: 138 - | 139 serial@80230000 { 140 compatible = "snps,dw-apb-uart"; 141 reg = <0x80230000 0x100>; 142 clock-frequency = <3686400>; 143 interrupts = <10>; 144 reg-shift = <2>; 145 reg-io-width = <4>; 146 dcd-override; 147 dsr-override; 148 cts-override; 149 ri-override; 150 }; 151 152 - | 153 // Example with one clock: 154 serial@80230000 { 155 compatible = "snps,dw-apb-uart"; 156 reg = <0x80230000 0x100>; 157 clocks = <&baudclk>; 158 interrupts = <10>; 159 reg-shift = <2>; 160 reg-io-width = <4>; 161 }; 162 163 - | 164 // Example with two clocks: 165 serial@80230000 { 166 compatible = "snps,dw-apb-uart"; 167 reg = <0x80230000 0x100>; 168 clocks = <&baudclk>, <&apb_pclk>; 169 clock-names = "baudclk", "apb_pclk"; 170 interrupts = <10>; 171 reg-shift = <2>; 172 reg-io-width = <4>; 173 }; 174... 175