devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Christian Marangi <ansuelsmth@gmail.com>
Cc: "Hauke Mehrtens" <hauke@hauke-m.de>,
	"Rafał Miłecki" <zajec5@gmail.com>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Florian Fainelli" <florian.fainelli@broadcom.com>,
	"Broadcom internal kernel review list"
	<bcm-kernel-feedback-list@broadcom.com>,
	"Álvaro Fernández Rojas" <noltari@gmail.com>,
	linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Daniel González Cabanelas" <dgcbueu@gmail.com>
Subject: Re: [PATCH v2 3/5] dt-bindings: mips: brcm: Document brcm,bmips-cbr-reg property
Date: Tue, 7 May 2024 08:07:28 -0500	[thread overview]
Message-ID: <20240507130728.GA43076-robh@kernel.org> (raw)
In-Reply-To: <20240503212139.5811-4-ansuelsmth@gmail.com>

On Fri, May 03, 2024 at 11:20:59PM +0200, Christian Marangi wrote:
> Document brcm,bmips-cbr-reg and brcm,bmips-broken-cbr-reg property.
> 
> Some SoC suffer from a BUG where read_c0_brcm_cbr() might return 0
> if called from TP1. The CBR address is always the same on the SoC
> hence it can be provided in DT to handle broken case where bootloader
> doesn't init it or SMP where read_c0_brcm_cbr() returns 0 from TP1.
> 
> Usage of this property is to give an address also in these broken
> configuration/bootloader.
> 
> If the SoC/Bootloader ALWAYS provide a broken CBR address the property
> "brcm,bmips-broken-cbr-reg" can be used to ignore any value already set
> in the registers for CBR address.

Why can't these be implied from an SoC specific compatible?

It's not a great design where you have to update the DT which should be 
provided from the bootloader in order to work-around bootloader 
issues...

> 
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
>  .../devicetree/bindings/mips/brcm/soc.yaml    | 32 +++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mips/brcm/soc.yaml b/Documentation/devicetree/bindings/mips/brcm/soc.yaml
> index 975945ca2888..29af8f0db785 100644
> --- a/Documentation/devicetree/bindings/mips/brcm/soc.yaml
> +++ b/Documentation/devicetree/bindings/mips/brcm/soc.yaml
> @@ -55,6 +55,21 @@ properties:
>           under the "cpus" node.
>          $ref: /schemas/types.yaml#/definitions/uint32
>  
> +      brcm,bmips-broken-cbr-reg:
> +        description: Declare that the Bootloader init a broken
> +          CBR address in the registers and the one provided from
> +          DT should always be used.

Why wouldn't brcm,bmips-cbr-reg being present indicate to use it?

> +        type: boolean
> +
> +      brcm,bmips-cbr-reg:
> +        description: Reference address of the CBR.
> +          Some SoC suffer from a BUG where read_c0_brcm_cbr() might
> +          return 0 if called from TP1. The CBR address is always the
> +          same on the SoC hence it can be provided in DT to handle
> +          broken case where bootloader doesn't initialise it or SMP
> +          where read_c0_brcm_cbr() returns 0 from TP1.
> +        $ref: /schemas/types.yaml#/definitions/uint32

CBR is never defined anywhere in this patch. 

> +
>      patternProperties:
>        "^cpu@[0-9]$":
>          type: object
> @@ -64,6 +79,23 @@ properties:
>      required:
>        - mips-hpt-frequency
>  
> +dependencies:
> +  brcm,bmips-broken-cbr-reg: [ brcm,bmips-cbr-reg ]

The inline syntax (i.e. []) means you need quotes for commas.

This has no effect because you are applying it to the root node. Needs 
to be a the same level as the properties.

> +
> +if:
> +  properties:
> +    compatible:
> +      contains:
> +        anyOf:
> +          - const: brcm,bcm6358
> +          - const: brcm,bcm6368

Replace anyOf+const with enum.

> +
> +then:
> +  properties:
> +    cpus:
> +      required:
> +        - brcm,bmips-cbr-reg
> +
>  additionalProperties: true
>  
>  examples:
> -- 
> 2.43.0
> 

  parent reply	other threads:[~2024-05-07 13:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-03 21:20 [PATCH v2 0/5] mips: bmips: improve handling of RAC and CBR addr Christian Marangi
2024-05-03 21:20 ` [PATCH v2 1/5] mips: bmips: BCM6358: make sure CBR is correctly set Christian Marangi
2024-05-03 21:23   ` Florian Fainelli
2024-05-03 21:20 ` [PATCH v2 2/5] mips: bmips: rework and cache CBR addr handling Christian Marangi
2024-05-03 21:23   ` Florian Fainelli
2024-05-08 23:13   ` kernel test robot
2024-05-09 11:15     ` Christian Marangi
2024-05-03 21:20 ` [PATCH v2 3/5] dt-bindings: mips: brcm: Document brcm,bmips-cbr-reg property Christian Marangi
2024-05-03 22:16   ` Rob Herring (Arm)
2024-05-07 13:07   ` Rob Herring [this message]
2024-05-08 16:44     ` Florian Fainelli
2024-05-03 21:21 ` [PATCH v2 4/5] mips: bmips: setup: make CBR address configurable Christian Marangi
2024-05-03 21:21 ` [PATCH v2 5/5] mips: bmips: enable RAC on BMIPS4350 Christian Marangi
2024-05-03 21:33   ` Florian Fainelli

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=20240507130728.GA43076-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=ansuelsmth@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dgcbueu@gmail.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=hauke@hauke-m.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=noltari@gmail.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=zajec5@gmail.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 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).