board: stm32: Add stm32f429-evaluation board support

Add stm32f429-evaluation board support.
For more information, please visit:
http://www.st.com/en/evaluation-tools/stm32429i-eval.html

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
Patrice Chotard 2018-01-18 13:39:32 +01:00 committed by Tom Rini
parent 09b9f649d0
commit e23b19f4a8
7 changed files with 207 additions and 0 deletions

View file

@ -3,10 +3,14 @@ if STM32F4
config TARGET_STM32F429_DISCOVERY
bool "STM32F429 Discovery board"
config TARGET_STM32F429_EVALUATION
bool "STM32F429 Evaluation board"
config TARGET_STM32F469_DISCOVERY
bool "STM32F469 Discovery board"
source "board/st/stm32f429-discovery/Kconfig"
source "board/st/stm32f429-evaluation/Kconfig"
source "board/st/stm32f469-discovery/Kconfig"
endif

View file

@ -0,0 +1,19 @@
if TARGET_STM32F429_EVALUATION
config SYS_BOARD
string
default "stm32f429-evaluation"
config SYS_VENDOR
string
default "st"
config SYS_SOC
string
default "stm32f4"
config SYS_CONFIG_NAME
string
default "stm32f429-evaluation"
endif

View file

@ -0,0 +1,6 @@
STM32F429-EVALUATION BOARD
M: Patrice Chotard <patrice.chotard@st.com>
S: Maintained
F: board/st/stm32f429-evaluation/
F: include/configs/stm32f429-evaluation.h
F: configs/stm32f429-evaluation_defconfig

View file

@ -0,0 +1,8 @@
#
# Copyright (C) 2018, STMicroelectronics - All Rights Reserved
# Author(s): Patrice CHOTARD, <patrice.chotard@st.com> for STMicroelectronics.
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y := stm32f429-evaluation.o

View file

@ -0,0 +1,74 @@
/*
* Copyright (C) 2018, STMicroelectronics - All Rights Reserved
* Author(s): Patrice Chotard, <patrice.chotard@st.com> for STMicroelectronics.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <asm/io.h>
#include <asm/arch/stm32.h>
DECLARE_GLOBAL_DATA_PTR;
int dram_init(void)
{
int rv;
struct udevice *dev;
rv = uclass_get_device(UCLASS_RAM, 0, &dev);
if (rv) {
debug("DRAM init failed: %d\n", rv);
return rv;
}
if (fdtdec_setup_memory_size() != 0)
rv = -EINVAL;
return rv;
}
int dram_init_banksize(void)
{
fdtdec_setup_memory_banksize();
return 0;
}
u32 get_board_rev(void)
{
return 0;
}
int board_early_init_f(void)
{
return 0;
}
int board_init(void)
{
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
return 0;
}
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
char serialno[25];
u32 u_id_low, u_id_mid, u_id_high;
if (!env_get("serial#")) {
u_id_low = readl(&STM32_U_ID->u_id_low);
u_id_mid = readl(&STM32_U_ID->u_id_mid);
u_id_high = readl(&STM32_U_ID->u_id_high);
sprintf(serialno, "%08x%08x%08x",
u_id_high, u_id_mid, u_id_low);
env_set("serial#", serialno);
}
return 0;
}
#endif

View file

@ -0,0 +1,31 @@
CONFIG_ARM=y
CONFIG_STM32=y
CONFIG_SYS_MALLOC_F_LEN=0xF00
CONFIG_STM32F4=y
CONFIG_TARGET_STM32F429_EVALUATION=y
CONFIG_DEFAULT_DEVICE_TREE="stm32429i-eval"
CONFIG_BOOTDELAY=3
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="U-Boot > "
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
CONFIG_CMD_IMLS=y
CONFIG_CMD_GPT=y
# CONFIG_RANDOM_UUID is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_TIMER=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
# CONFIG_DOS_PARTITION is not set
CONFIG_OF_CONTROL=y
CONFIG_OF_EMBED=y
# CONFIG_BLK is not set
CONFIG_DM_MMC=y
CONFIG_ARM_PL180_MMCI=y
CONFIG_MTD_NOR_FLASH=y

View file

@ -0,0 +1,65 @@
/*
* Copyright (C) STMicroelectronics SA 2017
* Author(s): Patrice CHOTARD, <patrice.chotard@st.com> for STMicroelectronics.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#define CONFIG_MISC_INIT_R
#define CONFIG_SYS_FLASH_BASE 0x08000000
#define CONFIG_SYS_INIT_SP_ADDR 0x10010000
#define CONFIG_SYS_TEXT_BASE 0x08000000
#define CONFIG_SYS_ICACHE_OFF
#define CONFIG_SYS_DCACHE_OFF
/*
* Configuration of the external SDRAM memory
*/
#define CONFIG_NR_DRAM_BANKS 1
#define CONFIG_SYS_RAM_FREQ_DIV 2
#define CONFIG_SYS_RAM_BASE 0x00000000
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_RAM_BASE
#define CONFIG_SYS_LOAD_ADDR 0x00400000
#define CONFIG_LOADADDR 0x00400000
#define CONFIG_SYS_MAX_FLASH_SECT 12
#define CONFIG_SYS_MAX_FLASH_BANKS 2
#define CONFIG_ENV_OFFSET (256 << 10)
#define CONFIG_ENV_SECT_SIZE (128 << 10)
#define CONFIG_ENV_SIZE (8 << 10)
#define CONFIG_STM32_FLASH
#define CONFIG_SYS_CLK_FREQ 180000000 /* 180 MHz */
#define CONFIG_SYS_HZ_CLOCK 1000000 /* Timer is clocked at 1MHz */
#define CONFIG_CMDLINE_TAG
#define CONFIG_SETUP_MEMORY_TAGS
#define CONFIG_INITRD_TAG
#define CONFIG_REVISION_TAG
#define CONFIG_SYS_CBSIZE 1024
#define CONFIG_SYS_MALLOC_LEN (1 * 1024 * 1024)
#define CONFIG_BOOTCOMMAND \
"run boot_sd"
#define CONFIG_EXTRA_ENV_SETTINGS \
"boot_sd=mmc dev 0;fatload mmc 0 0x00700000 stm32429i-eval.dtb; fatload mmc 0 0x00008000 zImage; icache off; bootz 0x00008000 - 0x00700000"
/*
* Command line configuration.
*/
#define CONFIG_SYS_LONGHELP
#define CONFIG_AUTO_COMPLETE
#define CONFIG_CMDLINE_EDITING
#endif /* __CONFIG_H */