From patchwork Wed Oct 11 11:09:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?S=C3=A9bastien_Szymanski?= X-Patchwork-Id: 1846589 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4S59JJ2mtdz23jd for ; Wed, 11 Oct 2023 22:18:54 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 42091409F0; Wed, 11 Oct 2023 11:18:51 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 42091409F0 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id um5J1H8tY5PG; Wed, 11 Oct 2023 11:18:50 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 1DE1B40AB9; Wed, 11 Oct 2023 11:18:49 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 1DE1B40AB9 X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 1C3EB1BF84C for ; Wed, 11 Oct 2023 11:18:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id E850C409F0 for ; Wed, 11 Oct 2023 11:18:46 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org E850C409F0 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5_Yf4PSoCn8h for ; Wed, 11 Oct 2023 11:18:45 +0000 (UTC) X-Greylist: delayed 508 seconds by postgrey-1.37 at util1.osuosl.org; Wed, 11 Oct 2023 11:18:44 UTC DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org E6F1940AB9 Received: from 6.mo575.mail-out.ovh.net (6.mo575.mail-out.ovh.net [46.105.63.100]) by smtp4.osuosl.org (Postfix) with ESMTPS id E6F1940AB9 for ; Wed, 11 Oct 2023 11:18:44 +0000 (UTC) Received: from director4.ghost.mail-out.ovh.net (unknown [10.109.143.220]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id 8E2712750B for ; Wed, 11 Oct 2023 11:10:14 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-gj8s2 (unknown [10.110.103.246]) by director4.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 310711FE54; Wed, 11 Oct 2023 11:10:14 +0000 (UTC) Received: from armadeus.com ([37.59.142.99]) by ghost-submission-6684bf9d7b-gj8s2 with ESMTPSA id uCM9CpaCJmUtsQAAOOc7LA (envelope-from ); Wed, 11 Oct 2023 11:10:14 +0000 X-OVh-ClientIp: 92.148.253.243 From: =?utf-8?q?S=C3=A9bastien_Szymanski?= To: buildroot@buildroot.org Date: Wed, 11 Oct 2023 13:09:30 +0200 Message-ID: <20231011110932.4425-3-sebastien.szymanski@armadeus.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231011110932.4425-1-sebastien.szymanski@armadeus.com> References: <20231011110932.4425-1-sebastien.szymanski@armadeus.com> MIME-Version: 1.0 X-Ovh-Tracer-Id: 9409708474861022187 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrheekgdefhecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepuforsggrshhtihgvnhcuufiihihmrghnshhkihcuoehsvggsrghsthhivghnrdhsiiihmhgrnhhskhhisegrrhhmrgguvghushdrtghomheqnecuggftrfgrthhtvghrnheptdehjefhgfdvgfetgeegjedvveelffejgedugeegvdefleelkeetleefhfeukeeknecuffhomhgrihhnpehngihprdgtohhmnecukfhppeduvdejrddtrddtrddupdelvddrudegkedrvdehfedrvdegfedpfeejrdehledrudegvddrleelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeoshgvsggrshhtihgvnhdrshiihihmrghnshhkihesrghrmhgruggvuhhsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopegsuhhilhgurhhoohhtsegsuhhilhgurhhoohhtrdhorhhgpdfovfetjfhoshhtpehmohehjeehpdhmohguvgepshhmthhpohhuth X-Mailman-Original-Authentication-Results: garm.ovh; auth=pass (GARM-99G003b4f40498-583d-4c30-8340-0bcd71b5578d, D325CBA16CF7D2396D5DBDA76F1DA3B90F182274) smtp.auth=sebastien.szymanski@armadeus.com Subject: [Buildroot] [PATCH 2/4] package/freescale-imx: add i.MX91 and i.MX93 SoC support X-BeenThere: buildroot@buildroot.org 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 , Refik Tuzakli , Erik Larsson , Thomas Petazzoni , Fabio Estevam Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" This commit adds i.MX91 and i.MX93 support to Buildroot. https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-9-processors:IMX9-PROCESSORS There is no i.MX95 software provided by NXP at the moment that's why i.MX95 is left behind. Adapt package firmware-imx for the LPPDR4 firwmares binaries. Signed-off-by: Sébastien Szymanski --- package/freescale-imx/Config.in | 8 +++++++ package/freescale-imx/firmware-imx/Config.in | 9 ++++++++ .../firmware-imx/firmware-imx.mk | 23 +++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index fe3f265941a8..192b1c0d70d1 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -61,6 +61,12 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL bool "imx8dxl" +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + bool "imx91" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 + bool "imx93" + endchoice config BR2_PACKAGE_FREESCALE_IMX_PLATFORM @@ -80,6 +86,8 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX8MM" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM default "IMX8MN" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN default "IMX8MP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP + default "IMX91" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + default "IMX93" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in index 087ddef8771b..7be6761253c9 100644 --- a/package/freescale-imx/firmware-imx/Config.in +++ b/package/freescale-imx/firmware-imx/Config.in @@ -55,6 +55,8 @@ config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW @@ -73,11 +75,15 @@ config BR2_PACKAGE_FIRMWARE_IMX_LPDDR4 config BR2_PACKAGE_FIRMWARE_IMX_DDR4 bool "DDR4" + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 help Use DDR4 binaries (i.e.: ddr4_*_201810.bin). config BR2_PACKAGE_FIRMWARE_IMX_DDR3 bool "DDR3" + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 help Use DDR3 binaries (i.e.: ddr3_*_201810.bin). @@ -89,6 +95,9 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION # unconditionally use HW version 201810 when DDR3/DDR4 was # selected default "201810" if BR2_PACKAGE_FIRMWARE_IMX_DDR3 || BR2_PACKAGE_FIRMWARE_IMX_DDR4 + default "202201" if \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 help Use a specific version of the imx ddr binaries. Leaving this field empty will select the default version. diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index 66ef8c3930be..a08e8c4fb097 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -43,11 +43,33 @@ endef FIRMWARE_IMX_DDR_VERSION = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION)) ifneq ($(FIRMWARE_IMX_DDR_VERSION),) FIRMWARE_IMX_DDR_VERSION_SUFFIX = _$(FIRMWARE_IMX_DDR_VERSION) +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93),y) +FIRMWARE_IMX_DDR_VERSION_SUFFIX = _v$(FIRMWARE_IMX_DDR_VERSION) +endif endif ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y) FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93),y) +define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW + # Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin. + # lpddr4_pmu_train_fw.bin is needed when generating imx9-boot-sd.bin + # which is done in post-image script. + $(call FIRMWARE_IMX_PREPARE_DDR_FW, \ + lpddr4_imem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX), + lpddr4_dmem_1d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX), + lpddr4_pmu_train_1d_fw) + $(call FIRMWARE_IMX_PREPARE_DDR_FW, \ + lpddr4_imem_2d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX), + lpddr4_dmem_2d$(FIRMWARE_IMX_DDR_VERSION_SUFFIX), + lpddr4_pmu_train_2d_fw) + 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 +endef +else define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW # Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin. # lpddr4_pmu_train_fw.bin is needed when generating imx8-boot-sd.bin @@ -71,6 +93,7 @@ define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW cp $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4*.bin $(BINARIES_DIR)/ endef endif +endif ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR4),y) FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys