/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright 2019 NXP */ #ifndef __MODULE_FUSE_H__ #define __MODULE_FUSE_H__ enum fuse_module_type { MODULE_TSC, MODULE_ADC1, MODULE_ADC2, MODULE_SIM1, MODULE_SIM2, MODULE_FLEXCAN1, MODULE_FLEXCAN2, MODULE_SPDIF, MODULE_EIM, MODULE_SD1, MODULE_SD2, MODULE_SD3, MODULE_SD4, MODULE_QSPI1, MODULE_QSPI2, MODULE_GPMI, MODULE_APBHDMA, MODULE_LCDIF, MODULE_PXP, MODULE_CSI, MODULE_ENET1, MODULE_ENET2, MODULE_CAAM, MODULE_USB_OTG1, MODULE_USB_OTG2, MODULE_SAI2, MODULE_SAI3, MODULE_BEE, MODULE_UART1, MODULE_UART2, MODULE_UART3, MODULE_UART4, MODULE_UART5, MODULE_UART6, MODULE_UART7, MODULE_UART8, MODULE_PWM5, MODULE_PWM6, MODULE_PWM7, MODULE_PWM8, MODULE_ECSPI1, MODULE_ECSPI2, MODULE_ECSPI3, MODULE_ECSPI4, MODULE_ECSPI5, MODULE_I2C1, MODULE_I2C2, MODULE_I2C3, MODULE_I2C4, MODULE_GPT1, MODULE_GPT2, MODULE_EPIT1, MODULE_EPIT2, MODULE_EPDC, MODULE_ESAI, MODULE_DCP, MODULE_DCP_CRYPTO, }; struct fuse_entry_desc { enum fuse_module_type module; const char *node_path; u32 fuse_word_offset; u32 fuse_bit_offset; u32 status; }; #if !IS_ENABLED(CONFIG_IMX_MODULE_FUSE) static inline u32 check_module_fused(enum fuse_module_type module) { return 0; }; static inline u32 esdhc_fused(ulong base_addr) { return 0; }; static inline u32 ecspi_fused(ulong base_addr) { return 0; }; static inline u32 uart_fused(ulong base_addr) { return 0; }; static inline u32 usb_fused(ulong base_addr) { return 0; }; static inline u32 qspi_fused(ulong base_addr) { return 0; }; static inline u32 i2c_fused(ulong base_addr) { return 0; }; static inline u32 enet_fused(ulong base_addr) { return 0; }; #else u32 check_module_fused(enum fuse_module_type module); u32 esdhc_fused(ulong base_addr); u32 ecspi_fused(ulong base_addr); u32 uart_fused(ulong base_addr); u32 usb_fused(ulong base_addr); u32 qspi_fused(ulong base_addr); u32 i2c_fused(ulong base_addr); u32 enet_fused(ulong base_addr); #endif #endif /* __MODULE_FUSE_H__ */