From patchwork Mon May 4 14:08:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 1282655 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=XnMZ4Ac4; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49G4071C9mz9sSm for ; Mon, 4 May 2020 23:46:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BCEA681FF1; Mon, 4 May 2020 15:46:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="XnMZ4Ac4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 70C1E81FE1; Mon, 4 May 2020 15:46:19 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0608.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::608]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 129E281CBA for ; Mon, 4 May 2020 15:46:14 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HYXPLSxFV9D7Rt0jvQTNoAzIcgVtWG0CuEqiD+pj2H+pn9fUHX2ZLRiCg8XAN4ZVCobdx1DHcByoGydl6aWhrJ/Q00lr9L6lP8nk/IxQDzZ/VUvdWUnF/Q2k9OaxSUf0MCkjngbpuEV35ZWASekAdMAAIjRaL8PUyyoyZ7G8SmX4xnRV/3eiX/EX7Mlt9BIOQYH2mUCB+dlVgafk0VwMcRPOjgLpvJGYEzsBovFHthPUZ3oH3CCWCXJfXUsIBUhr64/vdLAvzGFc7zykg+g9QXgdfVaSmy8bx2AnBcozrjihAPkVe1FTHT1r6xApZdu0G1CbqrQQU38C8OjNrFFmbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xOAtkFW7VxdMj3bj/3yxi22lENr6rPryTA8GxPl0lik=; b=JycqBVJ/Xe+IH9L/d8d0TydaA+ui4VV+w+dzsHSyTrjb4WPNOhm3GSb/0izLrarT+1j1NWrmFq9ENdhvjrUoWuFfeupL1swu/m16C8g0hXfev+T2LFyvgEv4/Rmk+exk/94F54BzoZlRoxcKJkrhSWFgM3FoQPOAR0x600wHXX6zNOconBZBLSAmH7E6k+fMUd20elKua78vgGzP9qag9apJDUWJ4mmV0fawDkKNEv3Dz2C7uHGM+CpO88NXbsKHd7l1RSVnDIUK4QatvmrOUIi96QPtPpXB/GURB8gG1/6wvdqgylAs/KlQSSWLrqtES52XCkRiIbW6t3/++dMxgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xOAtkFW7VxdMj3bj/3yxi22lENr6rPryTA8GxPl0lik=; b=XnMZ4Ac4XxGKC+JSWlF9w0GbfLyAjIug2/4l4ojMAZ8aGlMb7YGKVVXgow3p2MOY+Q8XXKsjgOvZmTbNNe/ARdiH9uT3Kw4uiw4tX1JPG5TKrieiZufF3knOp/b5Wl9fLZ7Va7WU6ZLvHvzVth2w+CRGGV1GB+weYtFBKfoARPQ= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB6PR0402MB2837.eurprd04.prod.outlook.com (2603:10a6:4:98::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Mon, 4 May 2020 13:46:13 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d17b:d767:19c3:b871]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d17b:d767:19c3:b871%6]) with mapi id 15.20.2958.029; Mon, 4 May 2020 13:46:13 +0000 From: Peng Fan To: sbabic@denx.de, festevam@gmail.com Cc: uboot-imx@nxp.com, u-boot@lists.denx.de, Ye Li , Han Xu , Peng Fan Subject: [PATCH 02/14] mtd: gpmi: provide the option to use legacy bch geometry Date: Mon, 4 May 2020 22:08:51 +0800 Message-Id: <20200504140903.23602-3-peng.fan@nxp.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200504140903.23602-1-peng.fan@nxp.com> References: <20200504140903.23602-1-peng.fan@nxp.com> X-ClientProxiedBy: SG2PR06CA0108.apcprd06.prod.outlook.com (2603:1096:3:14::34) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by SG2PR06CA0108.apcprd06.prod.outlook.com (2603:1096:3:14::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Mon, 4 May 2020 13:46:11 +0000 X-Mailer: git-send-email 2.16.4 X-Originating-IP: [119.31.174.71] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f54e14b2-c52c-4eeb-61bb-08d7f03182b5 X-MS-TrafficTypeDiagnostic: DB6PR0402MB2837:|DB6PR0402MB2837: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-Forefront-PRVS: 03932714EB X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kSBsbCOZvRa9oDjm6NddyC3xg+AIhxVOI41fyNWI/S0JGf/zSJuIEZgjc0O8Ois8Uo9qr+ORoO9ACMGj4wlXp6ZLnxuT6iGKSiymdCB4ZPzNuB13UX02Y70n2gagrZD7KkVC4DWFPaNLK4ydIBofvMjKV4VthuyT+FGAG+vsvN2Mhl87o6nI5VxfCxM9zB/oNL1lvubiS+7iPASdyz9N4lM8ZKYz2vQmpKaTYkw2Lm/AlviQz4eLhPQwhKYjSb1G6Q0XqVYPRPXyu2WK325t6C7s1+BcFxXbGzaJ0yS2xsKUTrrutEgskSQg3O+kA6KN25OsHSvbAgsHFBXI+GGRS+8LPXTXC66qydjkKAftGqBt9qV2mw642sjEiAAVP8FDVz2V1gL9zsS71L8f+RVY9WwMM3lpLQjhNptghB7xl6E+GVH7s5B2vOVhZ7QkKx6o X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(396003)(376002)(39860400002)(366004)(136003)(86362001)(6666004)(52116002)(2906002)(8936002)(26005)(186003)(16526019)(6486002)(66476007)(478600001)(54906003)(4326008)(5660300002)(66556008)(66946007)(36756003)(1076003)(44832011)(316002)(8676002)(956004)(2616005)(6506007)(6512007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: V4ahVdo3WsNfosFwx33j+tCV9SheWQ5llonh2VPE48MjS+Wyfp0MnfcYemeFSfm1Y0e/Mqz+owlISvjYWh95GBy5BdtwjTHp397xgJe2V0mMtosh0X4ILEPhdLl3CjLWuApfJ1K5h5tlUG/wrzmmOTArOTb/pC0DcG6jgSOMZu0EWniQjj6EvyssAvWcQQpPJbUAVZbsl+BYeRpQzoaMXnScozVwU+RMaF6aNR9lAoINsEYkEw0o32/KrTB1KLg8gmgPwTWxCOJbYIxm+ExQJKUUx26VvIKVABJHDq04PMI3xAm0qa5Yswiu2Aitr7Z19jgNgH/zwdtUFgOVBfzSIVUp5PsehnlFESZ7whyZHCCUwkENJuzIwXkSeijjTGg3vpI13i7eiwb7LBF0hrVffhwh4EJvDTFcADijPZb1mYJ2KViKu1bQYrXct5caZ48hF1WkZxnczNLlyxhyZee3VEr8n0L0C2o+FacWBgtfOCib3nXKNuPLU/NNzefvE3dtgelMRcxspWWXBqL96dvfXyru/wnSHWNTqD6SWkTNT5IDgpBkb+Q6wUFid5rC8N4lVJGhjgXDGJ4ZlRU29Qx9CBFgIwQAJwhfP6Flb3M5Ay4uv30qQRdPTTsJsNzRQppScb1r3RnHQYch6EVUQlFcR9HXixS6wnievduaFVWdHjIGAXLzCk8hAxENWOyrYWt7Z9WcyDSiTSzFIzEEMiBDaNqGgj8i7nzPKFseoOCWmveqMkqHWjy25RbUDI0NhGJFg0AUpwzIW6zpCD1g5U9Qtc4XU7vVSICSjaVGR4ygoXM= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f54e14b2-c52c-4eeb-61bb-08d7f03182b5 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2020 13:46:13.5282 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nryOJWinOK5zP8tMv2VEABJ6yq49IIpClmWyGSNbaOoqUVtHa9UbitK6y/NafqBOUKnvtC9vvtsxDdPkzYjjYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2837 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean From: Ye Li Provide an option in DT to use legacy bch geometry, which compatible with the 3.10 kernel bch setting. To enable the feature, adding "fsl,legacy-bch-geometry" under gpmi-nand node. NOTICE: The feature must be enabled/disabled in both u-boot and kernel. Signed-off-by: Han Xu Signed-off-by: Ye Li Signed-off-by: Peng Fan --- drivers/mtd/nand/raw/mxs_nand.c | 4 ++-- drivers/mtd/nand/raw/mxs_nand_dt.c | 2 ++ include/mxs_nand.h | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/raw/mxs_nand.c b/drivers/mtd/nand/raw/mxs_nand.c index 8da59e39c0..3247064c3f 100644 --- a/drivers/mtd/nand/raw/mxs_nand.c +++ b/drivers/mtd/nand/raw/mxs_nand.c @@ -1053,8 +1053,8 @@ static int mxs_nand_set_geometry(struct mtd_info *mtd, struct bch_geometry *geo) return -EINVAL; } - if (!(chip->ecc_strength_ds > 0 && chip->ecc_step_ds > 0) && - (mtd->oobsize < 1024)) { + if ((!(chip->ecc_strength_ds > 0 && chip->ecc_step_ds > 0) && + mtd->oobsize < 1024) || nand_info->legacy_bch_geometry) { dev_warn(this->dev, "use legacy bch geometry\n"); return mxs_nand_legacy_calc_ecc_layout(geo, mtd); } diff --git a/drivers/mtd/nand/raw/mxs_nand_dt.c b/drivers/mtd/nand/raw/mxs_nand_dt.c index 8ad7d618c6..7a32b284f7 100644 --- a/drivers/mtd/nand/raw/mxs_nand_dt.c +++ b/drivers/mtd/nand/raw/mxs_nand_dt.c @@ -69,6 +69,8 @@ static int mxs_nand_dt_probe(struct udevice *dev) info->use_minimum_ecc = dev_read_bool(dev, "fsl,use-minimum-ecc"); + info->legacy_bch_geometry = dev_read_bool(dev, "fsl,legacy-bch-geometry"); + return mxs_nand_init_ctrl(info); } diff --git a/include/mxs_nand.h b/include/mxs_nand.h index 497da77a16..1ac628d064 100644 --- a/include/mxs_nand.h +++ b/include/mxs_nand.h @@ -43,6 +43,8 @@ struct mxs_nand_info { struct udevice *dev; unsigned int max_ecc_strength_supported; bool use_minimum_ecc; + /* legacy bch geometry flag */ + bool legacy_bch_geometry; int cur_chip; uint32_t cmd_queue_len;