dt-bindings: ipmi: Convert ASPEED KCS binding to schema
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@aj.id.au> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Zev Weiss <zweiss@equinix.com> Message-Id: <20210608104757.582199-13-andrew@aj.id.au> Signed-off-by: Corey Minyard <cminyard@mvista.com>
This commit is contained in:
committed by
Corey Minyard
parent
3a3d2f6a4c
commit
e880275ccf
@@ -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@aj.id.au>
|
||||
|
||||
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
|
||||
|
||||
- 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";
|
||||
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
|
||||
aspeed,lpc-io-reg = <0xca2>;
|
||||
interrupts = <8>;
|
||||
};
|
||||
@@ -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";
|
||||
};
|
||||
Reference in New Issue
Block a user