static int __init init_modem(void) { struct sromc_bus_cfg *bus_cfg; struct sromc_bank_cfg *bnk_cfg; struct sromc_timing_cfg *tm_cfg; mif_err("System Revision = %d\n", system_rev); /* * old: <EXYNOS>--hsic--<HUB>--usb--<CMC221S> * new: <EXYNOS>--hsic--------------<CMC221D> */ umts_link_pm_data.has_usbhub = false; #ifdef CONFIG_CMC_MODEM_HSIC_SYSREV if (system_rev < CONFIG_CMC_MODEM_HSIC_SYSREV) umts_link_pm_data.has_usbhub = true; #endif #ifdef CONFIG_MACH_BAFFIN umts_link_pm_data.has_usbhub = false; #endif /* ** Complete modem_data configuration including link_pm_data */ umts_modem_data.link_pm_data = &umts_link_pm_data, /* ** Configure GPIO pins for the modem */ config_umts_modem_gpio(); active_ctl.gpio_initialized = 1; /* ** Configure SROM controller */ if (sromc_enable() < 0) return -1; bus_cfg = &c1_sromc_bus_cfg; if (sromc_config_demux_gpio(bus_cfg) < 0) return -1; bnk_cfg = &cmc_idpram_bank_cfg; if (sromc_config_csn_gpio(bnk_cfg->csn) < 0) return -1; sromc_config_access_attr(bnk_cfg->csn, bnk_cfg->attr); tm_cfg = &cmc_idpram_timing_cfg[DPRAM_SPEED_LOW]; sromc_config_access_timing(bnk_cfg->csn, tm_cfg); /* ** Register the modem device */ platform_device_register(&umts_modem); return 0; }
static int __init init_modem(void) { struct sromc_bus_cfg *bus_cfg; struct sromc_bank_cfg *bnk_cfg; struct sromc_timing_cfg *tm_cfg; mif_err("System Revision = %d\n", system_rev); #ifdef CONFIG_MACH_C1_USA_ATT /* check C1-ATT rev >=0.7 * <=rev0.6: <EXYNOS>--hsic--<HUB>--usb--<CMC221S> * >=rev0.7: <EXYNOS>--hsic--------------<CMC221D> */ if (system_rev >= C1ATT_REV_0_7) umts_link_pm_data.has_usbhub = false; #endif #ifdef CONFIG_MACH_BAFFIN umts_link_pm_data.has_usbhub = false; #endif #if defined(CONFIG_MACH_C1_KOR_SKT) || defined(CONFIG_MACH_C1_KOR_KT) if (system_rev >= 15) umts_link_pm_data.has_usbhub = false; #endif /* ** Complete modem_data configuration including link_pm_data */ umts_modem_data.link_pm_data = &umts_link_pm_data, /* ** Configure GPIO pins for the modem */ config_umts_modem_gpio(); active_ctl.gpio_initialized = 1; /* ** Configure SROM controller */ if (sromc_enable() < 0) return -1; bus_cfg = &c1_sromc_bus_cfg; if (sromc_config_demux_gpio(bus_cfg) < 0) return -1; bnk_cfg = &cmc_idpram_bank_cfg; if (sromc_config_csn_gpio(bnk_cfg->csn) < 0) return -1; sromc_config_access_attr(bnk_cfg->csn, bnk_cfg->attr); tm_cfg = &cmc_idpram_timing_cfg[DPRAM_SPEED_LOW]; sromc_config_access_timing(bnk_cfg->csn, tm_cfg); /* ** Register the modem device */ platform_device_register(&umts_modem); return 0; }
static int __init tdmb_dev_init(void) { #if defined(CONFIG_TDMB_EBI) struct sromc_bus_cfg *bus_cfg; struct sromc_bank_cfg *bnk_cfg; struct sromc_timing_cfg *tm_cfg; if (sromc_enable() < 0) { printk(KERN_DEBUG "tdmb_dev_init sromc_enable fail\n"); return -1; } bus_cfg = &tdmb_sromc_bus_cfg; if (sromc_config_demux_gpio(bus_cfg) < 0) { printk(KERN_DEBUG "tdmb_dev_init sromc_config_demux_gpio fail\n"); return -1; } bnk_cfg = &tdmb_ebi_bank_cfg; if (sromc_config_csn_gpio(bnk_cfg->csn) < 0) { printk(KERN_DEBUG "tdmb_dev_init sromc_config_csn_gpio fail\n"); return -1; } sromc_config_access_attr(bnk_cfg->csn, bnk_cfg->attr); tm_cfg = &tdmb_ebi_timing_cfg; sromc_config_access_timing(bnk_cfg->csn, tm_cfg); #endif #if defined(CONFIG_TDMB_ANT_DET) { unsigned int tdmb_ant_det_gpio; unsigned int tdmb_ant_det_irq; s5p_register_gpio_interrupt(GPIO_TDMB_ANT_DET); tdmb_ant_det_gpio = GPIO_TDMB_ANT_DET; tdmb_ant_det_irq = GPIO_TDMB_IRQ_ANT_DET; s3c_gpio_cfgpin(tdmb_ant_det_gpio, S3C_GPIO_SFN(0xf)); s3c_gpio_setpull(tdmb_ant_det_gpio, S3C_GPIO_PULL_NONE); tdmb_pdata.gpio_ant_det = tdmb_ant_det_gpio; tdmb_pdata.irq_ant_det = tdmb_ant_det_irq; } #endif tdmb_set_config_poweroff(); s5p_register_gpio_interrupt(GPIO_TDMB_INT); tdmb_pdata.irq = gpio_to_irq(GPIO_TDMB_INT); platform_device_register(&tdmb_device); return 0; }
static void setup_dpram_access_timing(enum dpram_speed speed) { sromc_config_access_timing(cmc_idpram_bank_cfg.csn, &cmc_idpram_timing_cfg[speed]); }
static int __init init_modem(void) { struct sromc_bus_cfg *bus_cfg; struct sromc_bank_cfg *bnk_cfg; struct sromc_timing_cfg *tm_cfg; mif_err("System Revision = %d\n", system_rev); #ifdef CONFIG_MACH_BAFFIN umts_link_pm_data.has_usbhub = false; #endif #if defined(CONFIG_SEC_MODEM_C1_LGT) if (system_rev >= 11) umts_link_pm_data.has_usbhub = false; #endif /* ** Complete modem_data configuration including link_pm_data */ umts_modem_data.link_pm_data = &umts_link_pm_data, setup_umts_modem_env(); setup_cdma_modem_env(); /* ** Configure GPIO pins for the modem */ config_umts_modem_gpio(); config_cdma_modem_gpio(); active_ctl.gpio_initialized = 1; /* ** Configure SROM controller */ if (sromc_enable() < 0) return -1; bus_cfg = &c1lgt_sromc_bus_cfg; if (sromc_config_demux_gpio(bus_cfg) < 0) return -1; bnk_cfg = &cmc_idpram_bank_cfg; if (sromc_config_csn_gpio(bnk_cfg->csn) < 0) return -1; sromc_config_access_attr(bnk_cfg->csn, bnk_cfg->attr); tm_cfg = &cmc_idpram_timing_cfg[DPRAM_SPEED_LOW]; sromc_config_access_timing(bnk_cfg->csn, tm_cfg); bnk_cfg = &cbp_edpram_bank_cfg; if (sromc_config_csn_gpio(bnk_cfg->csn) < 0) return -1; sromc_config_access_attr(bnk_cfg->csn, bnk_cfg->attr); tm_cfg = &cbp_edpram_timing_cfg; sromc_config_access_timing(bnk_cfg->csn, tm_cfg); /* ** Register the modem devices */ platform_device_register(&umts_modem); platform_device_register(&cdma_modem); return 0; }