xref: /openbmc/u-boot/include/init.h (revision dafa84d27c5f9d160b431665e09697bd392daca9)
1*dafa84d2SPatrick Delaunay /*
2*dafa84d2SPatrick Delaunay  * (C) Copyright 2000-2009
3*dafa84d2SPatrick Delaunay  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4*dafa84d2SPatrick Delaunay  *
5*dafa84d2SPatrick Delaunay  * Copy the startup prototype, previously defined in common.h
6*dafa84d2SPatrick Delaunay  * Copyright (C) 2018, STMicroelectronics - All Rights Reserved
7*dafa84d2SPatrick Delaunay  *
8*dafa84d2SPatrick Delaunay  * SPDX-License-Identifier:	GPL-2.0+
9*dafa84d2SPatrick Delaunay  */
10*dafa84d2SPatrick Delaunay 
11*dafa84d2SPatrick Delaunay #ifndef __INIT_H_
12*dafa84d2SPatrick Delaunay #define __INIT_H_	1
13*dafa84d2SPatrick Delaunay 
14*dafa84d2SPatrick Delaunay #ifndef __ASSEMBLY__		/* put C only stuff in this section */
15*dafa84d2SPatrick Delaunay 
16*dafa84d2SPatrick Delaunay /*
17*dafa84d2SPatrick Delaunay  * Function Prototypes
18*dafa84d2SPatrick Delaunay  */
19*dafa84d2SPatrick Delaunay 
20*dafa84d2SPatrick Delaunay /* common/board_f.c */
21*dafa84d2SPatrick Delaunay 
22*dafa84d2SPatrick Delaunay /**
23*dafa84d2SPatrick Delaunay  * arch_cpu_init() - basic cpu-dependent setup for an architecture
24*dafa84d2SPatrick Delaunay  *
25*dafa84d2SPatrick Delaunay  * This is called after early malloc is available. It should handle any
26*dafa84d2SPatrick Delaunay  * CPU- or SoC- specific init needed to continue the init sequence. See
27*dafa84d2SPatrick Delaunay  * board_f.c for where it is called. If this is not provided, a default
28*dafa84d2SPatrick Delaunay  * version (which does nothing) will be used.
29*dafa84d2SPatrick Delaunay  *
30*dafa84d2SPatrick Delaunay  * @return: 0 on success, otherwise error
31*dafa84d2SPatrick Delaunay  */
32*dafa84d2SPatrick Delaunay int arch_cpu_init(void);
33*dafa84d2SPatrick Delaunay 
34*dafa84d2SPatrick Delaunay /**
35*dafa84d2SPatrick Delaunay  * mach_cpu_init() - SoC/machine dependent CPU setup
36*dafa84d2SPatrick Delaunay  *
37*dafa84d2SPatrick Delaunay  * This is called after arch_cpu_init(). It should handle any
38*dafa84d2SPatrick Delaunay  * SoC or machine specific init needed to continue the init sequence. See
39*dafa84d2SPatrick Delaunay  * board_f.c for where it is called. If this is not provided, a default
40*dafa84d2SPatrick Delaunay  * version (which does nothing) will be used.
41*dafa84d2SPatrick Delaunay  *
42*dafa84d2SPatrick Delaunay  * @return: 0 on success, otherwise error
43*dafa84d2SPatrick Delaunay  */
44*dafa84d2SPatrick Delaunay int mach_cpu_init(void);
45*dafa84d2SPatrick Delaunay 
46*dafa84d2SPatrick Delaunay /* common/board_r.c */
47*dafa84d2SPatrick Delaunay 
48*dafa84d2SPatrick Delaunay #endif	/* __ASSEMBLY__ */
49*dafa84d2SPatrick Delaunay /* Put only stuff here that the assembler can digest */
50*dafa84d2SPatrick Delaunay 
51*dafa84d2SPatrick Delaunay #endif	/* __INIT_H_ */
52