Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: ASPEED BMC KCS Devices
0008 
0009 maintainers:
0010   - Andrew Jeffery <andrew@aj.id.au>
0011 
0012 description: |
0013   The Aspeed BMC SoCs typically use the Keyboard-Controller-Style (KCS)
0014   interfaces on the LPC bus for in-band IPMI communication with their host.
0015 
0016 properties:
0017   compatible:
0018     oneOf:
0019       - description: Channel ID derived from reg
0020         items:
0021           enum:
0022             - aspeed,ast2400-kcs-bmc-v2
0023             - aspeed,ast2500-kcs-bmc-v2
0024             - aspeed,ast2600-kcs-bmc
0025 
0026       - description: Old-style with explicit channel ID, no reg
0027         deprecated: true
0028         items:
0029           enum:
0030             - aspeed,ast2400-kcs-bmc
0031             - aspeed,ast2500-kcs-bmc
0032 
0033   interrupts:
0034     maxItems: 1
0035 
0036   reg:
0037     # maxItems: 3
0038     items:
0039       - description: IDR register
0040       - description: ODR register
0041       - description: STR register
0042 
0043   aspeed,lpc-io-reg:
0044     $ref: '/schemas/types.yaml#/definitions/uint32-array'
0045     minItems: 1
0046     maxItems: 2
0047     description: |
0048       The host CPU LPC IO data and status addresses for the device. For most
0049       channels the status address is derived from the data address, but the
0050       status address may be optionally provided.
0051 
0052   aspeed,lpc-interrupts:
0053     $ref: "/schemas/types.yaml#/definitions/uint32-array"
0054     minItems: 2
0055     maxItems: 2
0056     description: |
0057       A 2-cell property expressing the LPC SerIRQ number and the interrupt
0058       level/sense encoding (specified in the standard fashion).
0059 
0060       Note that the generated interrupt is issued from the BMC to the host, and
0061       thus the target interrupt controller is not captured by the BMC's
0062       devicetree.
0063 
0064   kcs_chan:
0065     deprecated: true
0066     $ref: '/schemas/types.yaml#/definitions/uint32'
0067     description: The LPC channel number in the controller
0068 
0069   kcs_addr:
0070     deprecated: true
0071     $ref: '/schemas/types.yaml#/definitions/uint32'
0072     description: The host CPU IO map address
0073 
0074 required:
0075   - compatible
0076   - interrupts
0077 
0078 additionalProperties: false
0079 
0080 allOf:
0081   - if:
0082       properties:
0083         compatible:
0084           contains:
0085             enum:
0086               - aspeed,ast2400-kcs-bmc
0087               - aspeed,ast2500-kcs-bmc
0088     then:
0089       required:
0090         - kcs_chan
0091         - kcs_addr
0092     else:
0093       required:
0094         - reg
0095         - aspeed,lpc-io-reg
0096 
0097 examples:
0098   - |
0099     #include <dt-bindings/interrupt-controller/irq.h>
0100     kcs3: kcs@24 {
0101         compatible = "aspeed,ast2600-kcs-bmc";
0102         reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
0103         aspeed,lpc-io-reg = <0xca2>;
0104         aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
0105         interrupts = <8>;
0106     };