1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2011
4  * Yuri Tikhonov, Emcraft Systems, yur@emcraft.com
5  *
6  * (C) Copyright 2015
7  * Kamil Lulko, <kamil.lulko@gmail.com>
8  */
9 
10 #ifndef _MACH_STM32_H_
11 #define _MACH_STM32_H_
12 
13 #include <asm/arch-stm32/stm32f.h>
14 
15 /*
16  * Peripheral memory map
17  */
18 #define STM32_SYSMEM_BASE	0x1FFF0000
19 
20 /*
21  * Register maps
22  */
23 struct stm32_u_id_regs {
24 	u32 u_id_low;
25 	u32 u_id_mid;
26 	u32 u_id_high;
27 };
28 
29 /*
30  * Registers access macros
31  */
32 #define STM32_U_ID_BASE		(STM32_SYSMEM_BASE + 0x7A10)
33 #define STM32_U_ID		((struct stm32_u_id_regs *)STM32_U_ID_BASE)
34 static const u32 sect_sz_kb[CONFIG_SYS_MAX_FLASH_SECT] = {
35 	[0 ... 3] =	16 * 1024,
36 	[4] =		64 * 1024,
37 	[5 ... 11] =	128 * 1024
38 };
39 
40 #endif /* _MACH_STM32_H_ */
41