Skip to content

Commit e880275

Browse files
amboarcminyard
authored andcommitted
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 <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Zev Weiss <[email protected]> Message-Id: <[email protected]> Signed-off-by: Corey Minyard <[email protected]>
1 parent 3a3d2f6 commit e880275

File tree

2 files changed

+92
-33
lines changed

2 files changed

+92
-33
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ASPEED BMC KCS Devices
8+
9+
maintainers:
10+
- Andrew Jeffery <[email protected]>
11+
12+
description: |
13+
The Aspeed BMC SoCs typically use the Keyboard-Controller-Style (KCS)
14+
interfaces on the LPC bus for in-band IPMI communication with their host.
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- description: Channel ID derived from reg
20+
items:
21+
enum:
22+
- aspeed,ast2400-kcs-bmc-v2
23+
- aspeed,ast2500-kcs-bmc-v2
24+
- aspeed,ast2600-kcs-bmc
25+
26+
- description: Old-style with explicit channel ID, no reg
27+
deprecated: true
28+
items:
29+
enum:
30+
- aspeed,ast2400-kcs-bmc
31+
- aspeed,ast2500-kcs-bmc
32+
33+
interrupts:
34+
maxItems: 1
35+
36+
reg:
37+
# maxItems: 3
38+
items:
39+
- description: IDR register
40+
- description: ODR register
41+
- description: STR register
42+
43+
aspeed,lpc-io-reg:
44+
$ref: '/schemas/types.yaml#/definitions/uint32-array'
45+
minItems: 1
46+
maxItems: 2
47+
description: |
48+
The host CPU LPC IO data and status addresses for the device. For most
49+
channels the status address is derived from the data address, but the
50+
status address may be optionally provided.
51+
52+
kcs_chan:
53+
deprecated: true
54+
$ref: '/schemas/types.yaml#/definitions/uint32'
55+
description: The LPC channel number in the controller
56+
57+
kcs_addr:
58+
deprecated: true
59+
$ref: '/schemas/types.yaml#/definitions/uint32'
60+
description: The host CPU IO map address
61+
62+
required:
63+
- compatible
64+
- interrupts
65+
66+
additionalProperties: false
67+
68+
allOf:
69+
- if:
70+
properties:
71+
compatible:
72+
contains:
73+
enum:
74+
- aspeed,ast2400-kcs-bmc
75+
- aspeed,ast2500-kcs-bmc
76+
then:
77+
required:
78+
- kcs_chan
79+
- kcs_addr
80+
else:
81+
required:
82+
- reg
83+
- aspeed,lpc-io-reg
84+
85+
examples:
86+
- |
87+
kcs3: kcs@24 {
88+
compatible = "aspeed,ast2600-kcs-bmc";
89+
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
90+
aspeed,lpc-io-reg = <0xca2>;
91+
interrupts = <8>;
92+
};

Documentation/devicetree/bindings/ipmi/aspeed-kcs-bmc.txt

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)