[PATCH 05/12] dt-bindings: mtd: brcmnand: Updates for bcmbca SoCs

Rob Herring robh at kernel.org
Wed Jun 14 15:46:05 PDT 2023


On Wed, Jun 07, 2023 at 10:14:52AM +0200, Miquel Raynal wrote:
> Hi William,
> 
> william.zhang at broadcom.com wrote on Tue,  6 Jun 2023 16:12:45 -0700:
> 
> > Use new compatiable brcm,nand-bcmbca to support BCMBCA broadband
> > product. The old compatible string is still kept in the driver so old
> > dtb can still work.
> > 
> > Add brcm,nand-use-wp property to have an option for disabling this
> > feature on broadband board design that does not use write protection.
> > Add brcm,nand-ecc-use-strap to get ecc setting from board strap for
> > broadband board designs because they do not specify ecc setting in dts
> > but rather using the strap setting.
> > 
> > Remove the requirement of interrupts and interrupt-names properties to
> > reflect the driver code.
> > 
> > This patch also includes a few minor fixes to the BCM63xx compatibles
> > and add myself to the list of maintainers.
> > 
> > Signed-off-by: William Zhang <william.zhang at broadcom.com>
> > ---
> > 
> >  .../bindings/mtd/brcm,brcmnand.yaml           | 64 +++++++++++++------
> >  1 file changed, 43 insertions(+), 21 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> > index 1571024aa119..1fe1c166a9db 100644
> > --- a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> > +++ b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> > @@ -9,6 +9,7 @@ title: Broadcom STB NAND Controller
> >  maintainers:
> >    - Brian Norris <computersforpeace at gmail.com>
> >    - Kamal Dasu <kdasu.kdev at gmail.com>
> > +  - William Zhang <william.zhang at broadcom.com>
> >  
> >  description: |
> >    The Broadcom Set-Top Box NAND controller supports low-level access to raw NAND
> > @@ -18,9 +19,10 @@ description: |
> >    supports basic PROGRAM and READ functions, among other features.
> >  
> >    This controller was originally designed for STB SoCs (BCM7xxx) but is now
> > -  available on a variety of Broadcom SoCs, including some BCM3xxx, BCM63xx, and
> > -  iProc/Cygnus. Its history includes several similar (but not fully register
> > -  compatible) versions.
> > +  available on a variety of Broadcom SoCs, including some BCM3xxx, MIPS based
> > +  Broadband SoC (BCM63xx), ARM based Broadband SoC (BCMBCA) and iProc/Cygnus.
> > +  Its history includes several similar (but not fully register compatible)
> > +  versions.
> >  
> >    -- Additional SoC-specific NAND controller properties --
> >  
> > @@ -53,9 +55,9 @@ properties:
> >                - brcm,brcmnand-v7.2
> >                - brcm,brcmnand-v7.3
> >            - const: brcm,brcmnand
> > -      - description: BCM63138 SoC-specific NAND controller
> > +      - description: BCMBCA SoC-specific NAND controller
> >          items:
> > -          - const: brcm,nand-bcm63138
> > +          - const: brcm,nand-bcmbca
> >            - enum:
> >                - brcm,brcmnand-v7.0
> >                - brcm,brcmnand-v7.1
> > @@ -65,11 +67,15 @@ properties:
> >            - const: brcm,nand-iproc
> >            - const: brcm,brcmnand-v6.1
> >            - const: brcm,brcmnand
> > -      - description: BCM63168 SoC-specific NAND controller
> > +      - description: BCM63xx SoC-specific NAND controller
> >          items:
> > -          - const: brcm,nand-bcm63168
> > -          - const: brcm,nand-bcm6368
> > -          - const: brcm,brcmnand-v4.0
> > +          - enum:
> > +              - brcm,nand-bcm63168
> > +              - brcm,nand-bcm6368
> > +          - enum:
> > +              - brcm,brcmnand-v2.1
> > +              - brcm,brcmnand-v2.2
> > +              - brcm,brcmnand-v4.0
> >            - const: brcm,brcmnand
> >  
> >    reg:
> > @@ -111,6 +117,19 @@ properties:
> >        earlier versions of this core that include WP
> >      type: boolean
> >  
> > +  brcm,nand-use-wp:
> > +    description:
> > +      Use this integer to indicate if board design uses
> > +      controller's write protection feature and connects its
> > +      NAND_WPb pin to nand chip's WP_L pin. Driver defaults to
> > +      use this feature when this property does not exist.
> > +      Set to 0 if WP pins are not connected and feature is not
> > +      used. Set to 1 if WP pins are connected and feature is used.
> > +      Set to 2 if WP pins are connected but disable this feature
> > +      through driver that sets controller to output high on NAND_WPb.
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    enum: [0, 1, 2]
> 
> Perhaps strings would be welcome. I'll let binding maintainers say what
> they think of it.

1 is redundant as it is the same as not present. Seems like a 
'brcm,disable-wp' boolean would suffice here.

Rob



More information about the linux-mtd mailing list