xref: /aosp_15_r20/external/arm-trusted-firmware/include/drivers/marvell/iob.h (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park /*
2*54fd6939SJiyong Park  * Copyright (C) 2018 Marvell International Ltd.
3*54fd6939SJiyong Park  *
4*54fd6939SJiyong Park  * SPDX-License-Identifier:     BSD-3-Clause
5*54fd6939SJiyong Park  * https://spdx.org/licenses
6*54fd6939SJiyong Park  */
7*54fd6939SJiyong Park 
8*54fd6939SJiyong Park /* IOW unit device driver for Marvell CP110 and CP115 SoCs */
9*54fd6939SJiyong Park 
10*54fd6939SJiyong Park #ifndef IOB_H
11*54fd6939SJiyong Park #define IOB_H
12*54fd6939SJiyong Park 
13*54fd6939SJiyong Park #include <drivers/marvell/addr_map.h>
14*54fd6939SJiyong Park 
15*54fd6939SJiyong Park enum target_ids_iob {
16*54fd6939SJiyong Park 	INTERNAL_TID	= 0x0,
17*54fd6939SJiyong Park 	MCI0_TID	= 0x1,
18*54fd6939SJiyong Park 	PEX1_TID	= 0x2,
19*54fd6939SJiyong Park 	PEX2_TID	= 0x3,
20*54fd6939SJiyong Park 	PEX0_TID	= 0x4,
21*54fd6939SJiyong Park 	NAND_TID	= 0x5,
22*54fd6939SJiyong Park 	RUNIT_TID	= 0x6,
23*54fd6939SJiyong Park 	MCI1_TID	= 0x7,
24*54fd6939SJiyong Park 	IOB_MAX_TID
25*54fd6939SJiyong Park };
26*54fd6939SJiyong Park 
27*54fd6939SJiyong Park int init_iob(uintptr_t base);
28*54fd6939SJiyong Park void iob_cfg_space_update(int ap_idx, int cp_idx,
29*54fd6939SJiyong Park 			  uintptr_t base, uintptr_t new_base);
30*54fd6939SJiyong Park 
31*54fd6939SJiyong Park #endif /* IOB_H */
32