[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