blob: 6c92cb40d6d576d62b2233a9ba044718dbd2a749 [file] [log] [blame]
Peng Fan415f8952020-05-01 22:08:34 +08001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright 2019 NXP
4 */
5
6#ifndef __MODULE_FUSE_H__
7#define __MODULE_FUSE_H__
8
9enum 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
69struct 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
Simon Glass34d37a62023-02-05 15:40:11 -070077#if !IS_ENABLED(CONFIG_IMX_MODULE_FUSE)
Peng Fan415f8952020-05-01 22:08:34 +080078static inline u32 check_module_fused(enum fuse_module_type module)
79{
80 return 0;
81};
82
83static inline u32 esdhc_fused(ulong base_addr)
84{
85 return 0;
86};
87
88static inline u32 ecspi_fused(ulong base_addr)
89{
90 return 0;
91};
92
93static inline u32 uart_fused(ulong base_addr)
94{
95 return 0;
96};
97
98static inline u32 usb_fused(ulong base_addr)
99{
100 return 0;
101};
102
103static inline u32 qspi_fused(ulong base_addr)
104{
105 return 0;
106};
107
108static inline u32 i2c_fused(ulong base_addr)
109{
110 return 0;
111};
112
113static inline u32 enet_fused(ulong base_addr)
114{
115 return 0;
116};
117#else
118u32 check_module_fused(enum fuse_module_type module);
119u32 esdhc_fused(ulong base_addr);
120u32 ecspi_fused(ulong base_addr);
121u32 uart_fused(ulong base_addr);
122u32 usb_fused(ulong base_addr);
123u32 qspi_fused(ulong base_addr);
124u32 i2c_fused(ulong base_addr);
125u32 enet_fused(ulong base_addr);
126#endif
127#endif /* __MODULE_FUSE_H__ */