From patchwork Fri Jan 17 13:02:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1224803 X-Patchwork-Delegate: promsoft@gmail.com 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=fail (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.a=rsa-sha256 header.s=mail20170921 header.b=g4g8jqC8; 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 47zh7c0CZ9z9sRQ for ; Sat, 18 Jan 2020 00:03:06 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9DF4E81A8D; Fri, 17 Jan 2020 14:03:03 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="g4g8jqC8"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AA69B81A8E; Fri, 17 Jan 2020 14:03:01 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DDC0981A8C for ; Fri, 17 Jan 2020 14:02:55 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=m.szyprowski@samsung.com Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200117130254euoutp02c5987e44fb392c43086f3d5fcafa007e~qrjfVa8530202202022euoutp02M for ; Fri, 17 Jan 2020 13:02:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200117130254euoutp02c5987e44fb392c43086f3d5fcafa007e~qrjfVa8530202202022euoutp02M DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1579266174; bh=+7mEw0XzgMLtu0B2r+tgRs2tz1j3wgwLr01tpf8pfRM=; h=From:To:Cc:Subject:Date:References:From; b=g4g8jqC8H/L37u4NgwLGNk8a/INFACWQ+XTRzkCtw7mLONLIQePkDaaDYJ/pV8F9z lToAwN2uWZuTGBi72Z6OPbnq7v5g6E9sVh0tD1IXUy1p/7Aqgxkx8fWabPgHm+3Mxq 6x42+WhUe7jt74JJR6T7cpZO49WU/cLYwWO4A0k4= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200117130253eucas1p11fdd55251b13250edd7753bc327461af~qrjfCfPt12043320433eucas1p1B; Fri, 17 Jan 2020 13:02:53 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 49.63.60679.D70B12E5; Fri, 17 Jan 2020 13:02:53 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200117130253eucas1p29b33f449b7be430ef0adcfdd47f2b130~qrjetVAo90926809268eucas1p2E; Fri, 17 Jan 2020 13:02:53 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200117130253eusmtrp202036a39e5a6bc0dbd579f9a717cec83~qrjesr5Tb3003330033eusmtrp2c; Fri, 17 Jan 2020 13:02:53 +0000 (GMT) X-AuditID: cbfec7f4-0e5ff7000001ed07-24-5e21b07dfcea Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id BF.7C.08375.D70B12E5; Fri, 17 Jan 2020 13:02:53 +0000 (GMT) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200117130253eusmtip17fb788fa4cd5087f58b24fe4ba6f47cf~qrjeRxnhT2964629646eusmtip1w; Fri, 17 Jan 2020 13:02:52 +0000 (GMT) From: Marek Szyprowski To: u-boot@lists.denx.de Subject: [PATCH v2] arm: exynos: Read default MMC device from XOM[7:5] pins Date: Fri, 17 Jan 2020 14:02:44 +0100 Message-Id: <20200117130244.14975-1-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrIIsWRmVeSWpSXmKPExsWy7djPc7q1GxTjDN580re48auN1eL8+Q3s Fus23mK3eP7uMpPF2iN32S06jrQwWrzd28nuwO4xb9YJFo+ds+6ye2xa1cnmcfbODkaPvi2r GANYo7hsUlJzMstSi/TtErgyWv/9Yyy4LlPx+/1X1gbGN+JdjJwcEgImEktaF7GD2EICKxgl XqyV6GLkArK/MEpc2vOTFcL5zCix6/MKJpiODZefQCWWM0p8/rCQBa7l8O9fzCBVbAKGEl1v u9hAbBEBCYlf/VcZQYqYBd4ySkw72cIKkhAW8Ja49P8iI4jNIqAqsWBTJ9ghvAK2EovPQdgS AvISqzccYAZplhC4ziaxf88DZoiEi8SW6+/YIGxhiVfHt0A1yEj83zmfCaKhmVHi4bm17BBO D6PE5aYZjBBV1hJ3zv0C6uYAuklTYv0ufYiwo8SqF41gYQkBPokbbwVBwsxA5qRt05khwrwS HW1CENVqErOOr4Nbe/DCJajTPCQ+dW9ghQRqrMSDdTfYJjDKzULYtYCRcRWjeGppcW56arFR Xmq5XnFibnFpXrpecn7uJkZgQjj97/iXHYy7/iQdYhTgYFTi4S1YphgnxJpYVlyZe4hRgoNZ SYT3bi9QiDclsbIqtSg/vqg0J7X4EKM0B4uSOK/xopexQgLpiSWp2ampBalFMFkmDk6pBsZ5 y/hvcy/cGSm4ZsPz/S+NXnyfHPbV/WyZ/GpbO8/dj9Iva+xaZBhezTFnnt9bPYHevr1HpeRn 31BNFzCpmMJfHpl559/VL+K+S32d4yZPMNf2Of28a+Id+2OGer+VjrOsf3FSU3HhBP7d/2Zt t3kuprxp/jS1ZollV7xLVphIT0pa5VHvtN9WiaU4I9FQi7moOBEAqsL4pgQDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOLMWRmVeSWpSXmKPExsVy+t/xu7q1GxTjDH7skra48auN1eL8+Q3s Fus23mK3eP7uMpPF2iN32S06jrQwWrzd28nuwO4xb9YJFo+ds+6ye2xa1cnmcfbODkaPvi2r GANYo/RsivJLS1IVMvKLS2yVog0tjPQMLS30jEws9QyNzWOtjEyV9O1sUlJzMstSi/TtEvQy Wv/9Yyy4LlPx+/1X1gbGN+JdjJwcEgImEhsuP2HtYuTiEBJYyijx8vw6JoiEjMTJaQ2sELaw xJ9rXWwQRZ8YJWb9ec0OkmATMJToeguS4OQQEZCQ+NV/lRGkiFngI6PEha/zwbqFBbwlLv2/ yAhiswioSizY1AnWzCtgK7H4HIQtISAvsXrDAeYJjDwLGBlWMYqklhbnpucWG+oVJ+YWl+al 6yXn525iBAbitmM/N+9gvLQx+BCjAAejEg9vwTLFOCHWxLLiytxDjBIczEoivHd7gUK8KYmV ValF+fFFpTmpxYcYTYGWT2SWEk3OB0ZJXkm8oamhuYWlobmxubGZhZI4b4fAwRghgfTEktTs 1NSC1CKYPiYOTqkGxpTXXx936ZZsS0y+qP78V+MkWdP0WeZfwvw7rU1tC58oLL13smnt6+qd 34pULjJOX2eVbao7i2WW0/+zD1TmGivf23eh49k7l5KLC61Deb/589eL/53G8uvLDcG+Sfwb n5+WUfCNi2IPSfH5sr8+qFSzMHlfy5Wd4fbHZsQ5qb6U81C3jz7rpMRSnJFoqMVcVJwIAL8b 121aAgAA X-CMS-MailID: 20200117130253eucas1p29b33f449b7be430ef0adcfdd47f2b130 X-Msg-Generator: CA X-RootMTR: 20200117130253eucas1p29b33f449b7be430ef0adcfdd47f2b130 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200117130253eucas1p29b33f449b7be430ef0adcfdd47f2b130 References: X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Krzysztof Kozlowski , Marek Szyprowski Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.101.4 at phobos.denx.de X-Virus-Status: Clean XOM pins provide information for iROM bootloader about the boot device. Those pins are mapped to lower bits of OP_MODE register (0x10000008), which is common for all Exynos SoC variants. Set the default MMC device id to reflect the boot device selected by XOM[7:5] pins (2 for the SD or 0 for the eMMC). Signed-off-by: Marek Szyprowski --- v2: - store mmc boot device to ${mmcbootdev} env - print information about boot mmc device --- arch/arm/mach-exynos/include/mach/cpu.h | 1 + board/samsung/common/board.c | 28 +++++++++++++++++++++++++ configs/odroid-xu3_defconfig | 1 + configs/odroid_defconfig | 1 + 4 files changed, 31 insertions(+) diff --git a/arch/arm/mach-exynos/include/mach/cpu.h b/arch/arm/mach-exynos/include/mach/cpu.h index 766edeeb29..fb5fdaf3ba 100644 --- a/arch/arm/mach-exynos/include/mach/cpu.h +++ b/arch/arm/mach-exynos/include/mach/cpu.h @@ -17,6 +17,7 @@ #define EXYNOS4_GPIO_PART3_BASE 0x03860000 #define EXYNOS4_PRO_ID 0x10000000 +#define EXYNOS4_OP_MODE 0x10000008 #define EXYNOS4_SYSREG_BASE 0x10010000 #define EXYNOS4_POWER_BASE 0x10020000 #define EXYNOS4_SWRESET 0x10020400 diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index ee2fc7971e..cb94ced54e 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -42,6 +44,20 @@ __weak int exynos_power_init(void) return 0; } +/** + * get_boot_mmc_dev() - read boot MMC device id from XOM[7:5] pins. + */ +static int get_boot_mmc_dev(void) +{ + u32 mode = readl(EXYNOS4_OP_MODE) & 0x1C; + + if (mode == 0x04) + return 2; /* MMC2: SD */ + + /* MMC0: eMMC or unknown */ + return 0; +} + #if defined CONFIG_EXYNOS_TMU /* Boot Time Thermal Analysis for SoC temperature threshold breach */ static void boot_temp_check(void) @@ -280,6 +296,8 @@ int board_late_init(void) { struct udevice *dev; int ret; + int mmcbootdev = get_boot_mmc_dev(); + char mmcbootdev_str[16]; stdio_print_current_devices(); ret = uclass_first_device_err(UCLASS_CROS_EC, &dev); @@ -292,6 +310,11 @@ int board_late_init(void) panic("Cannot init cros-ec device"); return -1; } + + printf("Boot device: MMC(%u)\n", mmcbootdev); + sprintf(mmcbootdev_str, "%u", mmcbootdev); + env_set("mmcbootdev", mmcbootdev_str); + return 0; } #endif @@ -359,3 +382,8 @@ int board_usb_cleanup(int index, enum usb_init_type init) #endif return 0; } + +int mmc_get_env_dev(void) +{ + return get_boot_mmc_dev(); +} diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig index 20038d4197..2e982e1b53 100644 --- a/configs/odroid-xu3_defconfig +++ b/configs/odroid-xu3_defconfig @@ -14,6 +14,7 @@ CONFIG_FIT_BEST_MATCH=y CONFIG_SILENT_CONSOLE=y CONFIG_CONSOLE_MUX=y CONFIG_MISC_INIT_R=y +CONFIG_BOARD_LATE_INIT=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_BOARD_TYPES=y diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig index be914e4caf..e4392e477e 100644 --- a/configs/odroid_defconfig +++ b/configs/odroid_defconfig @@ -17,6 +17,7 @@ CONFIG_BOOTARGS="Please use defined boot" CONFIG_SYS_CONSOLE_IS_IN_ENV=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_MISC_INIT_R=y +CONFIG_BOARD_LATE_INIT=y CONFIG_BOARD_TYPES=y CONFIG_SYS_PROMPT="Odroid # " # CONFIG_CMD_XIMG is not set