Merge tag 'u-boot-atmel-fixes-2020.07-a' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / arch / arm / include / asm / mach-imx / module_fuse.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright 2019 NXP
4  */
5
6 #ifndef __MODULE_FUSE_H__
7 #define __MODULE_FUSE_H__
8
9 enum fuse_module_type {
10         MODULE_TSC,
11         MODULE_ADC1,
12         MODULE_ADC2,
13         MODULE_SIM1,
14         MODULE_SIM2,
15         MODULE_FLEXCAN1,
16         MODULE_FLEXCAN2,
17         MODULE_SPDIF,
18         MODULE_EIM,
19         MODULE_SD1,
20         MODULE_SD2,
21         MODULE_SD3,
22         MODULE_SD4,
23         MODULE_QSPI1,
24         MODULE_QSPI2,
25         MODULE_GPMI,
26         MODULE_APBHDMA,
27         MODULE_LCDIF,
28         MODULE_PXP,
29         MODULE_CSI,
30         MODULE_ENET1,
31         MODULE_ENET2,
32         MODULE_CAAM,
33         MODULE_USB_OTG1,
34         MODULE_USB_OTG2,
35         MODULE_SAI2,
36         MODULE_SAI3,
37         MODULE_BEE,
38         MODULE_UART1,
39         MODULE_UART2,
40         MODULE_UART3,
41         MODULE_UART4,
42         MODULE_UART5,
43         MODULE_UART6,
44         MODULE_UART7,
45         MODULE_UART8,
46         MODULE_PWM5,
47         MODULE_PWM6,
48         MODULE_PWM7,
49         MODULE_PWM8,
50         MODULE_ECSPI1,
51         MODULE_ECSPI2,
52         MODULE_ECSPI3,
53         MODULE_ECSPI4,
54         MODULE_ECSPI5,
55         MODULE_I2C1,
56         MODULE_I2C2,
57         MODULE_I2C3,
58         MODULE_I2C4,
59         MODULE_GPT1,
60         MODULE_GPT2,
61         MODULE_EPIT1,
62         MODULE_EPIT2,
63         MODULE_EPDC,
64         MODULE_ESAI,
65         MODULE_DCP,
66         MODULE_DCP_CRYPTO,
67 };
68
69 struct fuse_entry_desc {
70         enum fuse_module_type module;
71         const char *node_path;
72         u32 fuse_word_offset;
73         u32 fuse_bit_offset;
74         u32 status;
75 };
76
77 #if !CONFIG_IS_ENABLED(IMX_MODULE_FUSE)
78 static inline u32 check_module_fused(enum fuse_module_type module)
79 {
80         return 0;
81 };
82
83 static inline u32 esdhc_fused(ulong base_addr)
84 {
85         return 0;
86 };
87
88 static inline u32 ecspi_fused(ulong base_addr)
89 {
90         return 0;
91 };
92
93 static inline u32 uart_fused(ulong base_addr)
94 {
95         return 0;
96 };
97
98 static inline u32 usb_fused(ulong base_addr)
99 {
100         return 0;
101 };
102
103 static inline u32 qspi_fused(ulong base_addr)
104 {
105         return 0;
106 };
107
108 static inline u32 i2c_fused(ulong base_addr)
109 {
110         return 0;
111 };
112
113 static inline u32 enet_fused(ulong base_addr)
114 {
115         return 0;
116 };
117 #else
118 u32 check_module_fused(enum fuse_module_type module);
119 u32 esdhc_fused(ulong base_addr);
120 u32 ecspi_fused(ulong base_addr);
121 u32 uart_fused(ulong base_addr);
122 u32 usb_fused(ulong base_addr);
123 u32 qspi_fused(ulong base_addr);
124 u32 i2c_fused(ulong base_addr);
125 u32 enet_fused(ulong base_addr);
126 #endif
127 #endif /* __MODULE_FUSE_H__ */