On Fri, Sep 04, 2026 at 06:52:43PM +0800, zjzhao wrote: > Add a DT binding for the WK2xxx SPI to UART bridge ICs (WK2124, WK2132, > WK2168, WK2202 and WK2204) from WKmic (Chengdu Weikai Microelectronics). > Each UART channel is described by a serial@N child node that carries its > own serial and RS-485 properties. Also register the wkmic vendor prefix. > > Signed-off-by: zjzhao > --- > .../bindings/serial/wkmic,wk2xxx.yaml | 115 ++++++++++++++++++ > .../devicetree/bindings/vendor-prefixes.yaml | 2 + > 2 files changed, 117 insertions(+) > create mode 100644 Documentation/devicetree/bindings/serial/wkmic,wk2xxx.yaml > > diff --git a/Documentation/devicetree/bindings/serial/wkmic,wk2xxx.yaml b/Documentation/devicetree/bindings/serial/wkmic,wk2xxx.yaml > new file mode 100644 > index 000000000000..c781482c0f2d > --- /dev/null > +++ b/Documentation/devicetree/bindings/serial/wkmic,wk2xxx.yaml Filename patching a compatible please. > @@ -0,0 +1,115 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/serial/wkmic,wk2xxx.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: WKmic WK2xxx SPI to UART bridge > + > +maintainers: > + - EDATEC Technology Co., Ltd. This should be your name. We want people here. > + > +description: > + The WK2xxx family (WK2124, WK2132, WK2168, WK2202 and WK2204) are SPI to > + UART bridge ICs from WKmic (Chengdu Weikai Microelectronics). Each IC > + exposes two or four full-duplex UART channels with 256-byte RX/TX FIFOs > + through a single SPI slave interface and one interrupt line. Each channel > + is described by a "serial@N" child node that carries its own serial and > + RS-485 properties. > + > +properties: > + compatible: > + enum: > + - wkmic,wk2124 > + - wkmic,wk2132 > + - wkmic,wk2168 > + - wkmic,wk2202 > + - wkmic,wk2204 Why are these devices not compatible with one another? If they aren't, state why in your commit message. pw-bot: changes-requested > + > + reg: > + maxItems: 1 > + > + interrupts: > + description: > + When missing, the device driver uses polling instead. > + maxItems: 1 > + > + clock-frequency: > + description: > + Crystal or external clock frequency for the IC in Hz. The WK2xxx has > + no internal clock, so this must match the connected crystal. > + default: 11059200 I think I would drop this default and make the property required. > + minimum: 1 > + maximum: 30000000 I find the 1 Hz minimum hard to believe! > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^serial@[0-3]$": > + type: object > + description: A single UART channel of the chip. > + allOf: > + - $ref: /schemas/serial/serial.yaml# > + - $ref: /schemas/serial/rs485.yaml# > + properties: > + reg: > + description: UART channel number on the chip. > + maximum: 3 > + required: > + - reg > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - "#address-cells" > + - "#size-cells" > + > +allOf: > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - wkmic,wk2132 > + - wkmic,wk2202 > + then: > + patternProperties: > + "^serial@[23]$": false > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + serial@0 { > + compatible = "wkmic,wk2132"; > + reg = <0>; > + spi-max-frequency = <10000000>; > + clock-frequency = <11059200>; > + interrupt-parent = <&gpio>; > + interrupts = <24 IRQ_TYPE_LEVEL_LOW>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + serial@0 { > + reg = <0>; > + }; > + > + serial@1 { > + reg = <1>; > + rs485-rts-active-low; > + linux,rs485-enabled-at-boot-time; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > index ba2002969373..654fc8525559 100644 > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > @@ -1907,6 +1907,8 @@ patternProperties: > description: Wireless Tag (qiming yunduan) > "^wits,.*": > description: Shenzhen Merrii Technology Co., Ltd. (WITS) > + "^wkmic,.*": > + description: Chengdu Weikai Microelectronics Co., Ltd. "wkmic" doesn't come naturally to me as a non-chinese speaker from "Chengdu Weikai Microelectronics". Usually we use stock ticker symbols, or website URLs to form the vendor prefix. I tried lookig for one here but could not find it. Why not use "weikai," here? Cheers, Conor. > "^wlf,.*": > description: Wolfson Microelectronics > "^wm,.*": > -- > 2.43.0 >