From patchwork Tue Mar 13 15:48:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 131491 Delivered-To: patch@linaro.org Received: by 10.46.84.17 with SMTP id i17csp900734ljb; Tue, 13 Mar 2018 08:50:56 -0700 (PDT) X-Google-Smtp-Source: AG47ELuNayz+kcUJOHe4DJMwMSMe4wqRVGlHPJsnXIAh2fAL+yvmsmQ3pvjlU+DWQJa2tataLK07 X-Received: by 10.80.145.25 with SMTP id e25mr1433163eda.12.1520956256492; Tue, 13 Mar 2018 08:50:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520956256; cv=none; d=google.com; s=arc-20160816; b=amEf4GD/wnVAF96ybqV+ZVIwLSkuBY2S5Bstdt6FPkAHAnbErnE2txwcq/WPoX4fDS gSBTd82w6Y46MlSapOWflqts74wBZBcKHRvM5ZbABAyWML/36E/7ZA84aTBpyNYwEq9j InDYZC8FNPC52ZrYTmnh9emChocjo5DwqHVV5mKrCC/VHjw3xHCvnJsuh1vb/E0G6Ojl +KtACzMC7vQApr4kC0tqMn2r/W9bUzqWFdLKMRjnvPyeuG9gTmvE4aP7H8HiY/hDEnd/ OOHB/4G0XmBVcQIA65I+pahsmZy+Wva1XSjA276e6VEdjkofOkraDKyPknktjG1lsC0T mSGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:references:in-reply-to:message-id :date:to:from:dkim-signature:arc-authentication-results; bh=d/ScQsFYp385loRm1sgWfIOHItqZCTFmZVPTjKbPFWk=; b=Bp6Rk+Nb6kA68wOWJJI2vd6DSl9w5NpWbRDLbxsDU/+mvZMMDiK0AQrl+LVWeBxosq jREfgU/XrckVHa9/zcyn/Mr1Exd117zzDsnDtgQO7MTy30+0k/lXUDuSTJZ4ZSeX8AD+ ++vJ13s053IAFImGrpL8rD2NgDqdxSlXuemBxzWOxYqJCgvDQb/KEDP0aUO3k0rtPwdO mgjGtOAfYfsy3Q2LBZM03EIBp8qAw0ycoUxGpFHX4a1shAUBAyO9ILGVtIBNNgwVYhb8 mWzOIs+OiTdDlk3mGv9v8+iiVqKFGyTt1gzQjZOoPWEMMuwG3LQqnYJ9F+uzUdG1GhoY 6t4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=BOc4UbXy; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id r1si275652edc.483.2018.03.13.08.50.56; Tue, 13 Mar 2018 08:50:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=BOc4UbXy; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.denx.de (Postfix, from userid 105) id 11C94C21D8E; Tue, 13 Mar 2018 15:49:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 04B6DC21DAF; Tue, 13 Mar 2018 15:48:38 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id AF47AC21DC1; Tue, 13 Mar 2018 15:48:28 +0000 (UTC) Received: from mail-wr0-f196.google.com (mail-wr0-f196.google.com [209.85.128.196]) by lists.denx.de (Postfix) with ESMTPS id C4D16C21DFF for ; Tue, 13 Mar 2018 15:48:24 +0000 (UTC) Received: by mail-wr0-f196.google.com with SMTP id z12so195320wrg.4 for ; Tue, 13 Mar 2018 08:48:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=KmPngDoH2lGRLfsGFUxdpfkGT0tNQYOIVJsammr/hpc=; b=BOc4UbXyex9BSwHMJJTlsdQg88gDdoi6J7RNyivy1dLNXyX0Q8bIcuQaOaGD5fRtKQ TmGeSYRQ91Q2wD3ud/0peEdTps1EXVUgJpOH/WG3pg9FDTggivWBo6VakvvOEuzTpuhN fWDE7AsxJDXgSOKTV3xQ/cqpkgOZymmYQXIy4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KmPngDoH2lGRLfsGFUxdpfkGT0tNQYOIVJsammr/hpc=; b=mULecT/P66WJhvIjQZRZcV6iRxU2YiAC8SjD3nEWKRv/jP+xTEFvof2le8Wpsn4mu/ yfkdKEYKQOglOZUW10IeoFkRn+9DKNArhegDdUFw0gn/NnT0iDeXvVTh25e8haPsL5Rl apS92wKZ94pUTaN7kX5KwAFEu+OF4h2xkZMPZyq+/dSBV+7ACBAWYGgFVFJzVbBqDrGK ZKFVuywZxwUz+8lRJg5qv+uRwqyyRQUj0Jt23b8CMAJbpW2IGhlgiZXKxUdVlKE0SHwT VuR6Z61ZWotFnNf8T5dXb2vpsQ0ZFSWJls5zXYHFIsVaqKAn4GGFqDfPswY6geh638ZK eKxQ== X-Gm-Message-State: AElRT7FnzWFWosJXVgOv3l9Gkzc98Glv1QxaklOyPAzSYA0QPRHTjyTQ q1JwQahW6M/6paL9aAkmP3WRtLeUdxU= X-Received: by 10.80.170.222 with SMTP id r30mr1344041edc.309.1520956104219; Tue, 13 Mar 2018 08:48:24 -0700 (PDT) Received: from localhost.localdomain ([109.255.42.2]) by smtp.gmail.com with ESMTPSA id 4sm403616edx.8.2018.03.13.08.48.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 13 Mar 2018 08:48:23 -0700 (PDT) From: Bryan O'Donoghue To: U-Boot@lists.denx.de Date: Tue, 13 Mar 2018 15:48:18 +0000 Message-Id: <1520956098-25261-4-git-send-email-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1520956098-25261-1-git-send-email-bryan.odonoghue@linaro.org> References: <1520956098-25261-1-git-send-email-bryan.odonoghue@linaro.org> Cc: fabio.estevam@nxp.com, rui.silva@linaro.org Subject: [U-Boot] [PATCH v2 3/3] warp7: Set u-boot serial# based on OTP value X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" u-boot has a standard "serial#" environment variable that is suitable for storing the iSerial number we will supply via the USB device descriptor. serial# is automatically picked up by the disk subsystem in u-boot - thus providing a handy unique identifier in /dev/disk/by-id as detailed below. Storing the hardware serial identifier in serial# means we can change the serial# if we want before USB enumeration - thus making iSerial automatic via OTP but overridable if necessary. This patch reads the defined OTP fuse and sets environment variable "serial#" to the value read. With this patch in place the USB mass storage device will appear in /dev/disk/by-id with a unique name based on the OTP value. For example /dev/disk/by-id/usb-Linux_UMS_disk_0_WaRP7-0xf42400d3000001d4-0:0 Signed-off-by: Bryan O'Donoghue Cc: Fabio Estevam Cc: Rui Miguel Silva Cc: Ryan Harkin Reviewed-by: Fabio Estevam --- board/warp7/warp7.c | 14 ++++++++++++++ include/configs/warp7.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c index d422d63..327f656 100644 --- a/board/warp7/warp7.c +++ b/board/warp7/warp7.c @@ -23,6 +23,8 @@ #include #include #include "../freescale/common/pfuze.h" +#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -186,6 +188,10 @@ int board_usb_phy_mode(int port) int board_late_init(void) { struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR; +#ifdef CONFIG_SERIAL_TAG + struct tag_serialnr serialnr; + char serial_string[0x20]; +#endif imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads)); @@ -197,5 +203,13 @@ int board_late_init(void) */ clrsetbits_le16(&wdog->wcr, 0, 0x10); +#ifdef CONFIG_SERIAL_TAG + /* Set serial# standard environment variable based on OTP settings */ + get_board_serial(&serialnr); + snprintf(serial_string, sizeof(serial_string), "WaRP7-0x%08x%08x", + serialnr.low, serialnr.high); + env_set("serial#", serial_string); +#endif + return 0; } diff --git a/include/configs/warp7.h b/include/configs/warp7.h index fe96988..0c3b605 100644 --- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -24,6 +24,9 @@ #define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 +/* Switch on SERIAL_TAG */ +#define CONFIG_SERIAL_TAG + #define CONFIG_DFU_ENV_SETTINGS \ "dfu_alt_info=boot raw 0x2 0x400 mmcpart 1\0" \