Document and match the brcm,brcmnand-v6.2 compatible string, the controller has
a register layout identical to the v6.0 version and supports prefetch. Update the
command shift logic to account for v6.2 controller which are the first ones to
use a shift of 0 (6.1 used a shift of 24).
Signed-off-by: Kamal Dasu <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt | 1 +
drivers/mtd/nand/brcmnand/brcmnand.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
index c2546ced9c02..deb24cbdda82 100644
--- a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
+++ b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
@@ -24,6 +24,7 @@ Required properties:
brcm,brcmnand-v5.0
brcm,brcmnand-v6.0
brcm,brcmnand-v6.1
+ brcm,brcmnand-v6.2
brcm,brcmnand-v7.0
brcm,brcmnand-v7.1
brcm,brcmnand
diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c
index e0528397306a..0b7a698cc233 100644
--- a/drivers/mtd/nand/brcmnand/brcmnand.c
+++ b/drivers/mtd/nand/brcmnand/brcmnand.c
@@ -601,7 +601,7 @@ static void brcmnand_wr_corr_thresh(struct brcmnand_host *host, u8 val)
static inline int brcmnand_cmd_shift(struct brcmnand_controller *ctrl)
{
- if (ctrl->nand_version < 0x0700)
+ if (ctrl->nand_version < 0x0602)
return 24;
return 0;
}
@@ -2115,6 +2115,7 @@ static const struct of_device_id brcmnand_of_match[] = {
{ .compatible = "brcm,brcmnand-v5.0" },
{ .compatible = "brcm,brcmnand-v6.0" },
{ .compatible = "brcm,brcmnand-v6.1" },
+ { .compatible = "brcm,brcmnand-v6.2" },
{ .compatible = "brcm,brcmnand-v7.0" },
{ .compatible = "brcm,brcmnand-v7.1" },
{},
--
2.1.0
On Thu, Mar 10, 2016 at 03:34:16PM -0800, Florian Fainelli wrote:
> Document and match the brcm,brcmnand-v6.2 compatible string, the controller has
> a register layout identical to the v6.0 version and supports prefetch. Update the
> command shift logic to account for v6.2 controller which are the first ones to
> use a shift of 0 (6.1 used a shift of 24).
>
> Signed-off-by: Kamal Dasu <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>
> ---
> Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt | 1 +
> drivers/mtd/nand/brcmnand/brcmnand.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
Acked-by: Rob Herring <[email protected]>
+ Boris, Richard
On Thu, Mar 10, 2016 at 03:34:16PM -0800, Florian Fainelli wrote:
> Document and match the brcm,brcmnand-v6.2 compatible string, the controller has
> a register layout identical to the v6.0 version and supports prefetch. Update the
> command shift logic to account for v6.2 controller which are the first ones to
> use a shift of 0 (6.1 used a shift of 24).
Ah yes, another blip in the ever-shifting register layout of this
controller. Fun!
> Signed-off-by: Kamal Dasu <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>
Acked-by: Brian Norris <[email protected]>
> ---
> Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt | 1 +
> drivers/mtd/nand/brcmnand/brcmnand.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
> index c2546ced9c02..deb24cbdda82 100644
> --- a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
> +++ b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
> @@ -24,6 +24,7 @@ Required properties:
> brcm,brcmnand-v5.0
> brcm,brcmnand-v6.0
> brcm,brcmnand-v6.1
> + brcm,brcmnand-v6.2
> brcm,brcmnand-v7.0
> brcm,brcmnand-v7.1
> brcm,brcmnand
> diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c
> index e0528397306a..0b7a698cc233 100644
> --- a/drivers/mtd/nand/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/brcmnand/brcmnand.c
> @@ -601,7 +601,7 @@ static void brcmnand_wr_corr_thresh(struct brcmnand_host *host, u8 val)
>
> static inline int brcmnand_cmd_shift(struct brcmnand_controller *ctrl)
> {
> - if (ctrl->nand_version < 0x0700)
> + if (ctrl->nand_version < 0x0602)
> return 24;
> return 0;
> }
> @@ -2115,6 +2115,7 @@ static const struct of_device_id brcmnand_of_match[] = {
> { .compatible = "brcm,brcmnand-v5.0" },
> { .compatible = "brcm,brcmnand-v6.0" },
> { .compatible = "brcm,brcmnand-v6.1" },
> + { .compatible = "brcm,brcmnand-v6.2" },
> { .compatible = "brcm,brcmnand-v7.0" },
> { .compatible = "brcm,brcmnand-v7.1" },
> {},
> --
> 2.1.0
>
On Sun, 3 Apr 2016 23:53:53 -0700
Brian Norris <[email protected]> wrote:
> + Boris, Richard
>
> On Thu, Mar 10, 2016 at 03:34:16PM -0800, Florian Fainelli wrote:
> > Document and match the brcm,brcmnand-v6.2 compatible string, the controller has
> > a register layout identical to the v6.0 version and supports prefetch. Update the
> > command shift logic to account for v6.2 controller which are the first ones to
> > use a shift of 0 (6.1 used a shift of 24).
>
> Ah yes, another blip in the ever-shifting register layout of this
> controller. Fun!
>
> > Signed-off-by: Kamal Dasu <[email protected]>
> > Signed-off-by: Florian Fainelli <[email protected]>
>
> Acked-by: Brian Norris <[email protected]>
Applied.
Thanks,
Boris
>
> > ---
> > Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt | 1 +
> > drivers/mtd/nand/brcmnand/brcmnand.c | 3 ++-
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
> > index c2546ced9c02..deb24cbdda82 100644
> > --- a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
> > +++ b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
> > @@ -24,6 +24,7 @@ Required properties:
> > brcm,brcmnand-v5.0
> > brcm,brcmnand-v6.0
> > brcm,brcmnand-v6.1
> > + brcm,brcmnand-v6.2
> > brcm,brcmnand-v7.0
> > brcm,brcmnand-v7.1
> > brcm,brcmnand
> > diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c
> > index e0528397306a..0b7a698cc233 100644
> > --- a/drivers/mtd/nand/brcmnand/brcmnand.c
> > +++ b/drivers/mtd/nand/brcmnand/brcmnand.c
> > @@ -601,7 +601,7 @@ static void brcmnand_wr_corr_thresh(struct brcmnand_host *host, u8 val)
> >
> > static inline int brcmnand_cmd_shift(struct brcmnand_controller *ctrl)
> > {
> > - if (ctrl->nand_version < 0x0700)
> > + if (ctrl->nand_version < 0x0602)
> > return 24;
> > return 0;
> > }
> > @@ -2115,6 +2115,7 @@ static const struct of_device_id brcmnand_of_match[] = {
> > { .compatible = "brcm,brcmnand-v5.0" },
> > { .compatible = "brcm,brcmnand-v6.0" },
> > { .compatible = "brcm,brcmnand-v6.1" },
> > + { .compatible = "brcm,brcmnand-v6.2" },
> > { .compatible = "brcm,brcmnand-v7.0" },
> > { .compatible = "brcm,brcmnand-v7.1" },
> > {},
> > --
> > 2.1.0
> >
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com