forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.7 KiB
106 lines
2.7 KiB
# 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 <[email protected]> |
|
|
|
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. |
|
|
|
aspeed,lpc-interrupts: |
|
$ref: "/schemas/types.yaml#/definitions/uint32-array" |
|
minItems: 2 |
|
maxItems: 2 |
|
description: | |
|
A 2-cell property expressing the LPC SerIRQ number and the interrupt |
|
level/sense encoding (specified in the standard fashion). |
|
|
|
Note that the generated interrupt is issued from the BMC to the host, and |
|
thus the target interrupt controller is not captured by the BMC's |
|
devicetree. |
|
|
|
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: |
|
- | |
|
#include <dt-bindings/interrupt-controller/irq.h> |
|
kcs3: kcs@24 { |
|
compatible = "aspeed,ast2600-kcs-bmc"; |
|
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>; |
|
aspeed,lpc-io-reg = <0xca2>; |
|
aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>; |
|
interrupts = <8>; |
|
};
|
|
|