On Fri, Mar 19, 2021 at 01:27:48AM CDT, Andrew Jeffery wrote: >Given the deprecated binding, improve the ability to detect issues in >the platform devicetrees. Further, a subsequent patch will introduce a >new interrupts property for specifying SerIRQ behaviour, so convert >before we do any further additions. > >Signed-off-by: Andrew Jeffery <andrew@xxxxxxxx> >--- > .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml | 92 +++++++++++++++++++ > .../bindings/ipmi/aspeed-kcs-bmc.txt | 33 ------- > 2 files changed, 92 insertions(+), 33 deletions(-) > create mode 100644 Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml > delete mode 100644 Documentation/devicetree/bindings/ipmi/aspeed-kcs-bmc.txt > >diff --git a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml >new file mode 100644 >index 000000000000..697ca575454f >--- /dev/null >+++ b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml >@@ -0,0 +1,92 @@ >+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >+%YAML 1.2 >+--- >+$id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml >+$schema: http://devicetree.org/meta-schemas/core.yaml >+ >+title: ASPEED BMC KCS Devices >+ >+maintainers: >+ - Andrew Jeffery <andrew@xxxxxxxx> >+ >+description: | >+ The Aspeed BMC SoCs typically use the Keyboard-Controller-Style (KCS) >+ interfaces on the LPC bus for in-band IPMI communication with their host. >+ >+properties: >+ compatible: >+ oneOf: >+ - description: Channel ID derived from reg >+ items: >+ enum: >+ - aspeed,ast2400-kcs-bmc-v2 >+ - aspeed,ast2500-kcs-bmc-v2 >+ - aspeed,ast2600-kcs-bmc Should this have a "-v2" suffix? >+ >+ - description: Old-style with explicit channel ID, no reg >+ deprecated: true >+ items: >+ enum: >+ - aspeed,ast2400-kcs-bmc >+ - aspeed,ast2500-kcs-bmc >+ >+ interrupts: >+ maxItems: 1 >+ >+ reg: >+ # maxItems: 3 >+ items: >+ - description: IDR register >+ - description: ODR register >+ - description: STR register >+ >+ aspeed,lpc-io-reg: >+ $ref: '/schemas/types.yaml#/definitions/uint32-array' >+ minItems: 1 >+ maxItems: 2 >+ description: | >+ The host CPU LPC IO data and status addresses for the device. For most >+ channels the status address is derived from the data address, but the >+ status address may be optionally provided. >+ >+ kcs_chan: >+ deprecated: true >+ $ref: '/schemas/types.yaml#/definitions/uint32' >+ description: The LPC channel number in the controller >+ >+ kcs_addr: >+ deprecated: true >+ $ref: '/schemas/types.yaml#/definitions/uint32' >+ description: The host CPU IO map address >+ >+required: >+ - compatible >+ - interrupts >+ >+additionalProperties: false >+ >+allOf: >+ - if: >+ properties: >+ compatible: >+ contains: >+ enum: >+ - aspeed,ast2400-kcs-bmc >+ - aspeed,ast2500-kcs-bmc >+ then: >+ required: >+ - kcs_chan >+ - kcs_addr >+ else: >+ required: >+ - reg >+ - aspeed,lpc-io-reg >+ >+examples: >+ - | >+ kcs3: kcs@24 { >+ compatible = "aspeed,ast2600-kcs-bmc"; And likewise here. >+ reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>; >+ aspeed,lpc-io-reg = <0xca2>; >+ interrupts = <8>; >+ }; >diff --git a/Documentation/devicetree/bindings/ipmi/aspeed-kcs-bmc.txt b/Documentation/devicetree/bindings/ipmi/aspeed-kcs-bmc.txt >deleted file mode 100644 >index 193e71ca96b0..000000000000 >--- a/Documentation/devicetree/bindings/ipmi/aspeed-kcs-bmc.txt >+++ /dev/null >@@ -1,33 +0,0 @@ >-# Aspeed KCS (Keyboard Controller Style) IPMI interface >- >-The Aspeed SOCs (AST2400 and AST2500) are commonly used as BMCs >-(Baseboard Management Controllers) and the KCS interface can be >-used to perform in-band IPMI communication with their host. >- >-## v1 >-Required properties: >-- compatible : should be one of >- "aspeed,ast2400-kcs-bmc" >- "aspeed,ast2500-kcs-bmc" >-- interrupts : interrupt generated by the controller >-- kcs_chan : The LPC channel number in the controller >-- kcs_addr : The host CPU IO map address >- >-## v2 >-Required properties: >-- compatible : should be one of >- "aspeed,ast2400-kcs-bmc-v2" >- "aspeed,ast2500-kcs-bmc-v2" >-- reg : The address and size of the IDR, ODR and STR registers >-- interrupts : interrupt generated by the controller >-- aspeed,lpc-io-reg : The host CPU LPC IO address for the device >- >-Example: >- >- kcs3: kcs@24 { >- compatible = "aspeed,ast2500-kcs-bmc-v2"; >- reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>; >- aspeed,lpc-reg = <0xca2>; >- interrupts = <8>; >- status = "okay"; >- }; >-- >2.27.0 >