Add nodes for the onboard USB hub on trogdor devices. Remove the
'always-on' property from the hub regulator, since the regulator
is now managed by the onboard_usb_hub driver.
Signed-off-by: Matthias Kaehlcke <[email protected]>
Reviewed-by: Stephen Boyd <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
---
Depends on "usb: misc: Add onboard_usb_hub driver" [1] which landed in
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-testing
This patch was split off the above series.
[1] https://patchwork.kernel.org/project/linux-usb/list/?series=615531&state=%2A&archive=both
Changes in v22:
- none
Changes in v21:
- patch dropped from onboard_usb_hub series
Changes in v20:
- renamed hub labels to 'usb_hub_2/3_x'
- added comment for 'regulator-boot-on' of 'pp3300_hub'
- added 'Reviewed-by' tags from Stephen and Doug
Changes in v19:
- none
Changes in v18:
- also adjust config for pompom rev1
Changes in v17:
- none
Changes in v16:
- none
Changes in v15:
- none
Changes in v14:
- none
Changes in v13:
- none
Changes in v12:
- none
Changes in v11:
- rebased on qcom/arm64-for-5.14 (with the rest of the series)
Changes in v10:
- keep 'regulator-boot-on' property
- updated commit message
Changes in v9:
- none
Changes in v8:
- none
Changes in v7:
- rebased on qcom/arm64-for-5.13 (with the rest of the series)
Changes in v6:
- added 'companion-hub' entry to both USB devices
- added 'vdd-supply' also to hub@2
Changes in v5:
- patch added to the series
.../boot/dts/qcom/sc7180-trogdor-lazor-r0.dts | 19 ++++++++----------
.../boot/dts/qcom/sc7180-trogdor-lazor-r1.dts | 12 +++++------
.../dts/qcom/sc7180-trogdor-pompom-r1.dts | 11 ++++------
.../arm64/boot/dts/qcom/sc7180-trogdor-r1.dts | 19 ++++++++----------
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 20 ++++++++++++++++++-
5 files changed, 44 insertions(+), 37 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
index b142006478ea..caa2d3db4bc4 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
@@ -16,17 +16,6 @@ / {
compatible = "google,lazor-rev0", "qcom,sc7180";
};
-&pp3300_hub {
- /* pp3300_l7c is used to power the USB hub */
- /delete-property/regulator-always-on;
- /delete-property/regulator-boot-on;
-};
-
-&pp3300_l7c {
- regulator-always-on;
- regulator-boot-on;
-};
-
&sn65dsi86_out {
/*
* Lane 0 was incorrectly mapped on the cable, but we've now decided
@@ -35,3 +24,11 @@ &sn65dsi86_out {
*/
lane-polarities = <1 0>;
};
+
+&usb_hub_2_x {
+ vdd-supply = <&pp3300_l7c>;
+};
+
+&usb_hub_3_x {
+ vdd-supply = <&pp3300_l7c>;
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
index 59740799fa3a..0dc50ed62c46 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
@@ -16,13 +16,11 @@ / {
compatible = "google,lazor-rev1", "google,lazor-rev2", "qcom,sc7180";
};
-&pp3300_hub {
- /* pp3300_l7c is used to power the USB hub */
- /delete-property/regulator-always-on;
- /delete-property/regulator-boot-on;
+
+&usb_hub_2_x {
+ vdd-supply = <&pp3300_l7c>;
};
-&pp3300_l7c {
- regulator-always-on;
- regulator-boot-on;
+&usb_hub_3_x {
+ vdd-supply = <&pp3300_l7c>;
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r1.dts b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r1.dts
index 76a130bad60a..8467ff41e6d5 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r1.dts
@@ -34,13 +34,10 @@ &pm6150_adc_tm {
/delete-node/ charger-thermistor@0;
};
-&pp3300_hub {
- /* pp3300_l7c is used to power the USB hub */
- /delete-property/regulator-always-on;
- /delete-property/regulator-boot-on;
+&usb_hub_2_x {
+ vdd-supply = <&pp3300_l7c>;
};
-&pp3300_l7c {
- regulator-always-on;
- regulator-boot-on;
+&usb_hub_3_x {
+ vdd-supply = <&pp3300_l7c>;
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts b/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
index 457c25499863..0cbb7a68d58b 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
@@ -43,17 +43,6 @@ &panel {
compatible = "auo,b116xa01";
};
-&pp3300_hub {
- /* pp3300_l7c is used to power the USB hub */
- /delete-property/regulator-always-on;
- /delete-property/regulator-boot-on;
-};
-
-&pp3300_l7c {
- regulator-always-on;
- regulator-boot-on;
-};
-
&sdhc_2 {
status = "okay";
};
@@ -62,6 +51,14 @@ &trackpad {
interrupts = <58 IRQ_TYPE_EDGE_FALLING>;
};
+&usb_hub_2_x {
+ vdd-supply = <&pp3300_l7c>;
+};
+
+&usb_hub_3_x {
+ vdd-supply = <&pp3300_l7c>;
+};
+
/* PINCTRL - modifications to sc7180-trogdor.dtsi */
&trackpad_int_1v8_odl {
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index b0efb354458c..39e1121c5d77 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -296,7 +296,7 @@ pp3300_hub: pp3300-hub-regulator {
pinctrl-names = "default";
pinctrl-0 = <&en_pp3300_hub>;
- regulator-always-on;
+ /* The BIOS leaves this regulator on */
regulator-boot-on;
vin-supply = <&pp3300_a>;
@@ -936,6 +936,24 @@ &usb_1 {
&usb_1_dwc3 {
dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.x hub on port 1 */
+ usb_hub_2_x: hub@1 {
+ compatible = "usbbda,5411";
+ reg = <1>;
+ vdd-supply = <&pp3300_hub>;
+ companion-hub = <&usb_hub_3_x>;
+ };
+
+ /* 3.x hub on port 2 */
+ usb_hub_3_x: hub@2 {
+ compatible = "usbbda,411";
+ reg = <2>;
+ vdd-supply = <&pp3300_hub>;
+ companion-hub = <&usb_hub_2_x>;
+ };
};
&usb_1_hsphy {
--
2.36.0.rc2.479.g8af0fa9b8e-goog
Add nodes for the onboard USB hub on herobrine devices. Remove the
'always-on' property from the hub regulator, since the regulator
is now managed by the onboard_usb_hub driver.
Signed-off-by: Matthias Kaehlcke <[email protected]>
---
Changes in v22:
- patch added to the series
.../arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 21 ++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
index d58045dd7334..46937d21b229 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
@@ -143,8 +143,8 @@ pp3300_hub: pp3300-hub-regulator {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
+ /* The BIOS leaves this regulator on */
regulator-boot-on;
- regulator-always-on;
gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
enable-active-high;
@@ -560,6 +560,25 @@ &usb_1 {
&usb_1_dwc3 {
dr_mode = "host";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.x hub on port 1 */
+ usb_hub_2_x: hub@1 {
+ compatible = "usbbda,5411";
+ reg = <1>;
+ vdd-supply = <&pp3300_hub>;
+ companion-hub = <&usb_hub_3_x>;
+ };
+
+ /* 3.x hub on port 2 */
+ usb_hub_3_x: hub@2 {
+ compatible = "usbbda,411";
+ reg = <2>;
+ vdd-supply = <&pp3300_hub>;
+ companion-hub = <&usb_hub_2_x>;
+ };
};
&usb_1_hsphy {
--
2.36.0.rc2.479.g8af0fa9b8e-goog
Hi,
On Tue, Apr 26, 2022 at 5:03 PM Matthias Kaehlcke <[email protected]> wrote:
>
> Add nodes for the onboard USB hub on trogdor devices. Remove the
> 'always-on' property from the hub regulator, since the regulator
> is now managed by the onboard_usb_hub driver.
There are people out there that are running trogdor devices with
upstream Linux. There's not much we can do about it, but probably this
patch will cause them to fail to probe USB because they won't have
"CONFIG_USB_ONBOARD_HUB=y". Luckily the commit subject has "USB" in it
so hopefully it'll be easy to spot, but I wonder if we should add
something to the commit message that makes that super obvious and
tells them about the relevant commit, like:
For anyone using trogdor-based devices on Linux, it should be noted
that this requires "CONFIG_USB_ONBOARD_HUB=y".
> Signed-off-by: Matthias Kaehlcke <[email protected]>
> Reviewed-by: Stephen Boyd <[email protected]>
> Reviewed-by: Douglas Anderson <[email protected]>
> ---
> Depends on "usb: misc: Add onboard_usb_hub driver" [1] which landed in
> https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-testing
>
> This patch was split off the above series.
>
> [1] https://patchwork.kernel.org/project/linux-usb/list/?series=615531&state=%2A&archive=both
I presume it will be moderately annoying if this lands in the Qualcomm
branch before the driver lands in mainline? Otherwise USB will fully
stop working on the Qualcomm branch. Do we want to postpone landing
this?
-Doug
Hi,
On Tue, Apr 26, 2022 at 5:03 PM Matthias Kaehlcke <[email protected]> wrote:
>
> Add nodes for the onboard USB hub on herobrine devices. Remove the
> 'always-on' property from the hub regulator, since the regulator
> is now managed by the onboard_usb_hub driver.
>
> Signed-off-by: Matthias Kaehlcke <[email protected]>
> ---
>
> Changes in v22:
> - patch added to the series
>
> .../arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 21 ++++++++++++++++++-
> 1 file changed, 20 insertions(+), 1 deletion(-)
Just like on patch #1, I presume it will be moderately annoying if
this lands in the Qualcomm branch before the driver lands in mainline?
I guess very few people have herobrine hardware, so maybe not that big
of a deal...
In any case, I'm happy with:
Reviewed-by: Douglas Anderson <[email protected]>
On Wed, Apr 27, 2022 at 02:06:00PM -0700, Doug Anderson wrote:
> Hi,
>
> On Tue, Apr 26, 2022 at 5:03 PM Matthias Kaehlcke <[email protected]> wrote:
> >
> > Add nodes for the onboard USB hub on herobrine devices. Remove the
> > 'always-on' property from the hub regulator, since the regulator
> > is now managed by the onboard_usb_hub driver.
> >
> > Signed-off-by: Matthias Kaehlcke <[email protected]>
> > ---
> >
> > Changes in v22:
> > - patch added to the series
> >
> > .../arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 21 ++++++++++++++++++-
> > 1 file changed, 20 insertions(+), 1 deletion(-)
>
> Just like on patch #1, I presume it will be moderately annoying if
> this lands in the Qualcomm branch before the driver lands in mainline?
> I guess very few people have herobrine hardware, so maybe not that big
> of a deal...
For herobrine it's probably not a big deal, hardware isn't publicly
available and those who have run it with a CrOS based kernel most of
the time. But yeah, it would be somewhat annoying if USB is broken
when you test something with an upstream kernel.
> In any case, I'm happy with:
>
> Reviewed-by: Douglas Anderson <[email protected]>
Thanks!
On Wed, Apr 27, 2022 at 02:05:04PM -0700, Doug Anderson wrote:
> Hi,
>
> On Tue, Apr 26, 2022 at 5:03 PM Matthias Kaehlcke <[email protected]> wrote:
> >
> > Add nodes for the onboard USB hub on trogdor devices. Remove the
> > 'always-on' property from the hub regulator, since the regulator
> > is now managed by the onboard_usb_hub driver.
>
> There are people out there that are running trogdor devices with
> upstream Linux. There's not much we can do about it, but probably this
> patch will cause them to fail to probe USB because they won't have
> "CONFIG_USB_ONBOARD_HUB=y". Luckily the commit subject has "USB" in it
> so hopefully it'll be easy to spot, but I wonder if we should add
> something to the commit message that makes that super obvious and
> tells them about the relevant commit, like:
>
> For anyone using trogdor-based devices on Linux, it should be noted
> that this requires "CONFIG_USB_ONBOARD_HUB=y".
Ok, I'll respin and add the note.
> > Signed-off-by: Matthias Kaehlcke <[email protected]>
> > Reviewed-by: Stephen Boyd <[email protected]>
> > Reviewed-by: Douglas Anderson <[email protected]>
> > ---
> > Depends on "usb: misc: Add onboard_usb_hub driver" [1] which landed in
> > https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-testing
> >
> > This patch was split off the above series.
> >
> > [1] https://patchwork.kernel.org/project/linux-usb/list/?series=615531&state=%2A&archive=both
>
> I presume it will be moderately annoying if this lands in the Qualcomm
> branch before the driver lands in mainline? Otherwise USB will fully
> stop working on the Qualcomm branch. Do we want to postpone landing
> this?
Postponing the trogdor patch sounds good to me.