MCTP LPC FW binding
Andrew Jeffery
andrew at aj.id.au
Fri Mar 18 14:49:38 AEDT 2022
On Fri, 18 Mar 2022, at 02:12, Govert Overgaauw wrote:
>>> Hello,
>>>
>>> I was wondering if anyone is/was successful in using the MCTP over LPC
>>> binding with an intel platform? I read through the documents, it seems
>>> to me the binding was designed to use LPC firmware cycles. To me it is
>>> unclear if the ast2500 supports memory cycles on the LPC2AHB bridge
>>> (datasheet seems to list it in the features, not much explanation).
>>> The problem is that the C620 chipset doesn't support firmware cycles
>>> (only memory and I/O cycles). And having a properly mapped window in
>>> the C620 chipset and reserved memory in Linux. Writing and Reading to
>>> it only returns ('1s').
>>>
>>> Writing a simple test on x86 that keeps writing a value to the mapped
>>> registers, seems to trigger LAD[3:1] = 0xF readout on the BMC LPC host
>>> controller register 0 (that has some debug registers to see the state
>>> of the LPC bus). 0xF is the stop frame of a standard LPC memory cycle.
>>
>> As one of the authors of the binding, I just wanted to note that it was
>> developed for IBM's Power systems (which support FW cycles). I haven't
>> tried memory cycles, however there are other conditions under which you
>> might get 0xF, such as if the LPC2AHB isn't enabled. The BMC
>> aspeed-lpc-ctrl kernel driver should take care of this for you, however
>> it only does so once you open the character device. From there you'll
>> need to use the ioctl()s to switch the bridge to use the reserved
>> memory rather than the default mapping of the host SPI-NOR.
>>
>> Andrew
>
> I can confirm that the BMC works with memory cycles on the LPC bus
> using this binding. There was a misconfiguration on the x86 side
> resulting
> in it not generating memory cycles on the bus.
Ah, great. Happy to look at whatever patches it took to get it going.
Andrew
More information about the openbmc
mailing list