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