|  | @@ -61,3 +61,41 @@ static struct prm_reset_src_map omap44xx_prm_reset_src_map[] = {
 | 
	
		
			
				|  |  |  	{ OMAP4430_GLOBAL_COLD_RST_SHIFT,
 | 
	
		
			
				|  |  |  	  OMAP_GLOBAL_COLD_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  |  	{ OMAP4430_MPU_SECURITY_VIOL_RST_SHIFT,
 | 
	
		
			
				|  |  | +	  OMAP_SECU_VIOL_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_MPU_WDT_RST_SHIFT, OMAP_MPU_WD_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_SECURE_WDT_RST_SHIFT, OMAP_SECU_WD_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_EXTERNAL_WARM_RST_SHIFT, OMAP_EXTWARM_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_VDD_MPU_VOLT_MGR_RST_SHIFT,
 | 
	
		
			
				|  |  | +	  OMAP_VDD_MPU_VM_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_VDD_IVA_VOLT_MGR_RST_SHIFT,
 | 
	
		
			
				|  |  | +	  OMAP_VDD_IVA_VM_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_VDD_CORE_VOLT_MGR_RST_SHIFT,
 | 
	
		
			
				|  |  | +	  OMAP_VDD_CORE_VM_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_ICEPICK_RST_SHIFT, OMAP_ICEPICK_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ OMAP4430_C2C_RST_SHIFT, OMAP_C2C_RST_SRC_ID_SHIFT },
 | 
	
		
			
				|  |  | +	{ -1, -1 },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* PRM low-level functions */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Read a register in a CM/PRM instance in the PRM module */
 | 
	
		
			
				|  |  | +u32 omap4_prm_read_inst_reg(s16 inst, u16 reg)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	return __raw_readl(OMAP44XX_PRM_REGADDR(inst, reg));
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Write into a register in a CM/PRM instance in the PRM module */
 | 
	
		
			
				|  |  | +void omap4_prm_write_inst_reg(u32 val, s16 inst, u16 reg)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	__raw_writel(val, OMAP44XX_PRM_REGADDR(inst, reg));
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Read-modify-write a register in a PRM module. Caller must lock */
 | 
	
		
			
				|  |  | +u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 reg)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	u32 v;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	v = omap4_prm_read_inst_reg(inst, reg);
 | 
	
		
			
				|  |  | +	v &= ~mask;
 | 
	
		
			
				|  |  | +	v |= bits;
 | 
	
		
			
				|  |  | +	omap4_prm_write_inst_reg(v, inst, reg);
 |