Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1478633 > unrolled thread
| Started by | Stephen Boyd <stephen.boyd@linaro.org> |
|---|---|
| First post | 2016-09-07 23:40 +0200 |
| Last post | 2016-09-09 02:50 +0200 |
| Articles | 2 on this page of 22 — 5 participants |
Back to article view | Back to linux.kernel
[PATCH v4 00/22] Support qcom's HSIC USB and rewrite USB2 HS support Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:40 +0200
[PATCH v4 14/22] usb: chipidea: msm: Add proper clk and reset support Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:40 +0200
[PATCH v4 07/22] usb: chipidea: Notify events when switching host mode Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:40 +0200
[PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:40 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Peter Chen <hzpeterchen@gmail.com> - 2016-09-13 09:10 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Peter Chen <hzpeterchen@gmail.com> - 2016-09-14 04:20 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Peter Chen <hzpeterchen@gmail.com> - 2016-09-14 11:40 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Peter Chen <hzpeterchen@gmail.com> - 2016-09-15 07:30 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Kishon Vijay Abraham I <kishon@ti.com> - 2016-09-14 07:40 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Rob Herring <robh@kernel.org> - 2016-09-16 17:30 +0200
Re: [PATCH v4 22/22] phy: Add support for Qualcomm's USB HS phy Rob Herring <robh@kernel.org> - 2016-09-19 23:10 +0200
[PATCH v4 16/22] usb: chipidea: msm: Restore wrapper settings after reset Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:40 +0200
[PATCH v4 05/22] usb: chipidea: Handle extcon events properly Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:50 +0200
[PATCH v4 09/22] usb: chipidea: Add support for ULPI PHY bus Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:50 +0200
[PATCH v4 03/22] usb: ulpi: Support device discovery via DT Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:50 +0200
Re: [PATCH v4 03/22] usb: ulpi: Support device discovery via DT Rob Herring <robh+dt@kernel.org> - 2016-09-08 03:20 +0200
Re: [PATCH v4 03/22] usb: ulpi: Support device discovery via DT Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-13 00:10 +0200
[PATCH v4 04/22] usb: chipidea: Only read/write OTGSC from one place Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:50 +0200
[PATCH v4 02/22] of: device: Export of_device_{get_modalias,uvent_modalias} to modules Stephen Boyd <stephen.boyd@linaro.org> - 2016-09-07 23:50 +0200
Re: [PATCH v4 02/22] of: device: Export of_device_{get_modalias,uvent_modalias} to modules Rob Herring <robh+dt@kernel.org> - 2016-09-08 03:00 +0200
Re: [PATCH v4 00/22] Support qcom's HSIC USB and rewrite USB2 HS support Peter Chen <hzpeterchen@gmail.com> - 2016-09-08 04:10 +0200
Re: [PATCH v4 00/22] Support qcom's HSIC USB and rewrite USB2 HS support Peter Chen <hzpeterchen@gmail.com> - 2016-09-09 02:50 +0200
Page 2 of 2 — ← Prev page 1 [2]
| From | Peter Chen <hzpeterchen@gmail.com> |
|---|---|
| Date | 2016-09-08 04:10 +0200 |
| Message-ID | <seWWR-85x-13@gated-at.bofh.it> |
| In reply to | #1478633 |
On Thu, Sep 8, 2016 at 5:34 AM, Stephen Boyd <stephen.boyd@linaro.org> wrote:
> The state of USB ChipIdea support on Qualcomm's platforms is not great.
> The DT description of these devices requires up to three different nodes
> for what amounts to be the same hardware block, when there should really
> only be one. Furthermore, the "phy" driver that is in mainline (phy-msm-usb.c)
> duplicates the OTG state machine and touches the ci controller wrapper
> registers when it should really be focused on the phy and the ULPI accesses
> needed to get the phy working. There's also a slimmed down phy driver for
> the msm8916 platform, but really the phy hardware is the same as other MSMs,
> so we have two drivers doing pretty much the same thing. This leads to a
> situtaion where we have the chipidea core driver, the "phy" driver, and
> sometimes the ehci-msm.c driver operating the same device all at the same
> time with very little coordination. This just isn't very safe and is
> confusing from a driver perspective when trying to figure out who does what.
> Finally, there isn't any HSIC support on platforms like apq8074 so we
> should add that.
>
> This patch series updates the ChipIdea driver and the MSM wrapper
> (ci_hdrc_msm.c) to properly handle the PHY and wrapper bits at the right
> times in the right places. To get there, we update the ChipIdea core to
> have support for the ULPI phy bus introduced by Heikki. Along the way
> we fix bugs with the extcon handling for peripheral and OTG mode controllers
> and move the parts of phy-usb-msm.c that are touching the CI controller
> wrapper into the wrapper driver (ci_hdrc_msm.c). Finally we add support
> for the HSIC phy based on the ULPI bus and rewrite the HS phy driver
> (phy-usb-msm.c) as a standard ULPI phy driver.
>
> Once this series is accepted, we should be able to delete the phy-usb-msm.c,
> phy-qcom-8x16-usb.c, and ehci-msm.c drivers from the tree and use the ULPI
> based phy driver (which also lives in drivers/phy/ instead of drivers/usb/phy/)
> and the chipidea host core instead.
>
> I've also sent separate patches for other minor pieces to make this
> all work. The full tree can be found here[3], hacks and all to get
> things working. I've tested this on the db410c, apq8074 dragonboard,
> and ifc6410 with configfs gadgets and otg cables.
>
> Patches based on v4.8-rc1
>
> Changes from v3:
>
> * Picked up Acks from Peter
>
> * Updated extcon consolidation patch per Peter's comments
>
> * Folded in simplification from Heikki for ULPI DT matching
>
I find the kbuild dependency error when compile your series, I remembered
someone met it before, would you have a solution:
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
drivers/usb/Kconfig:39:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/usb/Kconfig:39: symbol USB is selected by MOUSE_APPLETOUCH
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/input/mouse/Kconfig:187: symbol MOUSE_APPLETOUCH depends on INPUT
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/input/Kconfig:8: symbol INPUT is selected by VT
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/tty/Kconfig:12: symbol VT is selected by FB_STI
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:674: symbol FB_STI depends on FB
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/Kconfig:42: symbol DRM_KMS_FB_HELPER is selected by
DRM_KMS_CMA_HELPER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/Kconfig:98: symbol DRM_KMS_CMA_HELPER is selected by DRM_IMX
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/imx/Kconfig:1: symbol DRM_IMX depends on IMX_IPUV3_CORE
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/ipu-v3/Kconfig:1: symbol IMX_IPUV3_CORE depends on RESET_CONTROLLER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/reset/Kconfig:4: symbol RESET_CONTROLLER is selected by USB_CHIPIDEA
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/usb/chipidea/Kconfig:1: symbol USB_CHIPIDEA depends on USB_EHCI_HCD
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/usb/host/Kconfig:84: symbol USB_EHCI_HCD depends on USB
#
Peter
> Changes from v2:
>
> * Added SoC specific compatibles in phy bindings
>
> * Dropped AVVIS patch for OTG statemachine
>
> * New patch to consolidate extcon handlers
>
> * Picked up Acks from Peter
>
> * Rebased onto v4.8-rc1
>
> * Reworked ULPI OF code to look at vid == 0 instead of pid == 0
>
> * Dropped ULPI bindings for vid and pid overrides
>
> Changes from v1:
>
> * Reworked ULPI device probing to keep using vendor/product ids that
> come from DT if needed and falls back to OF style match when product id
> is 0
>
> * PHY init later patch was rejected so that moved to a quirk flag and
> the msm wrapper started managing the phy on/off
>
> * Updated clk requirements for HSIC phy in binding doc
>
> * Added optional clk in wrapper for "housekeeping" found on older qcom
> platforms
>
> * Bug fix to OTGSC polling function
>
> * Changed runtime PM patch to set as active instead of get/put
>
> TODO:
> * DMA fails on arm64 so we need something like [1] to make it work.
>
> * The db410c needs a driver to toggle the onboard switch to connect
> the usb hub instead of micro port when the usb cable is disconnected
>
> * apq8064 platforms need a vbus regulator to really use otg and I haven't
> tried out the RPM based regulators yet
>
> * The HSIC phy on the apq8074 dragonboard is connected to a usb4604
> device which requires the i2c driver to probe and send an i2c
> sequence before the HSIC controller enumerates or HSIC doesn't work.
> Right now I have a hack to force the controller to probe defer
> once so that usb4604 probes first. This needs a more proper solution
> like having the DT describe a linkage between the controller and
> the usb device so we can enforce probe ordering.
>
> * OTG support requires a working VBUS supply on apq8074 dragonboard
> and that requires changes to the smbb_charger driver to support
> the OTG OVP switch as a regulator[2]. This series needs revival
> on the list so that OTG works properly on that board.
>
> [1] https://lkml.org/lkml/2016/2/22/7
> [2] http://lkml.kernel.org/g/1449621618-11900-1-git-send-email-tim.bird@sonymobile.com
> [3] https://git.linaro.org/people/stephen.boyd/linux.git/shortlog/refs/heads/usb-hsic-8074
>
>
> Stephen Boyd (22):
> of: device: Support loading a module with OF based modalias
> of: device: Export of_device_{get_modalias,uvent_modalias} to modules
> usb: ulpi: Support device discovery via DT
> usb: chipidea: Only read/write OTGSC from one place
> usb: chipidea: Handle extcon events properly
> usb: chipidea: Add platform flag for wrapper phy management
> usb: chipidea: Notify events when switching host mode
> usb: chipidea: Remove locking in ci_udc_start()
> usb: chipidea: Add support for ULPI PHY bus
> usb: chipidea: Consolidate extcon notifiers
> usb: chipidea: msm: Mark device as runtime pm active
> usb: chipidea: msm: Rely on core to override AHBBURST
> usb: chipidea: msm: Use hw_write_id_reg() instead of writel
> usb: chipidea: msm: Add proper clk and reset support
> usb: chipidea: msm: Mux over secondary phy at the right time
> usb: chipidea: msm: Restore wrapper settings after reset
> usb: chipidea: msm: Make platform data driver local instead of global
> usb: chipidea: msm: Add reset controller for PHY POR bit
> usb: chipidea: msm: Handle phy power states
> usb: chipidea: msm: Be silent on probe defer errors
> phy: Add support for Qualcomm's USB HSIC phy
> phy: Add support for Qualcomm's USB HS phy
>
> .../devicetree/bindings/phy/qcom,usb-hs-phy.txt | 83 ++++++
> .../devicetree/bindings/phy/qcom,usb-hsic-phy.txt | 65 +++++
> Documentation/devicetree/bindings/usb/ulpi.txt | 20 ++
> drivers/of/device.c | 25 ++
> drivers/phy/Kconfig | 15 ++
> drivers/phy/Makefile | 2 +
> drivers/phy/phy-qcom-usb-hs.c | 289 +++++++++++++++++++++
> drivers/phy/phy-qcom-usb-hsic.c | 160 ++++++++++++
> drivers/usb/chipidea/Kconfig | 8 +
> drivers/usb/chipidea/Makefile | 1 +
> drivers/usb/chipidea/ci.h | 22 +-
> drivers/usb/chipidea/ci_hdrc_msm.c | 280 +++++++++++++++++---
> drivers/usb/chipidea/core.c | 122 ++++-----
> drivers/usb/chipidea/host.c | 10 +
> drivers/usb/chipidea/otg.c | 86 +++++-
> drivers/usb/chipidea/udc.c | 3 -
> drivers/usb/chipidea/ulpi.c | 113 ++++++++
> drivers/usb/common/ulpi.c | 77 +++++-
> include/linux/of_device.h | 6 +
> include/linux/usb/chipidea.h | 9 +-
> 20 files changed, 1259 insertions(+), 137 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.9.0.rc2.8.ga28705d
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Peter Chen <hzpeterchen@gmail.com> |
|---|---|
| Date | 2016-09-09 02:50 +0200 |
| Subject | Re: [PATCH v4 00/22] Support qcom's HSIC USB and rewrite USB2 HS support |
| Message-ID | <sfib0-4rd-11@gated-at.bofh.it> |
| In reply to | #1478733 |
On Thu, Sep 08, 2016 at 02:13:28PM -0700, Stephen Boyd wrote: > Quoting Peter Chen (2016-09-07 19:06:45) > > On Thu, Sep 8, 2016 at 5:34 AM, Stephen Boyd <stephen.boyd@linaro.org> wrote: > > > The state of USB ChipIdea support on Qualcomm's platforms is not great. > > > The DT description of these devices requires up to three different nodes > > > for what amounts to be the same hardware block, when there should really > > > only be one. Furthermore, the "phy" driver that is in mainline (phy-msm-usb.c) > > > duplicates the OTG state machine and touches the ci controller wrapper > > > registers when it should really be focused on the phy and the ULPI accesses > > > needed to get the phy working. There's also a slimmed down phy driver for > > > the msm8916 platform, but really the phy hardware is the same as other MSMs, > > > so we have two drivers doing pretty much the same thing. This leads to a > > > situtaion where we have the chipidea core driver, the "phy" driver, and > > > sometimes the ehci-msm.c driver operating the same device all at the same > > > time with very little coordination. This just isn't very safe and is > > > confusing from a driver perspective when trying to figure out who does what. > > > Finally, there isn't any HSIC support on platforms like apq8074 so we > > > should add that. > > > > > > This patch series updates the ChipIdea driver and the MSM wrapper > > > (ci_hdrc_msm.c) to properly handle the PHY and wrapper bits at the right > > > times in the right places. To get there, we update the ChipIdea core to > > > have support for the ULPI phy bus introduced by Heikki. Along the way > > > we fix bugs with the extcon handling for peripheral and OTG mode controllers > > > and move the parts of phy-usb-msm.c that are touching the CI controller > > > wrapper into the wrapper driver (ci_hdrc_msm.c). Finally we add support > > > for the HSIC phy based on the ULPI bus and rewrite the HS phy driver > > > (phy-usb-msm.c) as a standard ULPI phy driver. > > > > > > Once this series is accepted, we should be able to delete the phy-usb-msm.c, > > > phy-qcom-8x16-usb.c, and ehci-msm.c drivers from the tree and use the ULPI > > > based phy driver (which also lives in drivers/phy/ instead of drivers/usb/phy/) > > > and the chipidea host core instead. > > > > > > I've also sent separate patches for other minor pieces to make this > > > all work. The full tree can be found here[3], hacks and all to get > > > things working. I've tested this on the db410c, apq8074 dragonboard, > > > and ifc6410 with configfs gadgets and otg cables. > > > > > > Patches based on v4.8-rc1 > > > > > > Changes from v3: > > > > > > * Picked up Acks from Peter > > > > > > * Updated extcon consolidation patch per Peter's comments > > > > > > * Folded in simplification from Heikki for ULPI DT matching > > > > > > > I find the kbuild dependency error when compile your series, I remembered > > someone met it before, would you have a solution: > > Yes. Should I send it through the drm maintainers? > Yes, please add me at cc list, thanks. Peter > ---8<--- > From: Stephen Boyd <stephen.boyd@linaro.org> > Subject: [PATCH] gpu: Remove depends on RESET_CONTROLLER when not a provider > > These GPU drivers only depend on the RESET_CONTROLLER config > option to fix build issues that existed when there weren't stub > reset APIs for reset controller consumers. Given that these > drivers aren't providing any reset controllers themselves, they > don't actually depend on the API to build (just to function) so > they don't need to depend on it. Remove the dependency to fix > recursive build errors like the following: > > drivers/usb/Kconfig:39:error: recursive dependency detected! > drivers/usb/Kconfig:39: symbol USB is selected by MOUSE_APPLETOUCH > drivers/input/mouse/Kconfig:187: symbol MOUSE_APPLETOUCH depends on INPUT > drivers/input/Kconfig:8: symbol INPUT is selected by VT > drivers/tty/Kconfig:12: symbol VT is selected by FB_STI > drivers/video/fbdev/Kconfig:674: symbol FB_STI depends on FB > drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER > drivers/gpu/drm/Kconfig:42: symbol DRM_KMS_FB_HELPER is selected by DRM_KMS_CMA_HELPER > drivers/gpu/drm/Kconfig:98: symbol DRM_KMS_CMA_HELPER is selected by DRM_IMX > drivers/gpu/drm/imx/Kconfig:1: symbol DRM_IMX depends on IMX_IPUV3_CORE > drivers/gpu/ipu-v3/Kconfig:1: symbol IMX_IPUV3_CORE depends on RESET_CONTROLLER > drivers/reset/Kconfig:4: symbol RESET_CONTROLLER is selected by USB_CHIPIDEA > drivers/usb/chipidea/Kconfig:1: symbol USB_CHIPIDEA depends on USB_EHCI_HCD > drivers/usb/host/Kconfig:84: symbol USB_EHCI_HCD depends on USB > > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: David Airlie <airlied@linux.ie> > Cc: <dri-devel@lists.freedesktop.org> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> > --- > drivers/gpu/drm/rockchip/Kconfig | 1 - > drivers/gpu/drm/tegra/Kconfig | 1 - > drivers/gpu/ipu-v3/Kconfig | 1 - > 3 files changed, 3 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig > index 3c58669a06ce..6f7f9c59f05b 100644 > --- a/drivers/gpu/drm/rockchip/Kconfig > +++ b/drivers/gpu/drm/rockchip/Kconfig > @@ -1,7 +1,6 @@ > config DRM_ROCKCHIP > tristate "DRM Support for Rockchip" > depends on DRM && ROCKCHIP_IOMMU > - depends on RESET_CONTROLLER > select DRM_GEM_CMA_HELPER > select DRM_KMS_HELPER > select DRM_PANEL > diff --git a/drivers/gpu/drm/tegra/Kconfig b/drivers/gpu/drm/tegra/Kconfig > index 63ebb154b9b5..bbf5a4b7e0b6 100644 > --- a/drivers/gpu/drm/tegra/Kconfig > +++ b/drivers/gpu/drm/tegra/Kconfig > @@ -3,7 +3,6 @@ config DRM_TEGRA > depends on ARCH_TEGRA || (ARM && COMPILE_TEST) > depends on COMMON_CLK > depends on DRM > - depends on RESET_CONTROLLER > select DRM_KMS_HELPER > select DRM_MIPI_DSI > select DRM_PANEL > diff --git a/drivers/gpu/ipu-v3/Kconfig b/drivers/gpu/ipu-v3/Kconfig > index aefdff95356d..08766c6e7856 100644 > --- a/drivers/gpu/ipu-v3/Kconfig > +++ b/drivers/gpu/ipu-v3/Kconfig > @@ -1,7 +1,6 @@ > config IMX_IPUV3_CORE > tristate "IPUv3 core support" > depends on SOC_IMX5 || SOC_IMX6Q || ARCH_MULTIPLATFORM > - depends on RESET_CONTROLLER > select GENERIC_IRQ_CHIP > help > Choose this if you have a i.MX5/6 system and want to use the Image > -- > 2.9.0.rc2.8.ga28705d -- Best Regards, Peter Chen
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | linux.kernel
csiph-web