162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: ASPEED BMC KCS Devices 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Andrew Jeffery <andrew@aj.id.au> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The Aspeed BMC SoCs typically use the Keyboard-Controller-Style (KCS) 1462306a36Sopenharmony_ci interfaces on the LPC bus for in-band IPMI communication with their host. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciproperties: 1762306a36Sopenharmony_ci compatible: 1862306a36Sopenharmony_ci oneOf: 1962306a36Sopenharmony_ci - description: Channel ID derived from reg 2062306a36Sopenharmony_ci items: 2162306a36Sopenharmony_ci enum: 2262306a36Sopenharmony_ci - aspeed,ast2400-kcs-bmc-v2 2362306a36Sopenharmony_ci - aspeed,ast2500-kcs-bmc-v2 2462306a36Sopenharmony_ci - aspeed,ast2600-kcs-bmc 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci - description: Old-style with explicit channel ID, no reg 2762306a36Sopenharmony_ci deprecated: true 2862306a36Sopenharmony_ci items: 2962306a36Sopenharmony_ci enum: 3062306a36Sopenharmony_ci - aspeed,ast2400-kcs-bmc 3162306a36Sopenharmony_ci - aspeed,ast2500-kcs-bmc 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci interrupts: 3462306a36Sopenharmony_ci maxItems: 1 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci reg: 3762306a36Sopenharmony_ci # maxItems: 3 3862306a36Sopenharmony_ci items: 3962306a36Sopenharmony_ci - description: IDR register 4062306a36Sopenharmony_ci - description: ODR register 4162306a36Sopenharmony_ci - description: STR register 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci aspeed,lpc-io-reg: 4462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 4562306a36Sopenharmony_ci minItems: 1 4662306a36Sopenharmony_ci maxItems: 2 4762306a36Sopenharmony_ci description: | 4862306a36Sopenharmony_ci The host CPU LPC IO data and status addresses for the device. For most 4962306a36Sopenharmony_ci channels the status address is derived from the data address, but the 5062306a36Sopenharmony_ci status address may be optionally provided. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci aspeed,lpc-interrupts: 5362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 5462306a36Sopenharmony_ci minItems: 2 5562306a36Sopenharmony_ci maxItems: 2 5662306a36Sopenharmony_ci description: | 5762306a36Sopenharmony_ci A 2-cell property expressing the LPC SerIRQ number and the interrupt 5862306a36Sopenharmony_ci level/sense encoding (specified in the standard fashion). 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci Note that the generated interrupt is issued from the BMC to the host, and 6162306a36Sopenharmony_ci thus the target interrupt controller is not captured by the BMC's 6262306a36Sopenharmony_ci devicetree. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci kcs_chan: 6562306a36Sopenharmony_ci deprecated: true 6662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6762306a36Sopenharmony_ci description: The LPC channel number in the controller 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci kcs_addr: 7062306a36Sopenharmony_ci deprecated: true 7162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7262306a36Sopenharmony_ci description: The host CPU IO map address 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_cirequired: 7562306a36Sopenharmony_ci - compatible 7662306a36Sopenharmony_ci - interrupts 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciadditionalProperties: false 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciallOf: 8162306a36Sopenharmony_ci - if: 8262306a36Sopenharmony_ci properties: 8362306a36Sopenharmony_ci compatible: 8462306a36Sopenharmony_ci contains: 8562306a36Sopenharmony_ci enum: 8662306a36Sopenharmony_ci - aspeed,ast2400-kcs-bmc 8762306a36Sopenharmony_ci - aspeed,ast2500-kcs-bmc 8862306a36Sopenharmony_ci then: 8962306a36Sopenharmony_ci required: 9062306a36Sopenharmony_ci - kcs_chan 9162306a36Sopenharmony_ci - kcs_addr 9262306a36Sopenharmony_ci else: 9362306a36Sopenharmony_ci required: 9462306a36Sopenharmony_ci - reg 9562306a36Sopenharmony_ci - aspeed,lpc-io-reg 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciexamples: 9862306a36Sopenharmony_ci - | 9962306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 10062306a36Sopenharmony_ci kcs3: kcs@24 { 10162306a36Sopenharmony_ci compatible = "aspeed,ast2600-kcs-bmc"; 10262306a36Sopenharmony_ci reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>; 10362306a36Sopenharmony_ci aspeed,lpc-io-reg = <0xca2>; 10462306a36Sopenharmony_ci aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 10562306a36Sopenharmony_ci interrupts = <8>; 10662306a36Sopenharmony_ci }; 107