On Wed, 3 Oct 2018 22:26:03 +0530
Vignesh R <[email protected]> wrote:

> Cadence OSPI controller IP supports Octal IO (x8 IO lines),
> It also has an integrated PHY. IP register layout is very
> similar to existing QSPI IP except for additional bits to support Octal
> and Octal DDR mode. Therefore, extend current driver to support Octal
> mode.
> 
> Signed-off-by: Vignesh R <[email protected]>
> ---
>  drivers/mtd/spi-nor/cadence-quadspi.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c 
> b/drivers/mtd/spi-nor/cadence-quadspi.c
> index e24db817154e..48b00e75a879 100644
> --- a/drivers/mtd/spi-nor/cadence-quadspi.c
> +++ b/drivers/mtd/spi-nor/cadence-quadspi.c
> @@ -101,6 +101,7 @@ struct cqspi_st {
>  #define CQSPI_INST_TYPE_SINGLE                       0
>  #define CQSPI_INST_TYPE_DUAL                 1
>  #define CQSPI_INST_TYPE_QUAD                 2
> +#define CQSPI_INST_TYPE_OCTAL                        3
>  
>  #define CQSPI_DUMMY_CLKS_PER_BYTE            8
>  #define CQSPI_DUMMY_BYTES_MAX                        4
> @@ -898,6 +899,9 @@ static int cqspi_set_protocol(struct spi_nor *nor, const 
> int read)
>               case SNOR_PROTO_1_1_4:
>                       f_pdata->data_width = CQSPI_INST_TYPE_QUAD;
>                       break;
> +             case SNOR_PROTO_1_1_8:
> +                     f_pdata->data_width = CQSPI_INST_TYPE_OCTAL;
> +                     break;
>               default:
>                       return -EINVAL;
>               }
> @@ -1205,6 +1209,7 @@ static int cqspi_setup_flash(struct cqspi_st *cqspi, 
> struct device_node *np)
>                       SNOR_HWCAPS_READ_FAST |
>                       SNOR_HWCAPS_READ_1_1_2 |
>                       SNOR_HWCAPS_READ_1_1_4 |
> +                     SNOR_HWCAPS_READ_1_1_8 |

Is this really supported on qspi versions of this IP? I guess not given
the description in the commit message and the name of the new
compatible (ospi instead of qspi).

>                       SNOR_HWCAPS_PP,
>       };
>       struct platform_device *pdev = cqspi->pdev;
> @@ -1456,6 +1461,10 @@ static const struct of_device_id cqspi_dt_ids[] = {
>               .compatible = "ti,k2g-qspi",
>               .data = (void *)CQSPI_NEEDS_WR_DELAY,
>       },
> +     {
> +             .compatible = "ti,am654-ospi",
> +             .data = (void *)CQSPI_NEEDS_WR_DELAY,
> +     },
>       { /* end of table */ }
>  };
>  

Reply via email to