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