[PATCH 9/9] [HSLPM] usb: dwc2: Enable LPM

2017-04-28 Thread Sevak Arakelyan
From: John Youn <johny...@synopsys.com> Set 'lpm_capable' flag in the gadget structure so indicating that LPM is supported. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/gadget.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/dwc

[PATCH 9/9] [HSLPM] usb: dwc2: Enable LPM

2017-04-28 Thread Sevak Arakelyan
From: John Youn Set 'lpm_capable' flag in the gadget structure so indicating that LPM is supported. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/gadget.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 487397d571a8

[PATCH 6/9] usb: dwc2: gadget: Configure the core to enable LPM.

2017-04-28 Thread Sevak Arakelyan
Configure core in device mode to support LPM according to programming guide. Device will start giving valid responses for LPM tokens. After this patch device side LPM will start working. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core.h | 2 ++ drive

[PATCH 8/9] [HSLPM] usb: gadget: Allow a non-SuperSpeed gadget to support LPM

2017-04-28 Thread Sevak Arakelyan
0x0201 to indicate that this supports BOS descriptors, and also return a USB 2.0 Extension descriptor as part of the BOS descriptor set. See USB 2.0 LPM ECN Section 3. Signed-off-by: John Youn <johny...@synopsys.com> Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/gadg

[PATCH 6/9] usb: dwc2: gadget: Configure the core to enable LPM.

2017-04-28 Thread Sevak Arakelyan
Configure core in device mode to support LPM according to programming guide. Device will start giving valid responses for LPM tokens. After this patch device side LPM will start working. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core.h | 2 ++ drivers/usb/dwc2/core_intr.c | 1

[PATCH 8/9] [HSLPM] usb: gadget: Allow a non-SuperSpeed gadget to support LPM

2017-04-28 Thread Sevak Arakelyan
that this supports BOS descriptors, and also return a USB 2.0 Extension descriptor as part of the BOS descriptor set. See USB 2.0 LPM ECN Section 3. Signed-off-by: John Youn Signed-off-by: Sevak Arakelyan --- drivers/usb/gadget/composite.c | 8 ++-- include/linux/usb/gadget.h | 3 +++ 2 files changed

[PATCH 7/9] [HSLPM] usb: gadget: composite: Exclude SS Dev Cap Desc

2017-04-28 Thread Sevak Arakelyan
From: John Youn <johny...@synopsys.com> Don't send the SuperSpeed USB Device Capability descriptor if the gadget is not capable of SuperSpeed. Signed-off-by: John Youn <johny...@synopsys.com> Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/gadge

[PATCH 7/9] [HSLPM] usb: gadget: composite: Exclude SS Dev Cap Desc

2017-04-28 Thread Sevak Arakelyan
From: John Youn Don't send the SuperSpeed USB Device Capability descriptor if the gadget is not capable of SuperSpeed. Signed-off-by: John Youn Signed-off-by: Sevak Arakelyan --- drivers/usb/gadget/composite.c | 51 +++--- 1 file changed, 28 insertions

[PATCH 5/9] usb: dwc2: Enable LPM Transaction Received interrupt.

2017-04-28 Thread Sevak Arakelyan
Enable LPM Trasaction Received interrupt. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core_intr.c | 5 +++-- drivers/usb/dwc2/gadget.c| 3 ++- drivers/usb/dwc2/hcd.c | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/us

[PATCH 5/9] usb: dwc2: Enable LPM Transaction Received interrupt.

2017-04-28 Thread Sevak Arakelyan
Enable LPM Trasaction Received interrupt. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core_intr.c | 5 +++-- drivers/usb/dwc2/gadget.c| 3 ++- drivers/usb/dwc2/hcd.c | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/usb/dwc2/core_intr.c b/drivers

[PATCH 3/9] usb: dwc2: gadget: Add functionality to exit from LPM L1 state

2017-04-28 Thread Sevak Arakelyan
Add a function which will be called if device is in L1 sleep state and Resume/Remote Wakeup Detected interrupt is asserted. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core_intr.c | 49 1 file changed, 49 inse

[PATCH 3/9] usb: dwc2: gadget: Add functionality to exit from LPM L1 state

2017-04-28 Thread Sevak Arakelyan
Add a function which will be called if device is in L1 sleep state and Resume/Remote Wakeup Detected interrupt is asserted. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core_intr.c | 49 1 file changed, 49 insertions(+) diff --git a/drivers

[PATCH 2/9] usb: dwc2: Add core parameters for LPM support

2017-04-28 Thread Sevak Arakelyan
Add lpm, lpm_clock_gating, besl, hird_threshold_en and hird_threshold core parameters. These will indicate LPM and LPM Errata support as well as chosen L1 sleeping mode for the core and PHY. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core.h

[PATCH 4/9] usb: dwc2: gadget: LPM interrupt handler

2017-04-28 Thread Sevak Arakelyan
This interrupt indicates that an LPM transaction was received on the USB bus. After getting this interrupt we are going from L0 state to L1 state. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core_intr.c | 60

[PATCH 4/9] usb: dwc2: gadget: LPM interrupt handler

2017-04-28 Thread Sevak Arakelyan
This interrupt indicates that an LPM transaction was received on the USB bus. After getting this interrupt we are going from L0 state to L1 state. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core_intr.c | 60 1 file changed, 60 insertions

[PATCH 2/9] usb: dwc2: Add core parameters for LPM support

2017-04-28 Thread Sevak Arakelyan
Add lpm, lpm_clock_gating, besl, hird_threshold_en and hird_threshold core parameters. These will indicate LPM and LPM Errata support as well as chosen L1 sleeping mode for the core and PHY. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core.h| 20 drivers/usb

[PATCH 1/9] usb: dwc2: Fix GLPMCFG... definitions

2017-04-28 Thread Sevak Arakelyan
Make field names of GLPMCFG register in definitoins to be the same with the databook. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/hw.h | 38 -- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/drivers/usb/dwc

[PATCH 1/9] usb: dwc2: Fix GLPMCFG... definitions

2017-04-28 Thread Sevak Arakelyan
Make field names of GLPMCFG register in definitoins to be the same with the databook. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/hw.h | 38 -- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/drivers/usb/dwc2/hw.h b/drivers/usb/dwc2

[PATCH 0/9] usb: dwc2: gadget: Add LPM functionality

2017-04-28 Thread Sevak Arakelyan
and from host side HAPS platform with DWC USB3 IP version 3.20a. John Youn (3): [HSLPM] usb: gadget: composite: Exclude SS Dev Cap Desc [HSLPM] usb: gadget: Allow a non-SuperSpeed gadget to support LPM [HSLPM] usb: dwc2: Enable LPM Sevak Arakelyan (6): usb: dwc2: Fix GLPMCFG... definitions

[PATCH 0/9] usb: dwc2: gadget: Add LPM functionality

2017-04-28 Thread Sevak Arakelyan
and from host side HAPS platform with DWC USB3 IP version 3.20a. John Youn (3): [HSLPM] usb: gadget: composite: Exclude SS Dev Cap Desc [HSLPM] usb: gadget: Allow a non-SuperSpeed gadget to support LPM [HSLPM] usb: dwc2: Enable LPM Sevak Arakelyan (6): usb: dwc2: Fix GLPMCFG... definitions

[PATCH 2/2] usb: dwc2: Use common polling function.

2017-04-27 Thread Sevak Arakelyan
Replace all the parts of register polling code with dwc2_hsotg_wait_bit_set function calls. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core.c | 61 +-- drivers/usb/dwc2/gadget.c | 24 --- drive

[PATCH 2/2] usb: dwc2: Use common polling function.

2017-04-27 Thread Sevak Arakelyan
Replace all the parts of register polling code with dwc2_hsotg_wait_bit_set function calls. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core.c | 61 +-- drivers/usb/dwc2/gadget.c | 24 --- drivers/usb/dwc2/hcd.c| 18

[PATCH 1/2] usb: dwc2: Move polling function to core.c.

2017-04-27 Thread Sevak Arakelyan
Move polling function to core.c so it can be used anywhere in the code. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core.c | 23 +++ drivers/usb/dwc2/core.h | 4 drivers/usb/dwc2/gadget.c | 14 -- 3 files chang

[PATCH 1/2] usb: dwc2: Move polling function to core.c.

2017-04-27 Thread Sevak Arakelyan
Move polling function to core.c so it can be used anywhere in the code. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core.c | 23 +++ drivers/usb/dwc2/core.h | 4 drivers/usb/dwc2/gadget.c | 14 -- 3 files changed, 27 insertions(+), 14 deletions

[PATCH 0/2] usb: dwc2: Replace polling code with function calls

2017-04-27 Thread Sevak Arakelyan
This series moves dwc2_hsotg_wait_bit_set polling function to core.c and replaces all the register polling parts of code with function calls Tested on HAPS platform with DWC_hsotg IP version 3.30a. Sevak Arakelyan (2): usb: dwc2: Move polling function to core.c. usb: dwc2: Use common

[PATCH 0/2] usb: dwc2: Replace polling code with function calls

2017-04-27 Thread Sevak Arakelyan
This series moves dwc2_hsotg_wait_bit_set polling function to core.c and replaces all the register polling parts of code with function calls Tested on HAPS platform with DWC_hsotg IP version 3.30a. Sevak Arakelyan (2): usb: dwc2: Move polling function to core.c. usb: dwc2: Use common

[PATCH 4/4] usb: dwc2: gadget: Separate non-periodic and periodic FIFO inits

2017-04-26 Thread Sevak Arakelyan
Separate dwc2_hsotg_init_fifo function into 2 different functions, for periodic and non-periodic FIFOs. Initialization of non-periodic FIFOs must be done after soft or USB resets, while initialization of periodic FIFOs must be done only after soft reset. Signed-off-by: Sevak Arakelyan <

[PATCH 4/4] usb: dwc2: gadget: Separate non-periodic and periodic FIFO inits

2017-04-26 Thread Sevak Arakelyan
Separate dwc2_hsotg_init_fifo function into 2 different functions, for periodic and non-periodic FIFOs. Initialization of non-periodic FIFOs must be done after soft or USB resets, while initialization of periodic FIFOs must be done only after soft reset. Signed-off-by: Sevak Arakelyan

[PATCH 2/4] usb: dwc2: gadget: Remove duplicated FIFO initialization.

2017-04-26 Thread Sevak Arakelyan
-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/gadget.c | 8 1 file changed, 8 deletions(-) diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 0b2d9bf43283..46f38604c3b2 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -4

[PATCH 2/4] usb: dwc2: gadget: Remove duplicated FIFO initialization.

2017-04-26 Thread Sevak Arakelyan
-by: Sevak Arakelyan --- drivers/usb/dwc2/gadget.c | 8 1 file changed, 8 deletions(-) diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 0b2d9bf43283..46f38604c3b2 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -4214,14 +4214,6 @@ static void

[PATCH 3/4] usb: dwc2: gadget: Replace code with function calls.

2017-04-26 Thread Sevak Arakelyan
Replace TX and RX FIFO's flushing and waiting code in dwc2_hsotg_init_fifo with dwc2_flush_tx_fifo and dwc2_flush_rx_fifo function calls accordingly. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/gadget.c | 34 -- 1 file chan

[PATCH 1/4] usb: dwc2: gadget: Fix in TX FIFO initialization flow.

2017-04-26 Thread Sevak Arakelyan
We need to update DPTXFSIZN even if the depth of current TX FIFO is set to 0. Loop only for needed TX FIFO count times. This will fix the issue with wrong insufficient fifo memory WARN_ON. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/gadget.c | 10 +++---

[PATCH 3/4] usb: dwc2: gadget: Replace code with function calls.

2017-04-26 Thread Sevak Arakelyan
Replace TX and RX FIFO's flushing and waiting code in dwc2_hsotg_init_fifo with dwc2_flush_tx_fifo and dwc2_flush_rx_fifo function calls accordingly. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/gadget.c | 34 -- 1 file changed, 8 insertions(+), 26

[PATCH 1/4] usb: dwc2: gadget: Fix in TX FIFO initialization flow.

2017-04-26 Thread Sevak Arakelyan
We need to update DPTXFSIZN even if the depth of current TX FIFO is set to 0. Loop only for needed TX FIFO count times. This will fix the issue with wrong insufficient fifo memory WARN_ON. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/gadget.c | 10 +++--- 1 file changed, 7 insertions

[PATCH 0/4] usb: dwc2: gadget: Fix dynamic FIFO initialization flow

2017-04-26 Thread Sevak Arakelyan
version 3.30a. Sevak Arakelyan (4): usb: dwc2: gadget: Fix in TX FIFO initialization flow. usb: dwc2: gadget: Remove duplicated FIFO initialization. usb: dwc2: gadget: Replace code with function calls. usb: dwc2: gadget: Separate non-periodic and periodic FIFO inits drivers/usb/dwc2/gadget.c

[PATCH 0/4] usb: dwc2: gadget: Fix dynamic FIFO initialization flow

2017-04-26 Thread Sevak Arakelyan
version 3.30a. Sevak Arakelyan (4): usb: dwc2: gadget: Fix in TX FIFO initialization flow. usb: dwc2: gadget: Remove duplicated FIFO initialization. usb: dwc2: gadget: Replace code with function calls. usb: dwc2: gadget: Separate non-periodic and periodic FIFO inits drivers/usb/dwc2/gadget.c

[PATCH] usb: dwc2: Remove unnecessary uphy and clk checkings

2017-04-21 Thread Sevak Arakelyan
prepare" functions. So remove unnecessary checkings. Signed-off-by: Sevak Arakelyan <sev...@synopsys.com> --- drivers/usb/dwc2/core_intr.c | 3 +-- drivers/usb/dwc2/gadget.c| 8 +++- drivers/usb/dwc2/hcd.c | 22 -- drivers/usb/dwc2/platform.c | 11 ---

[PATCH] usb: dwc2: Remove unnecessary uphy and clk checkings

2017-04-21 Thread Sevak Arakelyan
prepare" functions. So remove unnecessary checkings. Signed-off-by: Sevak Arakelyan --- drivers/usb/dwc2/core_intr.c | 3 +-- drivers/usb/dwc2/gadget.c| 8 +++- drivers/usb/dwc2/hcd.c | 22 -- drivers/usb/dwc2/platform.c | 11 --- 4 files changed, 16

Re: [PATCH RFT] usb: dwc2: gadget: Fix fifo size configuration

2016-12-20 Thread Sevak Arakelyan
On 12/20/2016 6:20 PM, Stefan Wahren wrote: > Hi Sevak, > >> Sevak Arakelyan <sevak.arakel...@synopsys.com> hat am 20. Dezember 2016 um >> 13:57 geschrieben: >> >> >> On 12/19/2016 8:39 PM, Stefan Wahren wrote: >>> Currently the upper limit

Re: [PATCH RFT] usb: dwc2: gadget: Fix fifo size configuration

2016-12-20 Thread Sevak Arakelyan
On 12/20/2016 6:20 PM, Stefan Wahren wrote: > Hi Sevak, > >> Sevak Arakelyan hat am 20. Dezember 2016 um >> 13:57 geschrieben: >> >> >> On 12/19/2016 8:39 PM, Stefan Wahren wrote: >>> Currently the upper limit for the endpoint index duri

Re: [PATCH RFT] usb: dwc2: gadget: Fix fifo size configuration

2016-12-20 Thread Sevak Arakelyan
On 12/19/2016 8:39 PM, Stefan Wahren wrote: > Currently the upper limit for the endpoint index during fifo size > config was always 16 instead of the available endpoints. So fix this > by using the determined amount of endpoints and avoid a warning about > "insufficient fifo memory" on bcm2835

Re: [PATCH RFT] usb: dwc2: gadget: Fix fifo size configuration

2016-12-20 Thread Sevak Arakelyan
On 12/19/2016 8:39 PM, Stefan Wahren wrote: > Currently the upper limit for the endpoint index during fifo size > config was always 16 instead of the available endpoints. So fix this > by using the determined amount of endpoints and avoid a warning about > "insufficient fifo memory" on bcm2835