- Dec 04, 2019
-
-
The HiKey960 has a fairly complex USB configuration due to it needing to support a USB-C port for host/device mode and multiple USB-A ports in host mode using a single USB controller. See schematics here: https://github.com/96boards/documentation/raw/master/consumer/hikey/hikey960/hardware-docs/HiKey960_Schematics.pdf This driver acts as a usb-role-switch intermediary, intercepting the role switch notifications from the tcpm code, and passing them on to the dwc3 core. In doing so, it also controls the onboard hub and power gpios in order to properly route the data lines between the USB-C port and the onboard hub to the USB-A ports. NOTE: It was noted that controlling the TYPEC_VBUS_POWER_OFF and TYPEC_VBUS_POWER_ON values here is not reccomended. I'm looking for a way to remove that bit from the logic here, but wanted to still get feedback on this approach. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by:
Yu Chen <chenyu56@huawei.com> [jstultz: Major rework to make the driver a usb-role-switch intermediary] Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: Icf381520abd46d083750d01f91e478321560fbf9
-
dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 This patch adds binding documentation to support usb hub and usb data role switch of Hisilicon HiKey960 Board. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by:
Yu Chen <chenyu56@huawei.com> Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: I3f111b39b7a982b3489549076412a2f7c3c3d008
-
The dwc3 core binding specifies one reset. However some variants of the hardware may have more. Previously this was handled by using the dwc3-of-simple glue driver, but that resulted in a proliferation of bindings for for every variant, when the only difference was the clocks and resets lists. So this patch reworks the reading of the resets to fetch all the resets specified in the dts together. This patch was recommended by Rob Herring <robh@kernel.org> as an alternative to creating multiple bindings for each variant of hardware. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Suggested-by:
Rob Herring <robh@kernel.org> Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: I4a26492f19e857f3f9f29bcdab81458016f70977
-
The dwc3 core binding specifies three clocks: ref, bus_early, and suspend which are all controlled in the driver together. However some variants of the hardware my not have all three clks, or some may have more. Usually this was handled by using the dwc3-of-simple glue driver, but that resulted in a proliferation of bindings for for every variant, when the only difference was the clocks and resets lists. So this patch reworks the reading of the clks from the dts to use devm_clk_bulk_get_all() will will fetch all the clocks specified in the dts together. This patch was recommended by Rob Herring <robh@kernel.org> as an alternative to creating multiple bindings for each variant of hardware. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Suggested-by:
Rob Herring <robh@kernel.org> Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: I3319bec8253edc131d772ca66dc9335435b06424
-
Rather then adding another device specific binding to support hikey960, Rob Herring suggested we expand the current dwc3 binding to allow for variable numbers of clocks and resets. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Suggested-by:
Rob Herring <robh@kernel.org> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: I0176989314d7b7e6ea586f5036f072442f7e34e1
-
Support the new role-switch-default-mode binding for configuring the default role the controller assumes as when the usb role is USB_ROLE_NONE This patch was split out from a larger patch originally by Yu Chen <chenyu56@huawei.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: Ic6e4df1109b350deaecdc69f667d49ce91d599f3
-
Add binding to configure the default role the controller assumes is host mode when the usb role is USB_ROLE_NONE. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: I6ac1d9c56039d76d924148e29a5e4b0bb304ed0f
-
The Type-C drivers use USB role switch API to inform the system about the negotiated data role, so registering a role switch in the DRD code in order to support platforms with USB Type-C connectors. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> CC: ShuFan Lee <shufan_lee@richtek.com> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Yu Chen <chenyu56@huawei.com> Cc: Felipe Balbi <balbi@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Jun Li <lijun.kernel@gmail.com> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Jack Pham <jackp@codeaurora.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Suggested-by:
Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by:
Yu Chen <chenyu56@huawei.com> Signed-off-by:
John Stultz <john.stultz@linaro.org> Change-Id: Ibd89b7eb3e59688895a2d317f3515e6d2705c6f3
-
Bryan O'Donoghue authored
The description lacks a few indefinite articles when reading and as a result is a bit clunky to read. Introduce a few indefinite articles to appease the grammar gods. Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Rob Herring <robh@kernel.org> Cc: Chanwoo Choi <cw00.choi@samsung.com> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This patch makes the printout of the error message for failing to get a VBUS regulator handle conditional on the error code being something other than -EPROBE_DEFER. Deferral is a normal thing, we don't need an error message for this. Cc: Chunfeng Yun <chunfeng.yun@mediatek.com> Cc: Nagarjuna Kristam <nkristam@nvidia.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-usb@vger.kernel.org Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
- Dec 03, 2019
-
-
Bryan O'Donoghue authored
Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This commit brings in the Google Mistral dts from chrome 4.14-gw to the QLT staging repo. Some entries are commented out to enable dtb compilation. This needs rebase and more work to be fully functional with the later kernel. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
- Nov 27, 2019
-
-
Linaro CI authored
-
Linaro CI authored
Merge remote-tracking branch 'sm8150-misc/tracking-qcomlt-sm8150-misc' into integration-linux-qcomlt
-
Linaro CI authored
-
Linaro CI authored
-
Linaro CI authored
Merge remote-tracking branch 'qcs404-cpufreq/tracking-qcomlt-qcs404-cpufreq' into integration-linux-qcomlt
-
Linaro CI authored
-
Linaro CI authored
Merge remote-tracking branch 'qcs404-defconfig/tracking-qcomlt-qcs404-defconfig' into integration-linux-qcomlt # Conflicts: # arch/arm64/configs/defconfig
-
Linaro CI authored
-
Linaro CI authored
-
Linaro CI authored
# Conflicts: # arch/arm64/boot/dts/qcom/pms405.dtsi
-
Linaro CI authored
-
Linaro CI authored
Merge remote-tracking branch 'sdm845-db845c/tracking-qcomlt-sdm845-db845c' into integration-linux-qcomlt # Conflicts: # arch/arm64/boot/dts/qcom/sdm845-db845c.dts
-
Linaro CI authored
Merge remote-tracking branch 'sdm845-pcie/tracking-qcomlt-sdm845-pcie' into integration-linux-qcomlt
-
Linaro CI authored
Merge remote-tracking branch 'distro.config/tracking-qcomlt-config-fragments' into integration-linux-qcomlt
-
Linaro CI authored
Merge remote-tracking branch 'arm64-defconfig/tracking-qcomlt-arm64-defconfig' into integration-linux-qcomlt # Conflicts: # arch/arm64/configs/defconfig
-
Linaro CI authored
-
Linaro CI authored
-
Linaro CI authored
-
Linaro CI authored
Merge remote-tracking branch 'fixes/tracking-qcomlt-fixes-without-devfreq-reverts' into integration-linux-qcomlt
-
Linaro CI authored
-
Linaro CI authored
-
Linaro CI authored
-
Georgi Djakov authored
Enable the interconnect framework and the platform drivers for 64bit Qualcomm platforms. Signed-off-by:
Georgi Djakov <georgi.djakov@linaro.org>
-
Georgi Djakov authored
Add nodes for the network-on-chip interconnect buses present on MSM8916-based platforms. Signed-off-by:
Georgi Djakov <georgi.djakov@linaro.org>
-
Georgi Djakov authored
Now we can have a tag associated with the path. Add this information to the interconnect_summary file, as the current information in debugfs might be misleading. Signed-off-by:
Georgi Djakov <georgi.djakov@linaro.org>
-
Georgi Djakov authored
Allow setting constraints from userspace for more convenient testing. Example usage: cd /sys/kernel/debug/interconnect-test/ echo -n 3 > src_port echo -n 53 > dst_port echo -n 1 > get echo -n 80000000 > avg_bw echo -n 1 > commit Signed-off-by:
Georgi Djakov <georgi.djakov@linaro.org>
-
- Nov 25, 2019
-
-
Georgi Djakov authored
The header file is not used. Drop it. Signed-off-by:
Georgi Djakov <georgi.djakov@linaro.org>
-
Georgi Djakov authored
Use IS_ERR() to ensure that the path passed to icc_set_bw() is at least a valid pointer. Signed-off-by:
Georgi Djakov <georgi.djakov@linaro.org>
-