@ -79,13 +79,33 @@
# define ltq_w32_mask(clear, set, reg) ltq_w32((ltq_r32(reg) & ~clear) | set, reg)
*/
# define LTQ_RCU_BASE_ADDR 0x1F203000
# define LTQ_RCU_BASE_ADDR 0x1F203000
# define LTQ_ICU_BASE_ADDR 0x1F880200
# define LTQ_MEI_BASE_ADDR 0x1E116000
# define LTQ_PMU_BASE_ADDR 0x1F102000
# define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
# define LTQ_USB_OC_INT (INT_NUM_IM4_IRL0 + 23)
# define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23)
# ifdef CONFIG_DANUBE
# define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23)
# define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
# define LTQ_USB_OC_INT (INT_NUM_IM4_IRL0 + 23)
# endif
# ifdef CONFIG_AMAZON_SE
# define LTQ_MEI_INT (INT_NUM_IM2_IRL0 + 9)
# define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM2_IRL0 + 11)
# define LTQ_USB_OC_INT (INT_NUM_IM2_IRL0 + 20)
# endif
# ifdef CONFIG_AR9
# define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23)
# define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
# define LTQ_USB_OC_INT (INT_NUM_IM1_IRL0 + 28)
# endif
# ifndef LTQ_MEI_INT
# error "Unknown Lantiq ARCH!"
# endif
# define LTQ_RCU_RST_REQ_DFE (1 << 7)
# define LTQ_RCU_RST_REQ_AFE (1 << 11)
@ -1327,37 +1347,16 @@ IFX_MEI_RunAdslModem (DSL_DEV_Device_t *pDev)
im0_register = ( * LTQ_ICU_IM0_IER ) & ( 1 < < 20 ) ;
im2_register = ( * LTQ_ICU_IM2_IER ) & ( 1 < < 20 ) ;
/* Turn off irq */
# ifdef CONFIG_SOC_AMAZON_SE
# define IFXMIPS_USB_OC_INT0 (INT_NUM_IM4_IRL0 + 23)
disable_irq ( IFXMIPS_USB_OC_INT0 ) ;
// disable_irq (IFXMIPS_USB_OC_INT2);
# elif defined(CONFIG_SOC_AR9)
# define IFXMIPS_USB_OC_INT0 (INT_NUM_IM4_IRL1 + 28)
disable_irq ( IFXMIPS_USB_OC_INT0 ) ;
// disable_irq (IFXMIPS_USB_OC_INT2);
# elif defined(CONFIG_SOC_XWAY)
disable_irq ( LTQ_USB_OC_INT ) ;
# else
# error unkonwn arch
# endif
disable_irq ( pDev - > nIrq [ IFX_DYING_GASP ] ) ;
IFX_MEI_RunArc ( pDev ) ;
MEI_WAIT_EVENT_TIMEOUT ( DSL_DEV_PRIVATE ( pDev ) - > wait_queue_modemready , 1000 ) ;
# ifdef CONFIG_SOC_AMAZON_SE
MEI_MASK_AND_ACK_IRQ ( IFXMIPS_USB_OC_INT0 ) ;
// MEI_MASK_AND_ACK_IRQ (IFXMIPS_USB_OC_INT2);
# elif defined(CONFIG_SOC_AR9)
MEI_MASK_AND_ACK_IRQ ( IFXMIPS_USB_OC_INT0 ) ;
// MEI_MASK_AND_ACK_IRQ (IFXMIPS_USB_OC_INT2);
# elif defined(CONFIG_SOC_XWAY)
MEI_MASK_AND_ACK_IRQ ( LTQ_USB_OC_INT ) ;
# else
# error unkonwn arch
# endif
MEI_MASK_AND_ACK_IRQ ( pDev - > nIrq [ IFX_DYING_GASP ] ) ;
/* Re-enable irq */
@ -2307,12 +2306,11 @@ IFX_MEI_InitDevice (int num)
/* Power up MEI */
# ifdef CONFIG_LANTIQ_AMAZON_SE
* LTQ_PMU_PWDCR & = ~ ( 1 < < 9 ) ; // enable dsl
* LTQ_PMU_PWDCR & = ~ ( 1 < < 15 ) ; // enable AHB base
# else
temp = ltq_r32 ( LTQ_PMU_PWDCR ) ;
temp & = 0xffff7dbe ;
ltq_w32 ( temp , LTQ_PMU_PWDCR ) ;
* LTQ_PMU_PWDCR & = ~ ( 1 < < 15 ) ; // enable AHB base
# endif
temp = ltq_r32 ( LTQ_PMU_PWDCR ) ;
temp & = 0xffff7dbe ;
ltq_w32 ( temp , LTQ_PMU_PWDCR ) ;
}
pDev - > nInUse = 0 ;
DSL_DEV_PRIVATE ( pDev ) - > modem_ready = 0 ;