]> git.sur5r.net Git - u-boot/blob - board/st/stm32f469-discovery/stm32f469-discovery.c
board: stm32: add stm32f469-discovery board support
[u-boot] / board / st / stm32f469-discovery / stm32f469-discovery.c
1 /*
2  * Copyright (C) STMicroelectronics SA 2017
3  * Author(s): Patrice CHOTARD, <patrice.chotard@st.com> for STMicroelectronics.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #include <common.h>
9 #include <dm.h>
10
11 #include <asm/io.h>
12 #include <asm/arch/stm32.h>
13
14 DECLARE_GLOBAL_DATA_PTR;
15
16 int dram_init(void)
17 {
18         int rv;
19         struct udevice *dev;
20
21         rv = uclass_get_device(UCLASS_RAM, 0, &dev);
22         if (rv) {
23                 debug("DRAM init failed: %d\n", rv);
24                 return rv;
25         }
26
27         if (fdtdec_setup_memory_size() != 0)
28                 rv = -EINVAL;
29
30         return rv;
31 }
32
33 int dram_init_banksize(void)
34 {
35         fdtdec_setup_memory_banksize();
36
37         return 0;
38 }
39
40 u32 get_board_rev(void)
41 {
42         return 0;
43 }
44
45 int board_early_init_f(void)
46 {
47         return 0;
48 }
49
50 int board_init(void)
51 {
52         gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
53
54         return 0;
55 }
56
57 #ifdef CONFIG_MISC_INIT_R
58 int misc_init_r(void)
59 {
60         char serialno[25];
61         u32 u_id_low, u_id_mid, u_id_high;
62
63         if (!env_get("serial#")) {
64                 u_id_low  = readl(&STM32_U_ID->u_id_low);
65                 u_id_mid  = readl(&STM32_U_ID->u_id_mid);
66                 u_id_high = readl(&STM32_U_ID->u_id_high);
67                 sprintf(serialno, "%08x%08x%08x",
68                         u_id_high, u_id_mid, u_id_low);
69                 env_set("serial#", serialno);
70         }
71
72         return 0;
73 }
74 #endif