1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/ipmi/aspeed 4 $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: ASPEED BMC KCS Devices 7 title: ASPEED BMC KCS Devices 8 8 9 maintainers: 9 maintainers: 10 - Andrew Jeffery <andrew@aj.id.au> 10 - Andrew Jeffery <andrew@aj.id.au> 11 11 12 description: | 12 description: | 13 The Aspeed BMC SoCs typically use the Keyboa 13 The Aspeed BMC SoCs typically use the Keyboard-Controller-Style (KCS) 14 interfaces on the LPC bus for in-band IPMI c 14 interfaces on the LPC bus for in-band IPMI communication with their host. 15 15 16 properties: 16 properties: 17 compatible: 17 compatible: 18 oneOf: 18 oneOf: 19 - description: Channel ID derived from r 19 - description: Channel ID derived from reg 20 items: 20 items: 21 enum: 21 enum: 22 - aspeed,ast2400-kcs-bmc-v2 22 - aspeed,ast2400-kcs-bmc-v2 23 - aspeed,ast2500-kcs-bmc-v2 23 - aspeed,ast2500-kcs-bmc-v2 24 - aspeed,ast2600-kcs-bmc 24 - aspeed,ast2600-kcs-bmc 25 25 26 - description: Old-style with explicit c 26 - description: Old-style with explicit channel ID, no reg 27 deprecated: true 27 deprecated: true 28 items: 28 items: 29 enum: 29 enum: 30 - aspeed,ast2400-kcs-bmc 30 - aspeed,ast2400-kcs-bmc 31 - aspeed,ast2500-kcs-bmc 31 - aspeed,ast2500-kcs-bmc 32 32 33 interrupts: 33 interrupts: 34 maxItems: 1 34 maxItems: 1 35 35 36 reg: 36 reg: 37 # maxItems: 3 37 # maxItems: 3 38 items: 38 items: 39 - description: IDR register 39 - description: IDR register 40 - description: ODR register 40 - description: ODR register 41 - description: STR register 41 - description: STR register 42 42 43 aspeed,lpc-io-reg: 43 aspeed,lpc-io-reg: 44 $ref: /schemas/types.yaml#/definitions/uin 44 $ref: /schemas/types.yaml#/definitions/uint32-array 45 minItems: 1 45 minItems: 1 46 maxItems: 2 46 maxItems: 2 47 description: | 47 description: | 48 The host CPU LPC IO data and status addr 48 The host CPU LPC IO data and status addresses for the device. For most 49 channels the status address is derived f 49 channels the status address is derived from the data address, but the 50 status address may be optionally provide 50 status address may be optionally provided. 51 51 52 aspeed,lpc-interrupts: 52 aspeed,lpc-interrupts: 53 $ref: /schemas/types.yaml#/definitions/uin 53 $ref: /schemas/types.yaml#/definitions/uint32-array 54 minItems: 2 54 minItems: 2 55 maxItems: 2 55 maxItems: 2 56 description: | 56 description: | 57 A 2-cell property expressing the LPC Ser 57 A 2-cell property expressing the LPC SerIRQ number and the interrupt 58 level/sense encoding (specified in the s 58 level/sense encoding (specified in the standard fashion). 59 59 60 Note that the generated interrupt is iss 60 Note that the generated interrupt is issued from the BMC to the host, and 61 thus the target interrupt controller is 61 thus the target interrupt controller is not captured by the BMC's 62 devicetree. 62 devicetree. 63 63 64 kcs_chan: 64 kcs_chan: 65 deprecated: true 65 deprecated: true 66 $ref: /schemas/types.yaml#/definitions/uin 66 $ref: /schemas/types.yaml#/definitions/uint32 67 description: The LPC channel number in the 67 description: The LPC channel number in the controller 68 68 69 kcs_addr: 69 kcs_addr: 70 deprecated: true 70 deprecated: true 71 $ref: /schemas/types.yaml#/definitions/uin 71 $ref: /schemas/types.yaml#/definitions/uint32 72 description: The host CPU IO map address 72 description: The host CPU IO map address 73 73 74 required: 74 required: 75 - compatible 75 - compatible 76 - interrupts 76 - interrupts 77 77 78 additionalProperties: false 78 additionalProperties: false 79 79 80 allOf: 80 allOf: 81 - if: 81 - if: 82 properties: 82 properties: 83 compatible: 83 compatible: 84 contains: 84 contains: 85 enum: 85 enum: 86 - aspeed,ast2400-kcs-bmc 86 - aspeed,ast2400-kcs-bmc 87 - aspeed,ast2500-kcs-bmc 87 - aspeed,ast2500-kcs-bmc 88 then: 88 then: 89 required: 89 required: 90 - kcs_chan 90 - kcs_chan 91 - kcs_addr 91 - kcs_addr 92 else: 92 else: 93 required: 93 required: 94 - reg 94 - reg 95 - aspeed,lpc-io-reg 95 - aspeed,lpc-io-reg 96 96 97 examples: 97 examples: 98 - | 98 - | 99 #include <dt-bindings/interrupt-controller 99 #include <dt-bindings/interrupt-controller/irq.h> 100 kcs3: kcs@24 { 100 kcs3: kcs@24 { 101 compatible = "aspeed,ast2600-kcs-bmc"; 101 compatible = "aspeed,ast2600-kcs-bmc"; 102 reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x 102 reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>; 103 aspeed,lpc-io-reg = <0xca2>; 103 aspeed,lpc-io-reg = <0xca2>; 104 aspeed,lpc-interrupts = <11 IRQ_TYPE_L 104 aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 105 interrupts = <8>; 105 interrupts = <8>; 106 }; 106 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.