blackfin: bf60x: add board and headers files to support bf609
Board and config header files for bf609-ezkit support. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
This commit is contained in:
parent
c34346d85d
commit
320ec9dfb7
6 changed files with 291 additions and 4 deletions
|
@ -1226,7 +1226,7 @@ Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
|
|||
# Board CPU #
|
||||
#########################################################################
|
||||
|
||||
Mike Frysinger <vapier@gentoo.org>
|
||||
Sonic Zhang <sonic.adi@gmail.com>
|
||||
Blackfin Team <u-boot-devel@blackfin.uclinux.org>
|
||||
|
||||
BF506F-EZKIT BF506
|
||||
|
@ -1243,6 +1243,7 @@ Blackfin Team <u-boot-devel@blackfin.uclinux.org>
|
|||
BF538F-EZKIT BF538
|
||||
BF548-EZKIT BF548
|
||||
BF561-EZKIT BF561
|
||||
BF609-EZKIT BF609
|
||||
|
||||
M.Hasewinkel (MHA) <info@ssv-embedded.de>
|
||||
|
||||
|
|
55
board/bf609-ezkit/Makefile
Normal file
55
board/bf609-ezkit/Makefile
Normal file
|
@ -0,0 +1,55 @@
|
|||
#
|
||||
# U-boot - Makefile
|
||||
#
|
||||
# Copyright (c) 2005-2008 Analog Device Inc.
|
||||
#
|
||||
# (C) Copyright 2000-2006
|
||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
#
|
||||
# See file CREDITS for list of people who contributed to this
|
||||
# project.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
|
||||
include $(TOPDIR)/config.mk
|
||||
|
||||
LIB = $(obj)lib$(BOARD).o
|
||||
|
||||
COBJS-y := $(BOARD).o
|
||||
COBJS-$(CONFIG_BFIN_SOFT_SWITCH) += soft_switch.o
|
||||
|
||||
SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(COBJS-y))
|
||||
SOBJS := $(addprefix $(obj),$(SOBJS-y))
|
||||
|
||||
$(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
|
||||
|
||||
#########################################################################
|
67
board/bf609-ezkit/bf609-ezkit.c
Normal file
67
board/bf609-ezkit/bf609-ezkit.c
Normal file
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* U-boot - main board file
|
||||
*
|
||||
* Copyright (c) 2008-2011 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <netdev.h>
|
||||
#include <asm/blackfin.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/portmux.h>
|
||||
#include "soft_switch.h"
|
||||
|
||||
int checkboard(void)
|
||||
{
|
||||
printf("Board: ADI BF609 EZ-Kit board\n");
|
||||
printf(" Support: http://blackfin.uclinux.org/\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
static const unsigned short pins[] = {
|
||||
P_A3, P_A4, P_A5, P_A6, P_A7, P_A8, P_A9, P_A10, P_A11, P_A12,
|
||||
P_A13, P_A14, P_A15, P_A16, P_A17, P_A18, P_A19, P_A20, P_A21,
|
||||
P_A22, P_A23, P_A24, P_A25, P_NORCK, 0,
|
||||
};
|
||||
peripheral_request_list(pins, "smc0");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DESIGNWARE_ETH
|
||||
int board_eth_init(bd_t *bis)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (CONFIG_DW_PORTS & 1) {
|
||||
static const unsigned short pins[] = P_RMII0;
|
||||
if (!peripheral_request_list(pins, "emac0"))
|
||||
ret += designware_initialize(0, EMAC0_MACCFG, 1, 0);
|
||||
}
|
||||
if (CONFIG_DW_PORTS & 2) {
|
||||
static const unsigned short pins[] = P_RMII1;
|
||||
if (!peripheral_request_list(pins, "emac1"))
|
||||
ret += designware_initialize(1, EMAC1_MACCFG, 1, 0);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BFIN_SDH
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
return bfin_mmc_init(bis);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* miscellaneous platform dependent initialisations */
|
||||
int misc_init_r(void)
|
||||
{
|
||||
printf("other init\n");
|
||||
return setup_board_switches();
|
||||
}
|
|
@ -361,6 +361,7 @@ bf538f-ezkit blackfin blackfin
|
|||
bf548-ezkit blackfin blackfin
|
||||
bf561-acvilon blackfin blackfin
|
||||
bf561-ezkit blackfin blackfin
|
||||
bf609-ezkit blackfin blackfin
|
||||
blackstamp blackfin blackfin
|
||||
blackvme blackfin blackfin
|
||||
br4 blackfin blackfin
|
||||
|
|
161
include/configs/bf609-ezkit.h
Normal file
161
include/configs/bf609-ezkit.h
Normal file
|
@ -0,0 +1,161 @@
|
|||
/*
|
||||
* U-boot - Configuration file for BF609 EZ-Kit board
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_BF609_EZKIT_H__
|
||||
#define __CONFIG_BF609_EZKIT_H__
|
||||
|
||||
#include <asm/config-pre.h>
|
||||
|
||||
/*
|
||||
* Processor Settings
|
||||
*/
|
||||
#define CONFIG_BFIN_CPU bf609-0.0
|
||||
#define CONFIG_BFIN_BOOT_MODE BFIN_BOOT_PARA
|
||||
|
||||
|
||||
/* For ez-board version 1.0, else undef this */
|
||||
#define CONFIG_BFIN_BOARD_VERSION_1_0
|
||||
|
||||
/*
|
||||
* Clock Settings
|
||||
* CCLK = (CLKIN * VCO_MULT) / CCLK_DIV
|
||||
* SCLK = (CLKIN * VCO_MULT) / SYSCLK_DIV
|
||||
* SCLK0 = SCLK / SCLK0_DIV
|
||||
* SCLK1 = SCLK / SCLK1_DIV
|
||||
*/
|
||||
/* CONFIG_CLKIN_HZ is any value in Hz */
|
||||
#define CONFIG_CLKIN_HZ (25000000)
|
||||
/* CLKIN_HALF controls the DF bit in PLL_CTL 0 = CLKIN */
|
||||
/* 1 = CLKIN / 2 */
|
||||
#define CONFIG_CLKIN_HALF (0)
|
||||
|
||||
/* VCO_MULT controls the MSEL (multiplier) bits in PLL_CTL */
|
||||
/* Values can range from 0-127 (where 0 means 128) */
|
||||
#define CONFIG_VCO_MULT (20)
|
||||
|
||||
/* CCLK_DIV controls the core clock divider */
|
||||
/* Values can range from 0-31 (where 0 means 32) */
|
||||
#define CONFIG_CCLK_DIV (1)
|
||||
/* SCLK_DIV controls the system clock divider */
|
||||
/* Values can range from 0-31 (where 0 means 32) */
|
||||
#define CONFIG_SCLK_DIV (4)
|
||||
/* Values can range from 0-7 (where 0 means 8) */
|
||||
#define CONFIG_SCLK0_DIV (1)
|
||||
#define CONFIG_SCLK1_DIV (1)
|
||||
/* DCLK_DIV controls the DDR clock divider */
|
||||
/* Values can range from 0-31 (where 0 means 32) */
|
||||
#define CONFIG_DCLK_DIV (2)
|
||||
/* OCLK_DIV controls the output clock divider */
|
||||
/* Values can range from 0-127 (where 0 means 128) */
|
||||
#define CONFIG_OCLK_DIV (16)
|
||||
|
||||
/*
|
||||
* Memory Settings
|
||||
*/
|
||||
#define CONFIG_MEM_SIZE 128
|
||||
|
||||
#define CONFIG_SMC_GCTL_VAL 0x00000010
|
||||
#define CONFIG_SMC_B0CTL_VAL 0x01007011
|
||||
#define CONFIG_SMC_B0TIM_VAL 0x08170977
|
||||
#define CONFIG_SMC_B0ETIM_VAL 0x00092231
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (768 * 1024)
|
||||
#define CONFIG_SYS_MALLOC_LEN (512 * 1024)
|
||||
|
||||
/*
|
||||
* Network Settings
|
||||
*/
|
||||
#define ADI_CMDS_NETWORK
|
||||
#define CONFIG_NETCONSOLE
|
||||
#define CONFIG_NET_MULTI
|
||||
#define CONFIG_HOSTNAME "bf609-ezkit"
|
||||
#define CONFIG_DESIGNWARE_ETH
|
||||
#define CONFIG_DW_PORTS 1
|
||||
#define CONFIG_DW_AUTONEG
|
||||
#define CONFIG_DW_ALTDESCRIPTOR
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_MII
|
||||
|
||||
/* i2c Settings */
|
||||
#define CONFIG_BFIN_TWI_I2C
|
||||
#define CONFIG_HARD_I2C
|
||||
|
||||
/*
|
||||
* Flash Settings
|
||||
*/
|
||||
#undef CONFIG_CMD_IMLS
|
||||
#undef CONFIG_CMD_JFFS2
|
||||
#define CONFIG_SYS_FLASH_CFI_WIDTH 2
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_BASE 0xb0000000
|
||||
#define CONFIG_SYS_FLASH_CFI
|
||||
#define CONFIG_SYS_FLASH_PROTECTION
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 131
|
||||
#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
|
||||
|
||||
/*
|
||||
* SPI Settings
|
||||
*/
|
||||
#define CONFIG_BFIN_SPI6XX
|
||||
#define CONFIG_ENV_SPI_MAX_HZ 25000000
|
||||
#define CONFIG_SF_DEFAULT_SPEED 25000000
|
||||
#define CONFIG_SPI_FLASH
|
||||
#define CONFIG_SPI_FLASH_ALL
|
||||
|
||||
/*
|
||||
* Env Storage Settings
|
||||
*/
|
||||
#if (CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_SPI_MASTER)
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_OFFSET 0x10000
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#define CONFIG_ENV_IS_EMBEDDED_IN_LDR
|
||||
#elif (CONFIG_BFIN_BOOT_MODE == BFIN_BOOT_NAND)
|
||||
#define CONFIG_ENV_IS_IN_NAND
|
||||
#define CONFIG_ENV_OFFSET 0x60000
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
|
||||
#define CONFIG_ENV_OFFSET 0x8000
|
||||
#define CONFIG_ENV_SIZE 0x8000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x8000
|
||||
#define CONFIG_ENV_IS_EMBEDDED_IN_LDR
|
||||
#endif
|
||||
|
||||
#define FLASHBOOT_ENV_SETTINGS "flashboot=bootm 0xB0100000\0"
|
||||
|
||||
/*
|
||||
* SDH Settings
|
||||
*/
|
||||
#define CONFIG_GENERIC_MMC
|
||||
#define CONFIG_MMC
|
||||
#define CONFIG_BFIN_SDH
|
||||
|
||||
/*
|
||||
* Misc Settings
|
||||
*/
|
||||
#define CONFIG_BOARD_EARLY_INIT_F
|
||||
#define CONFIG_UART_CONSOLE 0
|
||||
|
||||
#define CONFIG_CMD_MEMORY
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_END (CONFIG_STACKBASE - 20*1024*1024 + 4)
|
||||
#define CONFIG_BFIN_SOFT_SWITCH
|
||||
|
||||
#if 0
|
||||
#define CONFIG_UART_MEM 1024
|
||||
#undef CONFIG_UART_CONSOLE
|
||||
#undef CONFIG_JTAG_CONSOLE
|
||||
#undef CONFIG_UART_CONSOLE_IS_JTAG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Pull in common ADI header for remaining command/environment setup
|
||||
*/
|
||||
#include <configs/bfin_adi_common.h>
|
||||
#endif
|
|
@ -10,7 +10,7 @@
|
|||
*/
|
||||
#ifndef _CONFIG_CMD_DEFAULT_H
|
||||
# include <config_cmd_default.h>
|
||||
# if ADI_CMDS_NETWORK
|
||||
# ifdef ADI_CMDS_NETWORK
|
||||
# define CONFIG_CMD_DHCP
|
||||
# define CONFIG_BOOTP_SUBNETMASK
|
||||
# define CONFIG_BOOTP_GATEWAY
|
||||
|
@ -58,7 +58,7 @@
|
|||
# endif
|
||||
# ifdef CONFIG_RTC_BFIN
|
||||
# define CONFIG_CMD_DATE
|
||||
# if ADI_CMDS_NETWORK
|
||||
# ifdef ADI_CMDS_NETWORK
|
||||
# define CONFIG_CMD_SNTP
|
||||
# endif
|
||||
# endif
|
||||
|
@ -193,10 +193,12 @@
|
|||
"nand erase 0 0x40000;" \
|
||||
"nand write $(loadaddr) 0 0x40000"
|
||||
# else
|
||||
# define UBOOT_ENV_UPDATE \
|
||||
# ifndef UBOOT_ENV_UPDATE
|
||||
# define UBOOT_ENV_UPDATE \
|
||||
"protect off 0x20000000 +$(filesize);" \
|
||||
"erase 0x20000000 +$(filesize);" \
|
||||
"cp.b $(loadaddr) 0x20000000 $(filesize)"
|
||||
# endif
|
||||
# endif
|
||||
# ifdef CONFIG_NETCONSOLE
|
||||
# define NETCONSOLE_ENV \
|
||||
|
|
Loading…
Reference in a new issue