Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1471839

Re: [PATCH 1/6] mtd: spi-nor: Add quad page program support

Path csiph.com!goblin3!goblin.stu.neva.ru!sewer!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Jagan Teki <jagannadh.teki@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH 1/6] mtd: spi-nor: Add quad page program support
Date Mon, 29 Aug 2016 15:30:02 +0200
Message-ID <sbuNs-7PD-25@gated-at.bofh.it> (permalink)
References <s4m8h-404-3@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=bP4fP7atlPVYAHNguh3BIb3MshT5y7dL83dwei503MM=; b=uNWzelrVBYoPioUjyj9FixLDuxZP1MR5PWSN2FJ0CBH0lDa0AmKfdK9xpQxAesSHks Bd0KjkeXr5mIamFwPoOdao0pMYjgel9uQZmSJG0k4ncjo92yA6b8rs17vvgoAb8wWxu6 FB8X8tI/l7eE6cQmq1nX53K0Ugyww9pJaxLKiqIn4olzUz0GKWI7a5K2/GCoiNuGdecA KMy5WG+ZyrrGX3jlb2NoKJG0cDL8YaEjaY5t0TkKD+shApHKUjrnU0+VPmvTf18QSt1/ WHHC/qx2448L4JKyALQ95SZvZrKwrCQAKnFS7pVLo+K0DuR+GFqEzo3RQd06gpn+5BWi shQg==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=bP4fP7atlPVYAHNguh3BIb3MshT5y7dL83dwei503MM=; b=GA1TVBRASAUlRWWyk6S+xbaeh78Eoi1eH/Q+41iZUS+3ikZQQ4+aJVsZ4psjpQvyMS //tgE/zdIaYuqS0T9O7mHcQKt6xybwMpMrFMJfVXcoUJSQLAY4bhzc2bdbOQwFQ1prJy yVQcQn+xV/NHSGsIuWrYyNvnE8NYQVnWxwCIBuGhDiXmwAyu+Gpvp+ZpaL9r2ofgzsRb HF+qbf58hjINcT4iE4QmDWKi9z1ERgN8EnkT60EJHJ16ToPJFrjflm38vvuY8mZQ8kqr CR/Qkl9I+mlPUKQugbof35UwwpVoo29iCELyt1xntHbbGeY1jMN7KTWqq37BoPY4uvmn 9PnA==
X-Gm-Message-State AE9vXwPRoTu5g3hahIJCsWCq5C+6Q+tvt60bG+Xs3ZlHLyxi2g36M1krbqe6nM56EArbrxrXjG6jVKZgOoB3cQ==
X-Received by 10.25.34.214 with SMTP id i205mr5205085lfi.151.1472477098082; Mon, 29 Aug 2016 06:24:58 -0700 (PDT)
MIME-Version 1.0
Content-Type text/plain; charset=UTF-8
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 85
Organization linux.* mail to news gateway
X-Original-Cc David Woodhouse <dwmw2@infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Jagan Teki <jteki@openedev.com>, Brian Norris <computersforpeace@gmail.com>
X-Original-Date Mon, 29 Aug 2016 18:54:57 +0530
X-Original-Message-ID <CAD6G_RRHP+pKJOAMO0UtNNtSnpSmE_FrKU5=o8FUAkKjP_fSyQ@mail.gmail.com>
X-Original-References <1470775225-19787-1-git-send-email-jteki@openedev.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1471839

Show key headers only | View raw


On Wed, Aug 10, 2016 at 2:10 AM, Jagan Teki <jteki@openedev.com> wrote:
> Add quad page program support with the use of nor->flags
> and then controller will use 4 lines for data transmission
> which is quite faster than page program(02h)
>
> Cc: Brian Norris <computersforpeace@gmail.com>
> Signed-off-by: Jagan Teki <jteki@openedev.com>
> ---
>  drivers/mtd/spi-nor/spi-nor.c | 13 +++++++++++++
>  include/linux/mtd/spi-nor.h   |  2 ++
>  2 files changed, 15 insertions(+)
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index d0fc165..f88bd7e 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -75,6 +75,7 @@ struct flash_info {
>                                          * bit. Must be used with
>                                          * SPI_NOR_HAS_LOCK.
>                                          */
> +#define SPI_NOR_QUAD_WRITE     BIT(10) /* Flash supports Quad Write */
>  };
>
>  #define JEDEC_MFR(info)        ((info)->id[0])
> @@ -1306,6 +1307,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
>         struct device *dev = nor->dev;
>         struct mtd_info *mtd = &nor->mtd;
>         struct device_node *np = spi_nor_get_flash_node(nor);
> +       bool need_quad = false;
>         int ret;
>         int i;
>
> @@ -1441,6 +1443,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
>                         return ret;
>                 }
>                 nor->flash_read = SPI_NOR_QUAD;
> +               need_quad = true;
>         } else if (mode == SPI_NOR_DUAL && info->flags & SPI_NOR_DUAL_READ) {
>                 nor->flash_read = SPI_NOR_DUAL;
>         }
> @@ -1465,6 +1468,16 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
>         }
>
>         nor->program_opcode = SPINOR_OP_PP;
> +       if (nor->flags == SNOR_F_USE_QPP && info->flags & SPI_NOR_QUAD_WRITE) {
> +               if (!need_quad)
> +                       ret = set_quad_mode(nor, info);
> +                       if (ret) {
> +                               dev_err(dev, "quad mode not supported\n");
> +                               return ret;
> +                       }
> +               }
> +               nor->program_opcode = SPINOR_OP_QPP;
> +       }
>
>         if (info->addr_width)
>                 nor->addr_width = info->addr_width;
> diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
> index c425c7b..aa0e6cd 100644
> --- a/include/linux/mtd/spi-nor.h
> +++ b/include/linux/mtd/spi-nor.h
> @@ -46,6 +46,7 @@
>  #define SPINOR_OP_READ_1_1_2   0x3b    /* Read data bytes (Dual SPI) */
>  #define SPINOR_OP_READ_1_1_4   0x6b    /* Read data bytes (Quad SPI) */
>  #define SPINOR_OP_PP           0x02    /* Page program (up to 256 bytes) */
> +#define SPINOR_OP_QPP          0x32    /* Quad Page program */
>  #define SPINOR_OP_BE_4K                0x20    /* Erase 4KiB block */
>  #define SPINOR_OP_BE_4K_PMC    0xd7    /* Erase 4KiB block on PMC chips */
>  #define SPINOR_OP_BE_32K       0x52    /* Erase 32KiB block */
> @@ -119,6 +120,7 @@ enum spi_nor_ops {
>  enum spi_nor_option_flags {
>         SNOR_F_USE_FSR          = BIT(0),
>         SNOR_F_HAS_SR_TB        = BIT(1),
> +       SNOR_F_USE_QPP          = BIT(2),
>  };
>
>  /**
> --
> 2.7.4
>

Ping!

-- 
Jagan Teki

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCH 1/6] mtd: spi-nor: Add quad page program support Jagan Teki <jagannadh.teki@gmail.com> - 2016-08-29 15:30 +0200

csiph-web