107 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 Devices8 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 reg20 items:21 enum:22 - aspeed,ast2400-kcs-bmc-v223 - aspeed,ast2500-kcs-bmc-v224 - aspeed,ast2600-kcs-bmc25 26 - description: Old-style with explicit channel ID, no reg27 deprecated: true28 items:29 enum:30 - aspeed,ast2400-kcs-bmc31 - aspeed,ast2500-kcs-bmc32 33 interrupts:34 maxItems: 135 36 reg:37 # maxItems: 338 items:39 - description: IDR register40 - description: ODR register41 - description: STR register42 43 aspeed,lpc-io-reg:44 $ref: /schemas/types.yaml#/definitions/uint32-array45 minItems: 146 maxItems: 247 description: |48 The host CPU LPC IO data and status addresses for the device. For most49 channels the status address is derived from the data address, but the50 status address may be optionally provided.51 52 aspeed,lpc-interrupts:53 $ref: /schemas/types.yaml#/definitions/uint32-array54 minItems: 255 maxItems: 256 description: |57 A 2-cell property expressing the LPC SerIRQ number and the interrupt58 level/sense encoding (specified in the standard fashion).59 60 Note that the generated interrupt is issued from the BMC to the host, and61 thus the target interrupt controller is not captured by the BMC's62 devicetree.63 64 kcs_chan:65 deprecated: true66 $ref: /schemas/types.yaml#/definitions/uint3267 description: The LPC channel number in the controller68 69 kcs_addr:70 deprecated: true71 $ref: /schemas/types.yaml#/definitions/uint3272 description: The host CPU IO map address73 74required:75 - compatible76 - interrupts77 78additionalProperties: false79 80allOf:81 - if:82 properties:83 compatible:84 contains:85 enum:86 - aspeed,ast2400-kcs-bmc87 - aspeed,ast2500-kcs-bmc88 then:89 required:90 - kcs_chan91 - kcs_addr92 else:93 required:94 - reg95 - aspeed,lpc-io-reg96 97examples:98 - |99 #include <dt-bindings/interrupt-controller/irq.h>100 kcs3: kcs@24 {101 compatible = "aspeed,ast2600-kcs-bmc";102 reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;103 aspeed,lpc-io-reg = <0xca2>;104 aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;105 interrupts = <8>;106 };107