0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/serial/snps-dw-apb-uart.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Synopsys DesignWare ABP UART
0008
0009 maintainers:
0010 - Rob Herring <robh@kernel.org>
0011
0012 allOf:
0013 - $ref: serial.yaml#
0014
0015 properties:
0016 compatible:
0017 oneOf:
0018 - items:
0019 - enum:
0020 - renesas,r9a06g032-uart
0021 - renesas,r9a06g033-uart
0022 - const: renesas,rzn1-uart
0023 - items:
0024 - enum:
0025 - rockchip,px30-uart
0026 - rockchip,rk1808-uart
0027 - rockchip,rk3036-uart
0028 - rockchip,rk3066-uart
0029 - rockchip,rk3188-uart
0030 - rockchip,rk3288-uart
0031 - rockchip,rk3308-uart
0032 - rockchip,rk3328-uart
0033 - rockchip,rk3368-uart
0034 - rockchip,rk3399-uart
0035 - rockchip,rk3568-uart
0036 - rockchip,rk3588-uart
0037 - rockchip,rv1108-uart
0038 - rockchip,rv1126-uart
0039 - const: snps,dw-apb-uart
0040 - items:
0041 - enum:
0042 - brcm,bcm11351-dw-apb-uart
0043 - brcm,bcm21664-dw-apb-uart
0044 - const: snps,dw-apb-uart
0045 - items:
0046 - enum:
0047 - starfive,jh7100-hsuart
0048 - starfive,jh7100-uart
0049 - const: snps,dw-apb-uart
0050 - const: snps,dw-apb-uart
0051
0052 reg:
0053 maxItems: 1
0054
0055 interrupts:
0056 maxItems: 1
0057
0058 clock-frequency: true
0059
0060 clocks:
0061 minItems: 1
0062 maxItems: 2
0063
0064 clock-names:
0065 items:
0066 - const: baudclk
0067 - const: apb_pclk
0068
0069 snps,uart-16550-compatible:
0070 description: reflects the value of UART_16550_COMPATIBLE configuration
0071 parameter. Define this if your UART does not implement the busy functionality.
0072 type: boolean
0073
0074 resets:
0075 maxItems: 1
0076
0077 reg-shift: true
0078
0079 reg-io-width: true
0080
0081 dcd-override:
0082 description: Override the DCD modem status signal. This signal will
0083 always be reported as active instead of being obtained from the modem
0084 status register. Define this if your serial port does not use this
0085 pin.
0086 type: boolean
0087
0088 dsr-override:
0089 description: Override the DTS modem status signal. This signal will
0090 always be reported as active instead of being obtained from the modem
0091 status register. Define this if your serial port does not use this
0092 pin.
0093 type: boolean
0094
0095 cts-override:
0096 description: Override the CTS modem status signal. This signal will
0097 always be reported as active instead of being obtained from the modem
0098 status register. Define this if your serial port does not use this
0099 pin.
0100 type: boolean
0101
0102 ri-override:
0103 description: Override the RI modem status signal. This signal will always
0104 be reported as inactive instead of being obtained from the modem status
0105 register. Define this if your serial port does not use this pin.
0106 type: boolean
0107
0108 required:
0109 - compatible
0110 - reg
0111 - interrupts
0112
0113 unevaluatedProperties: false
0114
0115 examples:
0116 - |
0117 serial@80230000 {
0118 compatible = "snps,dw-apb-uart";
0119 reg = <0x80230000 0x100>;
0120 clock-frequency = <3686400>;
0121 interrupts = <10>;
0122 reg-shift = <2>;
0123 reg-io-width = <4>;
0124 dcd-override;
0125 dsr-override;
0126 cts-override;
0127 ri-override;
0128 };
0129
0130 - |
0131 // Example with one clock:
0132 serial@80230000 {
0133 compatible = "snps,dw-apb-uart";
0134 reg = <0x80230000 0x100>;
0135 clocks = <&baudclk>;
0136 interrupts = <10>;
0137 reg-shift = <2>;
0138 reg-io-width = <4>;
0139 };
0140
0141 - |
0142 // Example with two clocks:
0143 serial@80230000 {
0144 compatible = "snps,dw-apb-uart";
0145 reg = <0x80230000 0x100>;
0146 clocks = <&baudclk>, <&apb_pclk>;
0147 clock-names = "baudclk", "apb_pclk";
0148 interrupts = <10>;
0149 reg-shift = <2>;
0150 reg-io-width = <4>;
0151 };
0152 ...