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 7title: ASPEED BMC KCS Devices 8 9maintainers: 10 - Andrew Jeffery <andrew@aj.id.au> 11 12description: | 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 16properties: 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 62required: 63 - compatible 64 - interrupts 65 66additionalProperties: false 67 68allOf: 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 85examples: 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 }; 93