On 27/04/2022 13:25, Andre Przywara wrote: > The Arm PL050 "Keyboard/Mouse Interface" is an Arm system IP providing a > PS/2 compatible serial interface. > > Add a simple DT schema binding, based on the TRM[1], the existing DTs and > the Linux driver. > > [1] https://developer.arm.com/documentation/ddi0143/latest > > Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> > --- > .../devicetree/bindings/serio/amba-pl050.yaml | 67 +++++++++++++++++++ > 1 file changed, 67 insertions(+) > create mode 100644 Documentation/devicetree/bindings/serio/amba-pl050.yaml > > diff --git a/Documentation/devicetree/bindings/serio/amba-pl050.yaml b/Documentation/devicetree/bindings/serio/amba-pl050.yaml > new file mode 100644 > index 0000000000000..9732a84550098 > --- /dev/null > +++ b/Documentation/devicetree/bindings/serio/amba-pl050.yaml Filename: vendor,device > @@ -0,0 +1,67 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/serio/amba-pl050.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Arm Ltd. PrimeCell PL050 PS/2 Keyboard/Mouse Interface > + > +maintainers: > + - Andre Przywara <andre.przywara@xxxxxxx> > + > +description: > + The Arm PrimeCell PS2 Keyboard/Mouse Interface (KMI) is an AMBA compliant > + peripheral that can be used to implement a keyboard or mouse interface that > + is IBM PS2 or AT compatible. > + > +# We need a select here so we don't match all nodes with 'arm,primecell' > +select: > + properties: > + compatible: > + contains: > + const: arm,pl050 > + required: > + - compatible > + > +properties: > + compatible: > + items: > + - const: arm,pl050 > + - const: arm,primecell > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: KMI reference clock, used to generate the bus timing > + - description: APB register access clock > + > + clock-names: > + items: > + - const: KMIREFCLK lowercase letters only > + - const: apb_pclk > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +additionalProperties: false > + > +examples: > + - | > + kmi@70000 { Generic node names, so "serio". > + compatible = "arm,pl050", "arm,primecell"; > + reg = <0x070000 0x1000>; > + interrupts = <8>; > + clocks = <&mb_clk24mhz>, <&soc_smc50mhz>; > + clock-names = "KMIREFCLK", "apb_pclk"; > + }; > + > +... Best regards, Krzysztof