[HELP] ipmi-kcs didn't work
qianlihu
wangzhiqiang8906 at gmail.com
Fri Nov 16 21:27:48 AEDT 2018
Jae Hyun Yoo <jae.hyun.yoo at linux.intel.com> 于2018年11月16日周五 上午3:30写道:
>
> On 11/14/2018 5:49 PM, qianlihu wrote:
> > Hi,Jae
> >
> >>
> >> Hi,
> >>
> >> On 11/14/2018 2:38 AM, qianlihu wrote:
> >>> Hi,
> >>>
> >>> I add ipmi kcs node,but it didn't work
> >>>
> >>> here is the patch for dts.
> >>>
> >>> lpc_bmc: lpc-bmc at 0 {
> >>> - compatible = "aspeed,ast2500-lpc-bmc";
> >>> + compatible = "aspeed,ast2500-lpc-bmc", "simple-mfd", "syscon";
> >>> +
> >>> reg = <0x0 0x80>;
> >>> + reg-io-width = <4>;
> >>> +
> >>> + #address-cells = <1>;
> >>> + #size-cells = <1>;
> >>> + ranges = <0x0 0x0 0x80>;
> >>> +
> >>> + kcs3: kcs3 at 0 {
> >>> + compatible = "aspeed,ast2500-kcs-bmc";
> >>> + reg = <0x0 0x80>;
> >>> + interrupts = <8>;
> >>> + kcs_chan = <3>;
> >>> + kcs_addr = <0xca2>;
> >>
> >> Probably, you should add a clock setting for KCS H/W block into here.
> >>
> >> clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
> >>
> > I tried ,but it didn't work.
> >
> >> Cheers,
> >>
> >> Jae
> >>
> >>> + status = "disabled";
> >>> +
> >>> + };
> >>> };
> >>>
> >>> +&kcs3 {
> >>> + status = "okay";
> >>> +};
> >>>
> >>>
> >>> The device node /dev/ipmi-kcs3 is created.
> >>>
> >>>
> >>> root at sanjose:/tmp# ./kcsbridged --vv --d /dev/ipmi-kcs3
> >>> Debug logging
> >>> Starting
> >>> Registering dbus methods/signals
> >>> Requesting dbus name: org.openbmc.HostIpmi
> >>> Getting dbus file descriptors
> >>> Opening /dev/ipmi-kcs3
> >>> Creating timer fd
> >>> Entering polling loop
> >>> Processed 1 dbus events
> >>> Processed 1 dbus events
> >>> Processed 1 dbus events
> >>> Processed 1 dbus events
> >>> Processed 1 dbus events
> >>> Processed 1 dbus events
> >>> Processed 1 dbus events
> >>>
> >>> but there is nothing output.
> >>>
> >
> > this is the dmesg info
> >
> > root at sanjose:~# dmesg |grep kcs
> > [ 2.052340] aspeed-kcs-bmc: channel=3 addr=0xca2 idr=0x2c odr=0x38 str=0x44
> >
> > I also checked the hardtrap:
> > 0x1e6e2070[bit25] enabled the lpc mode
> >
> > I'm sure the IO port is 0xca2.
> >
> >
> > should I config the pin for LPC,I checked the ibt node,it didn't.
> >
> >
> > thank you
> >
> > --qianlihu
> >
>
> Try below fix on clk-aspeed.c
>
> diff --git a/drivers/clk/clk-aspeed.c b/drivers/clk/clk-aspeed.c
> index 596136793fc4..b55d35e3eb5e 100644
> --- a/drivers/clk/clk-aspeed.c
> +++ b/drivers/clk/clk-aspeed.c
> @@ -95,7 +95,7 @@ static const struct aspeed_gate_data aspeed_gates[] = {
> [ASPEED_CLK_GATE_DCLK] = { 5, -1, "dclk-gate",
> NULL, CLK_IS_CRITICAL }, /* DAC */
> [ASPEED_CLK_GATE_REFCLK] = { 6, -1, "refclk-gate",
> "clkin", CLK_IS_CRITICAL },
> [ASPEED_CLK_GATE_USBPORT2CLK] = { 7, 3, "usb-port2-gate",
> NULL, 0 }, /* USB2.0 Host port 2 */
> - [ASPEED_CLK_GATE_LCLK] = { 8, 5, "lclk-gate",
> NULL, 0 }, /* LPC */
> + [ASPEED_CLK_GATE_LCLK] = { 8, 5, "lclk-gate",
> NULL, CLK_IS_CRITICAL }, /* LPC */
> [ASPEED_CLK_GATE_USBUHCICLK] = { 9, 15, "usb-uhci-gate",
> NULL, 0 }, /* USB1.1 (requires port 2 enabled) */
> [ASPEED_CLK_GATE_D1CLK] = { 10, 13, "d1clk-gate",
> NULL, 0 }, /* GFX CRT */
> [ASPEED_CLK_GATE_YCLK] = { 13, 4, "yclk-gate",
> NULL, 0 }, /* HAC */
>
> In my experiments on my system, LCLK was not enabled due to the null
> parent dependency so I added CLK_IS_CRITICAL flag to enable the clk.
>
Worked! thanks
> LPC interface is default pin pad setting of AST2500 so you might not
> need a pinctrl setting on it if you didn't change it's pin pads to GPIO
> or eSPI.
>
> Cheers,
> Jae
More information about the openbmc
mailing list