diff mbox series

[v1,1/3] dt-bindings: PCI: brcmstb: Add two optional props

Message ID 20230406124625.41325-2-jim2101024@gmail.com (mailing list archive)
State New, archived
Headers show
Series PCI: brcmstb: Clkreq# accomodations of downstream device | expand

Commit Message

Jim Quinlan April 6, 2023, 12:46 p.m. UTC
Regarding "brcm,enable-l1ss":

  The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
  the driver probe to configure one of three clkreq# modes:

  (a) clkreq# driven by the RC
  (b) clkreq# driven by the EP for ASPM L0s, L1
  (c) bidirectional clkreq#, as used for L1 Substates (L1SS).

  The HW can tell the difference between (a) and (b), but does not know
  when to configure (c).  Further, the HW will cause a CPU abort on boot if
  guesses wrong regarding the need for (c).  So we introduce the boolean
  "brcm,enable-l1ss" property to indicate that (c) is desired.  This
  property is already present in the Raspian version of Linux, but the
  driver implementaion that will follow adds more details and discerns
  between (a) and (b).

Regarding "brcm,completion-timeout-msecs"

  Our HW will cause a CPU abort if the L1SS exit time is longer than the
  completion abort timeout.  We've been asked to make this configurable, so
  we are introducing "brcm,completion-abort-msecs".

Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
---
 .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Stefan Wahren April 6, 2023, 3:39 p.m. UTC | #1
Hi Jim,

Am 06.04.23 um 14:46 schrieb Jim Quinlan:
> Regarding "brcm,enable-l1ss":
> 
>    The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
>    the driver probe to configure one of three clkreq# modes:
> 
>    (a) clkreq# driven by the RC
>    (b) clkreq# driven by the EP for ASPM L0s, L1
>    (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
> 
>    The HW can tell the difference between (a) and (b), but does not know
>    when to configure (c).  Further, the HW will cause a CPU abort on boot if
>    guesses wrong regarding the need for (c).  So we introduce the boolean
>    "brcm,enable-l1ss" property to indicate that (c) is desired.  This
>    property is already present in the Raspian version of Linux, but the
>    driver implementaion that will follow adds more details and discerns
>    between (a) and (b).
> 
> Regarding "brcm,completion-timeout-msecs"
> 
>    Our HW will cause a CPU abort if the L1SS exit time is longer than the
>    completion abort timeout.  We've been asked to make this configurable, so
>    we are introducing "brcm,completion-abort-msecs".
> 
> Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
> ---
>   .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> index 7e15aae7d69e..ef4ccc05b258 100644
> --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> @@ -64,6 +64,18 @@ properties:
>   
>     aspm-no-l0s: true
>   
> +  brcm,enable-l1ss:
> +    description: Indicates that the downstream device is L1SS
> +      capable and L1SS is desired, e.g. by setting
> +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#

not sure about this, but maybe we should avoid references to Linux 
kernel config parameter in a DT binding. Since the driver already gaves 
warning in case the DT parameter is present, but kernel config doesn't 
fit, this should be enough.

> +      assertion to clock active must be within 400ns.
> +    type: boolean
> +
> +  brcm,completion-timeout-msecs:
> +    description: Number of msecs before completion timeout
> +      abort occurs.
> +    $ref: /schemas/types.yaml#/definitions/uint32

According to the driver at least 0 is not allowed, maybe we should 
define minimum and maximum here and let dtbs_check take care of invalid 
values?

Best regards

> +
>     brcm,scb-sizes:
>       description: u64 giving the 64bit PCIe memory
>         viewport size of a memory controller.  There may be up to
Jim Quinlan April 6, 2023, 4:58 p.m. UTC | #2
On Thu, Apr 6, 2023 at 11:39 AM Stefan Wahren <stefan.wahren@i2se.com> wrote:
>
> Hi Jim,
>
> Am 06.04.23 um 14:46 schrieb Jim Quinlan:
> > Regarding "brcm,enable-l1ss":
> >
> >    The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
> >    the driver probe to configure one of three clkreq# modes:
> >
> >    (a) clkreq# driven by the RC
> >    (b) clkreq# driven by the EP for ASPM L0s, L1
> >    (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
> >
> >    The HW can tell the difference between (a) and (b), but does not know
> >    when to configure (c).  Further, the HW will cause a CPU abort on boot if
> >    guesses wrong regarding the need for (c).  So we introduce the boolean
> >    "brcm,enable-l1ss" property to indicate that (c) is desired.  This
> >    property is already present in the Raspian version of Linux, but the
> >    driver implementaion that will follow adds more details and discerns
> >    between (a) and (b).
> >
> > Regarding "brcm,completion-timeout-msecs"
> >
> >    Our HW will cause a CPU abort if the L1SS exit time is longer than the
> >    completion abort timeout.  We've been asked to make this configurable, so
> >    we are introducing "brcm,completion-abort-msecs".
> >
> > Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
> > ---
> >   .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
> >   1 file changed, 12 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> > index 7e15aae7d69e..ef4ccc05b258 100644
> > --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> > +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> > @@ -64,6 +64,18 @@ properties:
> >
> >     aspm-no-l0s: true
> >
> > +  brcm,enable-l1ss:
> > +    description: Indicates that the downstream device is L1SS
> > +      capable and L1SS is desired, e.g. by setting
> > +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#
>
> not sure about this, but maybe we should avoid references to Linux
> kernel config parameter in a DT binding. Since the driver already gaves
> warning in case the DT parameter is present, but kernel config doesn't
> fit, this should be enough.

Hello Stefan,
I will remove this reference.
>
> > +      assertion to clock active must be within 400ns.
> > +    type: boolean
> > +
> > +  brcm,completion-timeout-msecs:
> > +    description: Number of msecs before completion timeout
> > +      abort occurs.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
>
> According to the driver at least 0 is not allowed, maybe we should
> define minimum and maximum here and let dtbs_check take care of invalid
> values?
I'm not sure I follow what you mean about a zero value;  the property
may have any value but the driver will clamp it
to a minimum of ~30msec.  Regardless, I can add a  "minimum: 30" line
to the YAML.

Thanks,
Jim Quinlan
Broadcom STB
>
> Best regards
>
> > +
> >     brcm,scb-sizes:
> >       description: u64 giving the 64bit PCIe memory
> >         viewport size of a memory controller.  There may be up to
Krzysztof Kozlowski April 6, 2023, 6:34 p.m. UTC | #3
On 06/04/2023 14:46, Jim Quinlan wrote:
> Regarding "brcm,enable-l1ss":
> 
>   The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
>   the driver probe to configure one of three clkreq# modes:
> 
>   (a) clkreq# driven by the RC
>   (b) clkreq# driven by the EP for ASPM L0s, L1
>   (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
> 
>   The HW can tell the difference between (a) and (b), but does not know
>   when to configure (c).  Further, the HW will cause a CPU abort on boot if
>   guesses wrong regarding the need for (c).  So we introduce the boolean
>   "brcm,enable-l1ss" property to indicate that (c) is desired.  This
>   property is already present in the Raspian version of Linux, but the
>   driver implementaion that will follow adds more details and discerns
>   between (a) and (b).
> 
> Regarding "brcm,completion-timeout-msecs"
> 
>   Our HW will cause a CPU abort if the L1SS exit time is longer than the
>   completion abort timeout.  We've been asked to make this configurable, so
>   we are introducing "brcm,completion-abort-msecs".
> 
> Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
> ---
>  .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> index 7e15aae7d69e..ef4ccc05b258 100644
> --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> @@ -64,6 +64,18 @@ properties:
>  
>    aspm-no-l0s: true
>  
> +  brcm,enable-l1ss:
> +    description: Indicates that the downstream device is L1SS
> +      capable and L1SS is desired, e.g. by setting
> +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#

How does CONFIG_PCIEASPM_POWER_SUPERSAVE apply to *BSD?

> +      assertion to clock active must be within 400ns.
> +    type: boolean
> +
> +  brcm,completion-timeout-msecs:

Use standard unit suffixes.

> +    description: Number of msecs before completion timeout
> +      abort occurs.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
>    brcm,scb-sizes:
>      description: u64 giving the 64bit PCIe memory
>        viewport size of a memory controller.  There may be up to

Best regards,
Krzysztof
Krzysztof Kozlowski April 6, 2023, 6:35 p.m. UTC | #4
On 06/04/2023 18:58, Jim Quinlan wrote:
> On Thu, Apr 6, 2023 at 11:39 AM Stefan Wahren <stefan.wahren@i2se.com> wrote:
>>
>> Hi Jim,
>>
>> Am 06.04.23 um 14:46 schrieb Jim Quinlan:
>>> Regarding "brcm,enable-l1ss":
>>>
>>>    The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
>>>    the driver probe to configure one of three clkreq# modes:
>>>
>>>    (a) clkreq# driven by the RC
>>>    (b) clkreq# driven by the EP for ASPM L0s, L1
>>>    (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
>>>
>>>    The HW can tell the difference between (a) and (b), but does not know
>>>    when to configure (c).  Further, the HW will cause a CPU abort on boot if
>>>    guesses wrong regarding the need for (c).  So we introduce the boolean
>>>    "brcm,enable-l1ss" property to indicate that (c) is desired.  This
>>>    property is already present in the Raspian version of Linux, but the
>>>    driver implementaion that will follow adds more details and discerns
>>>    between (a) and (b).
>>>
>>> Regarding "brcm,completion-timeout-msecs"
>>>
>>>    Our HW will cause a CPU abort if the L1SS exit time is longer than the
>>>    completion abort timeout.  We've been asked to make this configurable, so
>>>    we are introducing "brcm,completion-abort-msecs".
>>>
>>> Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
>>> ---
>>>   .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
>>>   1 file changed, 12 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>> index 7e15aae7d69e..ef4ccc05b258 100644
>>> --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>> @@ -64,6 +64,18 @@ properties:
>>>
>>>     aspm-no-l0s: true
>>>
>>> +  brcm,enable-l1ss:
>>> +    description: Indicates that the downstream device is L1SS
>>> +      capable and L1SS is desired, e.g. by setting
>>> +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#
>>
>> not sure about this, but maybe we should avoid references to Linux
>> kernel config parameter in a DT binding. Since the driver already gaves
>> warning in case the DT parameter is present, but kernel config doesn't
>> fit, this should be enough.
> 
> Hello Stefan,
> I will remove this reference.
>>
>>> +      assertion to clock active must be within 400ns.
>>> +    type: boolean
>>> +
>>> +  brcm,completion-timeout-msecs:
>>> +    description: Number of msecs before completion timeout
>>> +      abort occurs.
>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>
>> According to the driver at least 0 is not allowed, maybe we should
>> define minimum and maximum here and let dtbs_check take care of invalid
>> values?
> I'm not sure I follow what you mean about a zero value;  the property
> may have any value but the driver will clamp it
> to a minimum of ~30msec.  Regardless, I can add a  "minimum: 30" line
> to the YAML.

If "completion" means Linux completion, then it is not suitable for DT
and entire property should be removed. If it is something else, then
explain here and commit msg. So far both refer to some completion...

Best regards,
Krzysztof
Florian Fainelli April 6, 2023, 6:47 p.m. UTC | #5
On 4/6/23 11:35, Krzysztof Kozlowski wrote:
> On 06/04/2023 18:58, Jim Quinlan wrote:
>> On Thu, Apr 6, 2023 at 11:39 AM Stefan Wahren <stefan.wahren@i2se.com> wrote:
>>>
>>> Hi Jim,
>>>
>>> Am 06.04.23 um 14:46 schrieb Jim Quinlan:
>>>> Regarding "brcm,enable-l1ss":
>>>>
>>>>     The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
>>>>     the driver probe to configure one of three clkreq# modes:
>>>>
>>>>     (a) clkreq# driven by the RC
>>>>     (b) clkreq# driven by the EP for ASPM L0s, L1
>>>>     (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
>>>>
>>>>     The HW can tell the difference between (a) and (b), but does not know
>>>>     when to configure (c).  Further, the HW will cause a CPU abort on boot if
>>>>     guesses wrong regarding the need for (c).  So we introduce the boolean
>>>>     "brcm,enable-l1ss" property to indicate that (c) is desired.  This
>>>>     property is already present in the Raspian version of Linux, but the
>>>>     driver implementaion that will follow adds more details and discerns
>>>>     between (a) and (b).
>>>>
>>>> Regarding "brcm,completion-timeout-msecs"
>>>>
>>>>     Our HW will cause a CPU abort if the L1SS exit time is longer than the
>>>>     completion abort timeout.  We've been asked to make this configurable, so
>>>>     we are introducing "brcm,completion-abort-msecs".
>>>>
>>>> Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
>>>> ---
>>>>    .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
>>>>    1 file changed, 12 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>>> index 7e15aae7d69e..ef4ccc05b258 100644
>>>> --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>>> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>>> @@ -64,6 +64,18 @@ properties:
>>>>
>>>>      aspm-no-l0s: true
>>>>
>>>> +  brcm,enable-l1ss:
>>>> +    description: Indicates that the downstream device is L1SS
>>>> +      capable and L1SS is desired, e.g. by setting
>>>> +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#
>>>
>>> not sure about this, but maybe we should avoid references to Linux
>>> kernel config parameter in a DT binding. Since the driver already gaves
>>> warning in case the DT parameter is present, but kernel config doesn't
>>> fit, this should be enough.
>>
>> Hello Stefan,
>> I will remove this reference.
>>>
>>>> +      assertion to clock active must be within 400ns.
>>>> +    type: boolean
>>>> +
>>>> +  brcm,completion-timeout-msecs:
>>>> +    description: Number of msecs before completion timeout
>>>> +      abort occurs.
>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>>
>>> According to the driver at least 0 is not allowed, maybe we should
>>> define minimum and maximum here and let dtbs_check take care of invalid
>>> values?
>> I'm not sure I follow what you mean about a zero value;  the property
>> may have any value but the driver will clamp it
>> to a minimum of ~30msec.  Regardless, I can add a  "minimum: 30" line
>> to the YAML.
> 
> If "completion" means Linux completion, then it is not suitable for DT
> and entire property should be removed. If it is something else, then
> explain here and commit msg. So far both refer to some completion...

This is a PCIe root complex binding so completion needs to be understood 
in the context of PCIe, that is the time needed for the root complex to 
complete/finish/proceed with a PCIe transaction layer packet (TLP).
Florian Fainelli April 6, 2023, 6:53 p.m. UTC | #6
On 4/6/23 11:34, Krzysztof Kozlowski wrote:
> On 06/04/2023 14:46, Jim Quinlan wrote:
>> Regarding "brcm,enable-l1ss":
>>
>>    The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
>>    the driver probe to configure one of three clkreq# modes:
>>
>>    (a) clkreq# driven by the RC
>>    (b) clkreq# driven by the EP for ASPM L0s, L1
>>    (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
>>
>>    The HW can tell the difference between (a) and (b), but does not know
>>    when to configure (c).  Further, the HW will cause a CPU abort on boot if
>>    guesses wrong regarding the need for (c).  So we introduce the boolean
>>    "brcm,enable-l1ss" property to indicate that (c) is desired.  This
>>    property is already present in the Raspian version of Linux, but the
>>    driver implementaion that will follow adds more details and discerns
>>    between (a) and (b).
>>
>> Regarding "brcm,completion-timeout-msecs"
>>
>>    Our HW will cause a CPU abort if the L1SS exit time is longer than the
>>    completion abort timeout.  We've been asked to make this configurable, so
>>    we are introducing "brcm,completion-abort-msecs".
>>
>> Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
>> ---
>>   .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
>>   1 file changed, 12 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>> index 7e15aae7d69e..ef4ccc05b258 100644
>> --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>> @@ -64,6 +64,18 @@ properties:
>>   
>>     aspm-no-l0s: true
>>   
>> +  brcm,enable-l1ss:
>> +    description: Indicates that the downstream device is L1SS
>> +      capable and L1SS is desired, e.g. by setting
>> +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#
> 
> How does CONFIG_PCIEASPM_POWER_SUPERSAVE apply to *BSD?

In other words, there should be no OS/Linux specific comments in a 
Device Tree binding, which would be a friendlier and nicer way of 
providing the same feedback.
Krzysztof Kozlowski April 6, 2023, 6:53 p.m. UTC | #7
On 06/04/2023 20:47, Florian Fainelli wrote:
>>>>> +
>>>>> +  brcm,completion-timeout-msecs:
>>>>> +    description: Number of msecs before completion timeout
>>>>> +      abort occurs.
>>>>> +    $ref: /schemas/types.yaml#/definitions/uint32
>>>>
>>>> According to the driver at least 0 is not allowed, maybe we should
>>>> define minimum and maximum here and let dtbs_check take care of invalid
>>>> values?
>>> I'm not sure I follow what you mean about a zero value;  the property
>>> may have any value but the driver will clamp it
>>> to a minimum of ~30msec.  Regardless, I can add a  "minimum: 30" line
>>> to the YAML.
>>
>> If "completion" means Linux completion, then it is not suitable for DT
>> and entire property should be removed. If it is something else, then
>> explain here and commit msg. So far both refer to some completion...
> 
> This is a PCIe root complex binding so completion needs to be understood 
> in the context of PCIe, that is the time needed for the root complex to 
> complete/finish/proceed with a PCIe transaction layer packet (TLP).

OK, so I assume keyword "completion" is well known term in PCI (although
for some reason no other bindings mention it).

Best regards,
Krzysztof
Krzysztof Kozlowski April 6, 2023, 6:54 p.m. UTC | #8
On 06/04/2023 20:53, Florian Fainelli wrote:
> On 4/6/23 11:34, Krzysztof Kozlowski wrote:
>> On 06/04/2023 14:46, Jim Quinlan wrote:
>>> Regarding "brcm,enable-l1ss":
>>>
>>>    The Broadcom STB/CM PCIe HW -- which is also used by RPi SOCs -- requires
>>>    the driver probe to configure one of three clkreq# modes:
>>>
>>>    (a) clkreq# driven by the RC
>>>    (b) clkreq# driven by the EP for ASPM L0s, L1
>>>    (c) bidirectional clkreq#, as used for L1 Substates (L1SS).
>>>
>>>    The HW can tell the difference between (a) and (b), but does not know
>>>    when to configure (c).  Further, the HW will cause a CPU abort on boot if
>>>    guesses wrong regarding the need for (c).  So we introduce the boolean
>>>    "brcm,enable-l1ss" property to indicate that (c) is desired.  This
>>>    property is already present in the Raspian version of Linux, but the
>>>    driver implementaion that will follow adds more details and discerns
>>>    between (a) and (b).
>>>
>>> Regarding "brcm,completion-timeout-msecs"
>>>
>>>    Our HW will cause a CPU abort if the L1SS exit time is longer than the
>>>    completion abort timeout.  We've been asked to make this configurable, so
>>>    we are introducing "brcm,completion-abort-msecs".
>>>
>>> Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
>>> ---
>>>   .../devicetree/bindings/pci/brcm,stb-pcie.yaml       | 12 ++++++++++++
>>>   1 file changed, 12 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>> index 7e15aae7d69e..ef4ccc05b258 100644
>>> --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>> +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
>>> @@ -64,6 +64,18 @@ properties:
>>>   
>>>     aspm-no-l0s: true
>>>   
>>> +  brcm,enable-l1ss:
>>> +    description: Indicates that the downstream device is L1SS
>>> +      capable and L1SS is desired, e.g. by setting
>>> +      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#
>>
>> How does CONFIG_PCIEASPM_POWER_SUPERSAVE apply to *BSD?
> 
> In other words, there should be no OS/Linux specific comments in a 
> Device Tree binding, which would be a friendlier and nicer way of 
> providing the same feedback.

I want to give also the answer also why there should be no OS/Linux
specific comments, so the reader can stop a bit and think about it :)

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
index 7e15aae7d69e..ef4ccc05b258 100644
--- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
@@ -64,6 +64,18 @@  properties:
 
   aspm-no-l0s: true
 
+  brcm,enable-l1ss:
+    description: Indicates that the downstream device is L1SS
+      capable and L1SS is desired, e.g. by setting
+      CONFIG_PCIEASPM_POWER_SUPERSAVE=y.  Note that CLKREQ#
+      assertion to clock active must be within 400ns.
+    type: boolean
+
+  brcm,completion-timeout-msecs:
+    description: Number of msecs before completion timeout
+      abort occurs.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
   brcm,scb-sizes:
     description: u64 giving the 64bit PCIe memory
       viewport size of a memory controller.  There may be up to