aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/pcengines/apu2/romstage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/pcengines/apu2/romstage.c')
-rw-r--r--src/mainboard/pcengines/apu2/romstage.c62
1 files changed, 37 insertions, 25 deletions
diff --git a/src/mainboard/pcengines/apu2/romstage.c b/src/mainboard/pcengines/apu2/romstage.c
index 0fc472ff4b..e0a63f0ed8 100644
--- a/src/mainboard/pcengines/apu2/romstage.c
+++ b/src/mainboard/pcengines/apu2/romstage.c
@@ -2,9 +2,10 @@
#include <stdint.h>
#include <amdblocks/acpimmio.h>
+#include <console/console.h>
#include <device/pci_def.h>
#include <device/pci_ops.h>
-#include <console/console.h>
+#include <gpio.h>
#include <northbridge/amd/agesa/state_machine.h>
#include "gpio_ftns.h"
@@ -28,52 +29,63 @@ void board_BeforeAgesa(struct sysinfo *cb)
pm_write8(0xea, 1);
}
-static void early_lpc_init(void)
+static void pin_input(gpio_t gpio, u8 iomux_ftn)
+{
+ iomux_write8(gpio, iomux_ftn);
+ gpio_input(gpio);
+}
+
+static void pin_low(gpio_t gpio, u8 iomux_ftn)
+{
+ iomux_write8(gpio, iomux_ftn);
+ gpio_output(gpio, 0);
+}
+
+static void pin_high(gpio_t gpio, u8 iomux_ftn)
{
- u32 setting = 0x0;
+ iomux_write8(gpio, iomux_ftn);
+ gpio_output(gpio, 1);
+}
+static void early_lpc_init(void)
+{
//
- // Configure output disabled, value low, pull up/down disabled
+ // Configure output disabled, pull up/down disabled
//
- if (CONFIG(BOARD_PCENGINES_APU5)) {
- configure_gpio(GPIO_22, Function0, setting);
- }
+ if (CONFIG(BOARD_PCENGINES_APU5))
+ pin_input(GPIO_22, Function0);
if (CONFIG(BOARD_PCENGINES_APU2) ||
CONFIG(BOARD_PCENGINES_APU3) ||
CONFIG(BOARD_PCENGINES_APU4)) {
- configure_gpio(GPIO_32, Function0, setting);
+ pin_input(GPIO_32, Function0);
}
- configure_gpio(GPIO_49, Function2, setting);
- configure_gpio(GPIO_50, Function2, setting);
- configure_gpio(GPIO_71, Function0, setting);
+ pin_input(GPIO_49, Function2);
+ pin_input(GPIO_50, Function2);
+ pin_input(GPIO_71, Function0);
//
// Configure output enabled, value low, pull up/down disabled
//
- setting = GPIO_OUTPUT_ENABLE;
if (CONFIG(BOARD_PCENGINES_APU3) ||
CONFIG(BOARD_PCENGINES_APU4)) {
- configure_gpio(GPIO_33, Function0, setting);
+ pin_low(GPIO_33, Function0);
}
-
- configure_gpio(GPIO_57, Function1, setting);
- configure_gpio(GPIO_58, Function1, setting);
- configure_gpio(GPIO_59, Function3, setting);
+ pin_low(GPIO_57, Function1);
+ pin_low(GPIO_58, Function1);
+ pin_low(GPIO_59, Function3);
//
// Configure output enabled, value high, pull up/down disabled
//
- setting = GPIO_OUTPUT_ENABLE | GPIO_OUTPUT_VALUE;
-
if (CONFIG(BOARD_PCENGINES_APU5)) {
- configure_gpio(GPIO_32, Function0, setting);
- configure_gpio(GPIO_33, Function0, setting);
+ pin_high(GPIO_32, Function0);
+ pin_high(GPIO_33, Function0);
}
- configure_gpio(GPIO_51, Function2, setting);
- configure_gpio(GPIO_55, Function3, setting);
- configure_gpio(GPIO_64, Function2, setting);
- configure_gpio(GPIO_68, Function0, setting);
+ pin_high(GPIO_51, Function2);
+ pin_high(GPIO_55, Function3);
+ pin_high(GPIO_64, Function2);
+ pin_high(GPIO_68, Function0);
}