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