summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-04-28 10:06:17 -0700
committerSimon Glass <sjg@chromium.org>2011-08-24 09:54:52 -0700
commit696ba76e40fefcc58848b5e86575915927840c6a (patch)
tree62f058fc347bcee53b1b9072be0d1f1206e7818b /board
parent1640039ca2f8a4b9ca04106295cc8dfd6c97a82e (diff)
Tegra2: Use clock and pinmux functions to simplify code
BUG=chromium-os:13875 TEST=Build for Seaboard, boot Review URL: http://codereview.chromium.org/6899017 Change-Id: I6bb151ff353dba2192ab56a9db9ac9628133ec4e
Diffstat (limited to 'board')
-rw-r--r--board/nvidia/common/board.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
index f07328ebb97..ac2e3f87dbb 100644
--- a/board/nvidia/common/board.c
+++ b/board/nvidia/common/board.c
@@ -24,6 +24,7 @@
#include <common.h>
#include <ns16550.h>
#include <asm/io.h>
+#include <asm/arch/bitfield.h>
#include <asm/arch/tegra2.h>
#include <asm/arch/sys_proto.h>
@@ -78,20 +79,20 @@ static void clock_init_uart(void)
u32 reg;
reg = readl(&pll->pll_base);
- if (!(reg & PLL_BASE_OVRRIDE_BIT)) {
+ if (!(reg & bf_mask(PLL_BASE_OVRRIDE))) {
/* Override pllp setup for 216MHz operation. */
- reg = (PLL_BYPASS_BIT | PLL_BASE_OVRRIDE_BIT | PLL_DIVP_VALUE);
- reg |= (((NVRM_PLLP_FIXED_FREQ_KHZ/500) << 8) | PLL_DIVM_VALUE);
+ reg = bf_mask(PLL_BYPASS) | bf_mask(PLL_BASE_OVRRIDE) |
+ bf_pack(PLL_DIVP, 1) | bf_pack(PLL_DIVM, 0xc);
+ reg |= bf_pack(PLL_DIVN, NVRM_PLLP_FIXED_FREQ_KHZ / 500);
writel(reg, &pll->pll_base);
- reg |= PLL_ENABLE_BIT;
+ reg |= bf_mask(PLL_ENABLE);
writel(reg, &pll->pll_base);
- reg &= ~PLL_BYPASS_BIT;
+ reg &= ~bf_mask(PLL_BYPASS);
writel(reg, &pll->pll_base);
}
- /* Now do the UART reset/clock enable */
#if defined(CONFIG_TEGRA2_ENABLE_UARTA)
/* Assert UART reset and enable clock */
reset_set_enable(PERIPH_ID_UART1, 1);