static int __init ssg_sdi_init(void)
{
//	ssg_sdi2_data.card_sleep_on_suspend = true;
#ifndef CONFIG_STE_WLAN
	int ret;
#endif
	/* v2 has a new version of this block that need to be forced */
	u32 periphid = 0x10480180;

	db8500_add_sdi2(&ssg_sdi2_data, periphid);
	codina_sdi2_init();

	if ((sec_debug_settings & SEC_DBG_STM_VIA_SD_OPTS) == 0) {
		/* not tracing via SDI0 pins, so can enable SDI0 */
		sdi0_configure();
		db8500_add_sdi0(&ssg_sdi0_data, periphid);
	}

	db8500_add_sdi1(&ssg_sdi1_data, periphid);

#ifndef CONFIG_STE_WLAN
	/* BCM */
	codina_wifi_init();
#endif

#ifdef CONFIG_BROADCOM_WIFI_RESERVED_MEM
	brcm_init_wlan_mem();
#endif
#ifndef CONFIG_STE_WLAN
	ret =  platform_device_register(&brcm_device_wlan);
#endif
	return 0;
}
Exemple #2
0
static void sdi0_sdi1_configure(void)
{
	int ret;
	/* v2 has a new version of this block that need to be forced */
	u32 periphid = 0x10480180;

	ret = gpio_request(sdi0_en, "level shifter enable");
	if (!ret)
		ret = gpio_request(sdi0_vsel,
				   "level shifter 1v8-3v select");

	if (ret) {
		pr_warning("unable to config sdi0 gpios for level shifter.\n");
		return;
	}

	/* Select the default 2.9V and enable level shifter */
	gpio_direction_output(sdi0_vsel, 0);
	gpio_direction_output(sdi0_en, 1);


	db8500_add_sdi0(&mop500_sdi0_data, periphid);

	sdi1_configure();

	db8500_add_sdi1(&mop500_sdi1_data, periphid);
}
static void sdi0_configure(struct device *parent)
{
	int ret;

	ret = gpio_request(sdi0_en, "level shifter enable");
	if (!ret)
		ret = gpio_request(sdi0_vsel,
				   "level shifter 1v8-3v select");

	if (ret) {
		pr_warning("unable to config sdi0 gpios for level shifter.\n");
		return;
	}

	/* Select the default 2.9V and enable level shifter */
	gpio_direction_output(sdi0_vsel, 0);
	gpio_direction_output(sdi0_en, 1);

	/* Add the device, force v2 to subrevision 1 */
	db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID);
}
static void sdi0_configure(struct device *parent)
{
	int ret;

	ret = gpio_request(sdi0_en, "level shifter enable");
	if (!ret)
		ret = gpio_request(sdi0_vsel,
				   "level shifter 1v8-3v select");

	if (ret) {
		pr_warning("unable to config sdi0 gpios for level shifter.\n");
		return;
	}

	
	gpio_direction_output(sdi0_vsel, 0);
	gpio_direction_output(sdi0_en, 1);

	
	db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID);
}
static int __init ssg_sdi_init(void)
{
	ssg_sdi2_data.card_sleep_on_suspend = true;
	db8500_add_sdi2(&ssg_sdi2_data);
	janice_sdi2_init();

	if ((sec_debug_settings & SEC_DBG_STM_VIA_SD_OPTS) == 0) {
		/* not tracing via SDI0 pins, so can enable SDI0 */
		sdi0_configure();
		db8500_add_sdi0(&ssg_sdi0_data);
	}

	db8500_add_sdi1(&ssg_sdi1_data);

	/* BCM */
	janice_wifi_init();
#ifdef WLAN_STATIC_BUF
	init_wifi_mem();
#endif /* WLAN_STATIC_BUF */

	return 0;
}
Exemple #6
0
static void sdi0_configure(struct device *parent)
{
	/* Add the device, force v2 to subrevision 1 */
	db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID);
}