soc/amd/common/include/acpimmio: reduce visibility of GPIO MMIO access
Introduce amdblocks/acpimmio_legacy_gpio100.h so that the old pre-SoC chipsets can still access the raw GPIO100 and IOMUX ACPIMMIO registers while only allowing GPIO accesses through the GPIO API on the SoCs. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: I18872dfa40d53ba8b0d7802eec52ede5e2ae617a Reviewed-on: https://review.coreboot.org/c/coreboot/+/56786 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
ad38ac0182
commit
85e733f0ef
|
@ -1,6 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <amdblocks/acpimmio_legacy_gpio100.h>
|
||||
#include <console/console.h>
|
||||
#include <device/device.h>
|
||||
#include <southbridge/amd/common/amd_pci_util.h>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <amdblocks/acpimmio_legacy_gpio100.h>
|
||||
#include <console/console.h>
|
||||
#include <delay.h>
|
||||
#include <device/device.h>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <amdblocks/acpimmio_legacy_gpio100.h>
|
||||
#include <bootblock_common.h>
|
||||
#include <console/console.h>
|
||||
#include <superio/smsc/lpc47n217/lpc47n217.h>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <amdblocks/acpimmio_legacy_gpio100.h>
|
||||
#include <console/console.h>
|
||||
#include <device/device.h>
|
||||
#include <southbridge/amd/common/amd_pci_util.h>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <amdblocks/acpimmio_legacy_gpio100.h>
|
||||
#include <console/console.h>
|
||||
#include <device/device.h>
|
||||
#include <southbridge/amd/common/amd_pci_util.h>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <stdint.h>
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <amdblocks/acpimmio_legacy_gpio100.h>
|
||||
#include <southbridge/amd/cimx/sb800/SBPLATFORM.h>
|
||||
#include "gpio_ftns.h"
|
||||
|
||||
|
|
|
@ -31,6 +31,16 @@ static inline void gpio_write32(gpio_t gpio_num, uint32_t value)
|
|||
write32(gpio_ctrl_ptr(gpio_num), value);
|
||||
}
|
||||
|
||||
static inline uint8_t iomux_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_iomux + reg);
|
||||
}
|
||||
|
||||
static inline void iomux_write8(uint8_t reg, uint8_t value)
|
||||
{
|
||||
write8(acpimmio_iomux + reg, value);
|
||||
}
|
||||
|
||||
static uint8_t get_gpio_mux(gpio_t gpio)
|
||||
{
|
||||
return iomux_read8(gpio);
|
||||
|
|
|
@ -272,18 +272,6 @@ static inline void smbus_write8(uint8_t reg, uint8_t value)
|
|||
write8(acpimmio_smbus + reg, value);
|
||||
}
|
||||
|
||||
/* These iomux_read/write8 are to be deprecated to enforce proper
|
||||
use of <gpio.h> API for pin configurations. */
|
||||
static inline uint8_t iomux_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_iomux + reg);
|
||||
}
|
||||
|
||||
static inline void iomux_write8(uint8_t reg, uint8_t value)
|
||||
{
|
||||
write8(acpimmio_iomux + reg, value);
|
||||
}
|
||||
|
||||
static inline uint8_t misc_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_misc + reg);
|
||||
|
@ -314,17 +302,6 @@ static inline void misc_write32(uint8_t reg, uint32_t value)
|
|||
write32(acpimmio_misc + reg, value);
|
||||
}
|
||||
|
||||
/* Old GPIO configuration registers */
|
||||
static inline uint8_t gpio_100_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_gpio_100 + reg);
|
||||
}
|
||||
|
||||
static inline void gpio_100_write8(uint8_t reg, uint8_t value)
|
||||
{
|
||||
write8(acpimmio_gpio_100 + reg, value);
|
||||
}
|
||||
|
||||
static inline uint8_t xhci_pm_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_xhci_pm + reg);
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#ifndef AMD_BLOCK_ACPIMMIO_LEGACY_GPIO_100_H
|
||||
#define AMD_BLOCK_ACPIMMIO_LEGACY_GPIO_100_H
|
||||
|
||||
#include <amdblocks/acpimmio.h>
|
||||
#include <device/mmio.h>
|
||||
#include <types.h>
|
||||
|
||||
/* These iomux_read/write8 are to be deprecated to enforce proper
|
||||
use of <gpio.h> API for pin configurations. */
|
||||
static inline uint8_t iomux_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_iomux + reg);
|
||||
}
|
||||
|
||||
static inline void iomux_write8(uint8_t reg, uint8_t value)
|
||||
{
|
||||
write8(acpimmio_iomux + reg, value);
|
||||
}
|
||||
|
||||
/* Old GPIO configuration registers */
|
||||
static inline uint8_t gpio_100_read8(uint8_t reg)
|
||||
{
|
||||
return read8(acpimmio_gpio_100 + reg);
|
||||
}
|
||||
|
||||
static inline void gpio_100_write8(uint8_t reg, uint8_t value)
|
||||
{
|
||||
write8(acpimmio_gpio_100 + reg, value);
|
||||
}
|
||||
|
||||
#endif /* AMD_BLOCK_ACPIMMIO_LEGACY_GPIO_100_H */
|
Loading…
Reference in New Issue