MCTP LPC FW binding

Govert Overgaauw govert.overgaauw at prodrive-technologies.com
Fri Mar 18 02:42:38 AEDT 2022


>> 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.

Govert


More information about the openbmc mailing list