From patchwork Wed Apr 29 09:12:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Stephane Viau (OSS)" X-Patchwork-Id: 1279112 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-NXP1-onmicrosoft-com header.b=IvFUxnwJ; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49BtCs2S5yz9sPF for ; Wed, 29 Apr 2020 19:15:53 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E8A7888249; Wed, 29 Apr 2020 09:15:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cbIZD9FFd1WN; Wed, 29 Apr 2020 09:15:49 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id A583F87D94; Wed, 29 Apr 2020 09:15:49 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id ED8661BF309 for ; Wed, 29 Apr 2020 09:15:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id E431222E89 for ; Wed, 29 Apr 2020 09:15:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sldBFBRR+GFp for ; Wed, 29 Apr 2020 09:15:47 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80057.outbound.protection.outlook.com [40.107.8.57]) by silver.osuosl.org (Postfix) with ESMTPS id 8FA7322E3F for ; Wed, 29 Apr 2020 09:15:46 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KQMdl70K+8MNNf1dsA9T+/SYtOaEg5ty9mxIc2sapKzjtKS13mQxMAv/jC8PRVYA2zeAe/Tyihf4okctcj82Le2O9sSXUGB1e4FlpI7wCZaG/KvxbHeJLTFBRIuP5Xd6+jLBtMiBT/XMSUEkzfIO8vY7a1sz6gYkLtKgWBY8Uh9XiffS8siM1ZL9WJgVTyGE+QEz0cUiXgm3Tk3uYUX3I5GJP0ixndPZt9c9VZM4WJvhn9WD/LQcX6aoUGs8sXUd/0ThVU1KvqJclQyLBUMEQiCqmQQdSaXWOpi1ytdEB+Myq+7uEmkJ6zCHRvnbxfw90QXvxemInRBRvZ64ixK6ZQ== 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=rzN8wsxVmTzeNySy6/TMUY0pl0UqdDSVQ0EWwo+s6xg=; b=Cq+QfN3wdCxzF4cX0Dbmuq8mVqA2zNPLXJaQ1fl8OxO70P10Jb/YvhDe79pCeEvot1YdFE6CznsgPU6jBHYWsD5MqgxxohLMQdBRMYAQsIaqCo5cW+5mwUDyKYl/KNmGe44AcwX2sHZuB3BqeRqJvh3Fn6Krd99DCzuRcBIUpqZjR2r6IWjNAdD7tDfD97/3aI5sRQ3BI7YSXjLlGl8Zut/g3qccIdKWtrDpYoOeOzL+XO6ebK1hzK2j2QwmwOWr4YrivoYC4yDdAQfinZGUPscky4oMXTVL8tBR4DwYNMVykR/OmvMIIKTduQAMNS3NhZ2AIR63kwO/V4iF8dsR+A== 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=rzN8wsxVmTzeNySy6/TMUY0pl0UqdDSVQ0EWwo+s6xg=; b=IvFUxnwJN1hhCKOkfpkfpbZfQfk1vqjjbBFTOgG9mOF8gAGfptxcDYtFPHe3OKj9rEwUxAkl32ob//foNTaYW+l3qEJ4BBHRiMNUt/oWNTFwh/NxK6ch8zRnRJAMKSHNLCn6F4z5yNBGoBq7w5hd+NHKDbzCFphadmazx3B7JZk= Authentication-Results: buildroot.org; dkim=none (message not signed) header.d=none;buildroot.org; dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB4786.eurprd04.prod.outlook.com (2603:10a6:208:cf::25) by AM0PR04MB6497.eurprd04.prod.outlook.com (2603:10a6:208:16c::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Wed, 29 Apr 2020 09:15:43 +0000 Received: from AM0PR04MB4786.eurprd04.prod.outlook.com ([fe80::715c:fa5c:5b68:5e2c]) by AM0PR04MB4786.eurprd04.prod.outlook.com ([fe80::715c:fa5c:5b68:5e2c%4]) with mapi id 15.20.2937.023; Wed, 29 Apr 2020 09:15:43 +0000 From: Stephane Viau To: buildroot@buildroot.org Date: Wed, 29 Apr 2020 11:12:22 +0200 Message-Id: <1588151545-9346-3-git-send-email-stephane.viau@oss.nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1588151545-9346-1-git-send-email-stephane.viau@oss.nxp.com> References: <1588151545-9346-1-git-send-email-stephane.viau@oss.nxp.com> X-ClientProxiedBy: SGBP274CA0003.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::15) To AM0PR04MB4786.eurprd04.prod.outlook.com (2603:10a6:208:cf::25) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (81.1.10.98) by SGBP274CA0003.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2958.19 via Frontend Transport; Wed, 29 Apr 2020 09:15:39 +0000 X-Mailer: git-send-email 2.7.4 X-Originating-IP: [81.1.10.98] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ec9cc01e-2486-494d-7d56-08d7ec1de4c4 X-MS-TrafficTypeDiagnostic: AM0PR04MB6497:|AM0PR04MB6497: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-Forefront-PRVS: 03883BD916 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR04MB4786.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(39860400002)(396003)(376002)(346002)(366004)(44832011)(5660300002)(2616005)(2906002)(956004)(54906003)(316002)(69590400007)(86362001)(52116002)(26005)(8676002)(186003)(6512007)(8936002)(66476007)(6666004)(66946007)(478600001)(4326008)(16526019)(6916009)(6506007)(66556008)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E+jNNJH/4wvjau2Xi+LRQjdeRS5LyvDwKUdzSICyp+1UYY/TMUsnlTcSrR1422OciZwuH5gSamsQocr2A5oaj5hgt/Ewui4T1rnmRrV/1LNfMJ1HM+NQt7ixrT2ngk5rtmz/+PC4y/uabIQRTpK2/PchQK/XUz2q9bFDwPGMBU20aK1B+W2DcBQIc12FJ+8kJ+H813KELuwZggBEfsEQ9BDkCi6q8TpyimgBpDVihlLyhnWdeoVJFm9Ws/XmvkdCVm+Nl9Wc1SfakboXHfCud6ya2W23F0o4P+wtwNcWyqZCmx+Shcti51ZdqVlp7a5Ml+g+pAMddqyEWdrg0dFMRt0f/p7yCjfO8+8LX62n4jMEhUm8Z6H86AJL5CuAQSxxWb7z7TEJIWKQXqbcWLtJB8OWvMJFDlVcXTofZr5vmnU6yPEgNK25mxGCxFNrBVJk+H93qpxdEzTUyVhyQ2IGuYEtcbhLQLNVRg/eGXks94Vvejlj02U8zMmnrNcD8WF0 X-MS-Exchange-AntiSpam-MessageData: l9trkRe5DXKck7LrWFqWiXUNfgQlH4zcMDNPuccMzOvm6Ja3rc646yx2PFavI4N2gQZSLEcChnRhqsZfrZlKTJ/2mSdHVMunLoUJIa42idQ0IgQdazhGaeX7M9AJDYM1uQ6T7ZgTPsC+k1h32HSI7+HwDS7dUDfPIXE8ZX1rrGa9t9Ph+q1pF03IDGoplST45l5VePTtcVE1hvfPfTSRe8SN9RFHC2vZypLzl/0esXHCIpZMCxZRDdSlEcoXLrhzETxpf+gl7o6BjW0gDZqOXE3CHQ8Z3vlfC2gCArqli5s6NaUD/3Y2l0oqHjlr2Jsc5LnmTPTYkOnJVTExCb1fBCYAWhlgvNi3meK6eqZCVd0KfHNPzlyxLL1mW29uWFrnM6Ik+PsdCzEw/v5JaGV8H121NveXLPuuzox3/adpbRAkgmbCghq0O+HQ4JMK+3ZElrel6PfpkKoioktRxzXjd8892vlLUUqPg8P9opvdvgKdwg+OB0+rU4q6CuCIbtCx1lH01qCviY0qb1AHf+W+VVoO46c8y/h7gR1DSzsOWY9KVGnjsyOhky4jHFyH1AWeI4E+bHhsmizm4atIRyIhX62MNaLxE/nFnsUm6+GBgffbNYwf9SumabUU9Tr0/wvETH3pcXGFWAFXmkqB/47axuuf9aQD2MOlhO1s+P00EEW3DrDGGxf40ifioL1q3YGu4S3sTmeYeJhoL5koRn8QDow3S+/tobhTqoJLIaTTKPStwFQBQ7/6RWmtvwmT1IfeGAQnzfv6P2T2a6BECfAq3GwiJTbVf778WKn0j6Xeprk= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec9cc01e-2486-494d-7d56-08d7ec1de4c4 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2020 09:15:43.5841 (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: tDQ7z3xx2BsLBn4YLWOxlTcamUanf579jK9T1Li9rsM8vAnu5lutxd3bfQNrlhxDeySF3T16MenM1OFCFt4+jg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6497 Subject: [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gary Bisson , Maeva Manuel , Gilles Talis , Refik Tuzakli , Julien Olivain , Stephane Viau , Fabio Estevam Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Several i.MX8 (e.g.: 8M, 8MM, 8MN) support many DDR types (LPDDR4, DDR4, etc.), for which the DDR training is performed in the bootloader. Some boards have LPDDR4 (e.g.: nitrogen8mn) and some others have the DDR4 (e.g.: NXP's reference board EVK). This patch allows the selection of either of the binaries used to train the DDR. Signed-off-by: Stephane Viau Reviewed-by: Maeva Manuel Reviewed-by: Julien Olivain --- v2: - use BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW to extend the DDR firmware selection for 8M, 8MM and 8MN (suggested by Gary) Signed-off-by: Stephane Viau --- package/freescale-imx/firmware-imx/Config.in | 24 ++++++++++++++++++ package/freescale-imx/firmware-imx/firmware-imx.mk | 29 +++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in index 56d5b80..4962992 100644 --- a/package/freescale-imx/firmware-imx/Config.in +++ b/package/freescale-imx/firmware-imx/Config.in @@ -8,3 +8,27 @@ config BR2_PACKAGE_FIRMWARE_IMX This library is provided by Freescale as-is and doesn't have an upstream. + +if BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW + +choice + bool "DDR training binaries" + default BR2_PACKAGE_FIRMWARE_DDRFW_LPDDR4 + help + Choose the DDR training binaries to be used depending on the + kind of memory that is available on the target board (DDR4, + LPDDR4, etc...). + +config BR2_PACKAGE_FIRMWARE_DDRFW_LPDDR4 + bool "lpddr4" + help + Use LPDDR4 binaries (i.e.: lpddr4_pmu_train_*.bin) + +config BR2_PACKAGE_FIRMWARE_DDRFW_DDR4 + bool "DDR4" + help + Use DDR4 binaries (i.e.: ddr4_*_201810.bin). + +endchoice # DDR training FW + +endif diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index cd0dafb..fc2f69a 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -18,7 +18,7 @@ define FIRMWARE_IMX_EXTRACT_CMDS $(call FREESCALE_IMX_EXTRACT_HELPER,$(FIRMWARE_IMX_DL_DIR)/$(FIRMWARE_IMX_SOURCE)) endef -ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN),y) +ifeq ($(BR2_PACKAGE_FIRMWARE_DDRFW_LPDDR4),y) FIRMWARE_IMX_INSTALL_IMAGES = YES FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys define FIRMWARE_IMX_PREPARE_LPDDR4_FW @@ -42,9 +42,36 @@ define FIRMWARE_IMX_INSTALL_IMAGES_CMDS cat $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_1d_fw.bin \ $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_2d_fw.bin > \ $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin + ln -sf $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin $(BINARIES_DIR)/ddr_fw.bin cp $(@D)/firmware/hdmi/cadence/signed_hdmi_imx8m.bin \ $(BINARIES_DIR)/signed_hdmi_imx8m.bin endef +else ifeq ($(BR2_PACKAGE_FIRMWARE_DDRFW_DDR4),y) +FIRMWARE_IMX_INSTALL_IMAGES = YES +FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys +define FIRMWARE_IMX_PREPARE_DDR4_FW + $(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_imem_$(1)_201810.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_imem_$(1)_201810_pad.bin + $(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_dmem_$(1)_201810.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_dmem_$(1)_201810_pad.bin + cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_imem_$(1)_201810_pad.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_dmem_$(1)_201810_pad.bin > \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_$(1)_201810_fw.bin +endef + +define FIRMWARE_IMX_INSTALL_IMAGES_CMDS + # Create padded versions of ddr4_* and generate ddr4_fw.bin. + # ddr4_fw.bin is needed when generating imx8-boot-sd.bin + # which is done in post-image script. + $(call FIRMWARE_IMX_PREPARE_DDR4_FW,1d) + $(call FIRMWARE_IMX_PREPARE_DDR4_FW,2d) + cat $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_1d_201810_fw.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/ddr4_2d_201810_fw.bin > \ + $(BINARIES_DIR)/ddr4_201810_fw.bin + ln -sf $(BINARIES_DIR)/ddr4_201810_fw.bin $(BINARIES_DIR)/ddr_fw.bin +endef else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y) define FIRMWARE_IMX_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0644 $(@D)/firmware/vpu/vpu_fw_imx8_dec.bin \