Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Texas Instruments Incorporated
3 : * Copyright (c) 2023 L Lakshmanan
4 : *
5 : * SPDX-License-Identifier: Apache-2.0
6 : */
7 :
8 : #ifndef ZEPHYR_INCLUDE_RAT_H_
9 : #define ZEPHYR_INCLUDE_RAT_H_
10 :
11 : #ifdef __cplusplus
12 : extern "C" {
13 : #endif
14 :
15 : #include <stdint.h>
16 :
17 : /**
18 : * @brief Enum's to represent different possible region size for the address translate module
19 : */
20 0 : enum address_trans_region_size {
21 : address_trans_region_size_1 = 0x0,
22 : address_trans_region_size_2,
23 : address_trans_region_size_4,
24 : address_trans_region_size_8,
25 : address_trans_region_size_16,
26 : address_trans_region_size_32,
27 : address_trans_region_size_64,
28 : address_trans_region_size_128,
29 : address_trans_region_size_256,
30 : address_trans_region_size_512,
31 : address_trans_region_size_1K,
32 : address_trans_region_size_2K,
33 : address_trans_region_size_4K,
34 : address_trans_region_size_8K,
35 : address_trans_region_size_16K,
36 : address_trans_region_size_32K,
37 : address_trans_region_size_64K,
38 : address_trans_region_size_128K,
39 : address_trans_region_size_256K,
40 : address_trans_region_size_512K,
41 : address_trans_region_size_1M,
42 : address_trans_region_size_2M,
43 : address_trans_region_size_4M,
44 : address_trans_region_size_8M,
45 : address_trans_region_size_16M,
46 : address_trans_region_size_32M,
47 : address_trans_region_size_64M,
48 : address_trans_region_size_128M,
49 : address_trans_region_size_256M,
50 : address_trans_region_size_512M,
51 : address_trans_region_size_1G,
52 : address_trans_region_size_2G,
53 : address_trans_region_size_4G
54 : };
55 :
56 : /**
57 : * @brief Region config structure
58 : */
59 1 : struct address_trans_region_config {
60 0 : uint64_t system_addr;
61 0 : uint32_t local_addr;
62 0 : uint32_t size;
63 : };
64 :
65 0 : void sys_mm_drv_ti_rat_init(struct address_trans_region_config *region_config,
66 : uint64_t rat_base_addr, uint8_t translate_regions);
67 :
68 : #ifdef __cplusplus
69 : }
70 : #endif
71 :
72 : #endif /* ZEPHYR_INCLUDE_RAT_H_ */
|