This patch adds basic support for booting the board. This patch adds support for the UART necessary to get to the u-boot prompt. Signed-off-by: Chandan Nath <chandan.nath@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>master
parent
f0f4b5ff50
commit
5289e83a8c
@ -0,0 +1,66 @@ |
|||||||
|
/*
|
||||||
|
* board.c |
||||||
|
* |
||||||
|
* Common board functions for AM33XX based boards |
||||||
|
* |
||||||
|
* Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
|
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation; either version 2 of |
||||||
|
* the License, or (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <common.h> |
||||||
|
#include <asm/arch/cpu.h> |
||||||
|
#include <asm/arch/hardware.h> |
||||||
|
#include <asm/arch/ddr_defs.h> |
||||||
|
#include <asm/arch/clock.h> |
||||||
|
#include <asm/io.h> |
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR; |
||||||
|
|
||||||
|
struct wd_timer *wdtimer = (struct wd_timer *)WDT_BASE; |
||||||
|
struct timer_reg *timerreg = (struct timer_reg *)DM_TIMER2_BASE; |
||||||
|
|
||||||
|
/*
|
||||||
|
* early system init of muxing and clocks. |
||||||
|
*/ |
||||||
|
void s_init(u32 in_ddr) |
||||||
|
{ |
||||||
|
/* WDT1 is already running when the bootloader gets control
|
||||||
|
* Disable it to avoid "random" resets |
||||||
|
*/ |
||||||
|
writel(0xAAAA, &wdtimer->wdtwspr); |
||||||
|
while (readl(&wdtimer->wdtwwps) != 0x0) |
||||||
|
; |
||||||
|
writel(0x5555, &wdtimer->wdtwspr); |
||||||
|
while (readl(&wdtimer->wdtwwps) != 0x0) |
||||||
|
; |
||||||
|
|
||||||
|
/* Setup the PLLs and the clocks for the peripherals */ |
||||||
|
#ifdef CONFIG_SETUP_PLL |
||||||
|
pll_init(); |
||||||
|
#endif |
||||||
|
if (!in_ddr) |
||||||
|
config_ddr(); |
||||||
|
} |
||||||
|
|
||||||
|
/* Initialize timer */ |
||||||
|
void init_timer(void) |
||||||
|
{ |
||||||
|
/* Reset the Timer */ |
||||||
|
writel(0x2, (&timerreg->tsicrreg)); |
||||||
|
|
||||||
|
/* Wait until the reset is done */ |
||||||
|
while (readl(&timerreg->tiocpcfgreg) & 1) |
||||||
|
; |
||||||
|
|
||||||
|
/* Start the Timer */ |
||||||
|
writel(0x1, (&timerreg->tclrreg)); |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
#
|
||||||
|
# Makefile
|
||||||
|
#
|
||||||
|
# Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||||||
|
# kind, whether express or implied; without even the implied warranty
|
||||||
|
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/config.mk |
||||||
|
|
||||||
|
LIB = $(obj)lib$(BOARD).o
|
||||||
|
|
||||||
|
COBJS := evm.o mux.o
|
||||||
|
|
||||||
|
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||||
|
OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS) |
||||||
|
$(call cmd_link_o_target, $(OBJS) $(SOBJS))
|
||||||
|
|
||||||
|
clean: |
||||||
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
||||||
|
distclean: clean |
||||||
|
rm -f $(LIB) core *.bak $(obj).depend
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
# defines $(obj).depend target
|
||||||
|
include $(SRCTREE)/rules.mk |
||||||
|
|
||||||
|
sinclude $(obj).depend |
||||||
|
|
||||||
|
#########################################################################
|
@ -0,0 +1,24 @@ |
|||||||
|
/*
|
||||||
|
* common_def.h |
||||||
|
* |
||||||
|
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation version 2. |
||||||
|
* |
||||||
|
* This program is distributed "as is" WITHOUT ANY WARRANTY of any |
||||||
|
* kind, whether express or implied; without even the implied warranty |
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef __COMMON_DEF_H__ |
||||||
|
#define __COMMON_DEF_H__ |
||||||
|
|
||||||
|
extern void enable_uart0_pin_mux(void); |
||||||
|
extern void configure_evm_pin_mux(unsigned char daughter_board_id, |
||||||
|
unsigned short daughter_board_profile, |
||||||
|
unsigned char daughter_board_flag); |
||||||
|
|
||||||
|
#endif/*__COMMON_DEF_H__ */ |
@ -0,0 +1,48 @@ |
|||||||
|
/*
|
||||||
|
* evm.c |
||||||
|
* |
||||||
|
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation version 2. |
||||||
|
* |
||||||
|
* This program is distributed "as is" WITHOUT ANY WARRANTY of any |
||||||
|
* kind, whether express or implied; without even the implied warranty |
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <common.h> |
||||||
|
#include <asm/arch/cpu.h> |
||||||
|
#include <asm/arch/hardware.h> |
||||||
|
#include "common_def.h" |
||||||
|
#include <serial.h> |
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR; |
||||||
|
|
||||||
|
#define UART_RESET (0x1 << 1) |
||||||
|
#define UART_CLK_RUNNING_MASK 0x1 |
||||||
|
#define UART_SMART_IDLE_EN (0x1 << 0x3) |
||||||
|
|
||||||
|
/*
|
||||||
|
* Basic board specific setup |
||||||
|
*/ |
||||||
|
int init_basic_setup(void) |
||||||
|
{ |
||||||
|
/* Initialize the Timer */ |
||||||
|
init_timer(); |
||||||
|
|
||||||
|
/* address of boot parameters */ |
||||||
|
gd->bd->bi_boot_params = PHYS_DRAM_1 + 0x100; |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
||||||
|
|
||||||
|
int board_init(void) |
||||||
|
{ |
||||||
|
enable_uart0_pin_mux(); |
||||||
|
init_basic_setup(); |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
@ -0,0 +1,278 @@ |
|||||||
|
/*
|
||||||
|
* mux.c |
||||||
|
* |
||||||
|
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation version 2. |
||||||
|
* |
||||||
|
* This program is distributed "as is" WITHOUT ANY WARRANTY of any |
||||||
|
* kind, whether express or implied; without even the implied warranty |
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <config.h> |
||||||
|
#include "common_def.h" |
||||||
|
#include <asm/arch/hardware.h> |
||||||
|
#include <asm/io.h> |
||||||
|
|
||||||
|
#define MUX_CFG(value, offset) \ |
||||||
|
__raw_writel(value, (CTRL_BASE + offset)); |
||||||
|
|
||||||
|
/* PAD Control Fields */ |
||||||
|
#define SLEWCTRL (0x1 << 6) |
||||||
|
#define RXACTIVE (0x1 << 5) |
||||||
|
#define PULLUP_EN (0x1 << 4) /* Pull UP Selection */ |
||||||
|
#define PULLUDEN (0x0 << 3) /* Pull up enabled */ |
||||||
|
#define PULLUDDIS (0x1 << 3) /* Pull up disabled */ |
||||||
|
#define MODE(val) val /* used for Readability */ |
||||||
|
|
||||||
|
/*
|
||||||
|
* PAD CONTROL OFFSETS |
||||||
|
* Field names corresponds to the pad signal name |
||||||
|
*/ |
||||||
|
struct pad_signals { |
||||||
|
int gpmc_ad0; |
||||||
|
int gpmc_ad1; |
||||||
|
int gpmc_ad2; |
||||||
|
int gpmc_ad3; |
||||||
|
int gpmc_ad4; |
||||||
|
int gpmc_ad5; |
||||||
|
int gpmc_ad6; |
||||||
|
int gpmc_ad7; |
||||||
|
int gpmc_ad8; |
||||||
|
int gpmc_ad9; |
||||||
|
int gpmc_ad10; |
||||||
|
int gpmc_ad11; |
||||||
|
int gpmc_ad12; |
||||||
|
int gpmc_ad13; |
||||||
|
int gpmc_ad14; |
||||||
|
int gpmc_ad15; |
||||||
|
int gpmc_a0; |
||||||
|
int gpmc_a1; |
||||||
|
int gpmc_a2; |
||||||
|
int gpmc_a3; |
||||||
|
int gpmc_a4; |
||||||
|
int gpmc_a5; |
||||||
|
int gpmc_a6; |
||||||
|
int gpmc_a7; |
||||||
|
int gpmc_a8; |
||||||
|
int gpmc_a9; |
||||||
|
int gpmc_a10; |
||||||
|
int gpmc_a11; |
||||||
|
int gpmc_wait0; |
||||||
|
int gpmc_wpn; |
||||||
|
int gpmc_be1n; |
||||||
|
int gpmc_csn0; |
||||||
|
int gpmc_csn1; |
||||||
|
int gpmc_csn2; |
||||||
|
int gpmc_csn3; |
||||||
|
int gpmc_clk; |
||||||
|
int gpmc_advn_ale; |
||||||
|
int gpmc_oen_ren; |
||||||
|
int gpmc_wen; |
||||||
|
int gpmc_be0n_cle; |
||||||
|
int lcd_data0; |
||||||
|
int lcd_data1; |
||||||
|
int lcd_data2; |
||||||
|
int lcd_data3; |
||||||
|
int lcd_data4; |
||||||
|
int lcd_data5; |
||||||
|
int lcd_data6; |
||||||
|
int lcd_data7; |
||||||
|
int lcd_data8; |
||||||
|
int lcd_data9; |
||||||
|
int lcd_data10; |
||||||
|
int lcd_data11; |
||||||
|
int lcd_data12; |
||||||
|
int lcd_data13; |
||||||
|
int lcd_data14; |
||||||
|
int lcd_data15; |
||||||
|
int lcd_vsync; |
||||||
|
int lcd_hsync; |
||||||
|
int lcd_pclk; |
||||||
|
int lcd_ac_bias_en; |
||||||
|
int mmc0_dat3; |
||||||
|
int mmc0_dat2; |
||||||
|
int mmc0_dat1; |
||||||
|
int mmc0_dat0; |
||||||
|
int mmc0_clk; |
||||||
|
int mmc0_cmd; |
||||||
|
int mii1_col; |
||||||
|
int mii1_crs; |
||||||
|
int mii1_rxerr; |
||||||
|
int mii1_txen; |
||||||
|
int mii1_rxdv; |
||||||
|
int mii1_txd3; |
||||||
|
int mii1_txd2; |
||||||
|
int mii1_txd1; |
||||||
|
int mii1_txd0; |
||||||
|
int mii1_txclk; |
||||||
|
int mii1_rxclk; |
||||||
|
int mii1_rxd3; |
||||||
|
int mii1_rxd2; |
||||||
|
int mii1_rxd1; |
||||||
|
int mii1_rxd0; |
||||||
|
int rmii1_refclk; |
||||||
|
int mdio_data; |
||||||
|
int mdio_clk; |
||||||
|
int spi0_sclk; |
||||||
|
int spi0_d0; |
||||||
|
int spi0_d1; |
||||||
|
int spi0_cs0; |
||||||
|
int spi0_cs1; |
||||||
|
int ecap0_in_pwm0_out; |
||||||
|
int uart0_ctsn; |
||||||
|
int uart0_rtsn; |
||||||
|
int uart0_rxd; |
||||||
|
int uart0_txd; |
||||||
|
int uart1_ctsn; |
||||||
|
int uart1_rtsn; |
||||||
|
int uart1_rxd; |
||||||
|
int uart1_txd; |
||||||
|
int i2c0_sda; |
||||||
|
int i2c0_scl; |
||||||
|
int mcasp0_aclkx; |
||||||
|
int mcasp0_fsx; |
||||||
|
int mcasp0_axr0; |
||||||
|
int mcasp0_ahclkr; |
||||||
|
int mcasp0_aclkr; |
||||||
|
int mcasp0_fsr; |
||||||
|
int mcasp0_axr1; |
||||||
|
int mcasp0_ahclkx; |
||||||
|
int xdma_event_intr0; |
||||||
|
int xdma_event_intr1; |
||||||
|
int nresetin_out; |
||||||
|
int porz; |
||||||
|
int nnmi; |
||||||
|
int osc0_in; |
||||||
|
int osc0_out; |
||||||
|
int rsvd1; |
||||||
|
int tms; |
||||||
|
int tdi; |
||||||
|
int tdo; |
||||||
|
int tck; |
||||||
|
int ntrst; |
||||||
|
int emu0; |
||||||
|
int emu1; |
||||||
|
int osc1_in; |
||||||
|
int osc1_out; |
||||||
|
int pmic_power_en; |
||||||
|
int rtc_porz; |
||||||
|
int rsvd2; |
||||||
|
int ext_wakeup; |
||||||
|
int enz_kaldo_1p8v; |
||||||
|
int usb0_dm; |
||||||
|
int usb0_dp; |
||||||
|
int usb0_ce; |
||||||
|
int usb0_id; |
||||||
|
int usb0_vbus; |
||||||
|
int usb0_drvvbus; |
||||||
|
int usb1_dm; |
||||||
|
int usb1_dp; |
||||||
|
int usb1_ce; |
||||||
|
int usb1_id; |
||||||
|
int usb1_vbus; |
||||||
|
int usb1_drvvbus; |
||||||
|
int ddr_resetn; |
||||||
|
int ddr_csn0; |
||||||
|
int ddr_cke; |
||||||
|
int ddr_ck; |
||||||
|
int ddr_nck; |
||||||
|
int ddr_casn; |
||||||
|
int ddr_rasn; |
||||||
|
int ddr_wen; |
||||||
|
int ddr_ba0; |
||||||
|
int ddr_ba1; |
||||||
|
int ddr_ba2; |
||||||
|
int ddr_a0; |
||||||
|
int ddr_a1; |
||||||
|
int ddr_a2; |
||||||
|
int ddr_a3; |
||||||
|
int ddr_a4; |
||||||
|
int ddr_a5; |
||||||
|
int ddr_a6; |
||||||
|
int ddr_a7; |
||||||
|
int ddr_a8; |
||||||
|
int ddr_a9; |
||||||
|
int ddr_a10; |
||||||
|
int ddr_a11; |
||||||
|
int ddr_a12; |
||||||
|
int ddr_a13; |
||||||
|
int ddr_a14; |
||||||
|
int ddr_a15; |
||||||
|
int ddr_odt; |
||||||
|
int ddr_d0; |
||||||
|
int ddr_d1; |
||||||
|
int ddr_d2; |
||||||
|
int ddr_d3; |
||||||
|
int ddr_d4; |
||||||
|
int ddr_d5; |
||||||
|
int ddr_d6; |
||||||
|
int ddr_d7; |
||||||
|
int ddr_d8; |
||||||
|
int ddr_d9; |
||||||
|
int ddr_d10; |
||||||
|
int ddr_d11; |
||||||
|
int ddr_d12; |
||||||
|
int ddr_d13; |
||||||
|
int ddr_d14; |
||||||
|
int ddr_d15; |
||||||
|
int ddr_dqm0; |
||||||
|
int ddr_dqm1; |
||||||
|
int ddr_dqs0; |
||||||
|
int ddr_dqsn0; |
||||||
|
int ddr_dqs1; |
||||||
|
int ddr_dqsn1; |
||||||
|
int ddr_vref; |
||||||
|
int ddr_vtp; |
||||||
|
int ddr_strben0; |
||||||
|
int ddr_strben1; |
||||||
|
int ain7; |
||||||
|
int ain6; |
||||||
|
int ain5; |
||||||
|
int ain4; |
||||||
|
int ain3; |
||||||
|
int ain2; |
||||||
|
int ain1; |
||||||
|
int ain0; |
||||||
|
int vrefp; |
||||||
|
int vrefn; |
||||||
|
}; |
||||||
|
|
||||||
|
struct module_pin_mux { |
||||||
|
short reg_offset; |
||||||
|
unsigned char val; |
||||||
|
}; |
||||||
|
|
||||||
|
/* Pad control register offset */ |
||||||
|
#define PAD_CTRL_BASE 0x800 |
||||||
|
#define OFFSET(x) (unsigned int) (&((struct pad_signals *) \ |
||||||
|
(PAD_CTRL_BASE))->x) |
||||||
|
|
||||||
|
static struct module_pin_mux uart0_pin_mux[] = { |
||||||
|
{OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* UART0_RXD */ |
||||||
|
{OFFSET(uart0_txd), (MODE(0) | PULLUDEN)}, /* UART0_TXD */ |
||||||
|
{-1}, |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Configure the pin mux for the module |
||||||
|
*/ |
||||||
|
static void configure_module_pin_mux(struct module_pin_mux *mod_pin_mux) |
||||||
|
{ |
||||||
|
int i; |
||||||
|
|
||||||
|
if (!mod_pin_mux) |
||||||
|
return; |
||||||
|
|
||||||
|
for (i = 0; mod_pin_mux[i].reg_offset != -1; i++) |
||||||
|
MUX_CFG(mod_pin_mux[i].val, mod_pin_mux[i].reg_offset); |
||||||
|
} |
||||||
|
|
||||||
|
void enable_uart0_pin_mux(void) |
||||||
|
{ |
||||||
|
configure_module_pin_mux(uart0_pin_mux); |
||||||
|
} |
@ -0,0 +1,122 @@ |
|||||||
|
/*
|
||||||
|
* am335x_evm.h |
||||||
|
* |
||||||
|
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
* |
||||||
|
* This program is free software; you can redistribute it and/or |
||||||
|
* modify it under the terms of the GNU General Public License as |
||||||
|
* published by the Free Software Foundation version 2. |
||||||
|
* |
||||||
|
* This program is distributed "as is" WITHOUT ANY WARRANTY of any |
||||||
|
* kind, whether express or implied; without even the implied warranty |
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef __CONFIG_AM335X_EVM_H |
||||||
|
#define __CONFIG_AM335X_EVM_H |
||||||
|
|
||||||
|
#define CONFIG_AM335X |
||||||
|
#define CONFIG_CMD_MEMORY /* for mtest */ |
||||||
|
#undef CONFIG_GZIP |
||||||
|
#undef CONFIG_ZLIB |
||||||
|
#undef CONFIG_SYS_HUSH_PARSER |
||||||
|
#undef CONFIG_CMD_NET |
||||||
|
|
||||||
|
#include <asm/arch/cpu.h> |
||||||
|
#include <asm/arch/hardware.h> |
||||||
|
|
||||||
|
#define CONFIG_SETUP_PLL |
||||||
|
#define CONFIG_AM335X_CONFIG_DDR |
||||||
|
#define CONFIG_ENV_SIZE 0x400 |
||||||
|
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 * 1024)) |
||||||
|
#define CONFIG_SYS_PROMPT "AM335X# " |
||||||
|
#define CONFIG_SYS_NO_FLASH |
||||||
|
#define CONFIG_MACH_TYPE MACH_TYPE_TIAM335EVM |
||||||
|
|
||||||
|
#define CONFIG_CMD_ASKENV |
||||||
|
#define CONFIG_VERSION_VARIABLE |
||||||
|
|
||||||
|
/* set to negative value for no autoboot */ |
||||||
|
#define CONFIG_BOOTDELAY 3 |
||||||
|
#define CONFIG_SYS_AUTOLOAD "no" |
||||||
|
#define CONFIG_BOOTFILE "uImage" |
||||||
|
#define CONFIG_EXTRA_ENV_SETTINGS \ |
||||||
|
"verify=yes\0" \
|
||||||
|
"ramdisk_file=ramdisk.gz\0" \
|
||||||
|
|
||||||
|
/* Clock Defines */ |
||||||
|
#define V_OSCK 24000000 /* Clock output from T2 */ |
||||||
|
#define V_SCLK (V_OSCK >> 1) |
||||||
|
|
||||||
|
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* size in bytes reserved for |
||||||
|
initial data */ |
||||||
|
#define CONFIG_CMD_ECHO |
||||||
|
|
||||||
|
/* max number of command args */ |
||||||
|
#define CONFIG_SYS_MAXARGS 32 |
||||||
|
|
||||||
|
/* Console I/O Buffer Size */ |
||||||
|
#define CONFIG_SYS_CBSIZE 512 |
||||||
|
|
||||||
|
/* Print Buffer Size */ |
||||||
|
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \ |
||||||
|
+ sizeof(CONFIG_SYS_PROMPT) + 16) |
||||||
|
|
||||||
|
/* Boot Argument Buffer Size */ |
||||||
|
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE |
||||||
|
|
||||||
|
/*
|
||||||
|
* memtest works on 8 MB in DRAM after skipping 32MB from |
||||||
|
* start addr of ram disk |
||||||
|
*/ |
||||||
|
#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64 * 1024 * 1024)) |
||||||
|
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \ |
||||||
|
+ (8 * 1024 * 1024)) |
||||||
|
|
||||||
|
#undef CONFIG_SYS_CLKS_IN_HZ /* everything, incl board info, in Hz */ |
||||||
|
#define CONFIG_SYS_LOAD_ADDR 0x81000000 /* Default load address */ |
||||||
|
#define CONFIG_SYS_HZ 1000 /* 1ms clock */ |
||||||
|
|
||||||
|
/* Physical Memory Map */ |
||||||
|
#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ |
||||||
|
#define PHYS_DRAM_1 0x80000000 /* DRAM Bank #1 */ |
||||||
|
#define PHYS_DRAM_1_SIZE 0x10000000 /*(0x80000000 / 8) 256 MB */ |
||||||
|
#define CONFIG_MAX_RAM_BANK_SIZE (1024 << 20) /* 1GB */ |
||||||
|
|
||||||
|
#define CONFIG_SYS_SDRAM_BASE PHYS_DRAM_1 |
||||||
|
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000 - \ |
||||||
|
GENERATED_GBL_DATA_SIZE) |
||||||
|
/* Platform/Board specific defs */ |
||||||
|
#define CONFIG_SYS_CLK_FREQ 24000000 |
||||||
|
#define CONFIG_SYS_TIMERBASE 0x48040000 /* Use Timer2 */ |
||||||
|
#define CONFIG_SYS_PTV 2 /* Divisor: 2^(PTV+1) => 8 */ |
||||||
|
#define CONFIG_SYS_HZ 1000 |
||||||
|
|
||||||
|
/* NS16550 Configuration */ |
||||||
|
#define CONFIG_SYS_NS16550 |
||||||
|
#define CONFIG_SYS_NS16550_SERIAL |
||||||
|
#define CONFIG_SYS_NS16550_REG_SIZE (-4) |
||||||
|
#define CONFIG_SYS_NS16550_CLK (48000000) |
||||||
|
#define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */ |
||||||
|
#define CONFIG_SYS_NS16550_COM4 0x481A6000 /* UART3 on IA BOard */ |
||||||
|
|
||||||
|
#define CONFIG_BAUDRATE 115200 |
||||||
|
#define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \ |
||||||
|
4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 } |
||||||
|
|
||||||
|
/*
|
||||||
|
* select serial console configuration |
||||||
|
*/ |
||||||
|
#define CONFIG_SERIAL1 1 |
||||||
|
#define CONFIG_CONS_INDEX 1 |
||||||
|
#define CONFIG_SYS_CONSOLE_INFO_QUIET |
||||||
|
|
||||||
|
#define CONFIG_ENV_IS_NOWHERE |
||||||
|
|
||||||
|
#define CONFIG_SYS_TEXT_BASE 0x402f0400 |
||||||
|
|
||||||
|
/* Unsupported features */ |
||||||
|
#undef CONFIG_USE_IRQ |
||||||
|
|
||||||
|
#endif /* ! __CONFIG_AM335X_EVM_H */ |
Loading…
Reference in new issue