void spm_sodi_init(void) { #if SPM_USE_TWAM_DEBUG unsigned long flags; struct twam_sig twamsig = { .sig0 = 10, /* disp_req */ .sig1 = 23, /* self-refresh */ .sig2 = 25, /* md2_srcclkena */ .sig3 = 21, /* md2_apsrc_req_mux */ }; #endif #if SPM_AEE_RR_REC spm_sodi_aee_init(); #endif #if SPM_USE_TWAM_DEBUG #if 0 spin_lock_irqsave(&__spm_lock, flags); spm_write(SPM_AP_STANBY_CON, spm_read(SPM_AP_STANBY_CON) | ASC_MD_DDR_EN_SEL); spin_unlock_irqrestore(&__spm_lock, flags); #endif spm_twam_register_handler(twam_handler); spm_twam_enable_monitor(&twamsig, false,SPM_TWAM_MONITOR_TICK); #endif } MODULE_DESCRIPTION("SPM-SODI Driver v0.1");
void spm_sodi_init(void) { #if SPM_USE_TWAM_DEBUG unsigned long flags; struct twam_sig twamsig = { .sig0 = 10, /* disp_req */ .sig1 = 23, /* self-refresh */ .sig2 = 25, /* md2_srcclkena */ .sig3 = 21, /* md2_apsrc_req_mux */ }; #endif #if defined (CONFIG_OF) struct device_node *node; struct resource r; /* mcucfg */ node = of_find_compatible_node(NULL, NULL, MCUCFG_NODE); if (!node) { spm_err("error: cannot find node " MCUCFG_NODE); BUG(); } if (of_address_to_resource(node, 0, &r)) { spm_err("error: cannot get phys addr" MCUCFG_NODE); BUG(); } mcucfg_phys_base = r.start; mcucfg_base = (unsigned long)of_iomap(node, 0); if(!mcucfg_base) { spm_err("error: cannot iomap " MCUCFG_NODE); BUG(); } printk("mcucfg_base = 0x%u\n", (unsigned int)mcucfg_base); #endif #if SPM_AEE_RR_REC spm_sodi_aee_init(); #endif #if SPM_USE_TWAM_DEBUG #if 0 spin_lock_irqsave(&__spm_lock, flags); spm_write(SPM_AP_STANBY_CON, spm_read(SPM_AP_STANBY_CON) | ASC_MD_DDR_EN_SEL); spin_unlock_irqrestore(&__spm_lock, flags); #endif spm_twam_register_handler(twam_handler); spm_twam_enable_monitor(&twamsig, false,SPM_TWAM_MONITOR_TICK); #endif } MODULE_DESCRIPTION("SPM-SODI Driver v0.1");
void spm_sodi_init(void) { #if SPM_AEE_RR_REC spm_sodi_aee_init(); #endif }