From patchwork Wed Apr 29 08:31:20 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: 1279095 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=Yfu8z5AU; 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 49BsJX2bSYz9sSl for ; Wed, 29 Apr 2020 18:34:52 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 4EA4D88370; Wed, 29 Apr 2020 08:34:49 +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 mPh73XQqd4dX; Wed, 29 Apr 2020 08:34:47 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id C34008835E; Wed, 29 Apr 2020 08:34:47 +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 0FC621BF35B for ; Wed, 29 Apr 2020 08:34:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 01DC420406 for ; Wed, 29 Apr 2020 08:34:47 +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 bhDutiM7Evc7 for ; Wed, 29 Apr 2020 08:34:44 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60083.outbound.protection.outlook.com [40.107.6.83]) by silver.osuosl.org (Postfix) with ESMTPS id 89B0E203AE for ; Wed, 29 Apr 2020 08:34:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iiVFH4CdJSRLWnQ+lFGNcj+SKaO4LYko/t5G7gBoqTavCsTArEmvqRQZRwug0RGQjb39TtQ83jhsH3d6LUbY5NhhsM1xEIA1O3JbWRpw6zDAe/zNYh1bIuGdtd3TtalfVUKnZQzX32tNgh1oxu6bKHUBE1TpwO8musLIa8kFmrmNeZIhF6tMYqiOw3hEy/RtLyluMTpvLuVFH3750jdbDDe1Hf/P+yLLkPmaAYwJ6OYnUX2lgYt4r/DejOB8ASilzvxsSoZPWv2TpATv3zHep9FMnvDq6Q0Spv27+BtnU49H7kkhkTG/C8/RbYMxMzqyxNy8rcMGcyIl4ytHsIQQcg== 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=Txg0SA6q/2NE9kvJVffbzScA3ACPkkpm6Y+dldOOkIHR7XET+BfIewxUJmUIOK6jo13TRKABUONwk4SBDsDsxqwXX/H1TCKEUscYvAqHXsbbNf27YQHZnsZzcTiRS1z8z+Jk0PadGx/N0NyETmPiNbtceGWG+cSisFmG2N5YJuWEjkQIQHxyqamcBwMpBDEwV3kVPfBzCnDct0wi6yP6d+qtENeGOeA9e3k1sM3LfzO8GU3DkGtnUda09LSDYTKvMCKqbHsOilutfZUqwzrTzHutwnu0hYWGRZxSvYEdXFYXl9VMyJd4Q/FeZBuSse9joxyENsg10Sx2ypqxZtWX7g== 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=Yfu8z5AUu0PsgTPmt5+qil8FFWnEnP4p8G9Yu0GDwpst/EboG6Cl7sgphXEAWpxrze5EmmDIsUTeYbsddFugp1ynoQqXxTe0bwCAACUJ2VZssJFhQTx4EXcaxiTZV0eD12TN0sMeJVeKSS7wCuJHB9gIItCvJokpuwiBCgpQkps= 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 AM0PR04MB4721.eurprd04.prod.outlook.com (2603:10a6:208:c1::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 08:34:41 +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 08:34:41 +0000 From: Stephane Viau To: buildroot@buildroot.org Date: Wed, 29 Apr 2020 10:31:20 +0200 Message-Id: <1588149083-8229-3-git-send-email-stephane.viau@oss.nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1588149083-8229-1-git-send-email-stephane.viau@oss.nxp.com> References: <1588059233-11467-1-git-send-email-stephane.viau@oss.nxp.com> <1588149083-8229-1-git-send-email-stephane.viau@oss.nxp.com> X-ClientProxiedBy: SG2PR02CA0083.apcprd02.prod.outlook.com (2603:1096:4:90::23) 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 SG2PR02CA0083.apcprd02.prod.outlook.com (2603:1096:4:90::23) 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 08:34:37 +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: 0e3465e7-b594-4e75-78c6-08d7ec182919 X-MS-TrafficTypeDiagnostic: AM0PR04MB4721:|AM0PR04MB4721: 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)(396003)(39860400002)(376002)(346002)(136003)(366004)(8676002)(52116002)(26005)(86362001)(6506007)(8936002)(5660300002)(6486002)(478600001)(66476007)(66556008)(6916009)(66946007)(6512007)(16526019)(956004)(2906002)(69590400007)(44832011)(2616005)(6666004)(54906003)(316002)(4326008)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AmmKAypnynWHEM8FhY9wE8TYNMpQG+Vy2vJBlMbcLG9VraMhHPq+N9w7wOU/rMWKbIl289Uj6ap5vVtSuGu8W89paucRUWPZ9edA9fzbQe0E9/wbtdHcYlwSFf1iGXdaRsPX6cQKDS5l96o6EKyap5Tsc9EKVaHy6vgFveXiPeBAMr+T7idA6g9BJ5AVH/d1GJkx2mqBsje+T7+M+wZ32HIcuqbLgtxrFDvVLwX7orpxQix1FCjQdcPAS9dvBIvzYip/8mo8pKdLxLSu5dbowakwOmhS1hccsgVV/k5+MzxRRaWc104R/3AccNG40/8SqDSgl+Ec993Aw4uiaKCcEo9UUCU9pFCTsI5VHXY55wC24wqxkjG80/Ju5NpoMA8PBUEudtALGMGVX6iMv0+BKx9+qdue7OK7xWp9gRjyGtCOS8Za1TbSoZoVsxKgtAYnXTjh9LP3KIksKiZP8Mt28wopR6qwiyPFVCxmUmwbrzg54Zdpmf2CVvYrJ9/omDD8 X-MS-Exchange-AntiSpam-MessageData: AbK4gCEliphKqbd6HuED7wA/V0STaEYrrfNQhr88Yb926UItJ/r2rAL/eds924Ej7zZdpxumr7mGpO6qAfedGCZz7DrEMX269YnOkRW6FkgcI2xlAFVaSToRHgD09aZ0basb3AclPnB07qyjxPBVCu+9Eb9UeIdRRWZQyVLs0dAyCWFVsGlhqrDrZonTj4iqgNanmvszmXj+CgG5P/7NGLJEs8xI3MPOaKC1f7HDoBU7R0nGMUSfqa/3zcxw3UPDXONGAmMRX+AvPdBjXVmiZjk4hWcpluek72vDGX6mQLRaCYDjJ+FBbl6xCuJ8TeqlYk7VuCjPzrz7h7+nEVhvSbVyIZvnPD3OxMT2FhhWHeu5kL4CcmmW5tmndmt+F5NTfUhOdIXxvwEuucsUTIj4diEMsR5Pd90xjxhrPFsQTSv0ZF4WeejrpF9jo5fJEQR+zteBWcgIIDbtMOvq4GPj97/mv0gCMK8uAdAhHXmQxGWThN2AFNPAdxSV6KtJLEcUlZ2q/W9PFuRIeIUYdUoq1RBzlzT/QZnAlVcxdlgelq8/iakG76rFX1grnbZbW07hMkNySiaWJUZV7KDyMwKf365vYddyc0WmbirHsr+he9vn8qLU1s09p7IUdtkmQ5J7i0kZoaBmTKwrMedtRSBq3pi2AXlRltiJkwbsKckrEJtL9ciTkAYUBAVbbAnUwG/Yh578tuRLok6zLYsj8pREyVk3ttq7wLIoklt0Lh43VJqGs5Ku291GTIU9ch1AZJsEdw6X07tRqjsAojElt+1z8UEkbxStVkxTkMb6PfKmnFw= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e3465e7-b594-4e75-78c6-08d7ec182919 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2020 08:34:41.2697 (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: 5WxsEptlslGGOsSzpVxokkS0R0QTkjrJTwczg/4k5GdanznpaK8oEnSHj7IC4lSWpLvCLbfxpmMy9PNsVAAxWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4721 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 \