static int __devinit ltq_deu_probe(struct platform_device *pdev) { int ret = -ENOSYS; START_DEU_POWER; #define IFX_DEU_DRV_VERSION "2.0.0" printk(KERN_INFO "Infineon Technologies DEU driver version %s \n", IFX_DEU_DRV_VERSION); FIND_DEU_CHIP_VERSION; #if defined(CONFIG_CRYPTO_DEV_DES) if ((ret = ifxdeu_init_des ())) { printk (KERN_ERR "IFX DES initialization failed!\n"); } #endif #if defined(CONFIG_CRYPTO_DEV_AES) if ((ret = ifxdeu_init_aes ())) { printk (KERN_ERR "IFX AES initialization failed!\n"); } #endif #if defined(CONFIG_CRYPTO_DEV_ARC4) if ((ret = ifxdeu_init_arc4 ())) { printk (KERN_ERR "IFX ARC4 initialization failed!\n"); } #endif #if defined(CONFIG_CRYPTO_DEV_SHA1) if ((ret = ifxdeu_init_sha1 ())) { printk (KERN_ERR "IFX SHA1 initialization failed!\n"); } #endif #if defined(CONFIG_CRYPTO_DEV_MD5) if ((ret = ifxdeu_init_md5 ())) { printk (KERN_ERR "IFX MD5 initialization failed!\n"); } #endif #if defined(CONFIG_CRYPTO_DEV_SHA1_HMAC) if ((ret = ifxdeu_init_sha1_hmac ())) { printk (KERN_ERR "IFX SHA1_HMAC initialization failed!\n"); } #endif #if defined(CONFIG_CRYPTO_DEV_MD5_HMAC) if ((ret = ifxdeu_init_md5_hmac ())) { printk (KERN_ERR "IFX MD5_HMAC initialization failed!\n"); } #endif return ret; }
static int __init deu_init(void) { int ret = -ENOSYS; printk( "Infineon DEU initialization.\n"); #if defined(CONFIG_CRYPTO_DEV_INCAIP2) | defined(CONFIG_CRYPTO_DEV_DANUBE) volatile struct clc_controlr_t *clc = (struct clc_controlr_t*) CLC_START; #ifdef CONFIG_CRYPTO_DEV_INCAIP2 *INCA_IP2_PMS_PMS_GEN |=0x00040000; #endif #ifdef CONFIG_CRYPTO_DEV_DANUBE //pmu_set((DANUBE_PMU_IOC_SET_DEU & 0xff), 1); *DANUBE_PMU_PWDCR &= ((~(1 << 20)) ); //& 0x3fffff #endif clc->FSOE= 0; clc->SBWE = 0; clc->SPEN = 0; clc->SBWE = 0; clc->DISS = 0; clc->DISR = 0; #endif #ifdef CONFIG_CRYPTO_DEV_INCAIP1_DES if ((ret = ifxdeu_init_des())) { printk(KERN_ERR "Infineon IncaIP1 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_INCAIP1_AES if ((ret = ifxdeu_init_aes())) { printk(KERN_ERR "Infineon IncaIP1 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_INCAIP2_DES if ((ret = ifxdeu_init_des())) { printk(KERN_ERR "Infineon IncaIP1 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_INCAIP2_AES if ((ret = ifxdeu_init_aes())) { printk(KERN_ERR "Infineon IncaIP1 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_INCAIP2_SHA1 if ((ret = ifxdeu_init_sha1())) { printk(KERN_ERR "Infineon IncaIP2 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_INCAIP2_MD5 if ((ret = ifxdeu_init_md5())) { printk(KERN_ERR "Infineon IncaIP2 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_DANUBE_DES if ((ret = ifxdeu_init_des())) { printk(KERN_ERR "Infineon IncaIP1 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_DANUBE_AES if ((ret = ifxdeu_init_aes())) { printk(KERN_ERR "Infineon IncaIP1 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_DANUBE_SHA1 if ((ret = ifxdeu_init_sha1())) { printk(KERN_ERR "Infineon IncaIP2 DES initialization failed.\n"); return ret; } #endif #ifdef CONFIG_CRYPTO_DEV_DANUBE_MD5 if ((ret = ifxdeu_init_md5())) { printk(KERN_ERR "Infineon IncaIP2 DES initialization failed.\n"); return ret; } #endif if (ret == -ENOSYS) printk(KERN_ERR "Infineon DEU was compiled without any algorithm.\n"); return ret; }