107-v5.18-mtd-rawnand-brcmnand-BCMA-controller-uses-command-shift-of-0.patch 989 B

1234567891011121314151617181920212223242526272829
  1. From: Florian Fainelli <[email protected]>
  2. Subject: [PATCH v3 8/9] mtd: rawnand: brcmnand: BCMA controller uses command shift of 0
  3. Date: Fri, 07 Jan 2022 10:46:13 -0800
  4. Content-Type: text/plain; charset="utf-8"
  5. For some odd and unexplained reason the BCMA NAND controller, albeit
  6. revision 3.4 uses a command shift of 0 instead of 24 as it should be,
  7. quirk that.
  8. Signed-off-by: Florian Fainelli <[email protected]>
  9. ---
  10. drivers/mtd/nand/raw/brcmnand/brcmnand.c | 6 ++++++
  11. 1 file changed, 6 insertions(+)
  12. --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
  13. +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
  14. @@ -916,6 +916,12 @@ static void brcmnand_wr_corr_thresh(stru
  15. static inline int brcmnand_cmd_shift(struct brcmnand_controller *ctrl)
  16. {
  17. + /* Kludge for the BCMA-based NAND controller which does not actually
  18. + * shift the command
  19. + */
  20. + if (ctrl->nand_version == 0x0304 && brcmnand_non_mmio_ops(ctrl))
  21. + return 0;
  22. +
  23. if (ctrl->nand_version < 0x0602)
  24. return 24;
  25. return 0;