mb/pcengines/apu1: Use fixed acpimmio_base
Change-Id: Iaaa0cc0b486145517939f46943f2fee82053d98e Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/42037 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
This commit is contained in:
parent
7f32df379c
commit
da6fcb13f1
|
@ -5,16 +5,7 @@
|
|||
#include <southbridge/amd/cimx/sb800/SBPLATFORM.h>
|
||||
#include "gpio_ftns.h"
|
||||
|
||||
uintptr_t find_gpio_base(void)
|
||||
{
|
||||
uintptr_t base_addr;
|
||||
/* Get the ACPIMMIO base address */
|
||||
base_addr = pm_read32(0x24);
|
||||
base_addr &= 0xFFFFF000;
|
||||
return base_addr;
|
||||
}
|
||||
|
||||
void configure_gpio(uintptr_t base_addr, u8 gpio, u8 iomux_ftn, u8 setting)
|
||||
void configure_gpio(u8 gpio, u8 iomux_ftn, u8 setting)
|
||||
{
|
||||
u8 bdata;
|
||||
|
||||
|
@ -26,14 +17,13 @@ void configure_gpio(uintptr_t base_addr, u8 gpio, u8 iomux_ftn, u8 setting)
|
|||
gpio_100_write8(gpio, bdata);
|
||||
}
|
||||
|
||||
u8 read_gpio(uintptr_t base_addr, u8 gpio)
|
||||
u8 read_gpio(u8 gpio)
|
||||
{
|
||||
return (gpio_100_read8(gpio) & GPIO_DATA_IN) ? 1 : 0;
|
||||
}
|
||||
|
||||
int get_spd_offset(void)
|
||||
{
|
||||
uintptr_t base_addr = find_gpio_base();
|
||||
u8 spd_offset = read_gpio(base_addr, GPIO_16);
|
||||
u8 spd_offset = read_gpio(GPIO_16);
|
||||
return spd_offset;
|
||||
}
|
||||
|
|
|
@ -5,13 +5,10 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
uintptr_t find_gpio_base(void);
|
||||
void configure_gpio(uintptr_t base_addr, u8 gpio, u8 iomux_ftn, u8 setting);
|
||||
u8 read_gpio(uintptr_t base_addr, u8 gpio);
|
||||
void configure_gpio(u8 gpio, u8 iomux_ftn, u8 setting);
|
||||
u8 read_gpio(u8 gpio);
|
||||
int get_spd_offset(void);
|
||||
|
||||
#define IOMUX_OFFSET 0xD00
|
||||
#define GPIO_OFFSET 0x100
|
||||
#define GPIO_10 10 // PE3 Reset
|
||||
#define GPIO_11 11 // PE4 Reset
|
||||
#define GPIO_15 15 // board rev strap ms bit
|
||||
|
|
|
@ -362,8 +362,6 @@ const char *smbios_system_sku(void)
|
|||
|
||||
static void mainboard_final(void *chip_info)
|
||||
{
|
||||
u32 mmio_base;
|
||||
|
||||
printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Final.\n");
|
||||
|
||||
/*
|
||||
|
@ -371,10 +369,9 @@ static void mainboard_final(void *chip_info)
|
|||
* LED2/D6/GPIO_190 should be 1
|
||||
* LED3/D5/GPIO_191 should be 1
|
||||
*/
|
||||
mmio_base = find_gpio_base();
|
||||
configure_gpio(mmio_base, GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(mmio_base, GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(mmio_base, GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
usb_oc_setup();
|
||||
}
|
||||
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
|
||||
static void early_lpc_init(void)
|
||||
{
|
||||
u32 mmio_base;
|
||||
|
||||
/* PC Engines requires system boot when power is applied. This feature is
|
||||
* controlled in PM_REG 5Bh register. "Always Power On" works by writing a
|
||||
* value of 05h.
|
||||
|
@ -26,17 +24,16 @@ static void early_lpc_init(void)
|
|||
pm_write8(SB_PMIOA_REGEA, bdata);
|
||||
|
||||
//configure required GPIOs
|
||||
mmio_base = find_gpio_base();
|
||||
configure_gpio(mmio_base, GPIO_10, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(mmio_base, GPIO_11, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(mmio_base, GPIO_15, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(mmio_base, GPIO_16, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(mmio_base, GPIO_17, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(mmio_base, GPIO_18, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(mmio_base, GPIO_187, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(mmio_base, GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(mmio_base, GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(mmio_base, GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(GPIO_10, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(GPIO_11, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_HIGH);
|
||||
configure_gpio(GPIO_15, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(GPIO_16, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(GPIO_17, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(GPIO_18, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(GPIO_187, GPIO_FTN_1, GPIO_INPUT);
|
||||
configure_gpio(GPIO_189, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(GPIO_190, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
configure_gpio(GPIO_191, GPIO_FTN_1, GPIO_OUTPUT | GPIO_DATA_LOW);
|
||||
}
|
||||
|
||||
void board_BeforeAgesa(struct sysinfo *cb)
|
||||
|
|
Loading…
Reference in New Issue