xref: /rk3399_rockchip-uboot/include/amp.h (revision 4388deca723e78cda09c928f33f3a4d299e414c9)
1*4388decaSJoseph Chen /* SPDX-License-Identifier:     GPL-2.0+ */
2*4388decaSJoseph Chen /*
3*4388decaSJoseph Chen  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
4*4388decaSJoseph Chen  */
5*4388decaSJoseph Chen 
6*4388decaSJoseph Chen #ifndef _AMP_H_
7*4388decaSJoseph Chen #define _AMP_H_
8*4388decaSJoseph Chen 
9*4388decaSJoseph Chen #include <dm.h>
10*4388decaSJoseph Chen 
11*4388decaSJoseph Chen struct dm_amp_ops {
12*4388decaSJoseph Chen 	int (*cpu_on)(struct udevice *dev);
13*4388decaSJoseph Chen };
14*4388decaSJoseph Chen 
15*4388decaSJoseph Chen struct dm_amp_uclass_platdata {
16*4388decaSJoseph Chen 	const char *desc;
17*4388decaSJoseph Chen 	const char *partition;
18*4388decaSJoseph Chen 	u32 cpu;		/* cpu mpidr */
19*4388decaSJoseph Chen 	u32 aarch;
20*4388decaSJoseph Chen 	u32 load;
21*4388decaSJoseph Chen 	u32 entry;
22*4388decaSJoseph Chen 	u32 reserved_mem[2];	/* [0]: start, [1]: size */
23*4388decaSJoseph Chen };
24*4388decaSJoseph Chen 
25*4388decaSJoseph Chen int amp_bind_children(struct udevice *dev, const char *drv_name);
26*4388decaSJoseph Chen int amp_cpus_on(void);
27*4388decaSJoseph Chen int amp_cpu_on(u32 cpu);
28*4388decaSJoseph Chen 
29*4388decaSJoseph Chen #endif	/* _AMP_H_ */
30