If LPC BT driver is registered ahead of lpc-ctrl module, LPC BT hardware block will be enabled without heart beating of LCLK until lpc-ctrl enables the LCLK. This issue causes improper handling on host interrupts when the host sends interrupts in that time frame. Then kernel eventually forcibly disables the interrupt with dumping stack and printing a 'nobody cared this irq' message out. To prevent this issue, all LPC sub drivers should enable LCLK individually so this patch adds 'clocks' property as one of required properties to enable the LCLK by the LPC IBT driver. Note: dtsi change in this patch series should be applied along with, and dtbs should be re-compiled after applying this series since it's adding a new required property otherwise the driver will not be probed correctly. Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20211108190200.290957-3-jae.hyun.yoo@intel.com Signed-off-by: Joel Stanley <joel@jms.id.au>
29 lines
748 B
Plaintext
29 lines
748 B
Plaintext
* Aspeed BT (Block Transfer) IPMI interface
|
|
|
|
The Aspeed SOCs (AST2400 and AST2500) are commonly used as BMCs
|
|
(BaseBoard Management Controllers) and the BT interface can be used to
|
|
perform in-band IPMI communication with their host.
|
|
|
|
Required properties:
|
|
|
|
- compatible : should be one of
|
|
"aspeed,ast2400-ibt-bmc"
|
|
"aspeed,ast2500-ibt-bmc"
|
|
"aspeed,ast2600-ibt-bmc"
|
|
- reg: physical address and size of the registers
|
|
- clocks: clock for the device
|
|
|
|
Optional properties:
|
|
|
|
- interrupts: interrupt generated by the BT interface. without an
|
|
interrupt, the driver will operate in poll mode.
|
|
|
|
Example:
|
|
|
|
ibt@1e789140 {
|
|
compatible = "aspeed,ast2400-ibt-bmc";
|
|
reg = <0x1e789140 0x18>;
|
|
interrupts = <8>;
|
|
clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
|
|
};
|