* [Buildroot] [PATCH v2 1/5] package/freescale-imx: Add option for DDR FW need
2020-04-29 9:12 [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Stephane Viau
@ 2020-04-29 9:12 ` Stephane Viau
2020-05-20 7:58 ` Gary Bisson
2020-04-29 9:12 ` [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries Stephane Viau
` (4 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Stephane Viau @ 2020-04-29 9:12 UTC (permalink / raw)
To: buildroot
Only some i.MX8 need a DDR training firmware (8M, 8MM, 8MN). Some other
i.MX8 (QuadMax, QuadXPlus) rely on system controller for that task.
Suggested-by: Julien Olivain <julien.olivain@oss.nxp.com>
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
---
v2:
- introduce BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW to extend the DDR
firmware selection to the whole i.MX 8M family (suggested by Gary)
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
---
package/freescale-imx/Config.in | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index b0c7de8..6b10d2c 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -96,6 +96,13 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
+config BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW
+ bool
+ default y if \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
+
source "package/freescale-imx/imx-alsa-plugins/Config.in"
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 1/5] package/freescale-imx: Add option for DDR FW need
2020-04-29 9:12 ` [Buildroot] [PATCH v2 1/5] package/freescale-imx: Add option for DDR FW need Stephane Viau
@ 2020-05-20 7:58 ` Gary Bisson
2020-05-25 16:17 ` Stephane Viau
0 siblings, 1 reply; 14+ messages in thread
From: Gary Bisson @ 2020-05-20 7:58 UTC (permalink / raw)
To: buildroot
Hi Stephane,
On Wed, Apr 29, 2020 at 11:12:21AM +0200, Stephane Viau wrote:
> Only some i.MX8 need a DDR training firmware (8M, 8MM, 8MN). Some other
> i.MX8 (QuadMax, QuadXPlus) rely on system controller for that task.
>
> Suggested-by: Julien Olivain <julien.olivain@oss.nxp.com>
> Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
> ---
> v2:
> - introduce BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW to extend the DDR
> firmware selection to the whole i.MX 8M family (suggested by Gary)
>
> Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
> ---
> package/freescale-imx/Config.in | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index b0c7de8..6b10d2c 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -96,6 +96,13 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
>
> +config BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW
> + bool
> + default y if \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
I'm not against this approach but if I recall correctly Thomas is not a
fan of those. Clearly it's useful and we'll soon add one more SoC to
that macro (IMX8MP).
As Yann mentioned on IRC:
"Usually, when we introduce such option, it does not 'default y' based
on some other options. Instead, the other options 'select' it."
Let's try to use that approach this time, although I know the rest of
the file is doing it wrong :-/ (my bad)
But I'll answer to next patch as well, I don't think this is necessary
to have that variable as it might be confusing for firmware-imx.
Regards,
Gary
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 1/5] package/freescale-imx: Add option for DDR FW need
2020-05-20 7:58 ` Gary Bisson
@ 2020-05-25 16:17 ` Stephane Viau
0 siblings, 0 replies; 14+ messages in thread
From: Stephane Viau @ 2020-05-25 16:17 UTC (permalink / raw)
To: buildroot
>Hi Stephane,
Hi Gary,
>> Only some i.MX8 need a DDR training firmware (8M, 8MM, 8MN). Some other
>> i.MX8 (QuadMax, QuadXPlus) rely on system controller for that task.
>>
>> Suggested-by: Julien Olivain <julien.olivain@oss.nxp.com>
>> Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
>> ---
>> v2:
>> - introduce BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW to extend the DDR
>> firmware selection to the whole i.MX 8M family (suggested by Gary)
>>
>> Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
>> ---
>> package/freescale-imx/Config.in | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
>> index b0c7de8..6b10d2c 100644
>> --- a/package/freescale-imx/Config.in
>> +++ b/package/freescale-imx/Config.in
>> @@ -96,6 +96,13 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
>> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \
>> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X
>>
>> +config BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW
>> + bool
>> + default y if \
>> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
>> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \
>> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN
>
>I'm not against this approach but if I recall correctly Thomas is not a
>fan of those. Clearly it's useful and we'll soon add one more SoC to
>that macro (IMX8MP).
>
>As Yann mentioned on IRC:
>"Usually, when we introduce such option, it does not 'default y' based
>on some other options. Instead, the other options 'select' it."
>
>Let's try to use that approach this time, although I know the rest of
>the file is doing it wrong :-/ (my bad)
>
Makes sense, actually. I like this better too.
>But I'll answer to next patch as well, I don't think this is necessary
>to have that variable as it might be confusing for firmware-imx.
Please see my comment in the next patch.
BR,
Stephane.
>
>Regards,
>Gary
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries
2020-04-29 9:12 [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Stephane Viau
2020-04-29 9:12 ` [Buildroot] [PATCH v2 1/5] package/freescale-imx: Add option for DDR FW need Stephane Viau
@ 2020-04-29 9:12 ` Stephane Viau
2020-05-20 8:15 ` Gary Bisson
2020-04-29 9:12 ` [Buildroot] [PATCH v2 3/5] board/freescale/common/imx: use generic ddr_fw.bin name Stephane Viau
` (3 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Stephane Viau @ 2020-04-29 9:12 UTC (permalink / raw)
To: 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 <stephane.viau@oss.nxp.com>
Reviewed-by: Maeva Manuel <maeva.manuel@oss.nxp.com>
Reviewed-by: Julien Olivain <julien.olivain@oss.nxp.com>
---
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 <stephane.viau@oss.nxp.com>
---
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 \
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries
2020-04-29 9:12 ` [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries Stephane Viau
@ 2020-05-20 8:15 ` Gary Bisson
2020-05-25 16:17 ` Stephane Viau
0 siblings, 1 reply; 14+ messages in thread
From: Gary Bisson @ 2020-05-20 8:15 UTC (permalink / raw)
To: buildroot
Hi Stephane,
On Wed, Apr 29, 2020 at 11:12:22AM +0200, Stephane Viau wrote:
> 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 <stephane.viau@oss.nxp.com>
> Reviewed-by: Maeva Manuel <maeva.manuel@oss.nxp.com>
> Reviewed-by: Julien Olivain <julien.olivain@oss.nxp.com>
> ---
> 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 <stephane.viau@oss.nxp.com>
> ---
> 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
Here is the only place where the previous variable is used, not sure it
brings a lot of value.
> +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
And here is why I'm worried the name of the previous variable might be
misleading. You don't only copy the DDR FW training under that
BR2_PACKAGE_FIRMWARE_DDRFW_LPDDR4 macro, you also copy the HDMI FW.
Note that the DP FW should be added as well.
The way I see it, it'd be best to have a common
FIRMWARE_IMX_INSTALL_IMAGES_CMDS for all i.MX8M platforms (hence not
necessarily using a macro for it).
Then this CMD could have FIRMWARE_IMX_PREPARE_DDR_FW which would be
different depending on the choice made before (DDR4 vs. LPDDR4) and then
also something like FIRMWARE_IMX_PREPARE_HDMI_FW which would only be
populated for IMX8M and empty for the others.
Does it make sense?
> 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
The approach above would also fix this case:
- What about i.MX8MQ with DDR4? HDMI FW is missing from this code.
Let me know if you have any questions.
Regards,
Gary
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries
2020-05-20 8:15 ` Gary Bisson
@ 2020-05-25 16:17 ` Stephane Viau
0 siblings, 0 replies; 14+ messages in thread
From: Stephane Viau @ 2020-05-25 16:17 UTC (permalink / raw)
To: buildroot
>Hi Stephane,
Hi Gary,
>> 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 <stephane.viau@oss.nxp.com>
>> Reviewed-by: Maeva Manuel <maeva.manuel@oss.nxp.com>
>> Reviewed-by: Julien Olivain <julien.olivain@oss.nxp.com>
>> ---
>> 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 <stephane.viau@oss.nxp.com>
>> ---
>> 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
>
>Here is the only place where the previous variable is used, not sure it
>brings a lot of value.
I believe BR2_PACKAGE_FREESCALE_IMX_NEED_DDR_FW is still required here in
order to avoid seeing the below DDR FW options when they are not required
(e.g. i.MX 8 family). We want this choice to pop up only for i.MX 8M SoCs.
>
>> +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
>
>And here is why I'm worried the name of the previous variable might be
>misleading. You don't only copy the DDR FW training under that
>BR2_PACKAGE_FIRMWARE_DDRFW_LPDDR4 macro, you also copy the HDMI FW.
>Note that the DP FW should be added as well.
>
>The way I see it, it'd be best to have a common
>FIRMWARE_IMX_INSTALL_IMAGES_CMDS for all i.MX8M platforms (hence not
>necessarily using a macro for it).
>Then this CMD could have FIRMWARE_IMX_PREPARE_DDR_FW which would be
>different depending on the choice made before (DDR4 vs. LPDDR4) and then
>also something like FIRMWARE_IMX_PREPARE_HDMI_FW which would only be
>populated for IMX8M and empty for the others.
>
>Does it make sense?
Agreed. please check the v3 patch series:
https://patchwork.ozlabs.org/project/buildroot/list/?series=179135
Regards,
Stephane.
>
>> 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
>
>The approach above would also fix this case:
>- What about i.MX8MQ with DDR4? HDMI FW is missing from this code.
>
>Let me know if you have any questions.
>
>Regards,
>Gary
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 3/5] board/freescale/common/imx: use generic ddr_fw.bin name
2020-04-29 9:12 [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Stephane Viau
2020-04-29 9:12 ` [Buildroot] [PATCH v2 1/5] package/freescale-imx: Add option for DDR FW need Stephane Viau
2020-04-29 9:12 ` [Buildroot] [PATCH v2 2/5] package/freescale-imx/firmware-imx: add choice for DDR training binaries Stephane Viau
@ 2020-04-29 9:12 ` Stephane Viau
2020-04-29 9:12 ` [Buildroot] [PATCH v2 4/5] board/freescale/common/imx: add support for i.MX8M Nano Stephane Viau
` (2 subsequent siblings)
5 siblings, 0 replies; 14+ messages in thread
From: Stephane Viau @ 2020-04-29 9:12 UTC (permalink / raw)
To: buildroot
For some SoCs (i.e.: i.MX8M Nano for now), the DDR training firmware
in the boot image depends on the type of memory installed on a board
(LPDDR4, DDR4, etc...). The previous patch makes this firmware name
agnostic of the DDR type and uses ddr_fw.bin as a generic name. This
patch makes imx8-bootloader-prepare.sh use this generic name,
independently of the kind board DDR type.
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
Reviewed-by: Maeva Manuel <maeva.manuel@oss.nxp.com>
Reviewed-by: Julien Olivain <julien.olivain@oss.nxp.com>
---
v2:
- generic ddr_fw.bin name is now used also for 8M and 8MM, along with
8MN (suggested by Gary)
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
---
board/freescale/common/imx/imx8-bootloader-prepare.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh
index abf2e43..cb7c37b 100755
--- a/board/freescale/common/imx/imx8-bootloader-prepare.sh
+++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh
@@ -9,21 +9,21 @@ main ()
fi
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
- cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
+ cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
- cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
+ cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage_imx8 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
- cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
+ cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 4/5] board/freescale/common/imx: add support for i.MX8M Nano
2020-04-29 9:12 [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Stephane Viau
` (2 preceding siblings ...)
2020-04-29 9:12 ` [Buildroot] [PATCH v2 3/5] board/freescale/common/imx: use generic ddr_fw.bin name Stephane Viau
@ 2020-04-29 9:12 ` Stephane Viau
2020-04-29 9:12 ` [Buildroot] [PATCH v2 5/5] configs/freescale_imx8mnevk: new defconfig Stephane Viau
2020-04-29 20:22 ` [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Thomas Petazzoni
5 siblings, 0 replies; 14+ messages in thread
From: Stephane Viau @ 2020-04-29 9:12 UTC (permalink / raw)
To: buildroot
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
Reviewed-by: Maeva Manuel <maeva.manuel@oss.nxp.com>
Reviewed-by: Julien Olivain <julien.olivain@oss.nxp.com>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
board/freescale/common/imx/post-image.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index 138ea7b..06ccaac 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -38,6 +38,8 @@ genimage_type()
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
+ elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
+ echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 5/5] configs/freescale_imx8mnevk: new defconfig
2020-04-29 9:12 [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Stephane Viau
` (3 preceding siblings ...)
2020-04-29 9:12 ` [Buildroot] [PATCH v2 4/5] board/freescale/common/imx: add support for i.MX8M Nano Stephane Viau
@ 2020-04-29 9:12 ` Stephane Viau
2020-04-29 20:22 ` [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Thomas Petazzoni
5 siblings, 0 replies; 14+ messages in thread
From: Stephane Viau @ 2020-04-29 9:12 UTC (permalink / raw)
To: buildroot
This patch adds support for the i.MX8M Nano EVK Board [1].
The final boot image is created from uboot and firmware binaries in post
image script board/freescale/common/imx/imx8-bootloader-prepare.sh
Note that this config is based on 4.19.35_1.1.0 ; hence, the kernel
configuration needs host-openssl to build.
[1] https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
Reviewed-by: Maeva Manuel <maeva.manuel@oss.nxp.com>
Reviewed-by: Julien Olivain <julien.olivain@oss.nxp.com>
---
v2:
- reword commit title about uboot.imx generation: sentence removed (Gary)
- replace link which was confusing because mentioning LPD4 when DDR4
EVK is actually available (suggested by Gary)
Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
---
.gitlab-ci.yml | 1 +
DEVELOPERS | 4 ++
board/freescale/imx8mnevk/readme.txt | 74 +++++++++++++++++++++++++++++++++++
configs/freescale_imx8mnevk_defconfig | 43 ++++++++++++++++++++
4 files changed, 122 insertions(+)
create mode 100644 board/freescale/imx8mnevk/readme.txt
create mode 100644 configs/freescale_imx8mnevk_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fa8e077..0bf8a73 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -190,6 +190,7 @@ freescale_imx8mmevk_defconfig: { extends: .defconfig }
freescale_imx8mqevk_defconfig: { extends: .defconfig }
freescale_imx8qmmek_defconfig: { extends: .defconfig }
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
+freescale_imx8mnevk_defconfig: { extends: .defconfig }
freescale_p1025twr_defconfig: { extends: .defconfig }
freescale_t1040d4rdb_defconfig: { extends: .defconfig }
freescale_t2080_qds_rdb_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index cc72b28..6fb2d84 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2402,6 +2402,10 @@ F: package/mtdev2tuio/
N: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
F: package/libhttpserver/
+N: Stephane Viau <stephane.viau@oss.nxp.com>
+F: board/freescale/imx8mnevk/
+F: configs/freescale_imx8mnevk_defconfig
+
N: Steve Calfee <stevecalfee@gmail.com>
F: package/python-pymysql/
F: package/python-pyratemp/
diff --git a/board/freescale/imx8mnevk/readme.txt b/board/freescale/imx8mnevk/readme.txt
new file mode 100644
index 0000000..379d851
--- /dev/null
+++ b/board/freescale/imx8mnevk/readme.txt
@@ -0,0 +1,74 @@
+***************************
+Freescale i.MX8MN EVK board
+***************************
+
+This file documents the Buildroot support for the i.MX8M Nano EVK board.
+
+Build
+=====
+
+First, configure Buildroot for the i.MX8MN EVK board:
+
+ make freescale_imx8mnevk_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the following files:
+ - bl31.bin
+ - boot.vfat
+ - ddr4_201810_fw.bin
+ - ddr_fw.bin
+ - fsl-imx8mn-ddr4-evk.dtb
+ - Image
+ - imx8-boot-sd.bin
+ - rootfs.ext2
+ - rootfs.ext4
+ - rootfs.tar
+ - sdcard.img
+ - signed_hdmi_imx8m.bin
+ - u-boot.bin
+ - u-boot.imx
+ - u-boot.itb
+ - u-boot-nodtb.bin
+ - u-boot-spl.bin
+ - u-boot-spl-ddr.bin
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+ dd if=output/images/sdcard.img of=/dev/<your-sd-device>
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/common/imx/genimage.cfg.template_imx8.
+
+Boot the i.MX8MN EVK board
+==========================
+
+To boot your newly created system (refer to the i.MX8MNano EVK Quick Start Guide
+[1] for guidance):
+- insert the SD card in the SD slot of the board;
+- Configure the switches as follows (X = "don't care"):
+SW1101: 1100XXXXXX [D1-D10]
+SW1102: XXXXXXXXXX [D1-D10]
+- put a micro USB cable into the Debug USB Port and connect using a terminal
+ emulator at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+[1] https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK
diff --git a/configs/freescale_imx8mnevk_defconfig b/configs/freescale_imx8mnevk_defconfig
new file mode 100644
index 0000000..a859d1c
--- /dev/null
+++ b/configs/freescale_imx8mnevk_defconfig
@@ -0,0 +1,43 @@
+BR2_aarch64=y
+BR2_ARM_FPU_VFPV3=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8mn-ddr4-evk.dtb"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.1.0"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-imx8mn-ddr4-evk"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y
+BR2_PACKAGE_FIRMWARE_IMX=y
+BR2_PACKAGE_FIRMWARE_DDRFW_DDR4=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.1.0"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.1.0"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_ddr4_evk"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin"
+BR2_TARGET_UBOOT_SPL=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_IMX_MKIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support
2020-04-29 9:12 [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Stephane Viau
` (4 preceding siblings ...)
2020-04-29 9:12 ` [Buildroot] [PATCH v2 5/5] configs/freescale_imx8mnevk: new defconfig Stephane Viau
@ 2020-04-29 20:22 ` Thomas Petazzoni
2020-04-29 20:36 ` Stephane Viau
5 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2020-04-29 20:22 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 29 Apr 2020 11:12:20 +0200
Stephane Viau <stephane.viau@oss.nxp.com> wrote:
> This series adds support for the NXP i.MX8M Nano EVK board.
>
> Since the i.MX8M Nano CPU was added for the Nitrogen8MNano board, which has a
> type of memory (LPDDR4) different from the NXP reference board (DDR4), the first
> half of the series introduce the DDR training selection for the whole i.MX8 M
> SoC family.
>
> The second half of the series adds support for i.MX8M Nano EVK Board with kernel/
> U-Boot based on 4.19.35_1.1.0, which is the current preferred version for all NXP
> reference boards.
Thanks for this new iteration. It was in our patchwork patch tracking
system, and it just disappeared. Has anyone removed these patches? You
Stephane? Someone else?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support
2020-04-29 20:22 ` [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support Thomas Petazzoni
@ 2020-04-29 20:36 ` Stephane Viau
2020-04-29 20:48 ` Thomas Petazzoni
0 siblings, 1 reply; 14+ messages in thread
From: Stephane Viau @ 2020-04-29 20:36 UTC (permalink / raw)
To: buildroot
>
>Hello,
>
>On Wed, 29 Apr 2020 11:12:20 +0200
>Stephane Viau <stephane.viau@oss.nxp.com> wrote:
>
>> This series adds support for the NXP i.MX8M Nano EVK board.
>>
>> Since the i.MX8M Nano CPU was added for the Nitrogen8MNano board, which has a
>> type of memory (LPDDR4) different from the NXP reference board (DDR4), the first
>> half of the series introduce the DDR training selection for the whole i.MX8 M
>> SoC family.
>>
>> The second half of the series adds support for i.MX8M Nano EVK Board with kernel/
>> U-Boot based on 4.19.35_1.1.0, which is the current preferred version for all NXP
>> reference boards.
>
>Thanks for this new iteration. It was in our patchwork patch tracking
>system, and it just disappeared. Has anyone removed these patches? You
>Stephane? Someone else?
Hi Thomas,
Yeah, sorry about that. It should be back now ; can you please check?
Regards,
Stephane.
>
>Thanks,
>
>Thomas
>--
>Thomas Petazzoni, CTO, Bootlin
>Embedded Linux and Kernel engineering
>https://bootlin.com
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 0/5] imx: add i.MX8M Nano EVK board support
2020-04-29 20:36 ` Stephane Viau
@ 2020-04-29 20:48 ` Thomas Petazzoni
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni @ 2020-04-29 20:48 UTC (permalink / raw)
To: buildroot
On Wed, 29 Apr 2020 20:36:31 +0000
"Stephane Viau (OSS)" <stephane.viau@oss.nxp.com> wrote:
> >Thanks for this new iteration. It was in our patchwork patch tracking
> >system, and it just disappeared. Has anyone removed these patches? You
> >Stephane? Someone else?
>
> Yeah, sorry about that. It should be back now ; can you please check?
Confirmed, thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 14+ messages in thread