Re: [PATCH v2 0/2] soc: aspeed: ipmi: add KCS Channel 4 over PCIe
YC Hsieh <[email protected]> Thu, 23 Jul 2026 06:12:07 +0000
| Newsgroups | org.ozlabs.lists.linux-aspeed,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <TY0PR06MB6855DF99AEBD19C2CA2CE98093C02@TY0PR06MB6855.apcprd06.prod.outlook.com> |
> The PCIe-to-LPC bridge on the AST2600 exposes 4 channels, matching the LP= C=0A= > controller's own KCS1-4, not just channel 4.=0A= > It would be better If you can provide a way to handle multiple LPC contro= ller for=0A= > kcs channels.=0A= =0A= I raised an RFC to discuss support for multiple LPC controllers in [1].=0A= =0A= Perhaps we should first take other people's opinions into consideration=0A= before moving forward.=0A= =0A= [1] https://lkml.org/lkml/2026/7/23/429=0A= =0A= > >=0A= > > The ASPEED AST2600 has a PCIe to LPC controller. It includes a KCS inte= rface=0A= > > on channel 4. This is a fully KCS-compatible interface that is exposed = over=0A= > > PCIe.=0A= > >=0A= > > Add pcie_kcs4 to existing LPC bus in aspeed-g6.dtsi.=0A= > > Modify kcs_bmc_aspeed driver to detect the PCIe over LPC channel.=0A= > >=0A= > > In the driver, this PCIe over LPC channel will be detected as Channel 5= .=0A= > > In the datasheet this is defined as Channel 4 over PCIe.=0A= > >=0A= > > The Channel 4 name is still referenced in the offsets macros.=0A= > >=0A= > > The host need a driver to activate the MSI interrupts with the PCIe BMC= =0A= > > Device.=0A= > >=0A= > > Tests:=0A= > > With the patch [2] adding PCIe BMC device for Virtual UART, the MSI=0A= > > interrupts are correctly setups. The Host driver is build and side load= ed on the=0A= > > host. The ipmi_si driver on the host is loaded manually with the KCS ad= dress=0A= > > given by hand. 'ipmitool mc info' is run to confirm it's working.=0A= > >=0A= > > Tested on : Asus IPMI Expansion Card, AST2600.=0A= > > ```=0A= > > # insmod aspeed-host-bmc-dev.ko=0A= > > # lspci -vvv -d 1a03:2402=0A= > > 02:01.0 Unassigned class [ff00]: ASPEED Technology, Inc. Device 2402=0A= > > Subsystem: ASPEED Technology, Inc. Device 2402=0A= > > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-=0A= > > ParErr- Stepping- SERR- FastB2B- DisINTx+=0A= > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dmedium > >TAb= ort-=0A= > > <TAbort- <MAbort- > >SERR- <PERR- INTx-=0A= > > Latency: 0=0A= > > Interrupt: pin A routed to IRQ 154=0A= > > IOMMU group: 12=0A= > > Region 0: Memory at 82080000 (32-bit, non-prefetchable) [size=3D= 4K]=0A= > > Region 1: Memory at 82040000 (32-bit, non-prefetchable) [size=3D= 256K]=0A= > > Capabilities: [40] Power Management version 3=0A= > > Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=3D375mA=0A= > > PME(D0+,D1+,D2+,D3hot+,D3cold+)=0A= > > Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DScale=3D0 PM= E-=0A= > > Capabilities: [50] MSI: Enable+ Count=3D32/32 Maskable- 64bit+= =0A= > > Address: 00000000fee00818 Data: 0000=0A= > > Kernel driver in use: aspeed-host-bmc-dev=0A= > >=0A= > > # modprobe ipmi_si type=3Dkcs addrs=3D0x82040E88 regspacings=3D4 regsiz= es=3D1=0A= > > regshifts=3D0=0A= > >=0A= > > # ipmitool mc info=0A= > > Device ID : 32=0A= > > Device Revision : 1=0A= > > Firmware Revision : 26.04=0A= > > IPMI Version : 2.0=0A= > > Manufacturer ID : 2623=0A= > > Manufacturer Name : ASUSTek Computer Inc.=0A= > > ...=0A= > > ```=0A= > >=0A= > > The original patch [1] review set to use the existing LPC bus and modif= y the=0A= > > kcs_bmc_aspeed driver.=0A= > >=0A= > > [1]=0A= > > https://lore.kernel.org/linux-aspeed/de49f2032f5b1f170161dcd6191c0daa48= f0=0A= > > [email protected]/=0A= > > [2]=0A= > > https://lore.kernel.org/linux-aspeed/51e455417bdcfe608270c6cb2806b1fd97= 1f=0A= > > [email protected]/=0A= > >=0A= > > Gr=E9goire Layet (2):=0A= > > ipmi: kcs_bmc_aspeed: g6: Add KCS Channel 4 over PCIe=0A= > > ARM: dts: aspeed-g6: add pcie-kcs4=0A= > >=0A= > > arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 7 +++++=0A= > > drivers/char/ipmi/kcs_bmc_aspeed.c | 39=0A= > > +++++++++++++++++++++++--=0A= > > 2 files changed, 44 insertions(+), 2 deletions(-)=0A= > >=0A= > >=0A= > > base-commit: 03f906d8f5541e8bb741035981304feceed5993d=0A= > > --=0A= > > 2.54.0=