summaryrefslogtreecommitdiff
path: root/include/linux/usb
AgeCommit message (Collapse)Author
2015-12-26usb: chipidea: use extcon framework for ID and VBUS detectionMarcel Ziswiler
Rather than relying on special USB/PHY pins/registers use the generic extcon framework with its extcon-usb-gpio implementation to detect ID and VBUS changes. (cherry picked from commit a257098741b441e6e84ffe97b7793c580642d502)
2015-09-17MLK-11272 usb: chipidea: otg: data pulse detection work around for imx7dLi Jun
i.MX7D has a silicon issue on full speed termination after A device ends a session, which causes it can not detect data pulse from B device if A device isn't in low power mode, this patch work around it by override Termsel bit to be 1 for FS mode termination. After A device detects data pulse or turns on vbus, this override will be cleared and disabled. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-17 usb: common: remove of_usb_otg_adp_supportLi Jun
Since we have of_usb_set_otg_caps to cover all otg related features, remove of_usb_otg_adp_support. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-16 usb: chipidea: otg: remove adp_support from ci_hdrc_platform_dataLi Jun
Since we introduce usb_otg_caps in ci_hdrc_platform_data to cover all otg related features, remove adp_support from ci_hdrc_platform_data. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-10 usb: gadget: add otg descriptor allocate and init interfaceLi Jun
Allocate usb otg descriptor and initialize it according to gadget's otg capabilities, if usb_otg_caps is not set, keep settings as current gadget drivers. With this 2 new interfaces, gadget can use usb_otg_descriptor for OTG 1.x, and usb_otg20_descriptor for OTG 2.0 or above, and otg features can be decided by the combination of usb hardware property and driver config. Reviewed-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-8 usb: chipidea: set usb gadeget's otg capabilitiesLi Jun
Set gadget's otg capabilities according to controller's capability and otg properties in device tree. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-7 usb: common: add API to set otg features by device treeLi Jun
Check property of usb hardware to get otg version and if SRP, HNP and ADP are disabled. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-4 usb: add usb_otg_caps to usb_gadget structureMacpaul Lin
Add usb_otg_caps pointer to usb_gadget structure to indicate its otg capabilities. Signed-off-by: Macpaul Lin <macpaul@gmail.com> Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11123-3 usb: otg: add usb_otg_caps structure for otg capabilitiesLi Jun
This patch adds a structure usb_otg_caps to cover all otg related capabilities of the device, including otg revision, and if hnp/srp/adp is supported. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11200 usb: otg: avoid DMA to kernel stack for HNP pollingLi Jun
HNP polling uses a kernel stack variable when sending the HNP polling control message, which causes dma-debug to complain, fix it by adding host_req_flag to otg_fsm struct, so it's done by kmallocing. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11005-3 usb: chipidea: add OTG ADP support for chipidea usb driverLi Jun
ADP(Attach Detection Protocol) is part of USB OTG 2.0 release, which can be used to find device attachment after session ends(vbus is off). This patch adds OTG ADP feature for chipdea usb driver. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11005-2 usb: common: usb-otg-fsm: remove ADP timers when ADP is not activeLi Jun
When otg fsm leaves a_idle or b_idle, ADP probe and sense should be stopped, therefore ADP timers should be removed. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-11005-1 usb: common: add API to get if OTG ADP is support in device treeLi Jun
Check property of usb hardware to get if ADP is supported. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-9618-8 usb: chipidea: otg: add A idle to B disconnect timerLi Jun
B-device detects that bus is idle for more than TB_AIDL_BDIS min and begins HNP by turning off pullup on DP, this allows the bus to discharge to the SE0 state. This timer was missed and failed with one PET test, this patch is to fix this timing issue. Signed-off-by: Li Jun <b47624@freescale.com>
2015-09-17MLK-9617-7 usb: otg: add hnp_polling flag in struct otg_fsmLi Jun
This patch adds a flag hnp_polling to indicate if HNP polling is supported. Signed-off-by: Li Jun <b47624@freescale.com> (cherry picked from commit b19d4b1110fe1fb2ec3141233781a1e016c9a9cf)
2015-09-17MLK-9638-4 usb: ehset: test: start timer for B host switch role backLi Jun
After B device as host enumerates A peripheral and sets configuration, B host should start to hand host role back to A device when this timer expires. Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com> (cherry picked from commit 3f4a8c8a20ef69721f9e7886b8d245036d41d91a)
2015-09-17MLK-9638-2 usb: otg: test: add otg_hnp_reqd flag in struct otg_fsmLi Jun
This patch adds flag otg_hnp_reqd in struct otg_fsm to indicate A device as host wants to start HNP sequence. Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com> (cherry picked from commit 92382e06c6902731b05dcbb0db4f0ebfa486969f)
2015-09-17MLK-9637-4 usb: chipidea: otg: test: add otg_srp_reqd timer for start srpLi Jun
This patch adds a timer for chipidea otg fsm driver to start data pulse after A host ends the session. Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com> (cherry picked from commit 35e92b59080b58925c3b96e36511056cb51d4a00)
2015-09-17MLK-9637-2 usb: otg: test: add otg_srp_reqd flag in otg_fsmLi Jun
This patch adds flag otg_srp_reqd in struct otg_fsm to indicate A device as host wants B-UUT to do SRP once it ends the session. Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com> (cherry picked from commit 8e5f1b6b12ec77ec591909b09727049ffff37b9c)
2015-09-17MLK-9606-2 usb: otg: test: start tst_maint timer and set otg_vbus_off flagLi Jun
This patch adds 2 variables: tst_maint and otg_vbus_off, tst_maint is to check if current session for test device; otg_vbus_off is to notify if A device need turn off vbus immediately after B device disconnects. The otg test device handling is added into ehset driver, for that device, A-device should start a timer for maintain the session, and set otg_vbus_off flag according to its bcdDevice value. Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com> (cherry picked from commit 78a2c14bdea4b8e334c7e0afad074b61b71193cb)
2015-09-17MLK-10930-3 usb: chipidea: add delay if phy-clkgate-delay-us property is presentLi Jun
For some platforms, time delay is requried between putting PHY into low power mode and gate PHY clock. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-10765 usb: otg-fsm: move 2 otg fsm timers definition to otg_fsm_timerLi Jun
B_DATA_PLS(data-line pulse time) and B_SSEND_SRP(session end to SRP init) are also from OTG&EH 2.0 Specification and they are not chipidea specific. Signed-off-by: Li Jun <jun.li@freescale.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
2015-09-17MLK-10179-1 usb: chipidea: add a flag for turn on vbus early for hostLi Jun
Some PHY of imx usb need power supply from vbus to make it work, if there is no vbus, USB PHY will not in correct state when the controller starts to work, for host, this requires vbus should be turned on before setting port power(PP) of ehci, to work with this kind of USB PHY design, this patch adds a flag CI_HDRC_IMX_VBUS_EARLY_ON, can be checked by host driver to turn on vbus while start host. Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17usb: gadget: introduce is_selfpowered for usb_gadgetPeter Chen
Whether the gadget is selfpowerwed or not can be determined by composite core, so we can use a common entry to indicate if the self-powered is supported by gadget, and the related private variable at individual udc driver can be deleted. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2015-09-17ENGR00292408-1 usb: chipidea: add query_available_role interfacePeter Chen
The glue layer may need to know current available role, add ci_hdrc_query_available_role for that. Signed-off-by: Peter Chen <peter.chen@freescale.com> (cherry picked from commit 5c340402131ca6eacaeb122deb1ee59bcea2778c)
2015-09-17MLK-9785-2 usb: chipidea: add AHB configuration interfacePeter Chen
The AHBBRST at SBUSCFG and RX/TX burst size at BURSTSIZE are implementation dependent, each platform may have different values, and some values may not be optimized. The glue layer can override ahb burst configuration value by setting flag CI_HDRC_OVERRIDE_AHB_BURST and ahbburst_config. The glue layer can override RX/TX burst size by setting flag CI_HDRC_OVERRIDE_BURST_LENGTH and burst_length. Signed-off-by: Peter Chen <peter.chen@freescale.com> (cherry picked from commit a6bf7a97a83a58b9fe6de91975e4203c235036be)
2015-09-17MLK-9770-2 usb: chipidea: define stream mode disable for both rolesPeter Chen
The chipidea IP has different limitations for host and device mode, see below errata, we may need to enable SDIS(Stream Disable Mode) at host mode, but we don't want it at device mode at some situations. TAR 9000378958 Title: Non-Double Word Aligned Buffer Address Sometimes Causes Host to Hang on OUT Retry Impacted Configuration: Host mode, all transfer types Description: The host core operating in streaming mode may under run while sending the data packet of an OUT transaction. This under run can occur if there are unexpected system delays in fetching the remaining packet data from memory. The host forces a bad CRC on the packet, the device detects the error and discards the packet. The host then retries a Bulk, Interrupt, or Control transfer if an under run occurs according to the USB specification. During simulations, it was found that the host does not issue the retry of the failed bulk OUT. It does not issue any other transactions except SOF packets that have incorrect frame numbers. The second failure mode occurs if the under run occurs on an ISO OUT transaction and the next ISO transaction is a zero byte packet. The host does not issue any transactions (including SOFs). The device detects a Suspend condition, reverts to full speed, and waits for resume signaling. A third failure mode occurs when the host under runs on an ISO OUT and the next ISO in the schedule is an ISO OUT with two max packets of 1024 bytes each. The host should issue MDATA for the first OUT followed by DATA1 for the second. However, it drops the MDATA transaction, and issues the DATA1 transaction. The system impact of this bug is the same regardless of the failure mode observed. The host core hangs, the ehci_ctrl state machine waits for the protocol engine to send the completion status for the corrupted transaction, which never occurs. No indication is sent to the host controller driver, no register bits change and no interrupts occur. Eventually the requesting application times out. Detailed internal behavior: The EHCI control state machine (ehci_ctrl) in the DMA block is responsible for parsing the schedules and initiating all transactions. The ehci_ctrl state machine passes the transaction details to the protocol block by writing the transaction information in to the TxFIFO. It then asserts the pe_hst_run_pkt signal to inform the host protocol state machine (pe_hst_state) that there is a packet in the TxFIFO. A tag of 0x0 indicates a start of packet with the data providing the following information: 35:32 Tag 31:30 Reserved 29:23 Endpoint (lowest 4 bits) 22:16 Address 15:10 Reserved 9:8 Endpoint speed 7:6 Endpoint type 5:6 Data Toggle 3:0 PID The pe_hst_state reads the packet information and constructs the packet and issues it to the PHY interface. The ehci_ctrl state machine writes the start transaction information in to the TxFIFO as 0x03002910c for the OUT packet that had the under run error. However, it writes 0xC3002910C for the retry of the Out transaction, which is incorrect. The pe_hst_state enters a bus timeout state after sending the bad CRC for the packet that under ran. It then purges any data that was back filled in to the TxFIFO for the packet that under ran. The pe_hst_state machine stops purging the TxFIFO when it is empty or if it reads a location that has a tag of 0x0, indicating a start of packet command. The pe_hst_state reads 0xC3002910C and discards it as it does not decode to a start of packet command. It continues to purge the OUT data that has been pre-buffered for the OUT retry . The pe_hst_state detects the hst_packet_run signal and attempts to read the PID and address information from the TxFIFO. This location has packet data and so does not decode to a valid PID and so falls through to the PE_HST_SOF_LOAD state where the frame_num_counter is updated. The frame_num_counter is updated with the data in the TxFIFO. In this case, the data is incorrect as the ehci_ctrl state machine did not initiate the load. The hst_pe_state machine detects the SOF request signal and sends an SOF with the bad frame number. Meanwhile, the ehci_ctrl state machine waits indefinitely in the run_pkt state waiting for the completion status from pe_hst_state machine, which will never happen. The ISO failure case is similar except that there is no retry for ISO. The ehci_ctrl state machine moves to the next transfer in the periodic schedule. If the under run occurs on the last entry of the periodic list then it moves to the Async schedule. In the case of ISO OUT simulations, the next ISO is a zero byte OUT and again the start of packet command gets corrupted. The TxFIFO is empty when the hst_pe_state attempts to read the Address and PID information as the transaction is a zero byte packet. This results in the hst_pe_state machine staying in the GET_PID state, which means that it does not issue any transactions (including SOFs). The device detects a Suspend condition and reverts to full speed mode and waits for a Resume or Reset signal. The EHCI specification allows a Non-DoubleWord (32 bits) offset to be used as a current offset for Buffer Pointer Page 0 of the qTD. In Non-DoubleWord aligned cases, the core reads the packet data from the AHB memory, performs the alignment operation before writing it in to the TxFIFO as a 32 bit data word. An End Of Packet tag (EOP) is written to the TxFIFO after all the packet data has been written in to the TxFIFO. The alignment function is reset to Idle by the EOP tag. The corruption of the start of packet command arises because the packet buffer for the OUT transaction that under ran is not aligned to a DoubleWord, and hence no EOP tag is written to the TxFIFO. The alignment function is still active when the start packet information is written in to the TxFIFO for the retry of the bulk packet or for the next transaction in the case of an under run on an ISO. This results in the corruption of the start tag and the transaction information. Click for waveform showing the command 0x 0000300291 being written in to the TX FIFO for the Out that under ran. Click for waveform showing the command 0xC3002910C written to the TxFIFO instead of 0x 0000300291 Versions affected: Versions 2.10a and previous versions How discovered: Customer simulation Workaround: 1- The EHCI specification allows a non-DoubleWord offset to be used as a current offset for Buffer Pointer Page 0 of the qTD. However, if a DoubleWord offset is used then this issue does not arise. 2- Use non streaming mode to eliminate under runs. Resolution: The fix involves changes to the traffic state machine in the vusb_hs_dma_traf block. The ehci_ctrl state machine updates the context information by encoding the transaction results on the hst_op_context_update signals at the end of a transaction. The signal hst_op_context_update is added to the traffic state machine, and the tx_fifo_under_ran_r signal is generated if the transaction results in an under run error. Click for waveform The traffic state machine then traverses to the do_eop states if the tx_fifo_under_ran error is asserted. Thus an EOP tag is written in to the TxFIFO as shown in this waveform . The EOP tag resets the align state machine to the Idle state ensuring that the next command written by the echi_ctrl state machine does not get corrupted. File(s) modified: RTL code fixed: ….. Method of reproducing: This failure cannot be reproduced in the current test bench. Date Found: March 2010 Date Fixed: June 2010 Update information: Added the RTL code fix Signed-off-by: Peter Chen <peter.chen@freescale.com> (cherry picked from commit 9bbed86327e015a28f7e680784bb00dd7c83533d)
2015-09-17MLK-10086-4 usb: chipidea: imx: add HSIC supportLi Jun
Add imx6 HSIC support Signed-off-by: Peter Chen <peter.chen@freescale.com>
2015-09-17ENGR00319720-3 usb: common: otg-fsm: add HNP polling request sending funcitonLi Jun
This patch adds OTG status selector request sending function, can be used to poll peripheral if it wants to be host. Signed-off-by: Li Jun <b47624@freescale.com>
2015-09-17ENGR00319720-2 usb: common: otg-fsm: start HNP polling timer in host stateLi Jun
This patch starts HNP polling timer when otg is set to be a_host or b_host. Signed-off-by: Li Jun <b47624@freescale.com>
2015-09-17ENGR00319720-1 usb: gadget: add host_request_flag in usb_gadget for OTGLi Jun
This patch adds host_request_flag in usb_gadget to store host request information from application. Signed-off-by: Li Jun <b47624@freescale.com>
2015-09-17ENGR00286426-21 usb: chipidea: host: add ehci quirk for imx controllerPeter Chen
When the port goes to suspend or finishes resme, it needs to notify PHY, it is not a standard EHCI operation, so we add a quirk for it. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2015-09-17ENGR00286426-7 usb: phy: add notify suspend and resume callbackPeter Chen
They are used to notify PHY that the controller enters suspend or finishes resume. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2015-09-17MLK-10102-10 usb: chipidea: otg: Add power lost support for otg fsm modeLi Jun
This patch adds support of power lost during system sleep in otg fsm mode. Signed-off-by: Li Jun <b47624@freescale.com>
2015-09-17MLK-10085-5 usb: chipidea: Add usb charger detect notifyLi Jun
- Change .notify's return value from void to int, update msm notify_event return value accordingly. - Add CI_HDRC_CONTROLLER_VBUS_EVENT and CI_HDRC_CONTROLLER_CHARGER_POST_EVENT to finish the USB charger detection flow. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <jun.li@freescale.com>
2015-09-17MLK-10088-5 usb: chipidea: add runtime power management supportPeter Chen
Add runtime power management support. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2015-09-17usb: chipidea: remove flag CI_HDRC_REQUIRE_TRANSCEIVERPeter Chen
Now, USB PHY is mandatory for chipidea core, the flag CI_HDRC_REQUIRE_TRANSCEIVER is useless. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 947c88592f17bd299ff677049c3cda36cc6f93dd)
2015-09-17usb: ehci: add ehci_port_power interfaceMichael Grzeschik
The current EHCI implementation is prepared to toggle the PORT_POWER bit to enable or disable a USB-Port. In some cases this port power can not be just toggled by the PORT_POWER bit, and the gpio-regulator is needed to be toggled too. This patch defines a port power control interface ehci_port_power for ehci core use, it toggles PORT_POWER bit as well as calls platform defined .port_power if it is defined. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Peter Chen <peter.chen@freescale.com> Acked-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 11a7e59405148c855e0a9d13588930ccec02c150)
2015-09-17usb: chipidea: add support to the generic PHY frameworkAntoine Tenart
This patch adds support of the PHY framework for ChipIdea drivers. Changes are done in both the ChipIdea common code and in the drivers accessing the PHY. This is done by adding a new PHY member in ChipIdea's structures and by taking care of it in the code. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com> (cherry picked from commit 1e5e2d3d055436c114e2f16145b83339aed024ff)
2015-09-17usb: allow to supply the PHY in the drivers when using HCDAntoine Tenart
This patch modify the generic code handling PHYs to allow them to be supplied from the drivers. This adds checks to ensure no PHY was already there when looking for one in the generic code. This also makes sure we do not modify its state in the generic HCD functions, it was provided by the driver. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Felipe Balbi <balbi@ti.com> (cherry picked from commit ef44cb4226d132146e44f8ea562a16b27ff61126)
2015-09-17usb: add support to the generic PHY framework in OTGAntoine Tenart
This patch adds support of the PHY framework in OTG and keeps the USB PHY compatibility. Here the only modification is to add PHY member in the OTG structure, along with the USB PHY one. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Signed-off-by: Felipe Balbi <balbi@ti.com> (cherry picked from commit 48bcc18076df4e07ef86226ac6ce795f64c84f7f)
2015-09-17usb: rename phy to usb_phy in OTGAntoine Tenart
This patch prepares the introduction of the generic PHY support in the USB OTG common functions. The USB PHY member of the OTG structure is renamed to 'usb_phy' and modifications are done in all drivers accessing it. Renaming this pointer will allow to keep the compatibility for USB PHY drivers. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Signed-off-by: Felipe Balbi <balbi@ti.com> (cherry picked from commit 19c1eac2685b62640ca2386a0a885ac2152668c8) Conflicts: drivers/phy/phy-omap-usb2.c drivers/usb/phy/phy-msm-usb.c
2015-09-17usb: move the OTG state from the USB PHY to the OTG structureAntoine Tenart
Before using the PHY framework instead of the USB PHY one, we need to move the OTG state into another place, since it won't be available when USB PHY isn't used. This patch moves the OTG state into the OTG structure, and makes all the needed modifications in the drivers using the OTG state. [ balbi@ti.com : fix build regressions with phy-tahvo.c, musb_dsps.c, phy-isp1301-omap, and chipidea's debug.c ] Acked-by: Kishon Vijay Abraham I <kishon@ti.com> Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Signed-off-by: Felipe Balbi <balbi@ti.com> (cherry picked from commit e47d92545c2972bcf3711e7db80f481e402163c7) Conflicts: drivers/usb/musb/musb_gadget.c drivers/usb/phy/phy-msm-usb.c
2015-09-17usb: hcd: add generic PHY supportSergei Shtylyov
Add the generic PHY support, analogous to the USB PHY support. Intended it to be used with the PCI EHCI/OHCI drivers and the xHCI platform driver. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 0043325495222139daa0696db736f67658dc7770)
2015-09-17usb: rename phy to usb_phy in HCDAntoine Tenart
The USB PHY member of the HCD structure is renamed to 'usb_phy' and modifications are done in all drivers accessing it. This is in preparation to adding the generic PHY support. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> [Sergei: added missing 'drivers/usb/misc/lvstest.c' file, resolved rejects, updated changelog.] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 3d46e73dfdb840f460e5b06416965d132570ec33) Conflicts: drivers/usb/core/hub.c drivers/usb/misc/lvstest.c
2015-09-17usb: chipidea: add TPL support for targeted hostsPeter Chen
For OTG and Embedded hosts, they may need TPL (Targeted Peripheral List) for usb certification and other vender specific requirements, the platform can tell chipidea core driver if it supports tpl through DT or platform data. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-17usb: common: add API to get if the platform supports TPLPeter Chen
The TPL (Targeted Peripheral List) is used for targeted hosts (non-PC hosts), and it can be used at USB OTG & EH certification and some specific products which need white list. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-17usb: hcd: add TPL support flagPeter Chen
The targeted hosts (non-PC hosts) need to have TPL (Targeted Peripheral List) for USB OTG & EH certification and other vendor specific requirements. The platform who needs TPL feature should set this flag at usb host controller driver. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Conflicts: include/linux/usb/hcd.h
2015-09-17usb: chipidea: udc: add maximum-speed = full-speed optionMichael Grzeschik
This patch makes it possible to set the chipidea udc into full-speed only mode. It is set by the oftree property "maximum-speed = full-speed". Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-09-17usb: phy: Add set_wakeup APIPeter Chen
This API is used to set wakeup enable at PHY registers, in that case, the PHY can be waken up from suspend due to external events, like vbus change, dp/dm change and id change. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com> [shawn.guo: cherry-pick commit 57bf9b09a6ad from upstream]