soc/amd/common/block/smbus: always return SMBus MMIO in get_sm_mmio
The old code was broken and register 0x90 didn't even exist any more in the config space of the SMBus PCI device, so just always return the MMIO base address of the SMBus controller. As far as I've seen, no board in tree uses this functionality at the moment. Change-Id: Ib80d5c928da6022427afb8ccc969fb2aac953c2d Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reported-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49121 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
fc7b41d370
commit
8199b88222
|
@ -21,15 +21,13 @@ static void sm_init(struct device *dev)
|
|||
|
||||
static u32 get_sm_mmio(struct device *dev)
|
||||
{
|
||||
struct resource *res;
|
||||
struct bus *pbus;
|
||||
|
||||
pbus = get_pbus_smbus(dev);
|
||||
res = find_resource(pbus->dev, 0x90);
|
||||
if (res->base == SMB_BASE_ADDR)
|
||||
return (uintptr_t)acpimmio_smbus;
|
||||
|
||||
return (uintptr_t)acpimmio_asf;
|
||||
/*
|
||||
* Since SMBus and ASF controller are behind the same PCIe device, we don't know behind
|
||||
* which controller a device is. We assume here that the devices are behind the SMBus
|
||||
* controller. The proper solution would be to handle those as MMIO devices instead of
|
||||
* PCI ones.
|
||||
*/
|
||||
return (uintptr_t)acpimmio_smbus;
|
||||
}
|
||||
|
||||
static int lsmbus_recv_byte(struct device *dev)
|
||||
|
|
Loading…
Reference in New Issue