MCTP LPC FW binding

Andrew Jeffery andrew at aj.id.au
Wed Mar 16 09:42:02 AEDT 2022



On Sat, 12 Mar 2022, at 00:32, 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


More information about the openbmc mailing list