LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/3] USB DWC3 QCOM Multi power domain support
@ 2021-08-30 17:54 Sandeep Maheswaram
2021-08-30 17:54 ` [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom Sandeep Maheswaram
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Sandeep Maheswaram @ 2021-08-30 17:54 UTC (permalink / raw)
To: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke
Cc: devicetree, linux-arm-msm, linux-usb, linux-kernel,
Pratham Pratap, Sandeep Maheswaram
Add multi pd support to set performance state for cx domain
to maintain minimum corner voltage for USB clocks.
Add corresponding dt bindings, driver changes and dt changes.
Sandeep Maheswaram (3):
dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
usb: dwc3: qcom: Add multi-pd support
arm64: dts: qcom: sc7280: Add cx power domain support
.../devicetree/bindings/usb/qcom,dwc3.yaml | 13 +++++-
arch/arm64/boot/dts/qcom/sc7280.dtsi | 5 ++-
drivers/usb/dwc3/dwc3-qcom.c | 49 ++++++++++++++++++++++
3 files changed, 65 insertions(+), 2 deletions(-)
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
2021-08-30 17:54 [PATCH 0/3] USB DWC3 QCOM Multi power domain support Sandeep Maheswaram
@ 2021-08-30 17:54 ` Sandeep Maheswaram
2021-08-30 20:07 ` Doug Anderson
2021-09-07 13:50 ` Bjorn Andersson
2021-08-30 17:54 ` [PATCH 2/3] usb: dwc3: qcom: Add multi-pd support Sandeep Maheswaram
2021-08-30 17:54 ` [PATCH 3/3] arm64: dts: qcom: sc7280: Add cx power domain support Sandeep Maheswaram
2 siblings, 2 replies; 10+ messages in thread
From: Sandeep Maheswaram @ 2021-08-30 17:54 UTC (permalink / raw)
To: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke
Cc: devicetree, linux-arm-msm, linux-usb, linux-kernel,
Pratham Pratap, Sandeep Maheswaram
Add multi pd bindings to set performance state for cx domain
to maintain minimum corner voltage for USB clocks.
Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
---
Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
index e70afc4..838d9c4 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -41,7 +41,18 @@ properties:
power-domains:
description: specifies a phandle to PM domain provider node
- maxItems: 1
+ minItems: 1
+ items:
+ - description: optional,cx power domain
+ - description: USB gdsc power domain
+
+ power-domain-names:
+ items:
+ - const: cx
+ - const: usb_gdsc
+
+ required-opps:
+ description: specifies the performance state to cx power domain
clocks:
description:
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/3] usb: dwc3: qcom: Add multi-pd support
2021-08-30 17:54 [PATCH 0/3] USB DWC3 QCOM Multi power domain support Sandeep Maheswaram
2021-08-30 17:54 ` [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom Sandeep Maheswaram
@ 2021-08-30 17:54 ` Sandeep Maheswaram
2021-08-31 5:34 ` Felipe Balbi
2021-08-30 17:54 ` [PATCH 3/3] arm64: dts: qcom: sc7280: Add cx power domain support Sandeep Maheswaram
2 siblings, 1 reply; 10+ messages in thread
From: Sandeep Maheswaram @ 2021-08-30 17:54 UTC (permalink / raw)
To: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke
Cc: devicetree, linux-arm-msm, linux-usb, linux-kernel,
Pratham Pratap, Sandeep Maheswaram
Add multi pd support to set performance state for cx domain
to maintain minimum corner voltage for USB clocks.
Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
---
drivers/usb/dwc3/dwc3-qcom.c | 49 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index 9abbd01..777a647 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -17,6 +17,7 @@
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/phy/phy.h>
+#include <linux/pm_domain.h>
#include <linux/usb/of.h>
#include <linux/reset.h>
#include <linux/iopoll.h>
@@ -89,6 +90,10 @@ struct dwc3_qcom {
bool pm_suspended;
struct icc_path *icc_path_ddr;
struct icc_path *icc_path_apps;
+ /* power domain for cx */
+ struct device *pd_cx;
+ /* power domain for usb gdsc */
+ struct device *pd_usb_gdsc;
};
static inline void dwc3_qcom_setbits(void __iomem *base, u32 offset, u32 val)
@@ -521,6 +526,46 @@ static int dwc3_qcom_setup_irq(struct platform_device *pdev)
return 0;
}
+static int dwc3_qcom_attach_pd(struct device *dev)
+{
+ struct dwc3_qcom *qcom = dev_get_drvdata(dev);
+ struct device_link *link;
+
+ /* Do nothing when in a single power domain */
+ if (dev->pm_domain)
+ return 0;
+
+ qcom->pd_cx = dev_pm_domain_attach_by_name(dev, "cx");
+ if (IS_ERR(qcom->pd_cx))
+ return PTR_ERR(qcom->pd_cx);
+ /* Do nothing when power domain missing */
+ if (!qcom->pd_cx)
+ return 0;
+ link = device_link_add(dev, qcom->pd_cx,
+ DL_FLAG_STATELESS |
+ DL_FLAG_PM_RUNTIME |
+ DL_FLAG_RPM_ACTIVE);
+ if (!link) {
+ dev_err(dev, "Failed to add device_link to cx pd.\n");
+ return -EINVAL;
+ }
+
+ qcom->pd_usb_gdsc = dev_pm_domain_attach_by_name(dev, "usb_gdsc");
+ if (IS_ERR(qcom->pd_usb_gdsc))
+ return PTR_ERR(qcom->pd_usb_gdsc);
+
+ link = device_link_add(dev, qcom->pd_usb_gdsc,
+ DL_FLAG_STATELESS |
+ DL_FLAG_PM_RUNTIME |
+ DL_FLAG_RPM_ACTIVE);
+ if (!link) {
+ dev_err(dev, "Failed to add device_link to usb gdsc pd.\n");
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
static int dwc3_qcom_clk_init(struct dwc3_qcom *qcom, int count)
{
struct device *dev = qcom->dev;
@@ -837,6 +882,10 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
if (ret)
goto interconnect_exit;
+ ret = dwc3_qcom_attach_pd(dev);
+ if (ret)
+ goto interconnect_exit;
+
device_init_wakeup(&pdev->dev, 1);
qcom->is_suspended = false;
pm_runtime_set_active(dev);
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/3] arm64: dts: qcom: sc7280: Add cx power domain support
2021-08-30 17:54 [PATCH 0/3] USB DWC3 QCOM Multi power domain support Sandeep Maheswaram
2021-08-30 17:54 ` [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom Sandeep Maheswaram
2021-08-30 17:54 ` [PATCH 2/3] usb: dwc3: qcom: Add multi-pd support Sandeep Maheswaram
@ 2021-08-30 17:54 ` Sandeep Maheswaram
2 siblings, 0 replies; 10+ messages in thread
From: Sandeep Maheswaram @ 2021-08-30 17:54 UTC (permalink / raw)
To: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke
Cc: devicetree, linux-arm-msm, linux-usb, linux-kernel,
Pratham Pratap, Sandeep Maheswaram
Add multi pd support to set performance state for cx domain
to maintain minimum corner voltage for USB clocks.
Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
---
arch/arm64/boot/dts/qcom/sc7280.dtsi | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 53a21d0..7ccccb7 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -1374,7 +1374,10 @@
interrupt-names = "hs_phy_irq", "dp_hs_phy_irq",
"dm_hs_phy_irq", "ss_phy_irq";
- power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
+ power-domains = <&rpmhpd SC7280_CX>, <&gcc GCC_USB30_PRIM_GDSC>;
+ power-domain-names = "cx", "usb_gdsc";
+
+ required-opps = <&rpmhpd_opp_nom>;
resets = <&gcc GCC_USB30_PRIM_BCR>;
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
2021-08-30 17:54 ` [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom Sandeep Maheswaram
@ 2021-08-30 20:07 ` Doug Anderson
2021-09-06 9:15 ` Sandeep Maheswaram
2021-09-07 13:50 ` Bjorn Andersson
1 sibling, 1 reply; 10+ messages in thread
From: Doug Anderson @ 2021-08-30 20:07 UTC (permalink / raw)
To: Sandeep Maheswaram
Cc: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Matthias Kaehlcke,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
linux-arm-msm, Linux USB List, LKML, Pratham Pratap
Hi,
On Mon, Aug 30, 2021 at 10:55 AM Sandeep Maheswaram <sanm@codeaurora.org> wrote:
>
> Add multi pd bindings to set performance state for cx domain
> to maintain minimum corner voltage for USB clocks.
>
> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> ---
> Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> index e70afc4..838d9c4 100644
> --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> @@ -41,7 +41,18 @@ properties:
>
> power-domains:
> description: specifies a phandle to PM domain provider node
> - maxItems: 1
> + minItems: 1
> + items:
> + - description: optional,cx power domain
> + - description: USB gdsc power domain
You need to re-order the above. The optional one needs to be second, not first.
> + power-domain-names:
> + items:
> + - const: cx
> + - const: usb_gdsc
Why do you need the names at all? The ordering of power-domains is
well defined and there are no holes in it and there are no legacy
reasons for having the names (like there are for clocks), so you
should drop. This is much like reg-names and I always point people to
this message from Rob Herring about reg-names:
https://lore.kernel.org/r/CAL_Jsq+MMunmVWqeW9v2RyzsMKP+=kMzeTHNMG4JDHM7Fy0HBg@mail.gmail.com/
You'll have to change your driver to use dev_pm_domain_attach_by_id()
but that should be fine.
-Doug
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] usb: dwc3: qcom: Add multi-pd support
2021-08-30 17:54 ` [PATCH 2/3] usb: dwc3: qcom: Add multi-pd support Sandeep Maheswaram
@ 2021-08-31 5:34 ` Felipe Balbi
0 siblings, 0 replies; 10+ messages in thread
From: Felipe Balbi @ 2021-08-31 5:34 UTC (permalink / raw)
To: Sandeep Maheswaram
Cc: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Stephen Boyd, Doug Anderson, Matthias Kaehlcke, devicetree,
linux-arm-msm, linux-usb, linux-kernel, Pratham Pratap
Hi,
Sandeep Maheswaram <sanm@codeaurora.org> writes:
> Add multi pd support to set performance state for cx domain
> to maintain minimum corner voltage for USB clocks.
>
> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 49 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 9abbd01..777a647 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -17,6 +17,7 @@
> #include <linux/of_platform.h>
> #include <linux/platform_device.h>
> #include <linux/phy/phy.h>
> +#include <linux/pm_domain.h>
> #include <linux/usb/of.h>
> #include <linux/reset.h>
> #include <linux/iopoll.h>
> @@ -89,6 +90,10 @@ struct dwc3_qcom {
> bool pm_suspended;
> struct icc_path *icc_path_ddr;
> struct icc_path *icc_path_apps;
> + /* power domain for cx */
> + struct device *pd_cx;
> + /* power domain for usb gdsc */
> + struct device *pd_usb_gdsc;
> };
>
> static inline void dwc3_qcom_setbits(void __iomem *base, u32 offset, u32 val)
> @@ -521,6 +526,46 @@ static int dwc3_qcom_setup_irq(struct platform_device *pdev)
> return 0;
> }
>
> +static int dwc3_qcom_attach_pd(struct device *dev)
> +{
> + struct dwc3_qcom *qcom = dev_get_drvdata(dev);
> + struct device_link *link;
> +
> + /* Do nothing when in a single power domain */
> + if (dev->pm_domain)
> + return 0;
> +
> + qcom->pd_cx = dev_pm_domain_attach_by_name(dev, "cx");
> + if (IS_ERR(qcom->pd_cx))
> + return PTR_ERR(qcom->pd_cx);
> + /* Do nothing when power domain missing */
> + if (!qcom->pd_cx)
> + return 0;
> + link = device_link_add(dev, qcom->pd_cx,
> + DL_FLAG_STATELESS |
> + DL_FLAG_PM_RUNTIME |
> + DL_FLAG_RPM_ACTIVE);
> + if (!link) {
> + dev_err(dev, "Failed to add device_link to cx pd.\n");
do you need to call dev_pm_domain_dettach() here?
> + return -EINVAL;
> + }
> +
> + qcom->pd_usb_gdsc = dev_pm_domain_attach_by_name(dev, "usb_gdsc");
> + if (IS_ERR(qcom->pd_usb_gdsc))
do you need to call dev_pm_domain_dettach() here?
> + return PTR_ERR(qcom->pd_usb_gdsc);
> +
> + link = device_link_add(dev, qcom->pd_usb_gdsc,
> + DL_FLAG_STATELESS |
> + DL_FLAG_PM_RUNTIME |
> + DL_FLAG_RPM_ACTIVE);
> + if (!link) {
> + dev_err(dev, "Failed to add device_link to usb gdsc pd.\n");
do you need to call dev_pm_domain_dettach() here?
--
balbi
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
2021-08-30 20:07 ` Doug Anderson
@ 2021-09-06 9:15 ` Sandeep Maheswaram
2021-09-07 12:19 ` Rajendra Nayak
0 siblings, 1 reply; 10+ messages in thread
From: Sandeep Maheswaram @ 2021-09-06 9:15 UTC (permalink / raw)
To: Doug Anderson
Cc: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Matthias Kaehlcke,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
linux-arm-msm, Linux USB List, LKML, Pratham Pratap
On 8/31/2021 1:37 AM, Doug Anderson wrote:
> Hi,
>
> On Mon, Aug 30, 2021 at 10:55 AM Sandeep Maheswaram <sanm@codeaurora.org> wrote:
>> Add multi pd bindings to set performance state for cx domain
>> to maintain minimum corner voltage for USB clocks.
>>
>> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
>> ---
>> Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 13 ++++++++++++-
>> 1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> index e70afc4..838d9c4 100644
>> --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> @@ -41,7 +41,18 @@ properties:
>>
>> power-domains:
>> description: specifies a phandle to PM domain provider node
>> - maxItems: 1
>> + minItems: 1
>> + items:
>> + - description: optional,cx power domain
>> + - description: USB gdsc power domain
> You need to re-order the above. The optional one needs to be second, not first.
>
I wanted to use required-opps for cx domain only. so I have put it first
in order.
>> + power-domain-names:
>> + items:
>> + - const: cx
>> + - const: usb_gdsc
> Why do you need the names at all? The ordering of power-domains is
> well defined and there are no holes in it and there are no legacy
> reasons for having the names (like there are for clocks), so you
> should drop. This is much like reg-names and I always point people to
> this message from Rob Herring about reg-names:
>
> https://lore.kernel.org/r/CAL_Jsq+MMunmVWqeW9v2RyzsMKP+=kMzeTHNMG4JDHM7Fy0HBg@mail.gmail.com/
>
> You'll have to change your driver to use dev_pm_domain_attach_by_id()
> but that should be fine.
>
> -Doug
Ok..I will try using dev_pm_domain_attach_by_id()
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
2021-09-06 9:15 ` Sandeep Maheswaram
@ 2021-09-07 12:19 ` Rajendra Nayak
0 siblings, 0 replies; 10+ messages in thread
From: Rajendra Nayak @ 2021-09-07 12:19 UTC (permalink / raw)
To: Sandeep Maheswaram, Doug Anderson
Cc: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
Felipe Balbi, Stephen Boyd, Matthias Kaehlcke,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
linux-arm-msm, Linux USB List, LKML, Pratham Pratap
On 9/6/2021 2:45 PM, Sandeep Maheswaram wrote:
>
> On 8/31/2021 1:37 AM, Doug Anderson wrote:
>> Hi,
>>
>> On Mon, Aug 30, 2021 at 10:55 AM Sandeep Maheswaram <sanm@codeaurora.org> wrote:
>>> Add multi pd bindings to set performance state for cx domain
>>> to maintain minimum corner voltage for USB clocks.
>>>
>>> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
>>> ---
>>> Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 13 ++++++++++++-
>>> 1 file changed, 12 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>>> index e70afc4..838d9c4 100644
>>> --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>>> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>>> @@ -41,7 +41,18 @@ properties:
>>>
>>> power-domains:
>>> description: specifies a phandle to PM domain provider node
>>> - maxItems: 1
>>> + minItems: 1
>>> + items:
>>> + - description: optional,cx power domain
>>> + - description: USB gdsc power domain
>> You need to re-order the above. The optional one needs to be second, not first.
>>
> I wanted to use required-opps for cx domain only. so I have put it first in order.
You can always put a <> for the power-domains for which there are no required-opps
+ power-domain-names = "usb_gdsc", "cx";
+
+ required-opps = <>, <&rpmhpd_opp_nom>;
>>> + power-domain-names:
>>> + items:
>>> + - const: cx
>>> + - const: usb_gdsc
>> Why do you need the names at all? The ordering of power-domains is
>> well defined and there are no holes in it and there are no legacy
>> reasons for having the names (like there are for clocks), so you
>> should drop. This is much like reg-names and I always point people to
>> this message from Rob Herring about reg-names:
>>
>> https://lore.kernel.org/r/CAL_Jsq+MMunmVWqeW9v2RyzsMKP+=kMzeTHNMG4JDHM7Fy0HBg@mail.gmail.com/
>>
>> You'll have to change your driver to use dev_pm_domain_attach_by_id()
>> but that should be fine.
>>
>> -Doug
>
> Ok..I will try using dev_pm_domain_attach_by_id()
>
>
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
2021-08-30 17:54 ` [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom Sandeep Maheswaram
2021-08-30 20:07 ` Doug Anderson
@ 2021-09-07 13:50 ` Bjorn Andersson
[not found] ` <e947695b-cd50-391b-3de9-3c028dbddab2@codeaurora.org>
1 sibling, 1 reply; 10+ messages in thread
From: Bjorn Andersson @ 2021-09-07 13:50 UTC (permalink / raw)
To: Sandeep Maheswaram
Cc: Rob Herring, Andy Gross, Greg Kroah-Hartman, Felipe Balbi,
Stephen Boyd, Doug Anderson, Matthias Kaehlcke, devicetree,
linux-arm-msm, linux-usb, linux-kernel, Pratham Pratap
On Mon 30 Aug 10:54 PDT 2021, Sandeep Maheswaram wrote:
> Add multi pd bindings to set performance state for cx domain
> to maintain minimum corner voltage for USB clocks.
>
> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> ---
> Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> index e70afc4..838d9c4 100644
> --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> @@ -41,7 +41,18 @@ properties:
>
> power-domains:
> description: specifies a phandle to PM domain provider node
> - maxItems: 1
> + minItems: 1
> + items:
> + - description: optional,cx power domain
> + - description: USB gdsc power domain
> +
> + power-domain-names:
> + items:
> + - const: cx
> + - const: usb_gdsc
But "usb_gdsc" is a subdomain of "cx", why can't we describe this fact
in gcc?
Regards,
Bjorn
> +
> + required-opps:
> + description: specifies the performance state to cx power domain
>
> clocks:
> description:
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
[not found] ` <e947695b-cd50-391b-3de9-3c028dbddab2@codeaurora.org>
@ 2021-09-30 16:07 ` Bjorn Andersson
0 siblings, 0 replies; 10+ messages in thread
From: Bjorn Andersson @ 2021-09-30 16:07 UTC (permalink / raw)
To: Sandeep Maheswaram
Cc: Rob Herring, Andy Gross, Greg Kroah-Hartman, Felipe Balbi,
Stephen Boyd, Doug Anderson, Matthias Kaehlcke, devicetree,
linux-arm-msm, linux-usb, linux-kernel, Pratham Pratap
On Thu 30 Sep 02:41 PDT 2021, Sandeep Maheswaram wrote:
>
> On 9/7/2021 7:20 PM, Bjorn Andersson wrote:
> > On Mon 30 Aug 10:54 PDT 2021, Sandeep Maheswaram wrote:
> >
> > > Add multi pd bindings to set performance state for cx domain
> > > to maintain minimum corner voltage for USB clocks.
> > >
> > > Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> > > ---
> > > Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 13 ++++++++++++-
> > > 1 file changed, 12 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > index e70afc4..838d9c4 100644
> > > --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > @@ -41,7 +41,18 @@ properties:
> > > power-domains:
> > > description: specifies a phandle to PM domain provider node
> > > - maxItems: 1
> > > + minItems: 1
> > > + items:
> > > + - description: optional,cx power domain
> > > + - description: USB gdsc power domain
> > > +
> > > + power-domain-names:
> > > + items:
> > > + - const: cx
> > > + - const: usb_gdsc
> > But "usb_gdsc" is a subdomain of "cx", why can't we describe this fact
> > in gcc?
> >
> > Regards,
> > Bjorn
> Thanks for your review.
> Any idea on how can this be described in gcc ? Can you point any reference
> for this .
>
There's a series from Dmitry that defines such a relationship between
MDSS_GDSC and the MMCX domain on SM8250. This seems like a continuation
of that support, given that we have multiple parent domains (cx, mx
etc).
You can find that discussion here:
https://lore.kernel.org/all/20210727202004.712665-1-dmitry.baryshkov@linaro.org/
Regards,
Bjorn
> Regards
> Sandeep
> > > +
> > > + required-opps:
> > > + description: specifies the performance state to cx power domain
> > > clocks:
> > > description:
> > > --
> > > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> > > of Code Aurora Forum, hosted by The Linux Foundation
> > >
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-09-30 16:05 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-30 17:54 [PATCH 0/3] USB DWC3 QCOM Multi power domain support Sandeep Maheswaram
2021-08-30 17:54 ` [PATCH 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom Sandeep Maheswaram
2021-08-30 20:07 ` Doug Anderson
2021-09-06 9:15 ` Sandeep Maheswaram
2021-09-07 12:19 ` Rajendra Nayak
2021-09-07 13:50 ` Bjorn Andersson
[not found] ` <e947695b-cd50-391b-3de9-3c028dbddab2@codeaurora.org>
2021-09-30 16:07 ` Bjorn Andersson
2021-08-30 17:54 ` [PATCH 2/3] usb: dwc3: qcom: Add multi-pd support Sandeep Maheswaram
2021-08-31 5:34 ` Felipe Balbi
2021-08-30 17:54 ` [PATCH 3/3] arm64: dts: qcom: sc7280: Add cx power domain support Sandeep Maheswaram
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).