Add binding doc for generic power sequence library.
Signed-off-by: Peter Chen
Acked-by: Philipp Zabel
Acked-by: Rob Herring
---
.../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++
1 file changed, 48 insertions(+)
create mode 100644
Documentation/devicetree
at dt binding
- Should use structure not but its pointer for kzalloc
- Since chipidea core has no of_node, let core's of_node equals glue
layer's at core's probe
Joshua Clayton (2):
ARM: dts: imx6qdl: Enable usb node children with
ARM: dts: imx6q-evi: Fix onboard hub reset line
On Mon, Dec 19, 2016 at 09:15:04PM +0200, Krzysztof Kozlowski wrote:
> On Mon, Nov 14, 2016 at 09:35:51AM +0800, Peter Chen wrote:
> > Hi all,
> >
> > This is a follow-up for my last power sequence framework patch set [1].
> > According to Rob Herring and Ulf Hansson&
dev, EXTCON_USB, &cable->nb);
> -}
> -
> static DEFINE_IDA(ci_ida);
>
> struct platform_device *ci_hdrc_add_device(struct device *dev,
> @@ -1053,7 +1037,6 @@ static int ci_hdrc_probe(struct platform_device *pdev)
> if (!ret)
> return 0;
>
> - ci_extcon_unregister(ci);
> stop:
> ci_role_destroy(ci);
> deinit_phy:
> @@ -1073,7 +1056,6 @@ static int ci_hdrc_remove(struct platform_device *pdev)
> }
>
> dbg_remove_files(ci);
> - ci_extcon_unregister(ci);
> ci_role_destroy(ci);
> ci_hdrc_enter_lpm(ci, true);
> ci_usb_phy_exit(ci);
> --
Acked-by: Peter Chen
--
Best Regards,
Peter Chen
On Thu, Dec 01, 2016 at 10:57:24PM +0100, Rafael J. Wysocki wrote:
> On Tue, Nov 22, 2016 at 4:53 AM, Peter Chen wrote:
> > On Tue, Nov 22, 2016 at 03:23:12AM +0100, Rafael J. Wysocki wrote:
> >> > @@ -0,0 +1,237 @@
> >> > +/*
> >>
On Tue, Nov 22, 2016 at 03:23:12AM +0100, Rafael J. Wysocki wrote:
> > @@ -0,0 +1,237 @@
> > +/*
> > + * core.c power sequence core file
> > + *
> > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > + * Author: Peter Chen
> > + *
>
On Mon, Nov 14, 2016 at 09:35:53AM +0800, Peter Chen wrote:
> We have an well-known problem that the device needs to do some power
> sequence before it can be recognized by related host, the typical
> example like hard-wired mmc devices and usb devices.
>
> This power sequenc
ations to get the
information for power client, this patch set is trying to keep
these two notifications at an new framework, and power client
gets refined notification from this new framework.
The biggest problem I concern about your solution is extcon device, it may
not be an universal solution, does current frameworks have a way to
get cable type (usb charger type)? If not, we may need to have a new
framework.
--
Best Regards,
Peter Chen
t.
Signed-off-by: Peter Chen
Tested-by Joshua Clayton
Tested-by: Maciej S. Szmigiero
Reviewed-by: Vaibhav Hiremath
---
drivers/usb/Kconfig| 1 +
drivers/usb/core/hub.c | 41 ++---
drivers/usb/core/hub.h | 1 +
3 files changed, 40 insertions(+), 3 deletion
From: Joshua Clayton
Previously the onboard hub was made to work by treating its
reset gpio as a regulator enable.
Get rid of that kludge now that pwseq has added reset gpio support
Move pin muxing the hub reset pin into the usbh1 group
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
instead (eg, USB hub driver).
For new power sequence library, it can add its compatible string
to pwrseq_of_match_table, then the pwrseq core will match it with
DT's, and choose this library at runtime.
Signed-off-by: Peter Chen
Tested-by: Maciej S. Szmigiero
Tested-by Joshua Clayton
Review
the platform (DT or otherwise), and the phy lookup in has to be done
> through sysdev as well because the platform cannot add it to
> the child device it has no knowledge of.
>
> When we set the sysdev to the parent, the phy lookup has to be
> added to that device as well, rather than the child device.
>
Then, the device should change to dwc->sysdev, and phy_create_lookup
in this file needs to change too.
--
Best Regards,
Peter Chen
The current dts describes USB HUB's property at USB controller's
entry, it is improper. The USB HUB should be the child node
under USB controller, and power sequence properties are under
it. Besides, using gpio pinctrl setting for USB2415's reset pin.
Signed-off-by: Peter Chen
From: Peter Chen
At device tree, we have no device node for chipidea core,
the glue layer's node is the parent node for host and udc
device. But in related driver, the parent device is chipidea
core. So, in order to let the common driver get parent's node,
we let the core's dev
From: Joshua Clayton
Give usb nodes #address and #size attributes, so that a child node
representing a permanently connected device such as an onboard hub may
be addressed with a attribute
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
---
arch/arm/boot/dts/imx6qdl.dtsi | 6
Add binding doc for generic power sequence library.
Signed-off-by: Peter Chen
Acked-by: Philipp Zabel
Acked-by: Rob Herring
---
.../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++
1 file changed, 48 insertions(+)
create mode 100644
Documentation/devicetree
Add optional properties for power sequence.
Signed-off-by: Peter Chen
Acked-by: Rob Herring
---
Documentation/devicetree/bindings/usb/usb-device.txt | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/usb-device.txt
b
dt binding
- Should use structure not but its pointer for kzalloc
- Since chipidea core has no of_node, let core's of_node equals glue
layer's at core's probe
Joshua Clayton (2):
ARM: dts: imx6qdl: Enable usb node children with
ARM: dts: imx6q-evi: Fix onboard hub reset line
On Tue, Oct 18, 2016 at 01:51:39PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-10-18 02:31:40)
> > On Mon, Oct 17, 2016 at 06:56:13PM -0700, Stephen Boyd wrote:
> > > I've also sent separate patches for other minor pieces to make this
> > > all work. T
On Fri, Nov 11, 2016 at 02:05:01AM +0100, Rafael J. Wysocki wrote:
> On Tue, Nov 8, 2016 at 3:51 AM, Peter Chen wrote:
> > We have an well-known problem that the device needs to do some power
> > sequence before it can be recognized by related host, the typical
> > exampl
ost")))
> + new_mode_is_host = true;
> + else if (!strncmp(buf, "peripheral", strlen("peripheral")))
> + new_mode_is_host = false;
> + else
> + return -EINVAL;
> +
> + /* If current and new mode is the s
On Wed, Nov 09, 2016 at 07:38:36AM +1100, NeilBrown wrote:
> On Tue, Nov 08 2016, Peter Chen wrote:
>
> > On Thu, Nov 03, 2016 at 12:25:42PM +1100, NeilBrown wrote:
> >>
> >>
> >>
> >> 2/ Change all usb phys to register an extcon and to send app
return -EINVAL;
> +
> + if (new_mode_is_host) {
> + if (!is_b_device && !is_host) /* A-Peripheral */
> + rcar_gen3_init_from_a_peri_to_a_host(ch);
> + if (is_b_device && !is_host)/* B-Peripheral */
> + rcar_gen3_init_for_b_host(ch);
is_host must be false here
> + } else {
> + if (!is_b_device && is_host)/* A-Host */
> + rcar_gen3_init_for_a_peri(ch);
> + if (is_b_device && is_host) /* B-Host */
> + rcar_gen3_init_for_peri(ch);
is_host must be true here
> + }
> +
> + return count;
> +}
> +
How can you handle the case which ID pin is incorrect, eg, ID is 0, but
it is peripheral mode at the initialization?
--
Best Regards,
Peter Chen
r needs to look at battery charger registers to
>know what sort of cable was connected (which I believe is the case
>for the chips you are interested in), then it should do that.
Not only USB PHY to register an extcon, but also for the drivers which
can detect USB charger type, it may be USB controller driver, USB type-c
driver, pmic driver, and these drivers may not have an extcon device
since the internal part can finish the vbus detect.
--
Best Regards,
Peter Chen
The current dts describes USB HUB's property at USB controller's
entry, it is improper. The USB HUB should be the child node
under USB controller, and power sequence properties are under
it. Besides, using gpio pinctrl setting for USB2415's reset pin.
Signed-off-by: Peter Chen
t.
Signed-off-by: Peter Chen
Tested-by Joshua Clayton
Tested-by: Maciej S. Szmigiero
Reviewed-by: Vaibhav Hiremath
---
drivers/usb/core/hub.c | 41 ++---
drivers/usb/core/hub.h | 1 +
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/
From: Joshua Clayton
Give usb nodes #address and #size attributes, so that a child node
representing a permanently connected device such as an onboard hub may
be addressed with a attribute
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
---
arch/arm/boot/dts/imx6qdl.dtsi | 6
Add binding doc for generic power sequence library.
Signed-off-by: Peter Chen
Acked-by: Philipp Zabel
Acked-by: Rob Herring
---
.../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++
1 file changed, 48 insertions(+)
create mode 100644
Documentation/devicetree
Add optional properties for power sequence.
Signed-off-by: Peter Chen
Acked-by: Rob Herring
---
Documentation/devicetree/bindings/usb/usb-device.txt | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/usb-device.txt
b
From: Peter Chen
At device tree, we have no device node for chipidea core,
the glue layer's node is the parent node for host and udc
device. But in related driver, the parent device is chipidea
core. So, in order to let the common driver get parent's node,
we let the core's dev
From: Joshua Clayton
Previously the onboard hub was made to work by treating its
reset gpio as a regulator enable.
Get rid of that kludge now that pwseq has added reset gpio support
Move pin muxing the hub reset pin into the usbh1 group
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
e has no of_node, let core's of_node equals glue
layer's at core's probe
Joshua Clayton (2):
ARM: dts: imx6qdl: Enable usb node children with
ARM: dts: imx6q-evi: Fix onboard hub reset line
Peter Chen (6):
binding-doc: power: pwrseq-generic: add binding doc for generic po
instead (eg, USB hub driver).
For new power sequence library, it can add its compatible string
to pwrseq_of_match_table, then the pwrseq core will match it with
DT's, and choose this library at runtime.
Signed-off-by: Peter Chen
Tested-by: Maciej S. Szmigiero
Tested-by Joshua Clayton
Review
On Fri, Nov 04, 2016 at 01:51:34PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-10-24 18:16:32)
> > On Mon, Oct 24, 2016 at 12:48:24PM -0700, Stephen Boyd wrote:
> > > Quoting Chen-Yu Tsai (2016-10-24 05:19:05)
> > > > Hi,
> > > >
> > &
e("ci_hw_qh", dev->parent,
> sizeof(struct ci_hw_qh),
> 64, CI_HDRC_PAGE_SIZE);
> if (ci->qh_pool == NULL)
> return -ENOMEM;
>
> - ci->td_pool = dma_pool_create("ci_hw_td", dev,
> + ci->td_pool = dma_pool_create("ci_hw_td", dev->parent,
> sizeof(struct ci_hw_td),
> 64, CI_HDRC_PAGE_SIZE);
> if (ci->td_pool == NULL) {
> --
Acked-by: Peter Chen
--
Best Regards,
Peter Chen
ret < 0)
> + return ret;
> + }
>
> return PTR_ERR_OR_ZERO(provider);
> }
>
> +static int rcar_gen3_phy_usb2_remove(struct platform_device *pdev)
> +{
> + struct rcar_gen3_chan *channel = platform_get_drvdata(pdev);
> +
> + if (channel->has_otg)
> + device_remove_file(&pdev->dev, &dev_attr_otg_inputs);
> +
> + return 0;
> +};
> +
> static struct platform_driver rcar_gen3_phy_usb2_driver = {
> .driver = {
> .name = "phy_rcar_gen3_usb2",
> .of_match_table = rcar_gen3_phy_usb2_match_table,
> },
> .probe = rcar_gen3_phy_usb2_probe,
> + .remove = rcar_gen3_phy_usb2_remove,
> };
> module_platform_driver(rcar_gen3_phy_usb2_driver);
>
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards,
Peter Chen
core automatically handles this refcounting for USB
> > + * interface drivers, but this API can be used for non-parent/child
> > + * relationships.
> > *
> > * Return: A pointer to the device with the incremented reference counter.
> > */
> > --
> > 2.8.0.rc3.226.g39d4020
> >
>
> --
> Dmitry
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards,
Peter Chen
in Marinas
> Cc: "Thang Q. Nguyen"
> Cc: Yoshihiro Shimoda
> Cc: Stephen Boyd
> Cc: Bjorn Andersson
> Cc: Ming Lei
> Cc: Jon Masters
> Cc: Dann Frazier
> Cc: Peter Chen
> Cc: Leo Li
> ---
> drivers/usb/chipidea/host.c | 3 ++-
> drivers/usb/
On Tue, Oct 18, 2016 at 02:35:38AM +0200, Rafael J. Wysocki wrote:
> On Monday, October 17, 2016 09:30:59 AM Peter Chen wrote:
> > On Fri, Oct 14, 2016 at 02:09:31PM +0200, Rafael J. Wysocki wrote:
> > > On Friday, October 14, 2016 10:59:47 AM Peter Chen wro
ent_modalias);
> >
> > This is trailing the wrong function.
> >
>
> Good catch. Must have been some bad rebase.
>
> Peter, can you fix it while applying or should I resend this patch?
>
But, this is device tree patch. I can only get chipidea part and other
USB patches if Greg agrees.
--
Best Regards,
Peter Chen
On Fri, Oct 21, 2016 at 12:33:43PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-10-20 19:20:30)
> > On Thu, Oct 20, 2016 at 04:20:38PM -0700, Stephen Boyd wrote:
> > > Quoting Stephen Boyd (2016-10-17 18:56:36)
> > > > +
> > > > +static int
>
pin. We would
> be duplicating work sometimes, but that's pretty much the best solution
> I can come up with. Otherwise it's racy.
>
Why you need to care id status? If EXTCON_USB event has happened, and
event is true, you can set, otherwise, it is clear operation, that's
to say you may not need have id extcon phandle, do you think so?
--
Best Regards,
Peter Chen
On Thu, Oct 20, 2016 at 01:36:30PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-10-20 03:10:18)
> > On Wed, Oct 19, 2016 at 11:55:29PM -0700, Stephen Boyd wrote:
> > > Quoting Peter Chen (2016-10-19 01:02:11)
> > > > On Tue, Oct 18, 2016 at 06:53:
On Wed, Oct 19, 2016 at 11:55:29PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-10-19 01:02:11)
> > On Tue, Oct 18, 2016 at 06:53:07PM -0700, Stephen Boyd wrote:
> > > If you're asking if I've made modifications to extcon-usb-gpio, then the
> > > answe
On Tue, Oct 18, 2016 at 06:53:07PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-10-18 18:15:35)
> > On Mon, Oct 17, 2016 at 06:56:24PM -0700, Stephen Boyd wrote:
> > > In the case of an extcon-usb-gpio device being used with the
> > > chipidea driver we'l
; started. Furthermore, we see timeout messages like:
>
> timeout waiting for 800 in OTGSC
>
> Let's workaround this by skiping the wait for BSV when we're
> using an extcon for the vbus notification and let's properly
> emulate the BSVIS event that would ha
/linux/usb/chipidea.h | 9 +-
> 20 files changed, 1292 insertions(+), 140 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/phy/qcom,usb-hs-phy.txt
> create mode 100644
> Documentation/devicetree/bindings/phy/qcom,usb-hsic-phy.txt
> create mode 100644 Documentation/devicetree/bindings/usb/ulpi.txt
> create mode 100644 drivers/phy/phy-qcom-usb-hs.c
> create mode 100644 drivers/phy/phy-qcom-usb-hsic.c
> create mode 100644 drivers/usb/chipidea/ulpi.c
>
> --
> 2.10.0.297.gf6727b0
>
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Best Regards,
Peter Chen
On Tue, Oct 18, 2016 at 02:35:38AM +0200, Rafael J. Wysocki wrote:
> On Monday, October 17, 2016 09:30:59 AM Peter Chen wrote:
> > On Fri, Oct 14, 2016 at 02:09:31PM +0200, Rafael J. Wysocki wrote:
> > > On Friday, October 14, 2016 10:59:47 AM Peter Chen wro
pe's email has changed, please check MAINTAINERS.
Besides, would you wrap up line to 75 characters please?
--
Best Regards,
Peter Chen
On Fri, Oct 14, 2016 at 02:09:31PM +0200, Rafael J. Wysocki wrote:
> On Friday, October 14, 2016 10:59:47 AM Peter Chen wrote:
> > Hi all,
> >
> > This is a follow-up for my last power sequence framework patch set [1].
> > According to Rob Herring and Ulf Hansson&
t.
Signed-off-by: Peter Chen
Tested-by Joshua Clayton
---
drivers/usb/core/hub.c | 41 ++---
drivers/usb/core/hub.h | 1 +
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index cbb1467..acbbf0a 10
Signed-off-by: Peter Chen
Signed-off-by: Joshua Clayton
---
arch/arm/boot/dts/imx6qdl-udoo.dtsi | 26 --
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi
b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
index 3bee2f9..87fe31f 10
From: Peter Chen
At device tree, we have no device node for chipidea core,
the glue layer's node is the parent node for host and udc
device. But in related driver, the parent device is chipidea
core. So, in order to let the common driver get parent's node,
we let the core's dev
From: Joshua Clayton
Give usb nodes #address and #size attributes, so that a child node
representing a permanently connected device such as an onboard hub may
be addressed with a attribute
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
---
arch/arm/boot/dts/imx6qdl.dtsi | 6
Add optional properties for power sequence.
Signed-off-by: Peter Chen
Acked-by: Rob Herring
---
Documentation/devicetree/bindings/usb/usb-device.txt | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/usb-device.txt
b
From: Joshua Clayton
Previously the onboard hub was made to work by treating its
reset gpio as a regulator enable.
Get rid of that kludge now that pwseq has added reset gpio support
Move pin muxing the hub reset pin into the usbh1 group
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
Add binding doc for generic power sequence library.
Signed-off-by: Peter Chen
Acked-by: Philipp Zabel
Acked-by: Rob Herring
---
.../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++
1 file changed, 48 insertions(+)
create mode 100644
Documentation/devicetree
instead (eg, USB hub driver).
For new power sequence library, it can add its compatible string
to pwrseq_of_match_table, then the pwrseq core will match it with
DT's, and choose this library at runtime.
Signed-off-by: Peter Chen
Tested-by Joshua Clayton
Reviewed-by: Matthias Kaehlcke
Test
Joshua Clayton (2):
ARM: dts: imx6qdl: Enable usb node children with
ARM: dts: imx6q-evi: Fix onboard hub reset line
Peter Chen (6):
binding-doc: power: pwrseq-generic: add binding doc for generic power
sequence library
power: add power sequence library
binding-doc: usb: usb-dev
tching, the host driver doesn't know which pwrseq type
> > for its child node, then doesn't know which pwrseq instance needs to be
> > allocated. From dts, we don't know which pwrseq type for the node.
>
> yes, that is why I was suggesting allocating one (or two) here in
> pwrseq_generic_register() and every time pwrseq_generic_get() grabs the last
> free sequence instance, you allocate a new free spare one in that function.
Good idea.
--
Best Regards,
Peter Chen
On Wed, Oct 12, 2016 at 12:30:29PM +0200, Heiko Stuebner wrote:
> Hi,
>
> Am Dienstag, 20. September 2016, 11:36:41 CEST schrieb Peter Chen:
> > We have an well-known problem that the device needs to do some power
> > sequence before it can be recognized by related host, th
On Mon, Sep 26, 2016 at 02:26:49PM +0800, Peter Chen wrote:
> On Tue, Sep 20, 2016 at 11:36:39AM +0800, Peter Chen wrote:
> > Hi all,
> >
> > This is a follow-up for my last power sequence framework patch set [1].
> > According to Rob Herring and Ulf Hansson's com
>
>This patch adds support to configure data verification through module
>parameter.
>This parameter can be used to disable data verification in case if one wants to
>measure peak Bulk/Isoc-IN/OUT performance
>
Would configfs parameter 'pattern' can't satisfy you?
Peter
>Signed-off-by: Manish
On Wed, Sep 28, 2016 at 01:30:17AM +0200, Maciej S. Szmigiero wrote:
> On 20.09.2016 05:36, Peter Chen wrote:
> > Hi all,
> >
> > This is a follow-up for my last power sequence framework patch set [1].
> > According to Rob Herring and Ulf Hansson's comments[2].
/*
>* We don't want to process any IRQs after this point
>* as GPIOs used behind I2C subsystem might not be
>* accessible until resume completes. So disable IRQ.
>*/
> - disable_irq(info->id_irq);
> + if (info->id_gpiod)
> + disable_irq(info->id_irq);
> + if (info->vbus_gpiod)
> + disable_irq(info->vbus_irq);
>
> return ret;
> }
> @@ -185,7 +253,28 @@ static int usb_extcon_resume(struct device *dev)
> struct usb_extcon_info *info = dev_get_drvdata(dev);
> int ret = 0;
>
> - enable_irq(info->id_irq);
> + if (device_may_wakeup(dev)) {
> + if (info->id_gpiod) {
> + ret = disable_irq_wake(info->id_irq);
> + if (ret)
> + return ret;
> + }
> + if (info->vbus_gpiod) {
> + ret = disable_irq_wake(info->vbus_irq);
> + if (ret) {
> + if (info->id_gpiod)
> + enable_irq_wake(info->id_irq);
> +
> + return ret;
> + }
> + }
> + }
> +
> + if (info->id_gpiod)
> + enable_irq(info->id_irq);
> + if (info->vbus_gpiod)
> + enable_irq(info->vbus_irq);
> +
> if (!device_may_wakeup(dev))
> queue_delayed_work(system_power_efficient_wq,
> &info->wq_detcable, 0);
> --
Reviewed-by: Peter Chen
--
Best Regards,
Peter Chen
On Mon, Sep 26, 2016 at 11:44:50AM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-09-25 20:29:27)
> > On Thu, Sep 22, 2016 at 11:51:02AM -0700, Stephen Boyd wrote:
> > > Quoting Peter Chen (2016-09-16 18:16:05)
> > > > On Wed, Sep 14, 2016 at 01:55:
Disable internal 60Mhz clock with ULPI PHY
>
> drivers/usb/chipidea/ci_hdrc_imx.c | 4 ++
> drivers/usb/chipidea/ci_hdrc_imx.h | 1 +
> drivers/usb/chipidea/usbmisc_imx.c | 86
> +++---
> 3 files changed, 77 insertions(+), 14 deletions(-)
>
> --
> 2.1.4
>
I will queue them, thanks.
--
Best Regards,
Peter Chen
On Tue, Sep 20, 2016 at 11:36:39AM +0800, Peter Chen wrote:
> Hi all,
>
> This is a follow-up for my last power sequence framework patch set [1].
> According to Rob Herring and Ulf Hansson's comments[2]. The kinds of
> power sequence instances will be added at postcore
On Thu, Sep 22, 2016 at 11:51:02AM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-09-16 18:16:05)
> > On Wed, Sep 14, 2016 at 01:55:02AM -0700, Stephen Boyd wrote:
> > > Quoting Stephen Boyd (2016-09-13 18:42:46)
> > > > On the db410c 96boards platform
Like I commented before, you need to have binding-doc update
(ocumentation/devicetree/bindings/usb/ci-hdrc-usb2.txt)
Besides, try to run ./scripts/get_maintainer.pl to get the
necessary maintainers and reviewers. You may get some
useful tips for reading Documentation/SubmittingPatches
--
Best Regards,
Peter Chen
e + MX53_USB_UH3_CTRL_OFFSET;
> + val = readl(reg) | MX53_USB_UHx_CTRL_WAKE_UP_EN
> + | MX53_USB_UHx_CTRL_ULPI_INT_EN;
> + writel(val, reg);
> + }
> if (data->disable_oc) {
> reg = usbmisc->base + MX53_USB_UH3_CTRL_OFFSET;
> val = readl(reg) | MX53_BM_OVER_CUR_DIS_UHx;
> --
> 2.1.4
>
--
Best Regards,
Peter Chen
& val)
> writel(val, reg);
> - spin_unlock_irqrestore(&usbmisc->lock, flags);
> + }
> + break;
> }
>
> + spin_unlock_irqrestore(&usbmisc->lock, flags);
> +
> return 0;
> }
>
> --
> 2.1.4
>
--
Best Regards,
Peter Chen
From: Joshua Clayton
Previously the onboard hub was made to work by treating its
reset gpio as a regulator enable.
Get rid of that kludge now that pwseq has added reset gpio support
Move pin muxing the hub reset pin into the usbh1 group
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
From: Joshua Clayton
Give usb nodes #address and #size attributes, so that a child node
representing a permanently connected device such as an onboard hub may
be addressed with a attribute
Signed-off-by: Joshua Clayton
Signed-off-by: Peter Chen
---
arch/arm/boot/dts/imx6qdl.dtsi | 6
From: Peter Chen
At device tree, we have no device node for chipidea core,
the glue layer's node is the parent node for host and udc
device. But in related driver, the parent device is chipidea
core. So, in order to let the common driver get parent's node,
we let the core's dev
t.
Signed-off-by: Peter Chen
Tested-by Joshua Clayton
---
drivers/usb/core/hub.c | 41 ++---
drivers/usb/core/hub.h | 1 +
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index b48dc76..f3de1de 10
The current dts describes USB HUB's property at USB controller's
entry, it is improper. The USB HUB should be the child node
under USB controller, and power sequence properties are under
it. Besides, using gpio pinctrl setting for USB2415's reset pin.
Signed-off-by: Peter Chen
and clocks currently, and can cover regulator and pinctrl
in future. The host driver just needs to call of_pwrseq_on/of_pwrseq_off
if only one power sequence is needed, else call of_pwrseq_on_list
/of_pwrseq_off_list instead (eg, USB hub driver).
Signed-off-by: Peter Chen
Tested-by Joshua Clayton
Add optional properties for power sequence.
Signed-off-by: Peter Chen
Acked-by: Rob Herring
---
Documentation/devicetree/bindings/usb/usb-device.txt | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/usb-device.txt
b
Add binding doc for generic power sequence library.
Signed-off-by: Peter Chen
Acked-by: Philipp Zabel
Acked-by: Rob Herring
---
.../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++
1 file changed, 48 insertions(+)
create mode 100644
Documentation/devicetree
for properties at dt binding
- Should use structure not but its pointer for kzalloc
- Since chipidea core has no of_node, let core's of_node equals glue
layer's at core's probe
Joshua Clayton (2):
ARM: dts: imx6qdl: Enable usb node children with
ARM: dts: imx6q-evi: Fix onboard
which I am dealing with today, which is more
> complex in nature.
>
> Then the respective drivers can add their drivers (if needed) based on
> complexity.
>
> comments ??
The key point here is DT maintainer (Rob) doesn't agree with adding new node
for power sequence at dts.
--
Best Regards,
Peter Chen
<0>;
> usb-connector;
> port@0 {
> #address-cells = <1>;
> #size-cells = <0>;
> reg = <0>;
> usb_a1_connector: endpoint@0 {
> reg = <0>;
> remote-endpoint = <&usb_hub_output2>;
> };
> };
> };
>
> usb-A-connector2 {
> compatible = "usb-A-connector";
> #address-cells = <1>;
> #size-cells = <0>;
> usb-connector;
> port@0 {
> #address-cells = <1>;
> #size-cells = <0>;
> reg = <0>;
> usb_a2_connector: endpoint@0 {
> reg = <0>;
> remote-endpoint = <&usb_hub_output1>;
> };
> };
> };
> };
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards,
Peter Chen
rk and I haven't been following along. I'll look into these
> patches more.
DRD framework is denied by Felipe due to only one user can be benefit
from it (chipidea OTG), I don't know the further status of USB MUX,
maybe you can ask for it.
--
Best Regards,
Peter Chen
On Wed, Sep 14, 2016 at 01:45:04AM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-09-14 01:03:21)
> > On Tue, Sep 13, 2016 at 10:58:26PM -0700, Stephen Boyd wrote:
> > > Quoting Peter Chen (2016-09-13 20:32:00)
> > > > On Tue, Sep 13, 2016 at 06:42:
registers will not hang the system, it can
work. Like the case [1], without PHY ref_clk, it will hang when
configure PHY mode (visit portsc.pts), it has no chance to read id
registers. So, I still think the ULPI bus driver needs to do power
sequence for its children, unless you have some place to open the
ref_clk.
>
> Are there any concerns with this patch? Or can they be reapplied?
For this patch, it is ok for me.
[1] http://www.spinics.net/lists/linux-usb/msg146336.html
--
Best Regards,
Peter Chen
On Tue, Sep 13, 2016 at 11:29:12PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-09-13 19:11:33)
> > On Tue, Sep 13, 2016 at 01:41:44PM -0700, Stephen Boyd wrote:
> > > Quoting Peter Chen (2016-09-13 00:03:58)
> > > > On Wed, Sep 07, 2016 at 02:35:
On Tue, Sep 13, 2016 at 10:58:26PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-09-13 20:32:00)
> > On Tue, Sep 13, 2016 at 06:42:46PM -0700, Stephen Boyd wrote:
> > > On the db410c 96boards platform we have a TC7USB40MU[1] on the
> > > board to mux the D+/D- l
t easily find new bugs. Let's mark the members of
> structures properly and fix the few places where we're missing
> conversions.
>
> Cc: Peter Chen
> Cc: Greg Kroah-Hartman
> Signed-off-by: Stephen Boyd
> ---
>
> Peter Chen wrote:
> >
> > I am afra
; + struct tc7usb40mu_drv *drv;
> +
> + drv = platform_get_drvdata(pdev);
> + extcon_unregister_notifier(drv->edev, EXTCON_USB_HOST, &drv->notify);
> +
> + return 0;
> +}
> +
> +static const struct of_device_id tc7usb40mu_dt_match[] = {
> + { .compatible = "toshiba,tc7usb40mu", },
> + { }
> +};
> +MODULE_DEVICE_TABLE(of, tc7usb40mu_dt_match);
> +
> +static struct platform_driver tc7usb40mu_driver = {
> + .probe = tc7usb40mu_probe,
> + .remove = tc7usb40mu_remove,
> + .driver = {
> + .name = "tc7usb40mu",
> + .of_match_table = tc7usb40mu_dt_match,
> + },
> +};
> +module_platform_driver(tc7usb40mu_driver);
> +
> +MODULE_AUTHOR("Stephen Boyd ");
> +MODULE_DESCRIPTION("TC7USB40MU USB multiplexer driver");
> +MODULE_LICENSE("GPL");
> --
> 2.9.0.rc2.8.ga28705d
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards,
Peter Chen
On Wed, Sep 14, 2016 at 10:37:40AM +0800, Peter Chen wrote:
> On Tue, Sep 13, 2016 at 04:06:31PM -0700, Stephen Boyd wrote:
> > The DMA descriptors are little endian, and we do a pretty good
> > job of handling them with the proper le32_to_cpu() markings, but
> > we don
t easily find new bugs. Let's mark the members of
> structures properly and fix the few places where we're missing
> conversions.
>
> Cc: Peter Chen
> Cc: Greg Kroah-Hartman
> Signed-off-by: Stephen Boyd
> ---
> drivers/usb/chipidea/udc.c | 6 +++---
> drivers
On Tue, Sep 13, 2016 at 01:41:44PM -0700, Stephen Boyd wrote:
> Quoting Peter Chen (2016-09-13 00:03:58)
> > On Wed, Sep 07, 2016 at 02:35:19PM -0700, Stephen Boyd wrote:
> > > The high-speed phy on qcom SoCs is controlled via the ULPI
> > > viewport.
> > >
On Tue, Sep 13, 2016 at 09:36:39AM +0200, Arnd Bergmann wrote:
> On Tuesday, September 13, 2016 3:19:42 PM CEST Peter Chen wrote:
> >
> > I just see below Kconfig entry at the same Kconfig
> > (drivers/usb/Kconfig), and forget your changes.
> >
> > config USB_L
On Tue, Sep 13, 2016 at 09:04:08AM +0200, Arnd Bergmann wrote:
> On Tuesday, September 13, 2016 9:48:55 AM CEST Peter Chen wrote:
> > On Mon, Sep 12, 2016 at 05:36:23PM +0200, Arnd Bergmann wrote:
> > > Moving the CONFIG_USB_ULPI_BUS option to the top-level Kconfig file
>
->dev, "por");
> + if (IS_ERR(reset)) {
> + if (PTR_ERR(reset) == -EPROBE_DEFER)
> + return PTR_ERR(reset);
> + uphy->reset = NULL;
> + }
> +
> + uphy->phy = devm_phy_create(&ulpi->dev, ulpi->dev.of_node,
> + &qcom_usb_hs_phy_ops);
> + if (IS_ERR(uphy->phy))
> + return PTR_ERR(uphy->phy);
> +
> + uphy->vbus_edev = extcon_get_edev_by_phandle(&ulpi->dev, 0);
> + if (IS_ERR(uphy->vbus_edev)) {
> + if (PTR_ERR(uphy->vbus_edev) != -ENODEV)
> + return PTR_ERR(uphy->vbus_edev);
> + uphy->vbus_edev = NULL;
> + }
> +
> + uphy->id_edev = extcon_get_edev_by_phandle(&ulpi->dev, 1);
> + if (IS_ERR(uphy->id_edev)) {
> + if (PTR_ERR(uphy->id_edev) != -ENODEV)
> + return PTR_ERR(uphy->id_edev);
> + uphy->id_edev = NULL;
> + }
> +
> + uphy->vbus_notify.notifier_call = qcom_usb_hs_phy_vbus_notifier;
> + phy_set_drvdata(uphy->phy, uphy);
> +
> + p = devm_of_phy_provider_register(&ulpi->dev, of_phy_simple_xlate);
> + return PTR_ERR_OR_ZERO(p);
> +}
> +
> +static const struct of_device_id qcom_usb_hs_phy_match[] = {
> + { .compatible = "qcom,usb-hs-phy", },
> + { }
> +};
> +MODULE_DEVICE_TABLE(of, qcom_usb_hs_phy_match);
> +
> +static struct ulpi_driver qcom_usb_hs_phy_driver = {
> + .probe = qcom_usb_hs_phy_probe,
> + .driver = {
> + .name = "qcom_usb_hs_phy",
> + .of_match_table = qcom_usb_hs_phy_match,
> + },
> +};
> +module_ulpi_driver(qcom_usb_hs_phy_driver);
> +
> +MODULE_DESCRIPTION("Qualcomm USB HS phy");
> +MODULE_LICENSE("GPL v2");
> --
> 2.9.0.rc2.8.ga28705d
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards,
Peter Chen
ed!
>
Thanks, Arnd. I have submitted the fix.
https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=6406c3d226374c28d452b11db3b5ac241ce26191
--
Best Regards,
Peter Chen
ixed &&
> + if (dev->port_usb &&
> + dev->port_usb->is_fixed &&
> length == dev->port_usb->fixed_in_len &&
> (length % in->maxpacket) == 0)
> req->zero = 0;
Acked-by: Peter Chen
--
Best Regards,
Peter Chen
has 3 USB LEDs,
> 2 physical ports and 3 controllers.
>
> Another planned feature is support for LED reacting to the USB activity.
> This can be implemented with another sysfs file for setting mode. The
> default mode wouldn't change so there won't be ABI breakage and such
> feature can be safely implemented later.
>
It has such driver at: drivers/usb/common/led.c
--
Best Regards,
Peter Chen
On Thu, Sep 08, 2016 at 03:59:19PM +0300, Grygorii Strashko wrote:
> On 09/08/2016 03:28 PM, Peter Chen wrote:
> > On Thu, Sep 08, 2016 at 12:17:21PM +0200, Arnd Bergmann wrote:
> >> On Thursday, September 8, 2016 12:43:06 PM CEST Felipe Balbi wrote:
> >>> Arnd Bergma
401 - 500 of 1229 matches
Mail list logo