From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C26BDC433EF for ; Wed, 6 Apr 2022 05:55:56 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9D9BE83E05; Wed, 6 Apr 2022 07:51:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.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=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="dvacL6Tv"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 611E183DC8; Wed, 6 Apr 2022 07:51:00 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2060c.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::60c]) (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 718DF83D9E for ; Wed, 6 Apr 2022 07:50:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RxkF18qkORRhNARKbpM0Vues8qSrGXPb9J6oHJGPGjwLBSa99uvBip0oLp7hadq9Donof2buKXDK/Db1MQncgFNJcoPj5fjxn1nB01OpcgR5Uv2tBP4QgQBqDNQjG7GqhMfImyHNavFITNYG1fcMIFEVbc5PSYQznxzjHLEXxKCwHpC9cnGgZRFSnigAWrikYRZ+JVyUgM/eAR3Gr6e7SfFxIJK/nn8SE53pTMkVY0zaOjP+LByC6Bj/sw0dVKkfTYPBPacfg8UzslmkbYAENgrXeXRw83LGwkBMMkaRR6PMxyOTSjtcAw2JIHuuFYRBK83wAzUR/MPwQDFJdxvzMA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2uzHid7/tx1w6wwkydqPPlWFuaOnxAV8AafQYud8KgY=; b=XHdyeVewUcsDbJKLInn9Een27mRIa2ZdLE+AUs3ZJwvoV3tSrWG2HBRqfyab0Ui8w7avKRIOhxRD5eieb5EBN9sQ+PfLUFh1AE0vO51CDnOlMWB+8JHff3xLmzTf8HahzX3uPrqAf12+ztSGdlnqraF1r/cL86O3SbcUp/KrYKt1iXKttxSsB26V7T2m4mxwTgRvHEEW0pRaaAUnE1KJ4Bz3RBHC0ZzyHN3ZKtau2XYVMSZo3KpDtnwGolqo/uqaWGoPR7FnO9ut3LQ+sblX31tdCgOucoYHVSyha2JNHxwfWV3XXqXJt+T67d+vbB4OcenmGC9+eWOmdtnaFhgmkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2uzHid7/tx1w6wwkydqPPlWFuaOnxAV8AafQYud8KgY=; b=dvacL6TvsG6mXRivWV/EjcpM/gygMSTIvueasGHp0qxMYuXV0Gj7x43GY9SC1mvAfB7CEFHwLU2ZwsDPAPa1LPRgCya/048dEscY31wlqPUNIaNDk62PuKttRSI3pU5J7O3cFawG/Ywu9/pcGpW9hjRw0T2MhJNXQ3PEDxlNT68= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by PAXPR04MB9423.eurprd04.prod.outlook.com (2603:10a6:102:2b3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Wed, 6 Apr 2022 05:50:20 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::389f:e6eb:a7a2:61b6]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::389f:e6eb:a7a2:61b6%7]) with mapi id 15.20.5123.031; Wed, 6 Apr 2022 05:50:20 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de Cc: festevam@gmail.com, u-boot@lists.denx.de, uboot-imx@nxp.com, Peng Fan Subject: [PATCH V2 20/26] imx: dynamic setting mmcdev and mmcroot Date: Wed, 6 Apr 2022 14:30:25 +0800 Message-Id: <20220406063031.21960-21-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220406063031.21960-1-peng.fan@oss.nxp.com> References: <20220406063031.21960-1-peng.fan@oss.nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR04CA0153.apcprd04.prod.outlook.com (2603:1096:4::15) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 89af76f3-6183-416c-1823-08da179155e8 X-MS-TrafficTypeDiagnostic: PAXPR04MB9423:EE_ X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RQcNWs8NLk2pJBKUsiYwjzKumr+ln8hOGl5so/2uHhg1nYuF8+wrPNlO8hia0BoXvEDZUXJzl+SpCVP3kqqhR3bLTZyfUWeb3JsP5dlO81q/oXVb7UfTVywX1qS8lE0wkAc49j6pRxEyAcLd8hbRgnk1QpNViVFwBmQlyg7h7nm0ogWKFAHkeZ88k83LuUcKx8wao42lRY6h1XbB8pOWMPjrO1hfspQZBbg5Qr3d1eJS5cZd7L/2HmER5lJXjMEvIP54C2ma8g5Y4jIphShHjG+98pL7LC1kE/s5rsCS6/Z5Jkn5JEwKPK/rDKxgFZu7TvpkrvZSUWyJ6IdlbCaNJ5Ddp0LiXJlvn5ZWF70yWoI80mCL5CsgejnypROe+/vw4722sjg/S9WvFomJZxy8V/dfaMspZ3xeF0Wm/lgPp5aJchtAUNAdgne3MK0CQ9W1/ckiWWXEONpyNrIrx2qeLZidv5/1bNO89DWFLQECwSeHcn26FqqnmAuC2j5cVHy6fxDb0LWI85RTsyiBhnB33bzOlMA/EBCAYsoCVbbbQvLWwpvWX5xoxm+OrWKDIPoIVBhy8RtOBGNoT8FBH0Qu230X7qdTRSBK6sIH4OoL/siZ4HqBX4+vIQitwpBgjkxTPHQLFisptsU+KW+E8R7OafjQFa5gFAqKLGKGv3/WdbOYZ6shM8tGLfZhInOu7jaO7bs/pzvYZGmLwNdZsTlJhA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR04MB9417.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(1076003)(66946007)(5660300002)(26005)(2616005)(186003)(8936002)(38350700002)(38100700002)(66556008)(66476007)(83380400001)(4326008)(86362001)(8676002)(2906002)(52116002)(6916009)(508600001)(316002)(6486002)(6512007)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6K7KmrSZAnilOXB1Ib0+hW9YRAAP93yIZWnf/MvtsfR4Uuu4crwjpPMflpyu?= =?us-ascii?Q?FAWsfgzpV/YaCw2Rmby/Gp0LORj/GJh4CizLmtQwvq/0x/1C0QOrUpZ8ns6s?= =?us-ascii?Q?jCPfI+hXvQLe03VeYbLBC4nk9AgT+OLEU6Zdk+2cm3gMamXoplh3aKoyGHix?= =?us-ascii?Q?7tDaSmD+m0uE2vPRg3HjCngtTyDwMQaurDQIRfGKGmUOlrVtXrAXIayHU1Hr?= =?us-ascii?Q?YXI+ZGxFFWl/0RS1pjCJ+OWPAEB+U0IHe00Pf8O7Duq/PIM9YTc6HX5+IDTM?= =?us-ascii?Q?iZb0R5/qAyiTBQyZjRHy5OMfKIMsAVstEL7pnyUve4hJsyYXGh+U1ZCCbuwL?= =?us-ascii?Q?xVug+s4FQDqnC6o3XAXPtsBaqDyphVhUnZ4zFaFaKCXyKZxo+hH93aTHM8+L?= =?us-ascii?Q?eFoTHRxyF34mI9IpzZxHHvFNv8IIbOd9kOWVRmRi+2fpfxHydH9LDiuMLeIc?= =?us-ascii?Q?hRE/p6b23Uxcj10yqTYC1FfubotgLDD1chn55BYnSSZoR4eYeWQJLtHITeDR?= =?us-ascii?Q?goQ7PrHeCUWYbKCN+dRWmn1sT6Mwpp+vUHaccd0yDLte8U8X+ctXtRBGZ+qe?= =?us-ascii?Q?caImAXv7Q69RYzoGW1aTWoDbOrZlj+90O4p5VgwyW496UqInN6audCp09v9+?= =?us-ascii?Q?lsOG6MV+fcfbjdLXh6tuUqV3AzJz3UEEFAo1JX4silPV7+jyOM6RrNqvi1Cp?= =?us-ascii?Q?hDHGLmxulI/LI2NedWico657u7rVHctw94kDW1y5SU7P4q6YzK8hwFl+gJgI?= =?us-ascii?Q?DWeo+9AheXzWzXwTFKaTX3nVmpwjGV3rp0isMXIKgEaVJz39NhCmHfBFGUjP?= =?us-ascii?Q?pH6m5HOM54wcpxSf30laZvpp3NXuvmAAexUJv63hf8nLcfFWHcI4c4WNUQG6?= =?us-ascii?Q?J1uKcjBxiVFBC+hWEh/YMBXcm7qjNPSGlI135k3yapg0KlEQOTul58mEMkG5?= =?us-ascii?Q?hddjAR5fE3bcNZLnvUhi2nK/nWqrfF3NIjo171cDT5kXpA+r00M5moGvW93C?= =?us-ascii?Q?kxuAnu2l/stbKVA4m9grREqUsOtX5d3GybmqMIwkbcK4Ea1UnVdXb+APNPgq?= =?us-ascii?Q?eJ14kd6jc77zjZ+IR7OTPzgveCgJh9ZBXM8VEAMhthbB8PhC/kJeewmfYyYD?= =?us-ascii?Q?LSU+2f6OuLHgWRIOl+z/IQWmnDgJAJgjfQmQ55ghiQWcURYGTmGtCHfKd4v1?= =?us-ascii?Q?zYy1EXXzJwqF600lGj65E5gAo7/Ds35s+yw8BnocyCVrcINDbhtR/6sLlR5X?= =?us-ascii?Q?EeZKvmW21rkl3zXdO6/ImXtVA24wLnPA2QlQ71mbEWr93I0y5d1ToFEVEEuS?= =?us-ascii?Q?phy3sNcICqagLHIbyXL7s9D4gBVT3kzq7e8r9i335epzUxN+C6MW+BD7HVKr?= =?us-ascii?Q?fKiCUQJb562hwt55rHYUq+e3bP/EtXVPN57JXC8E36j1b+OXWP5seaa8Qr/M?= =?us-ascii?Q?sx07JZ6Tg6iLaYiPYgh6JVkjoVtmLeXCMy9PGd37E8F2uYmRNzumYLPqXMUp?= =?us-ascii?Q?gWP6U3LVGiAn0xkOyyaqz2FYryYcGysTmGT+NeTwZcXU43iSR5vEcRy1nH8N?= =?us-ascii?Q?e8NNl5ypiPX1o72eJjJHxD4myCjPXMSubUMvtb/ftB8zLE0ovJcrq7tBfCXk?= =?us-ascii?Q?Rc8+p7WCali8f/eAUGrQN3VaRGZ3HYZljRUZzS468G4jzVQ2/26VaKNRfBFa?= =?us-ascii?Q?CC30dP7vQ+CrS2QEuALCDzbt3+wFeOwE9/bsx1B6fMHqUFRVn5xhx23pQVaQ?= =?us-ascii?Q?+WIx/BoG+g=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89af76f3-6183-416c-1823-08da179155e8 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2022 05:50:20.7191 (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: Wb4U5azGsiWYngp9l2vQgZY9d9eoF8AQDovxIRM/ngfl8L/C+IY2Cij9Fqc+9IKj0PKg6Lk5/r30mrel1hWGOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9423 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.5 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Dynamic setting mmcdev and mmcroot. Then when boot linux, we can have correct "root=/dev/mmcblk[x]p2" Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/sys_proto.h | 2 + board/freescale/common/Makefile | 3 ++ board/freescale/common/mmc.c | 49 +++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 board/freescale/common/mmc.c diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index 0c0c7814fb2..37fd427cc00 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -228,6 +228,8 @@ int mxs_reset_block(struct mxs_register_32 *reg); int mxs_wait_mask_set(struct mxs_register_32 *reg, u32 mask, u32 timeout); int mxs_wait_mask_clr(struct mxs_register_32 *reg, u32 mask, u32 timeout); +void board_late_mmc_env_init(void); + unsigned long call_imx_sip(unsigned long id, unsigned long reg0, unsigned long reg1, unsigned long reg2, unsigned long reg3); diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile index f13965daf2e..4df484935f4 100644 --- a/board/freescale/common/Makefile +++ b/board/freescale/common/Makefile @@ -63,6 +63,9 @@ obj-$(CONFIG_ZM7300) += zm7300.o obj-$(CONFIG_POWER_PFUZE100) += pfuze.o obj-$(CONFIG_DM_PMIC_PFUZE100) += pfuze.o obj-$(CONFIG_POWER_MC34VR500) += mc34vr500.o +ifneq (,$(filter $(SOC), imx8ulp)) +obj-y += mmc.o +endif obj-$(CONFIG_LS102XA_STREAM_ID) += ls102xa_stream_id.o diff --git a/board/freescale/common/mmc.c b/board/freescale/common/mmc.c new file mode 100644 index 00000000000..8cd5079f962 --- /dev/null +++ b/board/freescale/common/mmc.c @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2016 Freescale Semiconductor, Inc. + * Copyright 2018-2022 NXP + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +static int check_mmc_autodetect(void) +{ + char *autodetect_str = env_get("mmcautodetect"); + + if (autodetect_str && !strcmp(autodetect_str, "yes")) + return 1; + + return 0; +} + +/* This should be defined for each board */ +__weak int mmc_map_to_kernel_blk(int dev_no) +{ + return dev_no; +} + +void board_late_mmc_env_init(void) +{ + char cmd[32]; + char mmcblk[32]; + u32 dev_no = mmc_get_env_dev(); + + if (!check_mmc_autodetect()) + return; + + env_set_ulong("mmcdev", dev_no); + + /* Set mmcblk env */ + sprintf(mmcblk, "/dev/mmcblk%dp2 rootwait rw", mmc_map_to_kernel_blk(dev_no)); + env_set("mmcroot", mmcblk); + + sprintf(cmd, "mmc dev %d", dev_no); + run_command(cmd, 0); +} -- 2.35.1