128 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
/* 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 !CONFIG_IS_ENABLED(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__ */
 |