[PATCH 10/10] ARM: dts: qcom: apq8074-dragonboard: enable the HSIC host
Dmitry Baryshkov <[email protected]>
| Newsgroups | org.kernel.vger.linux-gpio,org.infradead.lists.linux-phy,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <[email protected]> |
The dragonboard carries an SMSC USB4604 HSIC hub, but with the HSIC controller undescribed the whole HSIC-attached part of the board is dead. Enable the HSIC controller. The USB4604 hub isn't controllable through the I2C because of the board design issues, so reference it as a simple USB device, describing the reset line. Assisted-by: Claude:claude-fable-5 Signed-off-by: Dmitry Baryshkov <[email protected]> --- .../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts index 083fd8fa0aea..02183b37ddbe 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts +++ b/arch/arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts @@ -158,6 +158,14 @@ &mdss { }; &pm8941_gpios { + hsic_hub_rst_default: hsic-hub-rst-state { + pins = "gpio8"; + function = "normal"; + drive-push-pull; + qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>; + power-source = <PM8941_GPIO_VPH>; + }; + msm_keys_default: pm8941-gpio-keys-state { pins = "gpio5", "gpio23"; function = "normal"; @@ -487,6 +495,25 @@ &usb_hs2_phy { qcom,init-seq = /bits/ 8 <0x1 0x63>; }; +&usb_hsic { + pinctrl-0 = <&hsic_hub_rst_default>; + pinctrl-names = "default"; + + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + + /* SMSC USB4604 hub, standalone mode (SMBus config not usable) */ + hub@1 { + compatible = "usb424,4604"; + reg = <1>; + clocks = <&rpmcc RPM_SMD_CXO_D1>; + reset-gpios = <&pm8941_gpios 8 GPIO_ACTIVE_LOW>; + vdd-supply = <&pm8941_s3>; + }; +}; + &usb3 { dr_mode = "host"; -- 2.47.3