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