U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
April 2019
- 246 participants
- 890 discussions
Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs partition.
This fixes the issue, when MMC controllers are probed in a different order
in U-boot and Linux kernel.
Signed-off-by: Igor Opaniuk <igor.opaniuk(a)toradex.com>
---
configs/colibri_imx6_defconfig | 1 +
include/configs/colibri_imx6.h | 55 +++++++++++++++++++++++-----------
2 files changed, 38 insertions(+), 18 deletions(-)
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index bf05c68807..083588e02d 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -40,6 +40,7 @@ CONFIG_CMD_GPIO=y
CONFIG_CMD_GPT=y
CONFIG_CMD_I2C=y
CONFIG_CMD_MMC=y
+CONFIG_CMD_UUID=y
CONFIG_CMD_USB=y
CONFIG_CMD_USB_SDP=y
CONFIG_CMD_USB_MASS_STORAGE=y
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index 803c9be064..6603698a66 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -115,16 +115,22 @@
"imx6dl-colibri-cam-eval-v3.dtb fat 0 1"
#define EMMC_BOOTCMD \
- "emmcargs=ip=off root=/dev/mmcblk0p2 rw,noatime rootfstype=ext4 " \
+ "emmcdev=0\0" \
+ "emmcbootpart=1\0" \
+ "emmcrootpart=2\0" \
+ "emmcfinduuid=part uuid mmc ${mmcdev}:${emmcrootpart} uuid\0" \
+ "set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} "\
+ "rw,noatime rootfstype=ext4 " \
"rootwait\0" \
- "emmcboot=run setup; " \
+ "emmcboot=run setup; run emmcfinduuid; run set_emmcargs; " \
"setenv bootargs ${defargs} ${emmcargs} ${setupargs} " \
"${vidargs}; echo Booting from internal eMMC chip...; " \
- "run emmcdtbload; load mmc 0:1 ${kernel_addr_r} " \
- "${boot_file} && run fdt_fixup && " \
+ "run emmcdtbload; load mmc ${emmcdev}:${emmcbootpart} " \
+ "${kernel_addr_r} ${boot_file} && run fdt_fixup && " \
"bootz ${kernel_addr_r} ${dtbparam}\0" \
- "emmcdtbload=setenv dtbparam; load mmc 0:1 ${fdt_addr_r} " \
- "${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
+ "emmcdtbload=setenv dtbparam; load mmc ${emmcdev}:${emmcbootpart} " \
+ "${fdt_addr_r} ${fdt_file} && " \
+ "setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
#define MEM_LAYOUT_ENV_SETTINGS \
"bootm_size=0x10000000\0" \
@@ -147,26 +153,38 @@
"&& setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
#define SD_BOOTCMD \
- "sdargs=ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext4 " \
- "rootwait\0" \
- "sdboot=run setup; " \
+ "sddev=1\0" \
+ "sdbootpart=1\0" \
+ "sdrootpart=2\0" \
+ "sdfinduuid=part uuid mmc ${sddev}:${sdrootpart} uuid\0" \
+ "set_sdargs=setenv sdargs ip=off root=PARTUUID=${uuid} rw,noatime " \
+ "rootfstype=ext4 rootwait\0" \
+ "sdboot=run setup; run sdfinduuid; run set_sdargs; " \
"setenv bootargs ${defargs} ${sdargs} ${setupargs} " \
"${vidargs}; echo Booting from SD card; " \
- "run sddtbload; load mmc 1:1 ${kernel_addr_r} " \
- "${boot_file} && run fdt_fixup && " \
+ "run sddtbload; load mmc ${sddev}:${sdbootpart} "\
+ "${kernel_addr_r} ${boot_file} && run fdt_fixup && " \
"bootz ${kernel_addr_r} ${dtbparam}\0" \
- "sddtbload=setenv dtbparam; load mmc 1:1 ${fdt_addr_r} " \
- "${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
+ "sddtbload=setenv dtbparam; load mmc ${sddev}:${sdbootpart} " \
+ "${fdt_addr_r} ${fdt_file} && setenv dtbparam \" - " \
+ "${fdt_addr_r}\" && true\0"
#define USB_BOOTCMD \
- "usbargs=ip=off root=/dev/sda2 rw,noatime rootfstype=ext4 " \
- "rootwait\0" \
- "usbboot=run setup; setenv bootargs ${defargs} ${setupargs} " \
+ "usbdev=0\0" \
+ "usbbootpart=1\0" \
+ "usbrootpart=2\0" \
+ "usbfinduuid=part uuid usb ${usbdev}:${usbrootpart} uuid\0" \
+ "set_usbargs=setenv usbargs ip=off root=PARTUUID=${uuid} rw,noatime " \
+ "rootfstype=ext4 rootwait\0" \
+ "usbboot=run setup; usb start; run usbfinduuid; run set_usbargs; " \
+ "setenv bootargs ${defargs} ${setupargs} " \
"${usbargs} ${vidargs}; echo Booting from USB stick...; " \
- "usb start && run usbdtbload; load usb 0:1 ${kernel_addr_r} " \
+ "run usbdtbload; " \
+ "load usb ${usbdev}:${usbbootpart} ${kernel_addr_r} " \
"${boot_file} && run fdt_fixup && " \
"bootz ${kernel_addr_r} ${dtbparam}\0" \
- "usbdtbload=setenv dtbparam; load usb 0:1 ${fdt_addr_r} " \
+ "usbdtbload=setenv dtbparam; load usb ${usbdev}:${usbbootpart} " \
+ "${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
#define FDT_FILE "imx6dl-colibri-eval-v3.dtb"
@@ -186,6 +204,7 @@
MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
SD_BOOTCMD \
+ USB_BOOTCMD \
"setethupdate=if env exists ethaddr; then; else setenv ethaddr " \
"00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \
"flash_eth.img && source ${loadaddr}\0" \
--
2.17.1
2
3

12 Apr '19
Migrate USB to Driver Model (CONFIG_DM_USB=y).
Signed-off-by: Igor Opaniuk <igor.opaniuk(a)toradex.com>
---
arch/arm/dts/imx7-colibri-emmc.dts | 37 +++++++++++++++++++++++++
arch/arm/dts/imx7-colibri-rawnand.dts | 40 +++++++++++++++++++++++++++
configs/colibri_imx7_defconfig | 1 +
configs/colibri_imx7_emmc_defconfig | 1 +
4 files changed, 79 insertions(+)
diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-colibri-emmc.dts
index efd600091d..a9f272a65e 100644
--- a/arch/arm/dts/imx7-colibri-emmc.dts
+++ b/arch/arm/dts/imx7-colibri-emmc.dts
@@ -13,11 +13,30 @@
aliases {
mmc0 = &usdhc3;
mmc1 = &usdhc1;
+ usb0 = &usbotg1; /* required for ums */
};
chosen {
stdout-path = &uart1;
};
+
+ reg_5v0: regulator-5v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "5V";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ reg_usbh_vbus: regulator-usbh-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh_reg>;
+ regulator-name = "VCC_USB[1-4]";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
+ vin-supply = <®_5v0>;
+ };
};
&usdhc3 {
@@ -44,4 +63,22 @@
MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19
>;
};
+
+ pinctrl_usbh_reg: gpio-usbh-vbus {
+ fsl,pins = <
+ MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
+ >;
+ };
+};
+
+&usbotg2 {
+ dr_mode = "host";
+ vbus-supply = <®_usbh_vbus>;
+ status = "okay";
+};
+
+&usbotg1 {
+ dr_mode = "host";
+ vbus-supply = <®_usbh_vbus>;
+ status = "okay";
};
diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts b/arch/arm/dts/imx7-colibri-rawnand.dts
index 4eb86fb011..e48e750a57 100644
--- a/arch/arm/dts/imx7-colibri-rawnand.dts
+++ b/arch/arm/dts/imx7-colibri-rawnand.dts
@@ -13,6 +13,28 @@
chosen {
stdout-path = &uart1;
};
+
+ aliases {
+ usb0 = &usbotg1; /* required for ums */
+ };
+
+ reg_5v0: regulator-5v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "5V";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ reg_usbh_vbus: regulator-usbh-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh_reg>;
+ regulator-name = "VCC_USB[1-4]";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
+ vin-supply = <®_5v0>;
+ };
};
&gpmi {
@@ -43,4 +65,22 @@
MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71
>;
};
+
+ pinctrl_usbh_reg: gpio-usbh-vbus {
+ fsl,pins = <
+ MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
+ >;
+ };
+};
+
+&usbotg2 {
+ dr_mode = "host";
+ vbus-supply = <®_usbh_vbus>;
+ status = "okay";
+};
+
+&usbotg1 {
+ dr_mode = "host";
+ vbus-supply = <®_usbh_vbus>;
+ status = "okay";
};
diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index 7a52361a2a..43af825d5c 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -62,6 +62,7 @@ CONFIG_PINCTRL=y
CONFIG_PINCTRL_IMX7=y
CONFIG_DM_PMIC=y
CONFIG_PMIC_RN5T567=y
+CONFIG_DM_USB=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_GADGET=y
diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_emmc_defconfig
index 5e2a204a88..beec2704c5 100644
--- a/configs/colibri_imx7_emmc_defconfig
+++ b/configs/colibri_imx7_emmc_defconfig
@@ -64,3 +64,4 @@ CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_VIDEO=y
CONFIG_FAT_WRITE=y
CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_DM_USB=y
--
2.17.1
2
1
With CONFIG_CMD_BOOTEFI=y, load command causes data abort
when path_to_uefi(fp->str, path) tries to write uefi path out of
bounds of u16 str[] array (check efi_device_path_file_path struct for
details). This is caused by unproper handling of void *buf pointer
in efi_dp_from_file(), particularly when the buf pointer value is changed
after dp_part_fill() invocation.
> load usb 0:1 0x12000000 imx6dl-colibri-eval-v3.dtb
pc : [<2fab48ae>] lr : [<2fab4339>]
reloc pc : [<178338ae>] lr : [<17833339>]
sp : 2da77120 ip : 00000003 fp : 00000005
r10: 2daa31d0 r9 : 2da80ea8 r8 : 00000001
r7 : 2daa3098 r6 : 2ca75040 r5 : 2da77148 r4 : 0000003a
r3 : 00000069 r2 : 2ca750a3 r1 : 2daa3104 r0 : 2ca7509f
Flags: nzCv IRQs off FIQs off Mode SVC_32
Code: 4630fb31 81f0e8bd e7d84606 bf082b2f (f822235c)
Resetting CPU ...
With the change suggested:
> load usb 0:1 0x12000000 imx6dl-colibri-eval-v3.dtb
5675440 bytes read in 188 ms (28.8 MiB/s)
Signed-off-by: Igor Opaniuk <igor.opaniuk(a)toradex.com>
---
lib/efi_loader/efi_device_path.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
index 53b40c8c3c..97b4356167 100644
--- a/lib/efi_loader/efi_device_path.c
+++ b/lib/efi_loader/efi_device_path.c
@@ -829,7 +829,7 @@ struct efi_device_path *efi_dp_from_file(struct blk_desc *desc, int part,
buf = dp_part_fill(buf, desc, part);
/* add file-path: */
- fp = buf;
+ fp = start;
fp->dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE;
fp->dp.sub_type = DEVICE_PATH_SUB_TYPE_FILE_PATH;
fp->dp.length = fpsize;
--
2.17.1
2
4

12 Apr '19
The UEFI variables PlatformLang and PlatformLangCodes specify the current
firmware language and the list of all available languages.
Currently their values are hard coded. With the patch a new configuration
variable EFI_PLATFORM_LANG_CODES is provided.
When initializing the UEFI subsystem this configuration variable is used to
initialize PlatformLangCodes. The value of variable PlatformLang is read.
If it is not set, the first language specified in EFI_PLATFORM_LANG_CODES
is used to initialize PlatformLang.
Suggested-by: Takahiro Akashi <takahiro.akashi(a)linaro.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk(a)gmx.de>
---
v2
We need to initialize the variables only once. So we have to move
the call to efi_init_platform_lang() after the check if the UEFI
subsystem is already initalized. Thanks Takahiro for catching this.
---
lib/efi_loader/Kconfig | 10 ++++++
lib/efi_loader/efi_setup.c | 72 ++++++++++++++++++++++++++++++--------
2 files changed, 67 insertions(+), 15 deletions(-)
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index a6489ca534..50b050159c 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -26,6 +26,16 @@ config EFI_UNICODE_CAPITALIZATION
set, only the the correct handling of the letters of the codepage
used by the FAT file system is ensured.
+config EFI_PLATFORM_LANG_CODES
+ string "Language codes supported by firmware"
+ depends on EFI_LOADER
+ default "en-US"
+ help
+ This value is used to initialize the PlatformLangCodes variable. Its
+ value is a semicolon (;) separated list of language codes in native
+ RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
+ to initialize the PlatformLang variable.
+
config EFI_LOADER_BOUNCE_BUFFER
bool "EFI Applications use bounce buffers for DMA operations"
depends on EFI_LOADER && ARM64
diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
index 6e9d5fe5b7..b32a7b3f93 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -10,44 +10,86 @@
#define OBJ_LIST_NOT_INITIALIZED 1
-/* Language code for American English according to RFC 4646 */
-#define EN_US L"en-US"
-
static efi_status_t efi_obj_list_initialized = OBJ_LIST_NOT_INITIALIZED;
-/* Initialize and populate EFI object list */
-efi_status_t efi_init_obj_list(void)
+/**
+ * efi_init_platform_lang() - define supported languages
+ *
+ * Set the PlatformLangCodes and PlatformLang variables.
+ *
+ * Return: status code
+ */
+static efi_status_t efi_init_platform_lang(void)
{
- efi_status_t ret = EFI_SUCCESS;
+ efi_status_t ret;
+ efi_uintn_t data_size = 0;
+ char *lang = CONFIG_EFI_PLATFORM_LANG_CODES;
+ char *pos;
/*
- * Variable PlatformLang defines the language that the machine has been
- * configured for.
+ * Variable PlatformLangCodes defines the language codes that the
+ * machine can support.
*/
- ret = EFI_CALL(efi_set_variable(L"PlatformLang",
+ ret = EFI_CALL(efi_set_variable(L"PlatformLangCodes",
&efi_global_variable_guid,
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_RUNTIME_ACCESS,
- sizeof(EN_US), EN_US));
+ sizeof(CONFIG_EFI_PLATFORM_LANG_CODES),
+ CONFIG_EFI_PLATFORM_LANG_CODES));
if (ret != EFI_SUCCESS)
goto out;
/*
- * Variable PlatformLangCodes defines the language codes that the
- * machine can support.
+ * Variable PlatformLang defines the language that the machine has been
+ * configured for.
*/
- ret = EFI_CALL(efi_set_variable(L"PlatformLangCodes",
+ ret = EFI_CALL(efi_get_variable(L"PlatformLang",
&efi_global_variable_guid,
+ NULL, &data_size, &pos));
+ if (ret == EFI_BUFFER_TOO_SMALL) {
+ /* The variable is already set. Do not change it. */
+ ret = EFI_SUCCESS;
+ goto out;
+ }
+
+ /*
+ * The list of supported languages is semicolon separated. Use the first
+ * language to initialize PlatformLang.
+ */
+ pos = strchr(lang, ';');
+ if (pos)
+ *pos = 0;
+
+ ret = EFI_CALL(efi_set_variable(L"PlatformLang",
+ &efi_global_variable_guid,
+ EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_RUNTIME_ACCESS,
- sizeof(EN_US), EN_US));
+ 1 + strlen(lang), lang));
+out:
if (ret != EFI_SUCCESS)
- goto out;
+ printf("EFI: cannot initialize platform language settings\n");
+ return ret;
+}
+
+/**
+ * efi_init_obj_list() - Initialize and populate EFI object list
+ *
+ * Return: status code
+ */
+efi_status_t efi_init_obj_list(void)
+{
+ efi_status_t ret = EFI_SUCCESS;
/* Initialize once only */
if (efi_obj_list_initialized != OBJ_LIST_NOT_INITIALIZED)
return efi_obj_list_initialized;
+ /* Define supported languages */
+ ret = efi_init_platform_lang();
+ if (ret != EFI_SUCCESS)
+ goto out;
+
/* Initialize system table */
ret = efi_initialize_system_table();
if (ret != EFI_SUCCESS)
--
2.20.1
1
0

12 Apr '19
Signed-off-by: Masahiro Yamada <yamada.masahiro(a)socionext.com>
---
arch/arm/dts/uniphier-ld11.dtsi | 4 +-
arch/arm/dts/uniphier-ld20.dtsi | 66 +++++++++++++++++++++++++-----
arch/arm/dts/uniphier-ld4.dtsi | 14 +++++++
arch/arm/dts/uniphier-pro4.dtsi | 16 ++++++++
arch/arm/dts/uniphier-pxs2.dtsi | 6 ++-
arch/arm/dts/uniphier-pxs3-ref.dts | 4 ++
arch/arm/dts/uniphier-pxs3.dtsi | 55 +++++++++++++++++++++++--
arch/arm/dts/uniphier-sld8.dtsi | 14 +++++++
8 files changed, 160 insertions(+), 19 deletions(-)
diff --git a/arch/arm/dts/uniphier-ld11.dtsi b/arch/arm/dts/uniphier-ld11.dtsi
index 31ba52b14e..a3cd475b48 100644
--- a/arch/arm/dts/uniphier-ld11.dtsi
+++ b/arch/arm/dts/uniphier-ld11.dtsi
@@ -33,7 +33,7 @@
cpu0: cpu@0 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x000>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -42,7 +42,7 @@
cpu1: cpu@1 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x001>;
clocks = <&sys_clk 33>;
enable-method = "psci";
diff --git a/arch/arm/dts/uniphier-ld20.dtsi b/arch/arm/dts/uniphier-ld20.dtsi
index b9ed613ace..baf2326836 100644
--- a/arch/arm/dts/uniphier-ld20.dtsi
+++ b/arch/arm/dts/uniphier-ld20.dtsi
@@ -43,7 +43,7 @@
cpu0: cpu@0 {
device_type = "cpu";
- compatible = "arm,cortex-a72", "arm,armv8";
+ compatible = "arm,cortex-a72";
reg = <0 0x000>;
clocks = <&sys_clk 32>;
enable-method = "psci";
@@ -53,7 +53,7 @@
cpu1: cpu@1 {
device_type = "cpu";
- compatible = "arm,cortex-a72", "arm,armv8";
+ compatible = "arm,cortex-a72";
reg = <0 0x001>;
clocks = <&sys_clk 32>;
enable-method = "psci";
@@ -63,7 +63,7 @@
cpu2: cpu@100 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x100>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -73,7 +73,7 @@
cpu3: cpu@101 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x101>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -206,13 +206,10 @@
cooling-maps {
map0 {
trip = <&cpu_alert>;
- cooling-device = <&cpu0
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- map1 {
- trip = <&cpu_alert>;
- cooling-device = <&cpu2
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
@@ -891,6 +888,53 @@
};
};
+ pcie: pcie@66000000 {
+ compatible = "socionext,uniphier-pcie", "snps,dw-pcie";
+ status = "disabled";
+ reg-names = "dbi", "link", "config";
+ reg = <0x66000000 0x1000>, <0x66010000 0x10000>,
+ <0x2fff0000 0x10000>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ clocks = <&sys_clk 24>;
+ resets = <&sys_rst 24>;
+ num-lanes = <1>;
+ num-viewport = <1>;
+ bus-range = <0x0 0xff>;
+ device_type = "pci";
+ ranges =
+ /* downstream I/O */
+ <0x81000000 0 0x00000000 0x2ffe0000 0 0x00010000>,
+ /* non-prefetchable memory */
+ <0x82000000 0 0x20000000 0x20000000 0 0x0ffe0000>;
+ #interrupt-cells = <1>;
+ interrupt-names = "dma", "msi";
+ interrupts = <0 224 4>, <0 225 4>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc 0>, /* INTA */
+ <0 0 0 2 &pcie_intc 1>, /* INTB */
+ <0 0 0 3 &pcie_intc 2>, /* INTC */
+ <0 0 0 4 &pcie_intc 3>; /* INTD */
+ phy-names = "pcie-phy";
+ phys = <&pcie_phy>;
+
+ pcie_intc: legacy-interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&gic>;
+ interrupts = <0 226 4>;
+ };
+ };
+
+ pcie_phy: phy@66038000 {
+ compatible = "socionext,uniphier-ld20-pcie-phy";
+ reg = <0x66038000 0x4000>;
+ #phy-cells = <0>;
+ clocks = <&sys_clk 24>;
+ resets = <&sys_rst 24>;
+ socionext,syscon = <&soc_glue>;
+ };
+
nand: nand@68000000 {
compatible = "socionext,uniphier-denali-nand-v5b";
status = "disabled";
diff --git a/arch/arm/dts/uniphier-ld4.dtsi b/arch/arm/dts/uniphier-ld4.dtsi
index b73d594b6d..c2706cef0b 100644
--- a/arch/arm/dts/uniphier-ld4.dtsi
+++ b/arch/arm/dts/uniphier-ld4.dtsi
@@ -235,6 +235,16 @@
};
};
+ dmac: dma-controller@5a000000 {
+ compatible = "socionext,uniphier-mio-dmac";
+ reg = <0x5a000000 0x1000>;
+ interrupts = <0 68 4>, <0 68 4>, <0 69 4>, <0 70 4>,
+ <0 71 4>, <0 72 4>, <0 73 4>;
+ clocks = <&mio_clk 7>;
+ resets = <&mio_rst 7>;
+ #dma-cells = <1>;
+ };
+
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
@@ -246,6 +256,8 @@
clocks = <&mio_clk 0>;
reset-names = "host", "bridge";
resets = <&mio_rst 0>, <&mio_rst 3>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 4>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
@@ -263,6 +275,8 @@
clocks = <&mio_clk 1>;
reset-names = "host", "bridge", "hw";
resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
diff --git a/arch/arm/dts/uniphier-pro4.dtsi b/arch/arm/dts/uniphier-pro4.dtsi
index ef342088e1..d090fc7e2d 100644
--- a/arch/arm/dts/uniphier-pro4.dtsi
+++ b/arch/arm/dts/uniphier-pro4.dtsi
@@ -269,6 +269,16 @@
};
};
+ dmac: dma-controller@5a000000 {
+ compatible = "socionext,uniphier-mio-dmac";
+ reg = <0x5a000000 0x1000>;
+ interrupts = <0 68 4>, <0 68 4>, <0 69 4>, <0 70 4>,
+ <0 71 4>, <0 72 4>, <0 73 4>, <0 74 4>;
+ clocks = <&mio_clk 7>;
+ resets = <&mio_rst 7>;
+ #dma-cells = <1>;
+ };
+
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
@@ -280,6 +290,8 @@
clocks = <&mio_clk 0>;
reset-names = "host", "bridge";
resets = <&mio_rst 0>, <&mio_rst 3>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 4>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
@@ -297,6 +309,8 @@
clocks = <&mio_clk 1>;
reset-names = "host", "bridge", "hw";
resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 5>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
@@ -313,6 +327,8 @@
clocks = <&mio_clk 2>;
reset-names = "host", "bridge";
resets = <&mio_rst 2>, <&mio_rst 5>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 6>;
bus-width = <4>;
cap-sd-highspeed;
};
diff --git a/arch/arm/dts/uniphier-pxs2.dtsi b/arch/arm/dts/uniphier-pxs2.dtsi
index fa25ffd97f..4e11e85d8d 100644
--- a/arch/arm/dts/uniphier-pxs2.dtsi
+++ b/arch/arm/dts/uniphier-pxs2.dtsi
@@ -141,8 +141,10 @@
cooling-maps {
map {
trip = <&cpu_alert>;
- cooling-device = <&cpu0
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
diff --git a/arch/arm/dts/uniphier-pxs3-ref.dts b/arch/arm/dts/uniphier-pxs3-ref.dts
index 4fb12b8a67..1965e4dfe4 100644
--- a/arch/arm/dts/uniphier-pxs3-ref.dts
+++ b/arch/arm/dts/uniphier-pxs3-ref.dts
@@ -109,6 +109,10 @@
status = "okay";
};
+&pcie {
+ status = "okay";
+};
+
&nand {
status = "okay";
};
diff --git a/arch/arm/dts/uniphier-pxs3.dtsi b/arch/arm/dts/uniphier-pxs3.dtsi
index f629c6a862..961d4d3621 100644
--- a/arch/arm/dts/uniphier-pxs3.dtsi
+++ b/arch/arm/dts/uniphier-pxs3.dtsi
@@ -39,7 +39,7 @@
cpu0: cpu@0 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x000>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -48,7 +48,7 @@
cpu1: cpu@1 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x001>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -57,7 +57,7 @@
cpu2: cpu@2 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x002>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -66,7 +66,7 @@
cpu3: cpu@3 {
device_type = "cpu";
- compatible = "arm,cortex-a53", "arm,armv8";
+ compatible = "arm,cortex-a53";
reg = <0 0x003>;
clocks = <&sys_clk 33>;
enable-method = "psci";
@@ -765,6 +765,53 @@
};
};
+ pcie: pcie@66000000 {
+ compatible = "socionext,uniphier-pcie", "snps,dw-pcie";
+ status = "disabled";
+ reg-names = "dbi", "link", "config";
+ reg = <0x66000000 0x1000>, <0x66010000 0x10000>,
+ <0x2fff0000 0x10000>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ clocks = <&sys_clk 24>;
+ resets = <&sys_rst 24>;
+ num-lanes = <1>;
+ num-viewport = <1>;
+ bus-range = <0x0 0xff>;
+ device_type = "pci";
+ ranges =
+ /* downstream I/O */
+ <0x81000000 0 0x00000000 0x2ffe0000 0 0x00010000>,
+ /* non-prefetchable memory */
+ <0x82000000 0 0x20000000 0x20000000 0 0x0ffe0000>;
+ #interrupt-cells = <1>;
+ interrupt-names = "dma", "msi";
+ interrupts = <0 224 4>, <0 225 4>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc 0>, /* INTA */
+ <0 0 0 2 &pcie_intc 1>, /* INTB */
+ <0 0 0 3 &pcie_intc 2>, /* INTC */
+ <0 0 0 4 &pcie_intc 3>; /* INTD */
+ phy-names = "pcie-phy";
+ phys = <&pcie_phy>;
+
+ pcie_intc: legacy-interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&gic>;
+ interrupts = <0 226 4>;
+ };
+ };
+
+ pcie_phy: phy@66038000 {
+ compatible = "socionext,uniphier-pxs3-pcie-phy";
+ reg = <0x66038000 0x4000>;
+ #phy-cells = <0>;
+ clocks = <&sys_clk 24>;
+ resets = <&sys_rst 24>;
+ socionext,syscon = <&soc_glue>;
+ };
+
nand: nand@68000000 {
compatible = "socionext,uniphier-denali-nand-v5b";
status = "disabled";
diff --git a/arch/arm/dts/uniphier-sld8.dtsi b/arch/arm/dts/uniphier-sld8.dtsi
index f7fcf6b459..efce02768b 100644
--- a/arch/arm/dts/uniphier-sld8.dtsi
+++ b/arch/arm/dts/uniphier-sld8.dtsi
@@ -239,6 +239,16 @@
};
};
+ dmac: dma-controller@5a000000 {
+ compatible = "socionext,uniphier-mio-dmac";
+ reg = <0x5a000000 0x1000>;
+ interrupts = <0 68 4>, <0 68 4>, <0 69 4>, <0 70 4>,
+ <0 71 4>, <0 72 4>, <0 73 4>;
+ clocks = <&mio_clk 7>;
+ resets = <&mio_rst 7>;
+ #dma-cells = <1>;
+ };
+
sd: sdhc@5a400000 {
compatible = "socionext,uniphier-sd-v2.91";
status = "disabled";
@@ -250,6 +260,8 @@
clocks = <&mio_clk 0>;
reset-names = "host", "bridge";
resets = <&mio_rst 0>, <&mio_rst 3>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 4>;
bus-width = <4>;
cap-sd-highspeed;
sd-uhs-sdr12;
@@ -267,6 +279,8 @@
clocks = <&mio_clk 1>;
reset-names = "host", "bridge", "hw";
resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
+ dma-names = "rx-tx";
+ dmas = <&dmac 6>;
bus-width = <8>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
--
2.17.1
1
1
Hello everyone,
My task is to migrate a board from a U-Boot of version v2016.01 to the latest state of the mainline. So first of all, I am analyzing the configuration system KConfig that has changed in the meantime.
I do not really understand what has changed with KConfig. Is it just the fact that we can now declare the configurations in the "defconfig" file? As I have seen, the KConfig file in the board specific folder only contains general information like the vendor and board name.
I would really appreciate a helpful answer that brings me further in my school project.
Sincerely,
Pascal Linder
Student Telekommunikation Netzwerke und Sicherheit
Klasse T-3b
2
1

[U-Boot] [PATCH v2] lib: decode_timing_property should return -NOENT when proprty is not found
by megous@megous.com 12 Apr '19
by megous@megous.com 12 Apr '19
12 Apr '19
From: Ondrej Jirman <megous(a)megous.com>
Length may be unitialized when fdt_getprop fails. Return ENOENT when
the property can't be found.
Signed-off-by: Ondřej Jirman <megous(a)megous.com>
---
This was previously sent as a part of other series of patches, but
it's unrelated to the rest of the patches, so I'm resending it
individually.
v2:
- improved description
lib/fdtdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 18663ce6bd..3510de78e1 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -980,7 +980,7 @@ static int decode_timing_property(const void *blob, int node, const char *name,
if (!prop) {
debug("%s: could not find property %s\n",
fdt_get_name(blob, node, NULL), name);
- return length;
+ return -ENOENT;
}
if (length == sizeof(u32)) {
--
2.20.1
3
3

[U-Boot] [PATCH v4 00/25] MTD defconfigs/Kconfigs/Makefiles heavy cleanup
by Miquel Raynal 12 Apr '19
by Miquel Raynal 12 Apr '19
12 Apr '19
Hello,
During my last project about SPI-NAND support in U-Boot, I discovered
when modifying Makefiles a confusing organization where:
* Sub-directories/files are compiled from the root Makefile
* Commands are at the root of everything
I sent a fist series a few weeks ago to move Makefile entries in their
respective directories (which needed to be reworked). Since then, I
have been working on clarifying all this for the MTD subsystem and
here are the main points of such re-organization:
* Rename CONFIG_MTD into CONFIG_DM_MTD to reserve CONFIG_MTD to what
is called today CONFIG_MTD_DEVICE.
* Fix build dependencies in defconfigs, like: "UBI and NAND depend on MTD".
* Fix the Kconfig files to reflect these dependencies (as defconfigs
have been updated, nothing should break).
* Simplify the Makefiles: compiling the drivers/mtd/nand/raw/
sub-directory should just depend on MTD being compiled and the NAND
core as well, there is absolutely no logic to make it depend on
CMD_NAND.
New green Travis CI build for the third version of this series:
https://travis-ci.org/miquelraynal/u-boot/builds/463486099
There are three Sandbox tests that are failing, they have not been
break by this series. The following Travis test has been done on the
commit on which has been based the series and shows the same errors:
https://travis-ci.org/miquelraynal/u-boot/builds/463593006
Thanks,
Miquèl
Note: as the number of Cc:'ed people reached 184 with
get_maintainers.pl I decided to trim the list to:
* People interested by the MTD subsystem.
* A few maintainers: I had to tweak some defconfigs after more digging
than with other boards (k2g, bcm11130, M54418TWR). Maintainers of
these platforms are Cc:'ed.
Changes since v3:
=================
* As suggested by Vignesh, SPI_FLASH_MTD depends on MTD. Enforce this
in Kconfig with a new patch. There is no defconfig to fix, all
defconfigs with SPI_FLASH_MTD already use MTD.
* s/coherent Makefile/appropriate Makefile/ in commit title of patch 1.
* s/Kconfig/Makefile in commit message of "mtd: nand: remove
dependency on commands in Kconfig" and "mtd: ubi: remove dependency
on command in Kconfig".
* Add Boris R-b tags.
* Correct typos pointed by Boris.
* Remove the if/endif in cmd/Kconfig about mtdparts, let the "depends
on" that was already present.
* Use an if/endif block to compile legacy-mtd-utils.c (to avoid
failures when both 'sf' and 'nand' commands are compiled-in).
* Merge all Makefile changes in one consistent commit as suggested by
Boris.
Changes since v2:
=================
* Cleanup also applied to the SPL in an additional patch.
* NOR dependency on MTD extracted from the patch adding MTD
dependencies on commands only to do it in a separate change.
* Typo s/copile/compile/ in "rename CONFIG_MTD_DEVICE..." commit log.
* No more MTD depencency on SPI_FLASH, only kept on SPI_FLASH_MTD.
* Same applies to the sf command.
* Avoid compiling the NAND core while it is not needed (not speaking
about the raw NAND core, really what is in drivers/mtd/nand:).
* Last patch dropping CONFIG_MTD_PARTITIONS forgotten. We need them in
order to reduce the final binary size.
* Additional fixes in cmd/Kconfig.
Changes since v1:
=================
* Squashed both patches from the first series and included them in
"mtd: simplify Makefiles".
* Added all other patches.
* Renamed CONFIG_NAND into CONFIG_MTD_RAW_NAND as suggested.
Miquel Raynal (25):
mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND
mtd: rename CONFIG_MTD -> CONFIG_DM_MTD
mtd: rename CONFIG_MTD_DEVICE -> CONFIG_MTD
mtd: ensure MTD is compiled when there is a NOR flash
mtd: ensure MTD/the raw NAND core are compiled when there is a NAND
flash
mtd: ensure MTD is compiled when there is a SPI NOR flash using MTD
mtd: ensure UBI is compiled when using fastmap
mtd: ensure MTD is compiled when UBI is used
mtd: ensure UBI is compiled when CMD_UBI is selected
mtd: ensure UBI is compiled when ENV_IS_IN_UBI is selected
mtd: ensure MTD_RAW_NAND is compiled when ENV_IS_IN_NAND is selected
mtd: ensure MTD and NOR drivers are compiled with ENV_IS_IN_FLASH
mtd: ensure CMD_NAND is compiled when its options are selected
mtd: ensure MTD is compiled when CMD_MTDPARTS is selected
configs: move CONFIG_MTD in defconfigs when set in arch includes
configs: remove raw NAND core from k2g defconfigs
configs: remove MTD support from bcm11130 and M54418TWR defconfigs
mtd: nand: add includes in NAND core to avoid warnings
dfu: add dependency on the raw NAND core
mtd: nor: NOR flashes depend on MTD
mtd: spi: SPI_FLASH_MTD depends on MTD
cmd: mtdparts: Kconfig: join mtdparts command entry with its options
cmd: nand/sf: isolate legacy code
cmd: make MTD commands depend on MTD
mtd: Makefile: deep cleanup
Makefile | 5 -
arch/arm/mach-omap2/mem-common.c | 6 +-
board/BuR/brppt1/board.c | 2 +-
board/BuR/brppt1/mux.c | 6 +-
board/birdland/bav335x/board.c | 2 +-
board/bosch/shc/board.c | 2 +-
board/freescale/ls2080aqds/ls2080aqds.c | 2 +-
board/freescale/t102xrdb/t102xrdb.c | 2 +-
board/phytec/pcm051/mux.c | 4 +-
board/siemens/pxm2/mux.c | 4 +-
board/sunxi/README.nand | 2 +-
board/ti/am335x/board.c | 2 +-
board/ti/am335x/mux.c | 8 +-
board/ti/am43xx/mux.c | 8 +-
board/ti/ti816x/evm.c | 2 +-
board/vscom/baltos/board.c | 2 +-
board/vscom/baltos/mux.c | 2 +-
cmd/Kconfig | 34 ++++---
cmd/Makefile | 3 +
cmd/legacy-mtd-utils.c | 99 +++++++++++++++++++
cmd/legacy-mtd-utils.h | 14 +++
cmd/nand.c | 2 +
cmd/sf.c | 2 +
configs/10m50_defconfig | 2 +-
configs/3c120_defconfig | 1 +
configs/B4420QDS_NAND_defconfig | 3 +-
configs/B4420QDS_SPIFLASH_defconfig | 1 +
configs/B4420QDS_defconfig | 1 +
configs/B4860QDS_NAND_defconfig | 3 +-
configs/B4860QDS_SECURE_BOOT_defconfig | 1 +
configs/B4860QDS_SPIFLASH_defconfig | 1 +
configs/B4860QDS_defconfig | 1 +
configs/BSC9131RDB_NAND_SYSCLK100_defconfig | 3 +-
configs/BSC9131RDB_NAND_defconfig | 3 +-
.../BSC9131RDB_SPIFLASH_SYSCLK100_defconfig | 1 +
configs/BSC9131RDB_SPIFLASH_defconfig | 1 +
...BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig | 2 +
configs/BSC9132QDS_NAND_DDRCLK100_defconfig | 3 +-
...BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig | 2 +
configs/BSC9132QDS_NAND_DDRCLK133_defconfig | 3 +-
.../BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig | 1 +
configs/BSC9132QDS_NOR_DDRCLK100_defconfig | 1 +
.../BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig | 1 +
configs/BSC9132QDS_NOR_DDRCLK133_defconfig | 1 +
...C9132QDS_SDCARD_DDRCLK100_SECURE_defconfig | 1 +
configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig | 1 +
...C9132QDS_SDCARD_DDRCLK133_SECURE_defconfig | 1 +
configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig | 1 +
...132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig | 1 +
.../BSC9132QDS_SPIFLASH_DDRCLK100_defconfig | 1 +
...132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig | 1 +
.../BSC9132QDS_SPIFLASH_DDRCLK133_defconfig | 1 +
configs/C29XPCIE_NAND_defconfig | 3 +-
configs/C29XPCIE_NOR_SECBOOT_defconfig | 1 +
configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig | 1 +
configs/C29XPCIE_SPIFLASH_defconfig | 1 +
configs/C29XPCIE_defconfig | 1 +
configs/CHIP_pro_defconfig | 5 +-
configs/M5208EVBE_defconfig | 1 +
configs/M52277EVB_defconfig | 1 +
configs/M52277EVB_stmicro_defconfig | 1 +
configs/M5235EVB_Flash32_defconfig | 1 +
configs/M5235EVB_defconfig | 1 +
configs/M5249EVB_defconfig | 1 +
configs/M5253DEMO_defconfig | 1 +
configs/M5272C3_defconfig | 1 +
configs/M5275EVB_defconfig | 1 +
configs/M5282EVB_defconfig | 1 +
configs/M53017EVB_defconfig | 1 +
configs/M5329AFEE_defconfig | 1 +
configs/M5329BFEE_defconfig | 1 +
configs/M5373EVB_defconfig | 1 +
configs/M54418TWR_nand_mii_defconfig | 1 +
configs/M54418TWR_nand_rmii_defconfig | 1 +
configs/M54418TWR_nand_rmii_lowfreq_defconfig | 1 +
configs/M54451EVB_defconfig | 1 +
configs/M54451EVB_stmicro_defconfig | 1 +
configs/M54455EVB_a66_defconfig | 1 +
configs/M54455EVB_defconfig | 1 +
configs/M54455EVB_i66_defconfig | 1 +
configs/M54455EVB_intel_defconfig | 1 +
configs/M54455EVB_stm33_defconfig | 1 +
configs/M5475AFE_defconfig | 1 +
configs/M5475BFE_defconfig | 1 +
configs/M5475CFE_defconfig | 1 +
configs/M5475DFE_defconfig | 1 +
configs/M5475EFE_defconfig | 1 +
configs/M5475FFE_defconfig | 1 +
configs/M5475GFE_defconfig | 1 +
configs/M5485AFE_defconfig | 1 +
configs/M5485BFE_defconfig | 1 +
configs/M5485CFE_defconfig | 1 +
configs/M5485DFE_defconfig | 1 +
configs/M5485EFE_defconfig | 1 +
configs/M5485FFE_defconfig | 1 +
configs/M5485GFE_defconfig | 1 +
configs/M5485HFE_defconfig | 1 +
configs/MCR3000_defconfig | 1 +
configs/MPC8308RDB_defconfig | 1 +
configs/MPC8313ERDB_33_defconfig | 1 +
configs/MPC8313ERDB_66_defconfig | 1 +
configs/MPC8313ERDB_NAND_33_defconfig | 3 +-
configs/MPC8313ERDB_NAND_66_defconfig | 3 +-
configs/MPC8315ERDB_defconfig | 1 +
configs/MPC8323ERDB_defconfig | 1 +
configs/MPC832XEMDS_ATM_defconfig | 1 +
configs/MPC832XEMDS_HOST_33_defconfig | 1 +
configs/MPC832XEMDS_HOST_66_defconfig | 1 +
configs/MPC832XEMDS_SLAVE_defconfig | 1 +
configs/MPC832XEMDS_defconfig | 1 +
configs/MPC8349EMDS_defconfig | 1 +
configs/MPC8349ITXGP_defconfig | 1 +
configs/MPC8349ITX_LOWBOOT_defconfig | 1 +
configs/MPC8349ITX_defconfig | 1 +
configs/MPC837XEMDS_HOST_defconfig | 1 +
configs/MPC837XEMDS_defconfig | 1 +
configs/MPC837XERDB_defconfig | 1 +
configs/MPC8536DS_36BIT_defconfig | 1 +
configs/MPC8536DS_SDCARD_defconfig | 1 +
configs/MPC8536DS_SPIFLASH_defconfig | 1 +
configs/MPC8536DS_defconfig | 1 +
configs/MPC8541CDS_defconfig | 1 +
configs/MPC8541CDS_legacy_defconfig | 1 +
configs/MPC8544DS_defconfig | 1 +
configs/MPC8548CDS_36BIT_defconfig | 1 +
configs/MPC8548CDS_defconfig | 1 +
configs/MPC8548CDS_legacy_defconfig | 1 +
configs/MPC8555CDS_defconfig | 1 +
configs/MPC8555CDS_legacy_defconfig | 1 +
configs/MPC8568MDS_defconfig | 1 +
configs/MPC8569MDS_ATM_defconfig | 1 +
configs/MPC8569MDS_defconfig | 1 +
configs/MPC8572DS_36BIT_defconfig | 1 +
configs/MPC8572DS_defconfig | 1 +
configs/MPC8610HPCD_defconfig | 1 +
configs/MPC8641HPCN_36BIT_defconfig | 1 +
configs/MPC8641HPCN_defconfig | 1 +
configs/MigoR_defconfig | 1 +
.../Nintendo_NES_Classic_Edition_defconfig | 3 +-
.../P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig | 2 +
configs/P1010RDB-PA_36BIT_NAND_defconfig | 3 +-
.../P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig | 1 +
configs/P1010RDB-PA_36BIT_NOR_defconfig | 1 +
configs/P1010RDB-PA_36BIT_SDCARD_defconfig | 1 +
...010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig | 1 +
configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig | 1 +
configs/P1010RDB-PA_NAND_SECBOOT_defconfig | 2 +
configs/P1010RDB-PA_NAND_defconfig | 3 +-
configs/P1010RDB-PA_NOR_SECBOOT_defconfig | 1 +
configs/P1010RDB-PA_NOR_defconfig | 1 +
configs/P1010RDB-PA_SDCARD_defconfig | 1 +
.../P1010RDB-PA_SPIFLASH_SECBOOT_defconfig | 1 +
configs/P1010RDB-PA_SPIFLASH_defconfig | 1 +
.../P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig | 2 +
configs/P1010RDB-PB_36BIT_NAND_defconfig | 3 +-
.../P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig | 1 +
configs/P1010RDB-PB_36BIT_NOR_defconfig | 1 +
configs/P1010RDB-PB_36BIT_SDCARD_defconfig | 1 +
...010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig | 1 +
configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig | 1 +
configs/P1010RDB-PB_NAND_SECBOOT_defconfig | 2 +
configs/P1010RDB-PB_NAND_defconfig | 3 +-
configs/P1010RDB-PB_NOR_SECBOOT_defconfig | 1 +
configs/P1010RDB-PB_NOR_defconfig | 1 +
configs/P1010RDB-PB_SDCARD_defconfig | 1 +
.../P1010RDB-PB_SPIFLASH_SECBOOT_defconfig | 1 +
configs/P1010RDB-PB_SPIFLASH_defconfig | 1 +
configs/P1020MBG-PC_36BIT_SDCARD_defconfig | 1 +
configs/P1020MBG-PC_36BIT_defconfig | 1 +
configs/P1020MBG-PC_SDCARD_defconfig | 1 +
configs/P1020MBG-PC_defconfig | 1 +
configs/P1020RDB-PC_36BIT_NAND_defconfig | 3 +-
configs/P1020RDB-PC_36BIT_SDCARD_defconfig | 1 +
configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig | 1 +
configs/P1020RDB-PC_36BIT_defconfig | 1 +
configs/P1020RDB-PC_NAND_defconfig | 3 +-
configs/P1020RDB-PC_SDCARD_defconfig | 1 +
configs/P1020RDB-PC_SPIFLASH_defconfig | 1 +
configs/P1020RDB-PC_defconfig | 1 +
configs/P1020RDB-PD_NAND_defconfig | 3 +-
configs/P1020RDB-PD_SDCARD_defconfig | 1 +
configs/P1020RDB-PD_SPIFLASH_defconfig | 1 +
configs/P1020RDB-PD_defconfig | 1 +
configs/P1020UTM-PC_36BIT_SDCARD_defconfig | 1 +
configs/P1020UTM-PC_36BIT_defconfig | 1 +
configs/P1020UTM-PC_SDCARD_defconfig | 1 +
configs/P1020UTM-PC_defconfig | 1 +
configs/P1021RDB-PC_36BIT_NAND_defconfig | 3 +-
configs/P1021RDB-PC_36BIT_SDCARD_defconfig | 1 +
configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig | 1 +
configs/P1021RDB-PC_36BIT_defconfig | 1 +
configs/P1021RDB-PC_NAND_defconfig | 3 +-
configs/P1021RDB-PC_SDCARD_defconfig | 1 +
configs/P1021RDB-PC_SPIFLASH_defconfig | 1 +
configs/P1021RDB-PC_defconfig | 1 +
configs/P1022DS_36BIT_NAND_defconfig | 3 +-
configs/P1022DS_36BIT_SDCARD_defconfig | 1 +
configs/P1022DS_36BIT_SPIFLASH_defconfig | 1 +
configs/P1022DS_36BIT_defconfig | 1 +
configs/P1022DS_NAND_defconfig | 3 +-
configs/P1022DS_SDCARD_defconfig | 1 +
configs/P1022DS_SPIFLASH_defconfig | 1 +
configs/P1022DS_defconfig | 1 +
configs/P1023RDB_defconfig | 1 +
configs/P1024RDB_36BIT_defconfig | 1 +
configs/P1024RDB_NAND_defconfig | 3 +-
configs/P1024RDB_SDCARD_defconfig | 1 +
configs/P1024RDB_SPIFLASH_defconfig | 1 +
configs/P1024RDB_defconfig | 1 +
configs/P1025RDB_36BIT_defconfig | 1 +
configs/P1025RDB_NAND_defconfig | 3 +-
configs/P1025RDB_SDCARD_defconfig | 1 +
configs/P1025RDB_SPIFLASH_defconfig | 1 +
configs/P1025RDB_defconfig | 1 +
configs/P2020RDB-PC_36BIT_NAND_defconfig | 3 +-
configs/P2020RDB-PC_36BIT_SDCARD_defconfig | 1 +
configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig | 1 +
configs/P2020RDB-PC_36BIT_defconfig | 1 +
configs/P2020RDB-PC_NAND_defconfig | 3 +-
configs/P2020RDB-PC_SDCARD_defconfig | 1 +
configs/P2020RDB-PC_SPIFLASH_defconfig | 1 +
configs/P2020RDB-PC_defconfig | 1 +
configs/P2041RDB_NAND_defconfig | 3 +-
configs/P2041RDB_SDCARD_defconfig | 1 +
configs/P2041RDB_SECURE_BOOT_defconfig | 1 +
configs/P2041RDB_SPIFLASH_defconfig | 1 +
configs/P2041RDB_defconfig | 1 +
configs/P3041DS_NAND_SECURE_BOOT_defconfig | 3 +-
configs/P3041DS_NAND_defconfig | 3 +-
configs/P3041DS_SDCARD_defconfig | 1 +
configs/P3041DS_SECURE_BOOT_defconfig | 1 +
configs/P3041DS_SPIFLASH_defconfig | 1 +
configs/P3041DS_defconfig | 1 +
configs/P4080DS_SDCARD_defconfig | 1 +
configs/P4080DS_SECURE_BOOT_defconfig | 1 +
configs/P4080DS_SPIFLASH_defconfig | 1 +
configs/P4080DS_defconfig | 1 +
configs/P5020DS_NAND_SECURE_BOOT_defconfig | 3 +-
configs/P5020DS_NAND_defconfig | 3 +-
configs/P5020DS_SDCARD_defconfig | 1 +
configs/P5020DS_SECURE_BOOT_defconfig | 1 +
configs/P5020DS_SPIFLASH_defconfig | 1 +
configs/P5020DS_defconfig | 1 +
configs/P5040DS_NAND_SECURE_BOOT_defconfig | 3 +-
configs/P5040DS_NAND_defconfig | 3 +-
configs/P5040DS_SDCARD_defconfig | 1 +
configs/P5040DS_SECURE_BOOT_defconfig | 1 +
configs/P5040DS_SPIFLASH_defconfig | 1 +
configs/P5040DS_defconfig | 1 +
configs/T1023RDB_NAND_defconfig | 3 +-
configs/T1023RDB_SDCARD_defconfig | 1 +
configs/T1023RDB_SECURE_BOOT_defconfig | 1 +
configs/T1023RDB_SPIFLASH_defconfig | 1 +
configs/T1023RDB_defconfig | 1 +
configs/T1024QDS_DDR4_SECURE_BOOT_defconfig | 1 +
configs/T1024QDS_DDR4_defconfig | 1 +
configs/T1024QDS_NAND_defconfig | 3 +-
configs/T1024QDS_SDCARD_defconfig | 1 +
configs/T1024QDS_SECURE_BOOT_defconfig | 1 +
configs/T1024QDS_SPIFLASH_defconfig | 1 +
configs/T1024QDS_defconfig | 1 +
configs/T1024RDB_NAND_defconfig | 3 +-
configs/T1024RDB_SDCARD_defconfig | 1 +
configs/T1024RDB_SECURE_BOOT_defconfig | 1 +
configs/T1024RDB_SPIFLASH_defconfig | 1 +
configs/T1024RDB_defconfig | 1 +
configs/T1040D4RDB_NAND_defconfig | 3 +-
configs/T1040D4RDB_SDCARD_defconfig | 1 +
configs/T1040D4RDB_SECURE_BOOT_defconfig | 1 +
configs/T1040D4RDB_SPIFLASH_defconfig | 1 +
configs/T1040D4RDB_defconfig | 1 +
configs/T1040QDS_DDR4_defconfig | 1 +
configs/T1040QDS_SECURE_BOOT_defconfig | 1 +
configs/T1040QDS_defconfig | 1 +
configs/T1040RDB_NAND_defconfig | 3 +-
configs/T1040RDB_SDCARD_defconfig | 1 +
configs/T1040RDB_SECURE_BOOT_defconfig | 1 +
configs/T1040RDB_SPIFLASH_defconfig | 1 +
configs/T1040RDB_defconfig | 1 +
configs/T1042D4RDB_NAND_defconfig | 3 +-
configs/T1042D4RDB_SDCARD_defconfig | 1 +
configs/T1042D4RDB_SECURE_BOOT_defconfig | 1 +
configs/T1042D4RDB_SPIFLASH_defconfig | 1 +
configs/T1042D4RDB_defconfig | 1 +
.../T1042RDB_PI_NAND_SECURE_BOOT_defconfig | 3 +-
configs/T1042RDB_PI_NAND_defconfig | 3 +-
configs/T1042RDB_PI_SDCARD_defconfig | 1 +
configs/T1042RDB_PI_SPIFLASH_defconfig | 1 +
configs/T1042RDB_PI_defconfig | 1 +
configs/T1042RDB_SECURE_BOOT_defconfig | 1 +
configs/T1042RDB_defconfig | 1 +
configs/T2080QDS_NAND_defconfig | 3 +-
configs/T2080QDS_SDCARD_defconfig | 1 +
configs/T2080QDS_SECURE_BOOT_defconfig | 1 +
configs/T2080QDS_SPIFLASH_defconfig | 1 +
configs/T2080QDS_defconfig | 1 +
configs/T2080RDB_NAND_defconfig | 3 +-
configs/T2080RDB_SDCARD_defconfig | 1 +
configs/T2080RDB_SECURE_BOOT_defconfig | 1 +
configs/T2080RDB_SPIFLASH_defconfig | 1 +
configs/T2080RDB_defconfig | 1 +
configs/T2081QDS_NAND_defconfig | 3 +-
configs/T2081QDS_SDCARD_defconfig | 1 +
configs/T2081QDS_SPIFLASH_defconfig | 1 +
configs/T2081QDS_defconfig | 1 +
configs/T4160QDS_NAND_defconfig | 3 +-
configs/T4160QDS_SDCARD_defconfig | 1 +
configs/T4160QDS_SECURE_BOOT_defconfig | 1 +
configs/T4160QDS_defconfig | 1 +
configs/T4160RDB_defconfig | 1 +
configs/T4240QDS_NAND_defconfig | 3 +-
configs/T4240QDS_SDCARD_defconfig | 1 +
configs/T4240QDS_SECURE_BOOT_defconfig | 1 +
configs/T4240QDS_defconfig | 1 +
configs/T4240RDB_SDCARD_defconfig | 1 +
configs/T4240RDB_defconfig | 1 +
configs/TQM834x_defconfig | 2 +-
configs/TWR-P1025_defconfig | 2 +-
configs/UCP1020_SPIFLASH_defconfig | 1 +
configs/UCP1020_defconfig | 1 +
configs/adp-ae3xx_defconfig | 3 +-
configs/adp-ag101p_defconfig | 1 +
configs/alt_defconfig | 2 +-
configs/am335x_baltos_defconfig | 4 +-
configs/am335x_evm_defconfig | 3 +-
configs/am335x_evm_nor_defconfig | 3 +-
configs/am335x_evm_norboot_defconfig | 2 +-
configs/am335x_evm_spiboot_defconfig | 2 +-
configs/am335x_evm_usbspl_defconfig | 3 +-
configs/am335x_hs_evm_defconfig | 3 +-
configs/am335x_hs_evm_uart_defconfig | 3 +-
configs/am335x_igep003x_defconfig | 4 +-
configs/am3517_crane_defconfig | 3 +-
configs/am3517_evm_defconfig | 4 +-
configs/am43xx_evm_defconfig | 3 +-
configs/am43xx_evm_ethboot_defconfig | 3 +-
configs/am43xx_evm_rtconly_defconfig | 3 +-
configs/am43xx_evm_usbhost_boot_defconfig | 3 +-
configs/am43xx_hs_evm_defconfig | 3 +-
configs/amcore_defconfig | 1 +
configs/ap121_defconfig | 1 +
configs/ap143_defconfig | 1 +
configs/ap325rxa_defconfig | 1 +
configs/ap_sh4a_4a_defconfig | 1 +
configs/apf27_defconfig | 5 +-
configs/apx4devkit_defconfig | 4 +-
configs/aristainetos2_defconfig | 5 +-
configs/aristainetos2b_defconfig | 5 +-
configs/aristainetos_defconfig | 5 +-
configs/armadillo-800eva_defconfig | 2 +
configs/astro_mcf5373l_defconfig | 1 +
configs/at91rm9200ek_defconfig | 1 +
configs/at91rm9200ek_ram_defconfig | 1 +
configs/at91sam9260ek_dataflash_cs0_defconfig | 3 +-
configs/at91sam9260ek_dataflash_cs1_defconfig | 3 +-
configs/at91sam9260ek_nandflash_defconfig | 3 +-
configs/at91sam9261ek_dataflash_cs0_defconfig | 3 +-
configs/at91sam9261ek_dataflash_cs3_defconfig | 3 +-
configs/at91sam9261ek_nandflash_defconfig | 3 +-
configs/at91sam9263ek_dataflash_cs0_defconfig | 3 +-
configs/at91sam9263ek_dataflash_defconfig | 3 +-
configs/at91sam9263ek_nandflash_defconfig | 3 +-
configs/at91sam9263ek_norflash_boot_defconfig | 3 +-
configs/at91sam9263ek_norflash_defconfig | 3 +-
configs/at91sam9g10ek_dataflash_cs0_defconfig | 3 +-
configs/at91sam9g10ek_dataflash_cs3_defconfig | 3 +-
configs/at91sam9g10ek_nandflash_defconfig | 3 +-
configs/at91sam9g20ek_2mmc_defconfig | 3 +-
.../at91sam9g20ek_2mmc_nandflash_defconfig | 3 +-
configs/at91sam9g20ek_dataflash_cs0_defconfig | 3 +-
configs/at91sam9g20ek_dataflash_cs1_defconfig | 3 +-
configs/at91sam9g20ek_nandflash_defconfig | 3 +-
configs/at91sam9m10g45ek_mmc_defconfig | 3 +-
configs/at91sam9m10g45ek_nandflash_defconfig | 2 +
configs/at91sam9n12ek_mmc_defconfig | 3 +-
configs/at91sam9n12ek_nandflash_defconfig | 2 +
configs/at91sam9n12ek_spiflash_defconfig | 3 +-
configs/at91sam9rlek_dataflash_defconfig | 3 +-
configs/at91sam9rlek_mmc_defconfig | 3 +-
configs/at91sam9rlek_nandflash_defconfig | 3 +-
configs/at91sam9x5ek_dataflash_defconfig | 4 +-
configs/at91sam9x5ek_mmc_defconfig | 4 +-
configs/at91sam9x5ek_nandflash_defconfig | 3 +
configs/at91sam9x5ek_spiflash_defconfig | 4 +-
configs/at91sam9xeek_dataflash_cs0_defconfig | 3 +-
configs/at91sam9xeek_dataflash_cs1_defconfig | 3 +-
configs/at91sam9xeek_nandflash_defconfig | 3 +-
configs/ax25-ae350_defconfig | 1 +
configs/axm_defconfig | 3 +-
configs/axs101_defconfig | 2 +
configs/axs103_defconfig | 2 +
configs/bcm11130_nand_defconfig | 1 -
configs/bg0900_defconfig | 4 +-
configs/bitmain_antminer_s9_defconfig | 7 +-
configs/bk4r1_defconfig | 4 +
configs/blanche_defconfig | 1 +
configs/boston32r2_defconfig | 1 +
configs/boston32r2el_defconfig | 1 +
configs/boston32r6_defconfig | 1 +
configs/boston32r6el_defconfig | 1 +
configs/boston64r2_defconfig | 1 +
configs/boston64r2el_defconfig | 1 +
configs/boston64r6_defconfig | 1 +
configs/boston64r6el_defconfig | 1 +
configs/brppt1_nand_defconfig | 3 +-
configs/brppt1_spi_defconfig | 2 +-
configs/caddy2_defconfig | 1 +
configs/cairo_defconfig | 3 +-
configs/calimain_defconfig | 1 +
configs/chiliboard_defconfig | 3 +-
configs/clearfog_defconfig | 1 +
configs/cm_fx6_defconfig | 3 +-
configs/cm_t335_defconfig | 3 +-
configs/cm_t3517_defconfig | 3 +-
configs/cm_t35_defconfig | 3 +-
configs/cm_t43_defconfig | 3 +-
configs/cobra5272_defconfig | 1 +
configs/colibri-imx6ull_defconfig | 7 +-
configs/colibri_imx7_defconfig | 5 +-
configs/colibri_pxa270_defconfig | 1 +
configs/colibri_t20_defconfig | 3 +
configs/colibri_vf_defconfig | 3 +
configs/comtrend_ar5315u_ram_defconfig | 1 +
configs/comtrend_ar5387un_ram_defconfig | 1 +
configs/comtrend_ct5361_ram_defconfig | 1 +
configs/comtrend_wap5813n_ram_defconfig | 1 +
configs/corvus_defconfig | 3 +-
configs/da850_am18xxevm_defconfig | 2 +-
configs/da850evm_defconfig | 2 +-
configs/da850evm_direct_nor_defconfig | 1 +
configs/da850evm_nand_defconfig | 3 +-
configs/db-88f6820-amc_defconfig | 3 +-
configs/db-mv784mp-gp_defconfig | 3 +-
configs/devkit3250_defconfig | 3 +-
configs/devkit8000_defconfig | 3 +-
configs/display5_defconfig | 2 +-
configs/display5_factory_defconfig | 2 +-
configs/dns325_defconfig | 3 +
configs/dockstar_defconfig | 3 +
configs/draco_defconfig | 4 +-
configs/ds414_defconfig | 3 +-
configs/ea20_defconfig | 4 +-
configs/eb_cpu5282_defconfig | 1 +
configs/eb_cpu5282_internal_defconfig | 1 +
configs/eco5pk_defconfig | 4 +-
configs/ecovec_defconfig | 1 +
configs/edb9315a_defconfig | 1 +
configs/edminiv2_defconfig | 1 +
configs/espt_defconfig | 1 +
configs/etamin_defconfig | 4 +-
configs/ethernut5_defconfig | 4 +-
configs/evb-rv1108_defconfig | 1 +
configs/flea3_defconfig | 3 +-
...gardena-smart-gateway-mt7688-ram_defconfig | 2 +
.../gardena-smart-gateway-mt7688_defconfig | 2 +
configs/goflexhome_defconfig | 3 +
configs/gose_defconfig | 2 +-
configs/gurnard_defconfig | 3 +-
configs/guruplug_defconfig | 3 +
configs/gwventana_emmc_defconfig | 3 +-
configs/gwventana_gw5904_defconfig | 3 +-
configs/gwventana_nand_defconfig | 5 +-
configs/harmony_defconfig | 3 +
configs/helios4_defconfig | 1 +
configs/hrcon_defconfig | 1 +
configs/hrcon_dh_defconfig | 1 +
configs/huawei_hg556a_ram_defconfig | 1 +
configs/ib62x0_defconfig | 3 +
configs/iconnect_defconfig | 3 +
configs/ids8313_defconfig | 3 +
configs/igep0032_defconfig | 4 +-
configs/igep00x0_defconfig | 4 +-
configs/imx6dl_icore_nand_defconfig | 4 +-
configs/imx6q_icore_nand_defconfig | 4 +-
configs/imx6q_logic_defconfig | 5 +-
configs/imx6qdl_icore_mmc_defconfig | 4 +-
configs/imx6qdl_icore_nand_defconfig | 4 +-
configs/imx6ul_geam_nand_defconfig | 4 +-
configs/imx6ul_isiot_nand_defconfig | 4 +-
configs/integratorap_cm720t_defconfig | 1 +
configs/integratorap_cm920t_defconfig | 1 +
configs/integratorap_cm926ejs_defconfig | 1 +
configs/integratorap_cm946es_defconfig | 1 +
configs/integratorcp_cm1136_defconfig | 1 +
configs/integratorcp_cm920t_defconfig | 1 +
configs/integratorcp_cm926ejs_defconfig | 1 +
configs/integratorcp_cm946es_defconfig | 1 +
configs/ipam390_defconfig | 4 +-
configs/k2e_evm_defconfig | 4 +-
configs/k2e_hs_evm_defconfig | 4 +-
configs/k2g_evm_defconfig | 5 +-
configs/k2g_hs_evm_defconfig | 5 +-
configs/k2hk_evm_defconfig | 4 +-
configs/k2hk_hs_evm_defconfig | 4 +-
configs/k2l_evm_defconfig | 4 +-
configs/k2l_hs_evm_defconfig | 4 +-
configs/khadas-vim2_defconfig | 2 +-
configs/km_kirkwood_128m16_defconfig | 3 +
configs/km_kirkwood_defconfig | 3 +
configs/km_kirkwood_pci_defconfig | 3 +
configs/kmcoge4_defconfig | 2 +
configs/kmcoge5ne_defconfig | 2 +
configs/kmcoge5un_defconfig | 3 +
configs/kmeter1_defconfig | 3 +-
configs/kmlion1_defconfig | 2 +
configs/kmnusa_defconfig | 3 +
configs/kmopti2_defconfig | 3 +-
configs/kmsugp1_defconfig | 3 +
configs/kmsupx5_defconfig | 3 +-
configs/kmsuv31_defconfig | 3 +
configs/kmtegr1_defconfig | 2 +
configs/kmtepr2_defconfig | 3 +-
configs/kmvect1_defconfig | 3 +-
configs/koelsch_defconfig | 2 +-
configs/kzm9g_defconfig | 1 +
configs/lager_defconfig | 2 +-
configs/linkit-smart-7688-ram_defconfig | 1 +
configs/linkit-smart-7688_defconfig | 1 +
configs/lion-rk3368_defconfig | 1 +
configs/ls1021aqds_ddr4_nor_defconfig | 1 +
configs/ls1021aqds_ddr4_nor_lpuart_defconfig | 1 +
configs/ls1021aqds_nand_defconfig | 2 +
configs/ls1021aqds_nor_SECURE_BOOT_defconfig | 1 +
configs/ls1021aqds_nor_defconfig | 1 +
configs/ls1021aqds_nor_lpuart_defconfig | 1 +
configs/ls1021aqds_sdcard_ifc_defconfig | 1 +
configs/ls1021atwr_nor_SECURE_BOOT_defconfig | 1 +
configs/ls1021atwr_nor_defconfig | 1 +
configs/ls1021atwr_nor_lpuart_defconfig | 1 +
...s1021atwr_sdcard_ifc_SECURE_BOOT_defconfig | 1 +
configs/ls1021atwr_sdcard_ifc_defconfig | 1 +
configs/ls1043aqds_defconfig | 1 +
configs/ls1043aqds_lpuart_defconfig | 1 +
configs/ls1043aqds_nand_defconfig | 2 +
configs/ls1043aqds_nor_ddr3_defconfig | 1 +
configs/ls1043aqds_sdcard_ifc_defconfig | 1 +
configs/ls1043ardb_SECURE_BOOT_defconfig | 1 +
configs/ls1043ardb_defconfig | 1 +
configs/ls1043ardb_nand_SECURE_BOOT_defconfig | 2 +
configs/ls1043ardb_nand_defconfig | 2 +
.../ls1043ardb_sdcard_SECURE_BOOT_defconfig | 1 +
configs/ls1043ardb_sdcard_defconfig | 1 +
configs/ls1046aqds_SECURE_BOOT_defconfig | 1 +
configs/ls1046aqds_defconfig | 1 +
configs/ls1046aqds_lpuart_defconfig | 1 +
configs/ls1046aqds_nand_defconfig | 2 +
configs/ls1046aqds_sdcard_ifc_defconfig | 1 +
configs/ls1046ardb_emmc_defconfig | 2 +
configs/ls1046ardb_qspi_SECURE_BOOT_defconfig | 2 +
configs/ls1046ardb_qspi_defconfig | 2 +
configs/ls1046ardb_qspi_spl_defconfig | 2 +
.../ls1046ardb_sdcard_SECURE_BOOT_defconfig | 2 +
configs/ls1046ardb_sdcard_defconfig | 2 +
configs/ls1088aqds_defconfig | 2 +
configs/ls1088aqds_qspi_SECURE_BOOT_defconfig | 2 +
configs/ls1088aqds_qspi_defconfig | 2 +
configs/ls1088aqds_sdcard_ifc_defconfig | 2 +
configs/ls1088aqds_sdcard_qspi_defconfig | 2 +
configs/ls1088ardb_qspi_SECURE_BOOT_defconfig | 2 +
configs/ls1088ardb_qspi_defconfig | 2 +
...1088ardb_sdcard_qspi_SECURE_BOOT_defconfig | 2 +
configs/ls1088ardb_sdcard_qspi_defconfig | 2 +
configs/ls2080a_simu_defconfig | 1 +
configs/ls2080aqds_SECURE_BOOT_defconfig | 1 +
configs/ls2080aqds_defconfig | 1 +
configs/ls2080aqds_nand_defconfig | 2 +
configs/ls2080aqds_qspi_defconfig | 2 +
configs/ls2080aqds_sdcard_defconfig | 2 +
configs/ls2080ardb_SECURE_BOOT_defconfig | 1 +
configs/ls2080ardb_defconfig | 1 +
configs/ls2080ardb_nand_defconfig | 2 +
configs/m53menlo_defconfig | 5 +-
configs/malta64_defconfig | 1 +
configs/malta64el_defconfig | 1 +
configs/malta_defconfig | 1 +
configs/maltael_defconfig | 1 +
configs/mccmon6_nor_defconfig | 4 +-
configs/mccmon6_sd_defconfig | 4 +-
configs/mcx_defconfig | 4 +-
configs/medcom-wide_defconfig | 2 +
configs/meesc_defconfig | 3 +-
configs/mgcoge3un_defconfig | 3 +
configs/microblaze-generic_defconfig | 2 +-
configs/mpc8308_p1m_defconfig | 1 +
configs/mpr2_defconfig | 1 +
configs/ms7720se_defconfig | 1 +
configs/ms7722se_defconfig | 1 +
configs/ms7750se_defconfig | 1 +
configs/mt_ventoux_defconfig | 4 +-
configs/mx28evk_auart_console_defconfig | 5 +-
configs/mx28evk_defconfig | 5 +-
configs/mx28evk_nand_defconfig | 5 +-
configs/mx28evk_spi_defconfig | 5 +-
configs/mx31pdk_defconfig | 3 +-
configs/mx35pdk_defconfig | 3 +-
configs/mx53ard_defconfig | 3 +-
configs/mx6sabreauto_defconfig | 4 +-
configs/mx6sxsabreauto_defconfig | 4 +-
configs/nas220_defconfig | 3 +
configs/netgear_cg3100d_ram_defconfig | 1 +
configs/nsa310s_defconfig | 3 +
configs/omap35_logic_defconfig | 4 +-
configs/omap35_logic_somlv_defconfig | 4 +-
configs/omap3_beagle_defconfig | 4 +-
configs/omap3_evm_defconfig | 4 +-
configs/omap3_ha_defconfig | 3 +-
configs/omap3_logic_defconfig | 4 +-
configs/omap3_logic_somlv_defconfig | 4 +-
configs/omap3_overo_defconfig | 4 +-
configs/omap3_pandora_defconfig | 4 +-
configs/omap3_zoom1_defconfig | 3 +-
configs/omapl138_lcdk_defconfig | 4 +-
configs/openrd_base_defconfig | 3 +
configs/openrd_client_defconfig | 3 +
configs/openrd_ultimate_defconfig | 3 +
configs/pcm052_defconfig | 4 +
configs/pcm058_defconfig | 5 +-
configs/pengwyn_defconfig | 3 +-
configs/pfla02_defconfig | 4 +-
configs/platinum_picon_defconfig | 5 +-
configs/platinum_titanium_defconfig | 5 +-
configs/plutux_defconfig | 2 +
configs/pm9261_defconfig | 3 +-
configs/pm9263_defconfig | 3 +-
configs/pm9g45_defconfig | 3 +-
configs/pogo_e02_defconfig | 3 +
configs/porter_defconfig | 2 +-
configs/portl2_defconfig | 3 +
configs/pxm2_defconfig | 4 +-
configs/qemu_mips64_defconfig | 1 +
configs/qemu_mips64el_defconfig | 1 +
configs/qemu_mips_defconfig | 1 +
configs/qemu_mipsel_defconfig | 1 +
configs/r0p7734_defconfig | 1 +
configs/r2dplus_defconfig | 1 +
configs/r7780mp_defconfig | 1 +
configs/r8a77995_draak_defconfig | 2 +-
configs/rastaban_defconfig | 4 +-
configs/rsk7203_defconfig | 1 +
configs/rsk7264_defconfig | 1 +
configs/rsk7269_defconfig | 1 +
configs/rut_defconfig | 4 +-
configs/s5pc210_universal_defconfig | 2 +-
configs/sagem_f@st1704_ram_defconfig | 1 +
configs/sama5d2_ptc_ek_mmc_defconfig | 3 +-
configs/sama5d2_ptc_ek_nandflash_defconfig | 2 +
configs/sama5d36ek_cmp_mmc_defconfig | 3 +-
configs/sama5d36ek_cmp_nandflash_defconfig | 2 +
configs/sama5d36ek_cmp_spiflash_defconfig | 3 +-
configs/sama5d3_xplained_mmc_defconfig | 4 +-
configs/sama5d3_xplained_nandflash_defconfig | 3 +
configs/sama5d3xek_mmc_defconfig | 3 +-
configs/sama5d3xek_nandflash_defconfig | 2 +
configs/sama5d3xek_spiflash_defconfig | 3 +-
configs/sama5d4_xplained_mmc_defconfig | 3 +-
configs/sama5d4_xplained_nandflash_defconfig | 2 +
configs/sama5d4_xplained_spiflash_defconfig | 3 +-
configs/sama5d4ek_mmc_defconfig | 3 +-
configs/sama5d4ek_nandflash_defconfig | 2 +
configs/sama5d4ek_spiflash_defconfig | 3 +-
configs/sandbox64_defconfig | 1 +
configs/sandbox_defconfig | 1 +
configs/sbc8349_PCI_33_defconfig | 1 +
configs/sbc8349_PCI_66_defconfig | 1 +
configs/sbc8349_defconfig | 1 +
configs/sbc8548_PCI_33_PCIE_defconfig | 1 +
configs/sbc8548_PCI_33_defconfig | 1 +
configs/sbc8548_PCI_66_PCIE_defconfig | 1 +
configs/sbc8548_PCI_66_defconfig | 1 +
configs/sbc8548_defconfig | 1 +
configs/sbc8641d_defconfig | 1 +
configs/seaboard_defconfig | 2 +
configs/sfr_nb4-ser_ram_defconfig | 1 +
configs/sh7763rdp_defconfig | 1 +
configs/sh7785lcr_32bit_defconfig | 1 +
configs/sh7785lcr_defconfig | 1 +
configs/sheevaplug_defconfig | 3 +
configs/shmin_defconfig | 1 +
configs/silk_defconfig | 2 +-
configs/smartweb_defconfig | 3 +-
configs/smdkc100_defconfig | 2 +-
configs/snapper9260_defconfig | 3 +-
configs/snapper9g20_defconfig | 3 +-
configs/socfpga_arria10_defconfig | 2 +-
configs/socfpga_arria5_defconfig | 3 +-
configs/socfpga_cyclone5_defconfig | 3 +-
configs/socfpga_dbm_soc1_defconfig | 2 +-
configs/socfpga_de0_nano_soc_defconfig | 3 +-
configs/socfpga_de10_nano_defconfig | 2 +-
configs/socfpga_de1_soc_defconfig | 2 +-
configs/socfpga_is1_defconfig | 3 +-
configs/socfpga_sockit_defconfig | 3 +-
configs/socfpga_socrates_defconfig | 3 +-
configs/socfpga_sr1500_defconfig | 3 +-
configs/socfpga_stratix10_defconfig | 1 +
configs/socfpga_vining_fpga_defconfig | 3 +-
configs/socrates_defconfig | 1 +
configs/spear300_defconfig | 2 +-
configs/spear300_nand_defconfig | 4 +-
configs/spear300_usbtty_defconfig | 2 +-
configs/spear300_usbtty_nand_defconfig | 4 +-
configs/spear310_defconfig | 2 +-
configs/spear310_nand_defconfig | 4 +-
configs/spear310_pnor_defconfig | 2 +-
configs/spear310_usbtty_defconfig | 2 +-
configs/spear310_usbtty_nand_defconfig | 4 +-
configs/spear310_usbtty_pnor_defconfig | 2 +-
configs/spear320_defconfig | 2 +-
configs/spear320_nand_defconfig | 4 +-
configs/spear320_pnor_defconfig | 2 +-
configs/spear320_usbtty_defconfig | 2 +-
configs/spear320_usbtty_nand_defconfig | 4 +-
configs/spear320_usbtty_pnor_defconfig | 2 +-
configs/spear600_defconfig | 2 +-
configs/spear600_nand_defconfig | 4 +-
configs/spear600_usbtty_defconfig | 2 +-
configs/spear600_usbtty_nand_defconfig | 4 +-
configs/stm32f429-discovery_defconfig | 1 +
configs/stm32f429-evaluation_defconfig | 1 +
configs/stm32f469-discovery_defconfig | 1 +
configs/stm32f746-disco_defconfig | 3 +-
configs/stmark2_defconfig | 2 +-
configs/stout_defconfig | 2 +-
configs/strider_con_defconfig | 1 +
configs/strider_con_dp_defconfig | 1 +
configs/strider_cpu_defconfig | 1 +
configs/strider_cpu_dp_defconfig | 1 +
configs/suvd3_defconfig | 3 +-
configs/tao3530_defconfig | 3 +-
configs/taurus_defconfig | 3 +-
configs/tec_defconfig | 2 +
configs/thuban_defconfig | 4 +-
configs/ti816x_evm_defconfig | 3 +-
configs/titanium_defconfig | 5 +-
configs/tplink_wdr4300_defconfig | 1 +
configs/tricorder_defconfig | 4 +-
configs/tricorder_flash_defconfig | 4 +-
configs/tuge1_defconfig | 3 +-
configs/turris_mox_defconfig | 1 +
configs/tuxx1_defconfig | 3 +-
configs/twister_defconfig | 4 +-
configs/uniphier_ld4_sld8_defconfig | 4 +-
configs/uniphier_v7_defconfig | 4 +-
configs/uniphier_v8_defconfig | 4 +-
configs/usb_a9263_dataflash_defconfig | 3 +-
configs/vct_platinum_defconfig | 1 +
configs/vct_platinum_onenand_defconfig | 3 +-
configs/vct_platinum_onenand_small_defconfig | 3 +-
configs/vct_platinum_small_defconfig | 1 +
configs/vct_platinumavc_defconfig | 1 +
configs/vct_platinumavc_onenand_defconfig | 3 +-
.../vct_platinumavc_onenand_small_defconfig | 3 +-
configs/vct_platinumavc_small_defconfig | 1 +
configs/vct_premium_defconfig | 1 +
configs/vct_premium_onenand_defconfig | 3 +-
configs/vct_premium_onenand_small_defconfig | 3 +-
configs/vct_premium_small_defconfig | 1 +
configs/ve8313_defconfig | 1 +
configs/vexpress_aemv8a_dram_defconfig | 1 +
configs/vexpress_aemv8a_juno_defconfig | 1 +
configs/vexpress_aemv8a_semi_defconfig | 1 +
configs/vexpress_ca15_tc2_defconfig | 1 +
configs/vexpress_ca5x2_defconfig | 1 +
configs/vexpress_ca9x4_defconfig | 1 +
configs/vf610twr_defconfig | 4 +
configs/vf610twr_nand_defconfig | 4 +
configs/vme8349_defconfig | 1 +
configs/wb45n_defconfig | 3 +-
configs/wb50n_defconfig | 3 +-
configs/woodburn_defconfig | 3 +-
configs/woodburn_sd_defconfig | 3 +-
configs/work_92105_defconfig | 2 +
configs/x600_defconfig | 3 +
configs/xilinx_zynqmp_mini_nand_defconfig | 3 +-
.../xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 5 +-
.../xilinx_zynqmp_zc1751_xm017_dc3_defconfig | 4 +-
configs/xpedite517x_defconfig | 1 +
configs/xpedite520x_defconfig | 1 +
configs/xpedite537x_defconfig | 1 +
configs/xpedite550x_defconfig | 1 +
configs/xtfpga_defconfig | 1 +
configs/zipitz2_defconfig | 1 +
configs/zmx25_defconfig | 1 +
configs/zynq_cse_nand_defconfig | 4 +-
configs/zynq_cse_nor_defconfig | 1 +
configs/zynq_zc770_xm011_defconfig | 5 +-
configs/zynq_zc770_xm011_x16_defconfig | 5 +-
configs/zynq_zc770_xm012_defconfig | 1 +
drivers/Makefile | 7 +-
drivers/dfu/Kconfig | 1 +
drivers/mtd/Kconfig | 13 +--
drivers/mtd/Makefile | 50 +++++++---
drivers/mtd/mtd_uboot.c | 96 +-----------------
drivers/mtd/nand/Makefile | 5 +
drivers/mtd/nand/bbt.c | 1 +
drivers/mtd/nand/core.c | 1 +
drivers/mtd/nand/raw/Kconfig | 4 +-
drivers/mtd/nand/raw/nand.c | 2 +-
drivers/mtd/onenand/onenand_uboot.c | 2 +-
drivers/mtd/spi/Kconfig | 2 +-
env/Kconfig | 2 +
include/configs/B4860QDS.h | 10 +-
include/configs/BSC9131RDB.h | 4 +-
include/configs/BSC9132QDS.h | 8 +-
include/configs/C29XPCIE.h | 8 +-
include/configs/MPC8313ERDB.h | 14 +--
include/configs/P1010RDB.h | 12 +--
include/configs/P1022DS.h | 10 +-
include/configs/P2041RDB.h | 6 +-
include/configs/T102xQDS.h | 8 +-
include/configs/T102xRDB.h | 8 +-
include/configs/T1040QDS.h | 6 +-
include/configs/T104xRDB.h | 12 +--
include/configs/T208xQDS.h | 8 +-
include/configs/T208xRDB.h | 8 +-
include/configs/T4240QDS.h | 10 +-
include/configs/T4240RDB.h | 6 +-
include/configs/am335x_evm.h | 6 +-
include/configs/am3517_evm.h | 6 +-
include/configs/am43xx_evm.h | 6 +-
include/configs/baltos.h | 6 +-
include/configs/bav335x.h | 8 +-
include/configs/brppt1.h | 16 +--
include/configs/corenet_ds.h | 8 +-
include/configs/da850evm.h | 4 +-
include/configs/dra7xx_evm.h | 4 +-
include/configs/ls2080ardb.h | 2 +-
include/configs/mvebu_armada-37xx.h | 1 -
include/configs/omap3_beagle.h | 10 +-
include/configs/omap3_evm.h | 10 +-
include/configs/omap3_logic.h | 2 +-
include/configs/omap3_overo.h | 6 +-
include/configs/omap3_pandora.h | 2 +-
include/configs/omapl138_lcdk.h | 4 +-
include/configs/p1_p2_rdb_pc.h | 8 +-
include/configs/siemens-am33x-common.h | 2 +-
include/configs/socfpga_stratix10_socdk.h | 1 -
include/configs/ti_armv7_common.h | 2 +-
include/configs/ti_armv7_omap.h | 2 +-
include/configs/ti_omap3_common.h | 2 +-
include/environment.h | 4 +-
include/environment/ti/dfu.h | 2 +-
include/flash.h | 2 +-
include/linux/mtd/mtd.h | 6 --
844 files changed, 1588 insertions(+), 621 deletions(-)
create mode 100644 cmd/legacy-mtd-utils.c
create mode 100644 cmd/legacy-mtd-utils.h
--
2.19.1
4
36

12 Apr '19
The UEFI variables PlatformLang and PlatformLangCodes specify the current
firmware language and the list of all available languages.
Currently their values are hard coded. With the patch a new configuration
variable EFI_PLATFORM_LANG_CODES is provided.
When initializing the UEFI subsystem this configuration variable is used to
initialize PlatformLangCodes. The value of variable PlatformLang is read.
If it is not set, the first language specified in EFI_PLATFORM_LANG_CODES
is used to initialize PlatformLang.
Suggested-by: Takahiro Akashi <takahiro.akashi(a)linaro.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk(a)gmx.de>
---
lib/efi_loader/Kconfig | 10 ++++++
lib/efi_loader/efi_setup.c | 70 ++++++++++++++++++++++++++++++--------
2 files changed, 66 insertions(+), 14 deletions(-)
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index a6489ca534..50b050159c 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -26,6 +26,16 @@ config EFI_UNICODE_CAPITALIZATION
set, only the the correct handling of the letters of the codepage
used by the FAT file system is ensured.
+config EFI_PLATFORM_LANG_CODES
+ string "Language codes supported by firmware"
+ depends on EFI_LOADER
+ default "en-US"
+ help
+ This value is used to initialize the PlatformLangCodes variable. Its
+ value is a semicolon (;) separated list of language codes in native
+ RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
+ to initialize the PlatformLang variable.
+
config EFI_LOADER_BOUNCE_BUFFER
bool "EFI Applications use bounce buffers for DMA operations"
depends on EFI_LOADER && ARM64
diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
index 6e9d5fe5b7..8f0da35ba4 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -10,37 +10,79 @@
#define OBJ_LIST_NOT_INITIALIZED 1
-/* Language code for American English according to RFC 4646 */
-#define EN_US L"en-US"
-
static efi_status_t efi_obj_list_initialized = OBJ_LIST_NOT_INITIALIZED;
-/* Initialize and populate EFI object list */
-efi_status_t efi_init_obj_list(void)
+/**
+ * efi_init_platform_lang() - define supported languages
+ *
+ * Set the PlatformLangCodes and PlatformLang variables.
+ *
+ * Return: status code
+ */
+static efi_status_t efi_init_platform_lang(void)
{
- efi_status_t ret = EFI_SUCCESS;
+ efi_status_t ret;
+ efi_uintn_t data_size = 0;
+ char *lang = CONFIG_EFI_PLATFORM_LANG_CODES;
+ char *pos;
/*
- * Variable PlatformLang defines the language that the machine has been
- * configured for.
+ * Variable PlatformLangCodes defines the language codes that the
+ * machine can support.
*/
- ret = EFI_CALL(efi_set_variable(L"PlatformLang",
+ ret = EFI_CALL(efi_set_variable(L"PlatformLangCodes",
&efi_global_variable_guid,
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_RUNTIME_ACCESS,
- sizeof(EN_US), EN_US));
+ sizeof(CONFIG_EFI_PLATFORM_LANG_CODES),
+ CONFIG_EFI_PLATFORM_LANG_CODES));
if (ret != EFI_SUCCESS)
goto out;
/*
- * Variable PlatformLangCodes defines the language codes that the
- * machine can support.
+ * Variable PlatformLang defines the language that the machine has been
+ * configured for.
*/
- ret = EFI_CALL(efi_set_variable(L"PlatformLangCodes",
+ ret = EFI_CALL(efi_get_variable(L"PlatformLang",
&efi_global_variable_guid,
+ NULL, &data_size, &pos));
+ if (ret == EFI_BUFFER_TOO_SMALL) {
+ /* The variable is already set. Do not change it. */
+ ret = EFI_SUCCESS;
+ goto out;
+ }
+
+ /*
+ * The list of supported languages is semicolon separated. Use the first
+ * language to initialize PlatformLang.
+ */
+ pos = strchr(lang, ';');
+ if (pos)
+ *pos = 0;
+
+ ret = EFI_CALL(efi_set_variable(L"PlatformLang",
+ &efi_global_variable_guid,
+ EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_RUNTIME_ACCESS,
- sizeof(EN_US), EN_US));
+ 1 + strlen(lang), lang));
+out:
+ if (ret != EFI_SUCCESS)
+ printf("EFI: cannot initialize platform language settings\n");
+ return ret;
+}
+
+/**
+ * efi_init_obj_list() - Initialize and populate EFI object list
+ *
+ * Return: status code
+ */
+efi_status_t efi_init_obj_list(void)
+{
+ efi_status_t ret = EFI_SUCCESS;
+
+ /* Define supported languages */
+ ret = efi_init_platform_lang();
if (ret != EFI_SUCCESS)
goto out;
--
2.20.1
2
4

[U-Boot] [PATCH v1 1/1] spi: fsl_dspi fix to stop extra transmissions
by jared.bents@rockwellcollins.com 12 Apr '19
by jared.bents@rockwellcollins.com 12 Apr '19
12 Apr '19
From: Jared Bents <jared.bents(a)rockwellcollins.com>
Update to prevent a byte of zeros being transmitted between
each byte in the tx buffer when providing both a tx buffer
and a rx buffer.
Signed-off-by: Jared Bents <jared.bents(a)rockwellcollins.com>
Cc: Prabhakar Kushwaha <prabhakar.kushwaha(a)nxp.com>
---
drivers/spi/fsl_dspi.c | 30 ++++++++++++++++++++++++++----
1 file changed, 26 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c
index 764c94215e..a68a51945e 100644
--- a/drivers/spi/fsl_dspi.c
+++ b/drivers/spi/fsl_dspi.c
@@ -273,7 +273,18 @@ static int dspi_xfer(struct fsl_dspi_priv *priv, uint cs, unsigned int bitlen,
if (len > 1) {
int tmp_len = len - 1;
while (tmp_len--) {
- if (dout != NULL) {
+ if ((dout != NULL) && (din != NULL)) {
+ if (priv->charbit == 16) {
+ dspi_tx(priv, ctrl, *spi_wr16++);
+ *spi_rd16++ = dspi_rx(priv);
+ }
+ else {
+ dspi_tx(priv, ctrl, *spi_wr++);
+ *spi_rd++ = dspi_rx(priv);
+ }
+ }
+
+ else if (dout != NULL) {
if (priv->charbit == 16)
dspi_tx(priv, ctrl, *spi_wr16++);
else
@@ -281,7 +292,7 @@ static int dspi_xfer(struct fsl_dspi_priv *priv, uint cs, unsigned int bitlen,
dspi_rx(priv);
}
- if (din != NULL) {
+ else if (din != NULL) {
dspi_tx(priv, ctrl, DSPI_IDLE_VAL);
if (priv->charbit == 16)
*spi_rd16++ = dspi_rx(priv);
@@ -297,7 +308,18 @@ static int dspi_xfer(struct fsl_dspi_priv *priv, uint cs, unsigned int bitlen,
ctrl &= ~DSPI_TFR_CONT;
if (len) {
- if (dout != NULL) {
+ if ((dout != NULL) && (din != NULL)) {
+ if (priv->charbit == 16) {
+ dspi_tx(priv, ctrl, *spi_wr16++);
+ *spi_rd16++ = dspi_rx(priv);
+ }
+ else {
+ dspi_tx(priv, ctrl, *spi_wr++);
+ *spi_rd++ = dspi_rx(priv);
+ }
+ }
+
+ else if (dout != NULL) {
if (priv->charbit == 16)
dspi_tx(priv, ctrl, *spi_wr16);
else
@@ -305,7 +327,7 @@ static int dspi_xfer(struct fsl_dspi_priv *priv, uint cs, unsigned int bitlen,
dspi_rx(priv);
}
- if (din != NULL) {
+ else if (din != NULL) {
dspi_tx(priv, ctrl, DSPI_IDLE_VAL);
if (priv->charbit == 16)
*spi_rd16 = dspi_rx(priv);
--
2.18.0
2
2