From: Rob Herring <robh@kernel.org>
To: Yu Chen <chenyu56@huawei.com>
Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, john.stultz@linaro.org,
suzhuangluan@hisilicon.com, kongfei@hisilicon.com,
liuyu712@hisilicon.com, wanghu17@hisilicon.com,
butao@hisilicon.com, chenyao11@huawei.com,
fangshengzhou@hisilicon.com, lipengcheng8@huawei.com,
songxiaowei@hisilicon.com, xuyiping@hisilicon.com,
xuyoujun4@huawei.com, yudongbin@hisilicon.com,
zangleigang@hisilicon.com, Kishon Vijay Abraham I <kishon@ti.com>,
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
Mark Rutland <mark.rutland@arm.com>,
Binghui Wang <wangbinghui@hisilicon.com>
Subject: Re: [PATCH v6 02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960
Date: Thu, 25 Apr 2019 16:35:32 -0500 [thread overview]
Message-ID: <20190425213532.GA32028@bogus> (raw)
In-Reply-To: <20190420064019.57522-3-chenyu56@huawei.com>
On Sat, Apr 20, 2019 at 02:40:08PM +0800, Yu Chen wrote:
> This patch adds binding documentation to support usb hub and usb
> data role switch of Hisilicon HiKey960 Board.
Sorry I've been slow to really review this, but I needed to look at the
schematics to see what exactly is going on here.
I think this needs some changes to better reflect the h/w and utilize
existing bindings. It should really be designed ignoring the muxing to
start with. Define the binding for the TypeC connector and then the host
hub and make sure they can coexist. Then overlay what you need to switch
between the 2 modes which AFAICT is just a single GPIO.
>
> Cc: Kishon Vijay Abraham I <kishon@ti.com>
> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> ---
> v1:
> * Fix some format errors as suggested by Sergei.
> * Modify gpio description to use gpiod API.
> v2:
> * Remove information about Hikey.
> * Fix gpio description.
> * Remove device_type of endpoint.
> v3:
> * Remove property typec-vbus-enable-val.
> * Add description of pinctrl-names.
> * Add example for "hisilicon,gpio-hubv1"
> * Add flag in gpiod properties.
> ---
> ---
> .../bindings/misc/hisilicon-hikey-usb.txt | 52 ++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
>
> diff --git a/Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt b/Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
> new file mode 100644
> index 000000000000..422e844df719
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
> @@ -0,0 +1,52 @@
> +Support usb hub and usb data role switch of Hisilicon HiKey960 Board.
> +
> +-----------------------------
> +
> +Required properties:
> +- compatible: "hisilicon,gpio-hubv1","hisilicon,hikey960-usb"
> +- typec-vbus-gpios: gpio to control the vbus of typeC port
This should be a gpio regulator and then connected to 'vbus-supply' in a
usb-connector node (see .../bindings/connectors/usb-connector.txt).
Then you also need the RT1711HWSC TypeC controller in DT. That is
typically the parent device of the connector node.
> +- otg-switch-gpios: gpio to switch DP & DM between the hub and typeC port
This probably belongs in USB controller node.
> +- hub-vdd33-en-gpios: gpio to enable the power of hub
This too should be a gpio regulator and then in a hub node. We have 2
ways to represent hubs. Either as an I2C device or as a child of the
host controller. The latter is preferred, but I'm not too sure how the
OF graph connection linking the controller to the TypeC connector will
work with the usb bus binding.
> +- pinctrl-names: pin configuration state name ("default")
> +- pinctrl-0: pinctrl config
> +
> +Example
> +-----
> +
> + hisi_hikey_usb: hisi_hikey_usb {
> + compatible = "hisilicon,hikey960-usb";
> + typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>;
> + otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>;
> + hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&usbhub5734_pmx_func>;
> +
> + port {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hikey_usb_ep: endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&dwc3_role_switch_notify>;
> + };
> + };
> + };
> +
> + hisi_hikey_usb: hisi_hikey_usb {
Perhaps doesn't matter with my above feedback, but I don't understand
the point of this 2nd example.
> + compatible = "hisilicon,gpio-hubv1";
> + typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_LOW>;
> + otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>;
> + hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&usbhub5734_pmx_func>;
> +
> + port {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hikey_usb_ep: endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&dwc3_role_switch_notify>;
> + };
> + };
> + };
> --
> 2.15.0-rc2
>
next prev parent reply other threads:[~2019-04-25 21:35 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-20 6:40 [PATCH v6 00/13] Add support for usb on Hikey960 Yu Chen
2019-04-20 6:40 ` [PATCH v6 01/13] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY Yu Chen
2019-04-20 6:40 ` [PATCH v6 02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Yu Chen
2019-04-25 21:35 ` Rob Herring [this message]
2019-04-30 6:07 ` Chen Yu
2019-05-01 16:27 ` Rob Herring
2019-04-20 6:40 ` [PATCH v6 03/13] usb: dwc3: dwc3-of-simple: Add support for dwc3 of Hisilicon Soc Platform Yu Chen
2019-04-25 21:36 ` Rob Herring
2019-04-20 6:40 ` [PATCH v6 04/13] usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc Yu Chen
2020-09-07 13:06 ` Mauro Carvalho Chehab
2020-09-07 14:04 ` Felipe Balbi
2020-09-07 14:50 ` Mauro Carvalho Chehab
2020-09-08 6:09 ` Felipe Balbi
2020-09-08 6:49 ` Mauro Carvalho Chehab
2020-09-08 17:40 ` Thinh Nguyen
2020-09-08 6:42 ` Mauro Carvalho Chehab
2019-04-20 6:40 ` [PATCH v6 05/13] usb: dwc3: Execute GCTL Core Soft Reset while switch mdoe " Yu Chen
2019-04-20 6:40 ` [PATCH v6 06/13] usb: dwc3: Increase timeout for CmdAct cleared by device controller Yu Chen
2019-04-20 6:40 ` [PATCH v6 07/13] phy: Add usb phy support for hi3660 Soc of Hisilicon Yu Chen
2019-04-20 6:40 ` [PATCH v6 08/13] usb: roles: Introduce stubs for the exiting functions in role.h Yu Chen
2019-04-20 6:40 ` [PATCH v6 09/13] usb: roles: Add usb role switch notifier Yu Chen
2019-04-20 6:40 ` [PATCH v6 10/13] usb: dwc3: Registering a role switch in the DRD code Yu Chen
2019-04-20 6:40 ` [PATCH v6 11/13] hikey960: Support usb functionality of Hikey960 Yu Chen
2019-04-20 6:40 ` [PATCH v6 12/13] usb: gadget: Add configfs attribuite for controling match_existing_only Yu Chen
2019-04-20 6:40 ` [PATCH v6 13/13] dts: hi3660: Add support for usb on Hikey960 Yu Chen
2019-04-25 22:00 ` Rob Herring
2019-04-30 7:15 ` Chen Yu
2019-05-02 5:44 ` shufan_lee(李書帆)
2019-04-29 15:42 ` [PATCH v6 00/13] " Valentin Schneider
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190425213532.GA32028@bogus \
--to=robh@kernel.org \
--cc=butao@hisilicon.com \
--cc=chenyao11@huawei.com \
--cc=chenyu56@huawei.com \
--cc=devicetree@vger.kernel.org \
--cc=fangshengzhou@hisilicon.com \
--cc=john.stultz@linaro.org \
--cc=kishon@ti.com \
--cc=kongfei@hisilicon.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lipengcheng8@huawei.com \
--cc=liuyu712@hisilicon.com \
--cc=mark.rutland@arm.com \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=songxiaowei@hisilicon.com \
--cc=suzhuangluan@hisilicon.com \
--cc=wangbinghui@hisilicon.com \
--cc=wanghu17@hisilicon.com \
--cc=xuyiping@hisilicon.com \
--cc=xuyoujun4@huawei.com \
--cc=yudongbin@hisilicon.com \
--cc=zangleigang@hisilicon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).