All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Vidya Sagar <vidyas@nvidia.com>
Cc: bhelgaas@google.com, lpieralisi@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, thierry.reding@gmail.com,
	jonathanh@nvidia.com, jingoohan1@gmail.com,
	gustavo.pimentel@synopsys.com, kw@linux.com, kishon@ti.com,
	linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
	kthota@nvidia.com, mmaddireddy@nvidia.com, sagar.tv@gmail.com
Subject: Re: [PATCH V4 2/9] dt-bindings: PCI: tegra234: Add schema for tegra234 rootport mode
Date: Mon, 11 Jul 2022 13:26:21 -0600	[thread overview]
Message-ID: <20220711192621.GA126971-robh@kernel.org> (raw)
In-Reply-To: <20220707081301.29961-3-vidyas@nvidia.com>

On Thu, Jul 07, 2022 at 01:42:54PM +0530, Vidya Sagar wrote:
> Add support for PCIe controllers that operate in the rootport mode
> in tegra234 chipset.
> 
> Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
> ---
> V4:
> * Rebased on top of previous patch
> 
> V3:
> * New patch in this series
> 
>  .../bindings/pci/nvidia,tegra194-pcie.yaml    | 136 +++++++++++++++++-
>  1 file changed, 130 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml b/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml
> index 5d7cb56c86a2..c0dfe2e01112 100644
> --- a/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml
> @@ -24,6 +24,7 @@ properties:
>    compatible:
>      enum:
>        - nvidia,tegra194-pcie
> +      - nvidia,tegra234-pcie
>  
>    reg:
>      items:
> @@ -92,7 +93,8 @@ properties:
>        A phandle to the node that controls power to the respective PCIe
>        controller and a specifier name for the PCIe controller.
>  
> -      specifiers are defined in "include/dt-bindings/power/tegra194-powergate.h" file.
> +      Tegra194 specifiers are defined in "include/dt-bindings/power/tegra194-powergate.h" file.
> +      Tegra234 specifiers are defined in "include/dt-bindings/power/tegra234-powergate.h" file.
>  
>    interconnects:
>      items:
> @@ -112,17 +114,30 @@ properties:
>        Must contain a pair of phandle to BPMP controller node followed by
>        controller ID. Following are the controller IDs for each controller:
>  
> +      Tegra194
> +
>          0: C0
>          1: C1
>          2: C2
>          3: C3
>          4: C4
>          5: C5
> -    items:
> -      - items:
> -          - description: phandle to BPMP controller node
> -          - description: PCIe controller ID
> -            maximum: 5
> +
> +      Tegra234
> +
> +        0 : C0
> +        1 : C1
> +        2 : C2
> +        3 : C3
> +        4 : C4
> +        5 : C5
> +        6 : C6
> +        7 : C7
> +        8 : C8
> +        9 : C9
> +        10: C10
> +
> +      Platform constraints are described later
>  
>    nvidia,update-fc-fixup:
>      description: |
> @@ -131,6 +146,8 @@ properties:
>        of the following conditions thereby enabling root port to exchange
>        optimum number of FC (Flow Control) credits with downstream devices:
>  
> +      NOTE:- This is applicable only for Tegra194.
> +
>          1. If C0/C4/C5 run at x1/x2 link widths (irrespective of speed and MPS)
>          2. If C0/C1/C2/C3/C4/C5 operate at their respective max link widths and
>            a) speed is Gen-2 and MPS is 256B
> @@ -162,10 +179,56 @@ properties:
>        if the platform has one such slot. (Ex:- x16 slot owned by C5 controller
>        in p2972-0000 platform).
>  
> +  nvidia,enable-srns:
> +    description: |
> +      This boolean property needs to be present if the controller is configured
> +      to operate in SRNS (Separate Reference Clocks with No Spread-Spectrum Clocking).
> +      NOTE:- This is applicable only for Tegra234.
> +
> +    $ref: /schemas/types.yaml#/definitions/flag
> +
> +  nvidia,enable-ext-refclk:
> +    description: |
> +      This boolean property needs to be present if the controller is configured
> +      to use the reference clocking coming in from an external clock source instead of
> +      using the internal clock source.
> +
> +    $ref: /schemas/types.yaml#/definitions/flag
> +
>  allOf:
>    - $ref: /schemas/pci/pci-bus.yaml#
>    - $ref: /schemas/pci/snps,dw-pcie.yaml#
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra194-pcie
> +    then:
> +      properties:
> +        nvidia,bpmp:
> +          items:
> +            - items:
> +                - description: phandle to BPMP controller node
> +                - description: PCIe controller ID
> +                  maximum: 5
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra234-pcie
> +    then:
> +      properties:
> +        nvidia,bpmp:
> +          items:
> +            - items:
> +                - description: phandle to BPMP controller node
> +                - description: PCIe controller ID
> +                  maximum: 10

I don't think this works because you still have a limit of 5 in the 
definition of nvidia,bpmp. I would just change it's limit to 10 and drop 
these if/then schemas. I don't think the extra checking is really worth 
it.

Rob

  reply	other threads:[~2022-07-11 19:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-07  8:12 [PATCH V4 0/9] PCI: tegra: Add Tegra234 PCIe support Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 1/9] dt-bindings: pci: tegra: Convert to json-schema Vidya Sagar
2022-07-11 19:21   ` Rob Herring
2022-07-07  8:12 ` [PATCH V4 2/9] dt-bindings: PCI: tegra234: Add schema for tegra234 rootport mode Vidya Sagar
2022-07-11 19:26   ` Rob Herring [this message]
2022-07-07  8:12 ` [PATCH V4 3/9] dt-bindings: PCI: tegra234: Add schema for tegra234 endpoint mode Vidya Sagar
2022-07-07 12:27   ` Rob Herring
2022-07-09  2:33     ` Vidya Sagar
2022-07-11 14:38       ` Rob Herring
2022-07-07  8:12 ` [PATCH V4 4/9] arm64: tegra: Add regulators required for PCIe Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 5/9] arm64: tegra: Add P2U and PCIe controller nodes to Tegra234 DT Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 6/9] arm64: tegra: Enable PCIe slots in P3737-0000 board Vidya Sagar
2022-07-07  8:12 ` [PATCH V4 7/9] PCI: Disable MSI for Tegra234 root ports Vidya Sagar
2022-07-07  8:13 ` [PATCH V4 8/9] Revert "PCI: tegra194: Rename tegra_pcie_dw to tegra194_pcie" Vidya Sagar
2022-07-07  8:13 ` [PATCH V4 9/9] PCI: tegra: Add Tegra234 PCIe support Vidya Sagar

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=20220711192621.GA126971-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gustavo.pimentel@synopsys.com \
    --cc=jingoohan1@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=kishon@ti.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kthota@nvidia.com \
    --cc=kw@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mmaddireddy@nvidia.com \
    --cc=sagar.tv@gmail.com \
    --cc=thierry.reding@gmail.com \
    --cc=vidyas@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.