summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/ti/beaglebone/bootblock.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/mainboard/ti/beaglebone/bootblock.c b/src/mainboard/ti/beaglebone/bootblock.c
index 162592f2b0..5cca141de6 100644
--- a/src/mainboard/ti/beaglebone/bootblock.c
+++ b/src/mainboard/ti/beaglebone/bootblock.c
@@ -18,47 +18,47 @@
#include <bootblock_common.h>
#include <console/uart.h>
#include <console/console.h>
+#include <cpu/ti/am335x/clock.h>
+#include <cpu/ti/am335x/gpio.h>
#include <cpu/ti/am335x/pinmux.h>
+#include "leds.h"
+
void bootblock_mainboard_init(void)
{
- void *uart_clock_ctrl = NULL;
-
- /* Enable the GPIO module */
- write32((uint32_t *)(0x44e00000 + 0xac), (0x2 << 0) | (1 << 18));
-
- /* Disable interrupts from these GPIOs */
- setbits_le32((uint32_t *)(0x4804c000 + 0x3c), 0xf << 21);
+ write32(&am335x_cm_wkup->wkup_gpio0, CM_ST_SW_WKUP | CM_FCLK_EN);
+ write32(&am335x_cm_per->gpio1, CM_ST_SW_WKUP | CM_FCLK_EN);
+ write32(&am335x_cm_per->gpio2, CM_ST_SW_WKUP | CM_FCLK_EN);
+ write32(&am335x_cm_per->gpio3, CM_ST_SW_WKUP | CM_FCLK_EN);
- /* Enable output */
- clrbits_le32((uint32_t *)(0x4804c000 + 0x134), 0xf << 21);
+ am335x_disable_gpio_irqs();
- /* Set every other light */
- clrbits_le32((uint32_t *)(0x4804c000 + 0x13c), 0xf << 21);
- setbits_le32((uint32_t *)(0x4804c000 + 0x13c), 0x5 << 21);
+ beaglebone_leds_init();
+ beaglebone_leds_set(BEAGLEBONE_LED_USR0, 1);
+ beaglebone_leds_set(BEAGLEBONE_LED_USR1, 0);
+ beaglebone_leds_set(BEAGLEBONE_LED_USR2, 1);
+ beaglebone_leds_set(BEAGLEBONE_LED_USR3, 0);
/* Set up the UART we're going to use */
if (CONFIG_UART_FOR_CONSOLE == 0) {
am335x_pinmux_uart0();
- uart_clock_ctrl = (void *)(uintptr_t)(0x44e00400 + 0xb4);
+ write32(&am335x_cm_wkup->wkup_uart0, CM_ST_SW_WKUP);
} else if (CONFIG_UART_FOR_CONSOLE == 1) {
am335x_pinmux_uart1();
- uart_clock_ctrl = (void *)(uintptr_t)(0x44e00000 + 0x6c);
+ write32(&am335x_cm_per->uart1, CM_ST_SW_WKUP);
} else if (CONFIG_UART_FOR_CONSOLE == 2) {
am335x_pinmux_uart2();
- uart_clock_ctrl = (void *)(uintptr_t)(0x44e00000 + 0x70);
+ write32(&am335x_cm_per->uart2, CM_ST_SW_WKUP);
} else if (CONFIG_UART_FOR_CONSOLE == 3) {
am335x_pinmux_uart3();
- uart_clock_ctrl = (void *)(uintptr_t)(0x44e00000 + 0x74);
+ write32(&am335x_cm_per->uart3, CM_ST_SW_WKUP);
} else if (CONFIG_UART_FOR_CONSOLE == 4) {
am335x_pinmux_uart4();
- uart_clock_ctrl = (void *)(uintptr_t)(0x44e00000 + 0x78);
+ write32(&am335x_cm_per->uart4, CM_ST_SW_WKUP);
} else if (CONFIG_UART_FOR_CONSOLE == 5) {
am335x_pinmux_uart5();
- uart_clock_ctrl = (void *)(uintptr_t)(0x44e00000 + 0x38);
+ write32(&am335x_cm_per->uart5, CM_ST_SW_WKUP);
}
- if (uart_clock_ctrl)
- write32(uart_clock_ctrl, 0x2);
/* Start monotonic timer */
//rtc_start();