Chipidea in device mode & VBUS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to use the chipidea driver in device mode on an AR9331 SOC board.
I've got it mostly working but can't figure out how to enable vbus_active.
Some details - the system supports both host & device modes, but not OTG.
The mode is selected at startup and there are no OTG registers exposed. Also
no ID & VBUS pins are available - vbus is considered active all the time
(when in device mode).
Here's the excerpt from the ci_hdrc_platform_data init I've got so far:

	ci_pdata.name = "ci_hdrc_ar933x";
	ci_pdata.capoffset = DEF_CAPOFFSET;
	ci_pdata.dr_mode = dr_mode;
	ci_pdata.flags = CI_HDRC_DUAL_ROLE_NOT_OTG;
	ci_pdata.vbus_extcon.edev = ERR_PTR(-ENODEV);
	ci_pdata.id_extcon.edev = ERR_PTR(-ENODEV);
	ci_pdata.itc_setting = 1;

	phy = usb_phy_generic_register();

	ath79_usb_register("ci_hdrc", -1,
			   AR933X_EHCI_BASE, AR933X_EHCI_SIZE,
			   ATH79_CPU_IRQ(3),
			   &ci_pdata, sizeof(ci_pdata));


Browsing the commit history and current code it seems that the way to go is
registering a (simulated) vbus_extcon device with ci_handle_vbus_change then
making the switch. It doesn't work for this particular system because it
doesn't have OTG registers and ci->is_otg is false. Any pointers how to set
vbus_active appreciated. It used to work around 3.11, but the code changed
considerably since then.

Regards,
Svet.


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux