diff --git a/recipes-bsp/u-boot/files/0001-feat-add-iot2050-platform-support.patch b/recipes-bsp/u-boot/files/0001-feat-add-iot2050-platform-support.patch index 2a6067dc7..e40cf77a5 100644 --- a/recipes-bsp/u-boot/files/0001-feat-add-iot2050-platform-support.patch +++ b/recipes-bsp/u-boot/files/0001-feat-add-iot2050-platform-support.patch @@ -1,7 +1,7 @@ From 2a37c06cafb717ab8d02d9d88b70b221d4755872 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Tue, 12 Nov 2019 17:36:06 +0800 -Subject: [PATCH 01/15] feat: add iot2050 platform support +Subject: [PATCH 01/18] feat: add iot2050 platform support Signed-off-by: le.jin --- diff --git a/recipes-bsp/u-boot/files/0002-am654x-frequency-update-for-both-arm-clusters-and-bu.patch b/recipes-bsp/u-boot/files/0002-am654x-frequency-update-for-both-arm-clusters-and-bu.patch index a9d46a800..e2dd56148 100644 --- a/recipes-bsp/u-boot/files/0002-am654x-frequency-update-for-both-arm-clusters-and-bu.patch +++ b/recipes-bsp/u-boot/files/0002-am654x-frequency-update-for-both-arm-clusters-and-bu.patch @@ -1,7 +1,7 @@ From 8e4decfe354a5f8d21d8b00edaeb33e972065579 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Tue, 12 Nov 2019 18:26:14 +0800 -Subject: [PATCH 02/15] am654x: frequency update for both arm clusters and bump +Subject: [PATCH 02/18] am654x: frequency update for both arm clusters and bump up to 1GHz Signed-off-by: le.jin diff --git a/recipes-bsp/u-boot/files/0003-iot2050-turn-on-red-led-when-something-goes-wrong.patch b/recipes-bsp/u-boot/files/0003-iot2050-turn-on-red-led-when-something-goes-wrong.patch index 0b4ccab46..673705b7c 100644 --- a/recipes-bsp/u-boot/files/0003-iot2050-turn-on-red-led-when-something-goes-wrong.patch +++ b/recipes-bsp/u-boot/files/0003-iot2050-turn-on-red-led-when-something-goes-wrong.patch @@ -1,7 +1,7 @@ From b10414684b81c4750614d240d1b0d86b9fbc6cab Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Mon, 18 Nov 2019 09:58:29 +0800 -Subject: [PATCH 03/15] iot2050:turn on red led when something goes wrong +Subject: [PATCH 03/18] iot2050:turn on red led when something goes wrong Signed-off-by: le.jin --- diff --git a/recipes-bsp/u-boot/files/0004-am65x-fix-usb-hub-issue-for-disabling-charge-detect.patch b/recipes-bsp/u-boot/files/0004-am65x-fix-usb-hub-issue-for-disabling-charge-detect.patch index 7d3f6ac93..21fa94de7 100644 --- a/recipes-bsp/u-boot/files/0004-am65x-fix-usb-hub-issue-for-disabling-charge-detect.patch +++ b/recipes-bsp/u-boot/files/0004-am65x-fix-usb-hub-issue-for-disabling-charge-detect.patch @@ -1,7 +1,7 @@ From 6da565a50598aa74ab6ef1654350c30274166295 Mon Sep 17 00:00:00 2001 From: "le.jin@siemens.com" Date: Sun, 16 Feb 2020 18:39:15 +0800 -Subject: [PATCH 04/15] am65x:fix usb hub issue for disabling charge detect +Subject: [PATCH 04/18] am65x:fix usb hub issue for disabling charge detect Signed-off-by: le --- diff --git a/recipes-bsp/u-boot/files/0005-am654x-remove-dependency-of-TI_SECURE_DEV_PKG.patch b/recipes-bsp/u-boot/files/0005-am654x-remove-dependency-of-TI_SECURE_DEV_PKG.patch index 2538046ac..3f4cd59f8 100644 --- a/recipes-bsp/u-boot/files/0005-am654x-remove-dependency-of-TI_SECURE_DEV_PKG.patch +++ b/recipes-bsp/u-boot/files/0005-am654x-remove-dependency-of-TI_SECURE_DEV_PKG.patch @@ -1,7 +1,7 @@ From 549a95faa2fca208d14bb614d8b1e17733d6c058 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Tue, 12 Nov 2019 19:23:40 +0800 -Subject: [PATCH 05/15] am654x: remove dependency of TI_SECURE_DEV_PKG +Subject: [PATCH 05/18] am654x: remove dependency of TI_SECURE_DEV_PKG Signed-off-by: le.jin --- diff --git a/recipes-bsp/u-boot/files/0006-mmc-change-SD-to-mmc0-and-EMMC-Flash-to-mmc1.patch b/recipes-bsp/u-boot/files/0006-mmc-change-SD-to-mmc0-and-EMMC-Flash-to-mmc1.patch index 6267cec08..49f063da6 100644 --- a/recipes-bsp/u-boot/files/0006-mmc-change-SD-to-mmc0-and-EMMC-Flash-to-mmc1.patch +++ b/recipes-bsp/u-boot/files/0006-mmc-change-SD-to-mmc0-and-EMMC-Flash-to-mmc1.patch @@ -1,7 +1,7 @@ From 1c315cc40a232f12ddf7897732f268187fbea360 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 12 Nov 2019 19:26:20 +0800 -Subject: [PATCH 06/15] mmc:change SD to mmc0 and EMMC-Flash to mmc1 +Subject: [PATCH 06/18] mmc:change SD to mmc0 and EMMC-Flash to mmc1 Signed-off-by: Gao Nian --- diff --git a/recipes-bsp/u-boot/files/0007-feat-add-scripts-to-select-fdt-name.patch b/recipes-bsp/u-boot/files/0007-feat-add-scripts-to-select-fdt-name.patch index a5febebfb..8d1b30b00 100644 --- a/recipes-bsp/u-boot/files/0007-feat-add-scripts-to-select-fdt-name.patch +++ b/recipes-bsp/u-boot/files/0007-feat-add-scripts-to-select-fdt-name.patch @@ -1,7 +1,7 @@ From 98cc8b6c0f116019e0b47a2c1a063d3dac5d5598 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 12 Nov 2019 19:30:14 +0800 -Subject: [PATCH 07/15] feat:add scripts to select fdt name +Subject: [PATCH 07/18] feat:add scripts to select fdt name Signed-off-by: Gao Nian --- diff --git a/recipes-bsp/u-boot/files/0008-feat-add-UUID-checking-before-run-distro_bootcmd.patch b/recipes-bsp/u-boot/files/0008-feat-add-UUID-checking-before-run-distro_bootcmd.patch index 771bea344..f8dd35ca5 100644 --- a/recipes-bsp/u-boot/files/0008-feat-add-UUID-checking-before-run-distro_bootcmd.patch +++ b/recipes-bsp/u-boot/files/0008-feat-add-UUID-checking-before-run-distro_bootcmd.patch @@ -1,7 +1,7 @@ From d8aaae7d8b1ee73fb50a00abdde7f7a3c1e9a372 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 12 Nov 2019 19:31:47 +0800 -Subject: [PATCH 08/15] feat:add UUID checking before run distro_bootcmd +Subject: [PATCH 08/18] feat:add UUID checking before run distro_bootcmd Signed-off-by: Gao Nian --- diff --git a/recipes-bsp/u-boot/files/0009-setting-the-rj45-port-led-behavior.patch b/recipes-bsp/u-boot/files/0009-setting-the-rj45-port-led-behavior.patch index 3edb2a7f3..a9277cd0a 100644 --- a/recipes-bsp/u-boot/files/0009-setting-the-rj45-port-led-behavior.patch +++ b/recipes-bsp/u-boot/files/0009-setting-the-rj45-port-led-behavior.patch @@ -1,7 +1,7 @@ From 614ad3e26430bc19701c53cb7febe9862a329394 Mon Sep 17 00:00:00 2001 From: zengchao Date: Fri, 15 Nov 2019 17:55:33 +0800 -Subject: [PATCH 09/15] setting the rj45 port led behavior +Subject: [PATCH 09/18] setting the rj45 port led behavior Signed-off-by: zengchao --- diff --git a/recipes-bsp/u-boot/files/0010-fix-rproc-init-error-in-u-boot.patch b/recipes-bsp/u-boot/files/0010-fix-rproc-init-error-in-u-boot.patch index c9d189080..9ce8302ae 100644 --- a/recipes-bsp/u-boot/files/0010-fix-rproc-init-error-in-u-boot.patch +++ b/recipes-bsp/u-boot/files/0010-fix-rproc-init-error-in-u-boot.patch @@ -1,7 +1,7 @@ From ec439a9f4fc648e0757b69d4a673cfa6fc0f18c8 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Thu, 2 Jan 2020 13:54:01 +0800 -Subject: [PATCH 10/15] fix:rproc init error in u-boot +Subject: [PATCH 10/18] fix:rproc init error in u-boot Signed-off-by: Gao Nian --- diff --git a/recipes-bsp/u-boot/files/0011-feat-catch-up-100M-full-duplex-in-u-boot.patch b/recipes-bsp/u-boot/files/0011-feat-catch-up-100M-full-duplex-in-u-boot.patch index 39101e84e..8783e29b2 100644 --- a/recipes-bsp/u-boot/files/0011-feat-catch-up-100M-full-duplex-in-u-boot.patch +++ b/recipes-bsp/u-boot/files/0011-feat-catch-up-100M-full-duplex-in-u-boot.patch @@ -1,7 +1,7 @@ From 305e35edf10a84ee2632651688034ba55b3dcfe4 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 7 Jan 2020 13:50:42 +0800 -Subject: [PATCH 11/15] feat: catch-up 100M full duplex in u-boot +Subject: [PATCH 11/18] feat: catch-up 100M full duplex in u-boot Signed-off-by: Gao Nian --- diff --git a/recipes-bsp/u-boot/files/0012-feat-add-the-flash-protect-for-winbond-flash.patch b/recipes-bsp/u-boot/files/0012-feat-add-the-flash-protect-for-winbond-flash.patch index bd22f9212..a10f6cd33 100644 --- a/recipes-bsp/u-boot/files/0012-feat-add-the-flash-protect-for-winbond-flash.patch +++ b/recipes-bsp/u-boot/files/0012-feat-add-the-flash-protect-for-winbond-flash.patch @@ -1,7 +1,7 @@ From 09622d175a5421e19dd6cf5cc65bfa3d061a8afb Mon Sep 17 00:00:00 2001 From: zengchao Date: Wed, 8 Jan 2020 11:46:39 +0800 -Subject: [PATCH 12/15] feat: add the flash protect for winbond flash +Subject: [PATCH 12/18] feat: add the flash protect for winbond flash as lack of the flash protect for winbond flash, add the flash protect for windbond diff --git a/recipes-bsp/u-boot/files/0013-bugfix-set-gpio-direction-output-show-error.patch b/recipes-bsp/u-boot/files/0013-bugfix-set-gpio-direction-output-show-error.patch index ac8191151..1684f6acc 100644 --- a/recipes-bsp/u-boot/files/0013-bugfix-set-gpio-direction-output-show-error.patch +++ b/recipes-bsp/u-boot/files/0013-bugfix-set-gpio-direction-output-show-error.patch @@ -1,7 +1,7 @@ From 487e7b37faf81c0af8c94b10bb1418da3cf7629d Mon Sep 17 00:00:00 2001 From: zengchao Date: Sat, 11 Jan 2020 14:17:59 +0800 -Subject: [PATCH 13/15] bugfix: set gpio direction output show error +Subject: [PATCH 13/18] bugfix: set gpio direction output show error when gpio pin exceed 31,init the output pin value would show error diff --git a/recipes-bsp/u-boot/files/0014-feat-add-config-for-skipping-certificate-verificatio.patch b/recipes-bsp/u-boot/files/0014-feat-add-config-for-skipping-certificate-verificatio.patch index 033aaf117..f646e35e0 100644 --- a/recipes-bsp/u-boot/files/0014-feat-add-config-for-skipping-certificate-verificatio.patch +++ b/recipes-bsp/u-boot/files/0014-feat-add-config-for-skipping-certificate-verificatio.patch @@ -1,7 +1,7 @@ From a0fc26a3b60381aac8183a6d7ef951c9c0077312 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Tue, 14 Jan 2020 22:46:46 +0800 -Subject: [PATCH 14/15] feat: add config for skipping certificate verification +Subject: [PATCH 14/18] feat: add config for skipping certificate verification Signed-off-by: le.jin --- diff --git a/recipes-bsp/u-boot/files/0015-feat-enable-verified-boot.patch b/recipes-bsp/u-boot/files/0015-feat-enable-verified-boot.patch index 61e3df910..e9fd00748 100644 --- a/recipes-bsp/u-boot/files/0015-feat-enable-verified-boot.patch +++ b/recipes-bsp/u-boot/files/0015-feat-enable-verified-boot.patch @@ -1,7 +1,7 @@ From a5588edb0176a045758165ea4b27ee51bbdd3b34 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Wed, 29 Jan 2020 21:22:51 +0800 -Subject: [PATCH 15/15] feat: enable verified boot +Subject: [PATCH 15/18] feat: enable verified boot Signed-off-by: le.jin --- diff --git a/recipes-bsp/u-boot/files/0016-feat-add-sysfw-19.12-support.patch b/recipes-bsp/u-boot/files/0016-feat-add-sysfw-19.12-support.patch new file mode 100644 index 000000000..8fdfa7729 --- /dev/null +++ b/recipes-bsp/u-boot/files/0016-feat-add-sysfw-19.12-support.patch @@ -0,0 +1,80 @@ +From 0e21d77caff758d4031b094ee12681e3a819ca9a Mon Sep 17 00:00:00 2001 +From: "le.jin" +Date: Mon, 2 Mar 2020 23:07:12 +0800 +Subject: [PATCH 16/18] feat: add sysfw 19.12 support + +Signed-off-by: le.jin +--- + arch/arm/dts/iot2050-common.dtsi | 1 + + arch/arm/dts/k3-am65-mcu.dtsi | 8 ++++---- + arch/arm/dts/k3-am654-r5-base-board.dts | 2 +- + arch/arm/mach-k3/Kconfig | 2 +- + 4 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/arch/arm/dts/iot2050-common.dtsi b/arch/arm/dts/iot2050-common.dtsi +index 2f4b839cf5..5113aaf4ef 100644 +--- a/arch/arm/dts/iot2050-common.dtsi ++++ b/arch/arm/dts/iot2050-common.dtsi +@@ -176,6 +176,7 @@ + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&mcu_fss0_ospi0_pins_default>; ++ power-domains = <&k3_pds 248 TI_SCI_PD_SHARED>; /* Seboot in shared mode */ + + flash@0{ + compatible = "jedec,spi-nor"; +diff --git a/arch/arm/dts/k3-am65-mcu.dtsi b/arch/arm/dts/k3-am65-mcu.dtsi +index 11ca520f87..fe71c284f9 100644 +--- a/arch/arm/dts/k3-am65-mcu.dtsi ++++ b/arch/arm/dts/k3-am65-mcu.dtsi +@@ -41,8 +41,8 @@ + cdns,fifo-depth = <256>; + cdns,fifo-width = <4>; + cdns,trigger-address = <0x50000000>; +- clocks = <&k3_clks 55 5>; +- power-domains = <&k3_pds 55 TI_SCI_PD_EXCLUSIVE>; ++ clocks = <&k3_clks 248 0>; ++ power-domains = <&k3_pds 248 TI_SCI_PD_EXCLUSIVE>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; +@@ -56,8 +56,8 @@ + cdns,fifo-depth = <256>; + cdns,fifo-width = <4>; + cdns,trigger-address = <0x58000000>; +- clocks = <&k3_clks 55 16>; +- power-domains = <&k3_pds 55 TI_SCI_PD_EXCLUSIVE>; ++ clocks = <&k3_clks 249 6>; ++ power-domains = <&k3_pds 249 TI_SCI_PD_EXCLUSIVE>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; +diff --git a/arch/arm/dts/k3-am654-r5-base-board.dts b/arch/arm/dts/k3-am654-r5-base-board.dts +index 50a164f7d2..fdf5384cb3 100644 +--- a/arch/arm/dts/k3-am654-r5-base-board.dts ++++ b/arch/arm/dts/k3-am654-r5-base-board.dts +@@ -276,7 +276,7 @@ + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&mcu_fss0_ospi0_pins_default>; +- power-domains = <&k3_pds 55 TI_SCI_PD_EXCLUSIVE>; ++ power-domains = <&k3_pds 248 TI_SCI_PD_EXCLUSIVE>; + u-boot,dm-spl; + reg = <0x0 0x47040000 0x0 0x100>, + <0x0 0x50000000 0x0 0x8000000>; +diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig +index 4d61eb4f53..2c60dd01f6 100644 +--- a/arch/arm/mach-k3/Kconfig ++++ b/arch/arm/mach-k3/Kconfig +@@ -128,7 +128,7 @@ config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART + config K3_SYSFW_IMAGE_SIZE_MAX + int "Amount of memory dynamically allocated for loading SYSFW blob" + depends on K3_LOAD_SYSFW +- default 269000 ++ default 276000 + help + Amount of memory reserved through dynamic allocation at runtime for + loading the combined System Firmware and configuration image tree +-- +2.17.1 + diff --git a/recipes-bsp/u-boot/files/0017-add-the-signature-support-for-fit-image-add-the-supp.patch b/recipes-bsp/u-boot/files/0017-add-the-signature-support-for-fit-image-add-the-supp.patch new file mode 100644 index 000000000..2171b22a0 --- /dev/null +++ b/recipes-bsp/u-boot/files/0017-add-the-signature-support-for-fit-image-add-the-supp.patch @@ -0,0 +1,52 @@ +From 24343ee17f08b40990ce230edb98bffb059f3685 Mon Sep 17 00:00:00 2001 +From: zengchao +Date: Tue, 17 Dec 2019 11:47:53 +0800 +Subject: [PATCH 17/18] add the signature support for fit image add the support + for the fit image + +Signed-off-by: Chao Zeng +--- + include/configs/iot2050.h | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/include/configs/iot2050.h b/include/configs/iot2050.h +index bd8bcb415b..1100e4e749 100644 +--- a/include/configs/iot2050.h ++++ b/include/configs/iot2050.h +@@ -83,7 +83,14 @@ + "env set fdtfile siemens/iot2050-basic.dtb;" \ + "env set fdt_found yes;" \ + "fi;\0" +- ++#define EXTRA_ENV_SELECT_FIT \ ++ "fit_select=if env exists board_name; then " \ ++ "env set fitfile iot2050-kernel-dtb.fit.img;" \ ++ "else " \ ++ "echo ** Warning: board_name is not defined, default boot as IOT2050-BASIC **;" \ ++ "env set fitfile iot2050-kernel-dtb.fit.img;" \ ++ "env set board_name IOT2050-BASIC;" \ ++ "fi;\0" + /* U-Boot general configuration */ + #define EXTRA_ENV_IOT2050_BOARD_SETTINGS \ + "loadaddr=0x80080000\0" \ +@@ -91,6 +98,7 @@ + "kernel_addr_r=0x80080000\0" \ + "ramdisk_addr_r=0x81000000\0" \ + "fdt_addr_r=0x82000000\0" \ ++ "fit_addr_r=0x82000000\0" \ + "overlay_addr_r=0x83000000\0" \ + "start_icssg0=rproc start 2; rproc start 3\0" \ + "load_icssg0_pru0_fw=sf read 0x89000000 0x7c0000 0x8000; rproc load 2 0x89000000 0x8000\0" \ +@@ -186,7 +194,8 @@ + BOOTENV \ + EXTRA_ENV_IOT2050_BOARD_SETTINGS \ + EXTRA_ENV_SELECT_FDT \ +- UUID_CONFLICT_CHECK_ENV ++ UUID_CONFLICT_CHECK_ENV \ ++ EXTRA_ENV_SELECT_FIT + #endif + + #define CONFIG_SUPPORT_EMMC_BOOT +-- +2.17.1 + diff --git a/recipes-bsp/u-boot/files/0018-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch b/recipes-bsp/u-boot/files/0018-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch new file mode 100644 index 000000000..4323eee37 --- /dev/null +++ b/recipes-bsp/u-boot/files/0018-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch @@ -0,0 +1,461 @@ +From 11bbed02d031eb73bbf0fcf224b0678a98076808 Mon Sep 17 00:00:00 2001 +From: Gao Nian +Date: Mon, 17 Feb 2020 11:14:16 +0800 +Subject: [PATCH 18/18] feat: set sdhci0 clock frequency to 142.86MHz + +1. catch up the mmc driver of SDK6.3 +2. merge the patch files provided by TI: + (1)clk: add slack to clk_set_freq passed to firmware + (2)clk: Allow debug-printing actual frequency + (3)dts: Configure sdhci0 clock frequency to 142.86MHz + +Signed-off-by: Gao Nian +--- + arch/arm/dts/iot2050-r5-advanced.dts | 2 + + arch/arm/dts/iot2050-u-boot.dtsi | 26 +++++++++- + arch/arm/dts/k3-am65-main.dtsi | 12 ++++- + drivers/clk/clk-ti-sci.c | 18 +++++-- + drivers/mmc/am654_sdhci.c | 72 ++++++++++++++++++++++++---- + drivers/mmc/mmc.c | 20 ++++---- + drivers/mmc/sdhci.c | 48 +++++++++++++++++++ + include/sdhci.h | 1 + + 8 files changed, 172 insertions(+), 27 deletions(-) + +diff --git a/arch/arm/dts/iot2050-r5-advanced.dts b/arch/arm/dts/iot2050-r5-advanced.dts +index 1afde4a30d..70b50fa5c0 100644 +--- a/arch/arm/dts/iot2050-r5-advanced.dts ++++ b/arch/arm/dts/iot2050-r5-advanced.dts +@@ -41,6 +41,8 @@ + &sdhci0 { + clock-names = "clk_xin"; + clocks = <&clk_200mhz>; ++ /delete-property/ assigned-clocks; ++ /delete-property/ assigned-clock-rates; + /delete-property/ power-domains; + pinctrl-names = "default"; + pinctrl-0 = <&main_mmc0_pins_default>; +diff --git a/arch/arm/dts/iot2050-u-boot.dtsi b/arch/arm/dts/iot2050-u-boot.dtsi +index 659efa0611..856d7099a7 100644 +--- a/arch/arm/dts/iot2050-u-boot.dtsi ++++ b/arch/arm/dts/iot2050-u-boot.dtsi +@@ -81,11 +81,25 @@ + compatible = "ti,am654-sdhci-5.1"; + reg = <0x0 0x4FA0000 0x0 0x1000>, + <0x0 0x4FB0000 0x0 0x400>; +- clocks = <&k3_clks 48 0>, <&k3_clks 48 1>; ++ /* ++ * Swap clock TISCI clock IDs between sdhci0 and sdhci1 to work ++ * around an issue in System Firmware 2019.12a (and earlier) ++ * known as SYSFW-3179. ++ */ ++ clocks = <&k3_clks 47 0>, <&k3_clks 47 1>; + clock-names = "clk_ahb", "clk_xin"; + power-domains = <&k3_pds 48 TI_SCI_PD_SHARED>; + max-frequency = <25000000>; +- ti,otap-del-sel = <0x2>; ++ ti,otap-del-sel-legacy = <0x0>; ++ ti,otap-del-sel-mmc-hs = <0x0>; ++ ti,otap-del-sel-sd-hs = <0x0>; ++ ti,otap-del-sel-sdr12 = <0x0>; ++ ti,otap-del-sel-sdr25 = <0x0>; ++ ti,otap-del-sel-sdr50 = <0x8>; ++ ti,otap-del-sel-sdr104 = <0x7>; ++ ti,otap-del-sel-ddr50 = <0x4>; ++ ti,otap-del-sel-ddr52 = <0x4>; ++ ti,otap-del-sel-hs200 = <0x7>; + ti,trm-icp = <0x8>; + }; + +@@ -289,6 +303,14 @@ + + &sdhci0 { + u-boot,dm-spl; ++ /* ++ * Swap clock TISCI clock IDs between sdhci0 and sdhci1 to work ++ * around an issue in System Firmware 2019.12a (and earlier) known ++ * as SYSFW-3179. ++ */ ++ clocks =<&k3_clks 48 0>, <&k3_clks 48 1>; ++ assigned-clocks = <&k3_clks 48 1>; ++ assigned-clock-rates = <142860000>; + }; + + &sdhci1 { +diff --git a/arch/arm/dts/k3-am65-main.dtsi b/arch/arm/dts/k3-am65-main.dtsi +index ee32bf84cc..c32276e2f8 100644 +--- a/arch/arm/dts/k3-am65-main.dtsi ++++ b/arch/arm/dts/k3-am65-main.dtsi +@@ -128,7 +128,17 @@ + interrupts = ; + mmc-ddr-1_8v; + mmc-hs200-1_8v; +- ti,otap-del-sel = <0x2>; ++ ti,otap-del-sel-legacy = <0x0>; ++ ti,otap-del-sel-mmc-hs = <0x0>; ++ ti,otap-del-sel-sd-hs = <0x0>; ++ ti,otap-del-sel-sdr12 = <0x0>; ++ ti,otap-del-sel-sdr25 = <0x0>; ++ ti,otap-del-sel-sdr50 = <0x8>; ++ ti,otap-del-sel-sdr104 = <0x5>; ++ ti,otap-del-sel-ddr50 = <0x5>; ++ ti,otap-del-sel-ddr52 = <0x5>; ++ ti,otap-del-sel-hs200 = <0x5>; ++ ti,otap-del-sel-hs400 = <0x0>; + ti,trm-icp = <0x8>; + dma-coherent; + }; +diff --git a/drivers/clk/clk-ti-sci.c b/drivers/clk/clk-ti-sci.c +index 478349f22f..34ad71483a 100644 +--- a/drivers/clk/clk-ti-sci.c ++++ b/drivers/clk/clk-ti-sci.c +@@ -98,6 +98,7 @@ static ulong ti_sci_clk_set_rate(struct clk *clk, ulong rate) + struct ti_sci_clk_data *data = dev_get_priv(clk->dev); + const struct ti_sci_handle *sci = data->sci; + const struct ti_sci_clk_ops *cops = &sci->ops.clk_ops; ++ u64 current_freq; + int ret; + + debug("%s(clk=%p, rate=%lu)\n", __func__, clk, rate); +@@ -106,10 +107,21 @@ static ulong ti_sci_clk_set_rate(struct clk *clk, ulong rate) + k3_avs_notify_freq(clk->id, clk->data, rate); + #endif + +- /* Ask for exact frequency by using same value for min/target/max */ +- ret = cops->set_freq(sci, clk->id, clk->data, rate, rate, rate); +- if (ret) ++ /* Ask for specified frequency being tolerant about the result */ ++ ret = cops->set_freq(sci, clk->id, clk->data, 0, rate, U64_MAX); ++ if (ret) { + dev_err(clk->dev, "%s: set_freq failed (%d)\n", __func__, ret); ++ return ret; ++ } ++ ++ /* Read back actual frequency that has been set */ ++ ret = cops->get_freq(sci, clk->id, clk->data, ¤t_freq); ++ if (ret) { ++ dev_err(clk->dev, "%s: get_freq failed (%d)\n", __func__, ret); ++ return ret; ++ } ++ ++ debug("%s(clk=%p, current_freq=%llu)\n", __func__, clk, current_freq); + + return ret; + } +diff --git a/drivers/mmc/am654_sdhci.c b/drivers/mmc/am654_sdhci.c +index 7c4b034d1f..eadeb76fba 100644 +--- a/drivers/mmc/am654_sdhci.c ++++ b/drivers/mmc/am654_sdhci.c +@@ -79,7 +79,7 @@ struct am654_sdhci_plat { + struct mmc mmc; + struct regmap *base; + bool non_removable; +- u32 otap_del_sel; ++ u32 otap_del_sel[11]; + u32 trm_icp; + u32 drv_strength; + u32 strb_sel; +@@ -91,6 +91,25 @@ struct am654_sdhci_plat { + bool dll_on; + }; + ++struct timing_data { ++ const char *binding; ++ u32 capability; ++}; ++ ++static const struct timing_data td[] = { ++ [MMC_LEGACY] = {"ti,otap-del-sel-legacy", 0}, ++ [MMC_HS] = {"ti,otap-del-sel-mmc-hs", MMC_CAP(MMC_HS)}, ++ [SD_HS] = {"ti,otap-del-sel-sd-hs", MMC_CAP(SD_HS)}, ++ [UHS_SDR12] = {"ti,otap-del-sel-sdr12", MMC_CAP(UHS_SDR12)}, ++ [UHS_SDR25] = {"ti,otap-del-sel-sdr25", MMC_CAP(UHS_SDR25)}, ++ [UHS_SDR50] = {"ti,otap-del-sel-sdr50", MMC_CAP(UHS_SDR50)}, ++ [UHS_SDR104] = {"ti,otap-del-sel-sdr104", MMC_CAP(UHS_SDR104)}, ++ [UHS_DDR50] = {"ti,otap-del-sel-ddr50", MMC_CAP(UHS_DDR50)}, ++ [MMC_DDR_52] = {"ti,otap-del-sel-ddr52", MMC_CAP(MMC_DDR_52)}, ++ [MMC_HS_200] = {"ti,otap-del-sel-hs200", MMC_CAP(MMC_HS_200)}, ++ [MMC_HS_400] = {"ti,otap-del-sel-hs400", MMC_CAP(MMC_HS_400)}, ++}; ++ + struct am654_driver_data { + const struct sdhci_ops *ops; + u32 flags; +@@ -186,6 +205,7 @@ static int am654_sdhci_set_ios_post(struct sdhci_host *host) + struct am654_sdhci_plat *plat = dev_get_platdata(dev); + unsigned int speed = host->mmc->clock; + int sel50, sel100, freqsel; ++ u32 otap_del_sel; + u32 mask, val; + int ret; + +@@ -206,9 +226,10 @@ static int am654_sdhci_set_ios_post(struct sdhci_host *host) + + /* switch phy back on */ + if (speed > AM654_SDHCI_MIN_FREQ) { ++ otap_del_sel = plat->otap_del_sel[host->mmc->selected_mode]; + mask = OTAPDLYENA_MASK | OTAPDLYSEL_MASK; + val = (1 << OTAPDLYENA_SHIFT) | +- (plat->otap_del_sel << OTAPDLYSEL_SHIFT); ++ (otap_del_sel << OTAPDLYSEL_SHIFT); + + /* Write to STRBSEL for HS400 speed mode */ + if (host->mmc->selected_mode == MMC_HS_400) { +@@ -290,11 +311,11 @@ static int j721e_4bit_sdhci_set_ios_post(struct sdhci_host *host) + { + struct udevice *dev = host->mmc->dev; + struct am654_sdhci_plat *plat = dev_get_platdata(dev); +- u32 mask, val; ++ u32 otap_del_sel, mask, val; + ++ otap_del_sel = plat->otap_del_sel[host->mmc->selected_mode]; + mask = OTAPDLYENA_MASK | OTAPDLYSEL_MASK; +- val = (1 << OTAPDLYENA_SHIFT) | +- (plat->otap_del_sel << OTAPDLYSEL_SHIFT); ++ val = (1 << OTAPDLYENA_SHIFT) | (otap_del_sel << OTAPDLYSEL_SHIFT); + regmap_update_bits(plat->base, PHY_CTRL4, mask, val); + + return 0; +@@ -302,7 +323,7 @@ static int j721e_4bit_sdhci_set_ios_post(struct sdhci_host *host) + + const struct sdhci_ops j721e_4bit_sdhci_ops = { + .set_ios_post = &j721e_4bit_sdhci_set_ios_post, +- .set_control_reg = &am654_sdhci_set_control_reg, ++ .set_control_reg = &sdhci_set_control_reg, + .platform_execute_tuning = &am654_sdhci_execute_tuning, + }; + +@@ -357,6 +378,37 @@ int am654_sdhci_init(struct am654_sdhci_plat *plat) + return 0; + } + ++static int sdhci_am654_get_otap_delay(struct udevice *dev, ++ struct mmc_config *cfg) ++{ ++ struct am654_sdhci_plat *plat = dev_get_platdata(dev); ++ int ret; ++ int i; ++ ++ /* ti,otap-del-sel-legacy is mandatory */ ++ ret = dev_read_u32(dev, "ti,otap-del-sel-legacy", ++ &plat->otap_del_sel[0]); ++ if (ret) ++ return ret; ++ /* ++ * Remove the corresponding capability if an otap-del-sel ++ * value is not found ++ */ ++ for (i = MMC_HS; i < MMC_MODES_END; i++) { ++ ret = dev_read_u32(dev, td[i].binding, &plat->otap_del_sel[i]); ++ if (ret) { ++ dev_dbg(dev, "Couldn't find %s\n", td[i].binding); ++ /* ++ * Remove the corresponding capability ++ * if an otap-del-sel value is not found ++ */ ++ cfg->host_caps &= ~td[i].capability; ++ } ++ } ++ ++ return 0; ++} ++ + #define MAX_SDCD_DEBOUNCE_TIME 2000 + + static int am654_sdhci_probe(struct udevice *dev) +@@ -420,6 +472,10 @@ static int am654_sdhci_probe(struct udevice *dev) + if (ret) + return ret; + ++ ret = sdhci_am654_get_otap_delay(dev, cfg); ++ if (ret) ++ return ret; ++ + host->ops = drv_data->ops; + host->mmc->priv = host; + upriv->mmc = host->mmc; +@@ -457,10 +513,6 @@ static int am654_sdhci_ofdata_to_platdata(struct udevice *dev) + host->ioaddr = (void *)dev_read_addr(dev); + plat->non_removable = dev_read_bool(dev, "non-removable"); + +- ret = dev_read_u32(dev, "ti,otap-del-sel", &plat->otap_del_sel); +- if (ret) +- return ret; +- + if (plat->flags & DLL_PRESENT) { + ret = dev_read_u32(dev, "ti,trm-icp", &plat->trm_icp); + if (ret) +diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c +index b4c54bd8b6..efc44cb5d1 100644 +--- a/drivers/mmc/mmc.c ++++ b/drivers/mmc/mmc.c +@@ -136,7 +136,6 @@ const char *mmc_mode_name(enum bus_mode mode) + { + static const char *const names[] = { + [MMC_LEGACY] = "MMC legacy", +- [SD_LEGACY] = "SD Legacy", + [MMC_HS] = "MMC High Speed (26MHz)", + [SD_HS] = "SD High Speed (50MHz)", + [UHS_SDR12] = "UHS SDR12 (25MHz)", +@@ -161,7 +160,6 @@ static uint mmc_mode2freq(struct mmc *mmc, enum bus_mode mode) + { + static const int freqs[] = { + [MMC_LEGACY] = 25000000, +- [SD_LEGACY] = 25000000, + [MMC_HS] = 26000000, + [SD_HS] = 50000000, + [MMC_HS_52] = 52000000, +@@ -233,7 +231,7 @@ int mmc_poll_for_busy(struct mmc *mmc, int timeout) + unsigned int status; + int err; + +- err = mmc_wait_dat0(mmc, 1, timeout); ++ err = mmc_wait_dat0(mmc, 1, timeout * 1000); + if (err != -ENOSYS) + return err; + +@@ -776,7 +774,7 @@ static int __mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value, + start = get_timer(0); + + /* poll dat0 for rdy/buys status */ +- ret = mmc_wait_dat0(mmc, 1, timeout); ++ ret = mmc_wait_dat0(mmc, 1, timeout * 1000); + if (ret && ret != -ENOSYS) + return ret; + +@@ -1226,7 +1224,7 @@ static int sd_get_capabilities(struct mmc *mmc) + u32 sd3_bus_mode; + #endif + +- mmc->card_caps = MMC_MODE_1BIT | MMC_CAP(SD_LEGACY); ++ mmc->card_caps = MMC_MODE_1BIT | MMC_CAP(MMC_LEGACY); + + if (mmc_host_is_spi(mmc)) + return 0; +@@ -1339,7 +1337,7 @@ static int sd_set_card_speed(struct mmc *mmc, enum bus_mode mode) + return 0; + + switch (mode) { +- case SD_LEGACY: ++ case MMC_LEGACY: + speed = UHS_SDR12_BUS_SPEED; + break; + case SD_HS: +@@ -1658,7 +1656,7 @@ static const struct mode_width_tuning sd_modes_by_pref[] = { + }, + #endif + { +- .mode = SD_LEGACY, ++ .mode = MMC_LEGACY, + .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, + } + }; +@@ -1740,7 +1738,7 @@ static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps) + + error: + /* revert to a safer bus speed */ +- mmc_select_mode(mmc, SD_LEGACY); ++ mmc_select_mode(mmc, MMC_LEGACY); + mmc_set_clock(mmc, mmc->tran_speed, + MMC_CLK_ENABLE); + } +@@ -2456,7 +2454,7 @@ static int mmc_startup(struct mmc *mmc) + + #if CONFIG_IS_ENABLED(MMC_TINY) + mmc_set_clock(mmc, mmc->legacy_speed, false); +- mmc_select_mode(mmc, IS_SD(mmc) ? SD_LEGACY : MMC_LEGACY); ++ mmc_select_mode(mmc, MMC_LEGACY); + mmc_set_bus_width(mmc, 1); + #else + if (IS_SD(mmc)) { +@@ -2732,8 +2730,8 @@ int mmc_start_init(struct mmc *mmc) + * all hosts are capable of 1 bit bus-width and able to use the legacy + * timings. + */ +- mmc->host_caps = mmc->cfg->host_caps | MMC_CAP(SD_LEGACY) | +- MMC_CAP(MMC_LEGACY) | MMC_MODE_1BIT; ++ mmc->host_caps = mmc->cfg->host_caps | MMC_CAP(MMC_LEGACY) | ++ MMC_MODE_1BIT; + + #if !defined(CONFIG_MMC_BROKEN_CD) + /* we pretend there's no card when init is NULL */ +diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c +index 41f6629bf5..6e755a1f76 100644 +--- a/drivers/mmc/sdhci.c ++++ b/drivers/mmc/sdhci.c +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #if defined(CONFIG_FIXED_SDHCI_ALIGNED_BUFFER) + void *aligned_buffer = (void *)CONFIG_FIXED_SDHCI_ALIGNED_BUFFER; +@@ -564,6 +565,53 @@ void sdhci_set_uhs_timing(struct sdhci_host *host) + + sdhci_writew(host, reg, SDHCI_HOST_CONTROL2); + } ++#if CONFIG_IS_ENABLED(MMC_IO_VOLTAGE) ++static void sdhci_set_voltage(struct sdhci_host *host) ++{ ++ struct mmc *mmc = (struct mmc *)host->mmc; ++ u32 ctrl; ++ ++ ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); ++ ++ switch (mmc->signal_voltage) { ++ case MMC_SIGNAL_VOLTAGE_330: ++ if (mmc->vqmmc_supply) { ++ regulator_set_enable(mmc->vqmmc_supply, false); ++ regulator_set_value(mmc->vqmmc_supply, 3300000); ++ regulator_set_enable(mmc->vqmmc_supply, true); ++ } ++ ++ mdelay(5); ++ if (IS_SD(mmc)) { ++ ctrl &= ~SDHCI_CTRL_VDD_180; ++ sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2); ++ } ++ break; ++ case MMC_SIGNAL_VOLTAGE_180: ++ if (mmc->vqmmc_supply) { ++ regulator_set_enable(mmc->vqmmc_supply, false); ++ regulator_set_value(mmc->vqmmc_supply, 1800000); ++ regulator_set_enable(mmc->vqmmc_supply, true); ++ } ++ ++ if (IS_SD(mmc)) { ++ ctrl |= SDHCI_CTRL_VDD_180; ++ sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2); ++ } ++ break; ++ default: ++ /* No signal voltage switch required */ ++ return; ++ } ++} ++#else ++static void sdhci_set_voltage(struct sdhci_host *host) { } ++#endif ++void sdhci_set_control_reg(struct sdhci_host *host) ++{ ++ sdhci_set_voltage(host); ++ sdhci_set_uhs_timing(host); ++} + + #ifdef CONFIG_DM_MMC + static int sdhci_set_ios(struct udevice *dev) +diff --git a/include/sdhci.h b/include/sdhci.h +index e025e72a99..43eae9f6bc 100644 +--- a/include/sdhci.h ++++ b/include/sdhci.h +@@ -495,6 +495,7 @@ void sdhci_set_uhs_timing(struct sdhci_host *host); + /* Export the operations to drivers */ + int sdhci_probe(struct udevice *dev); + int sdhci_set_clock(struct mmc *mmc, unsigned int clock); ++void sdhci_set_control_reg(struct sdhci_host *host); + extern const struct dm_mmc_ops sdhci_ops; + #else + #endif +-- +2.17.1 + diff --git a/recipes-bsp/u-boot/files/prebuild/sysfw.itb b/recipes-bsp/u-boot/files/prebuild/sysfw.itb index 1ba6373df..cf1d474b9 100644 Binary files a/recipes-bsp/u-boot/files/prebuild/sysfw.itb and b/recipes-bsp/u-boot/files/prebuild/sysfw.itb differ diff --git a/recipes-bsp/u-boot/files/prebuild/sysfw.itb_HS b/recipes-bsp/u-boot/files/prebuild/sysfw.itb_HS index 00074ac1c..08efc8ad3 100644 Binary files a/recipes-bsp/u-boot/files/prebuild/sysfw.itb_HS and b/recipes-bsp/u-boot/files/prebuild/sysfw.itb_HS differ diff --git a/recipes-bsp/u-boot/files/prebuild/tiboot3_advanced.bin b/recipes-bsp/u-boot/files/prebuild/tiboot3_advanced.bin index b49902c1d..cd96dafb1 100644 Binary files a/recipes-bsp/u-boot/files/prebuild/tiboot3_advanced.bin and b/recipes-bsp/u-boot/files/prebuild/tiboot3_advanced.bin differ diff --git a/recipes-bsp/u-boot/files/prebuild/tiboot3_basic.bin b/recipes-bsp/u-boot/files/prebuild/tiboot3_basic.bin index 5efb97ae3..1f2f17adc 100644 Binary files a/recipes-bsp/u-boot/files/prebuild/tiboot3_basic.bin and b/recipes-bsp/u-boot/files/prebuild/tiboot3_basic.bin differ diff --git a/recipes-bsp/u-boot/u-boot-iot2050.bb b/recipes-bsp/u-boot/u-boot-iot2050.bb index 3a36d5f85..9553b53d6 100644 --- a/recipes-bsp/u-boot/u-boot-iot2050.bb +++ b/recipes-bsp/u-boot/u-boot-iot2050.bb @@ -29,6 +29,9 @@ SRC_URI += " \ file://0013-bugfix-set-gpio-direction-output-show-error.patch \ file://0014-feat-add-config-for-skipping-certificate-verificatio.patch \ file://0015-feat-enable-verified-boot.patch \ + file://0016-feat-add-sysfw-19.12-support.patch \ + file://0017-add-the-signature-support-for-fit-image-add-the-supp.patch \ + file://0018-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch \ file://atf/0001-feat-add-atf-support-to-iot2050-platform.patch;patchdir=${WORKDIR}/atf \ file://optee/0001-feat-add-optee-support-to-iot2050-platform.patch;patchdir=${WORKDIR}/optee \ file://iot2050-uboot-build-rules \ diff --git a/recipes-kernel/linux/files/0001-iot2050-add-iot2050-platform-support.patch b/recipes-kernel/linux/files/0001-iot2050-add-iot2050-platform-support.patch index f7d3f38c0..0bb199e66 100644 --- a/recipes-kernel/linux/files/0001-iot2050-add-iot2050-platform-support.patch +++ b/recipes-kernel/linux/files/0001-iot2050-add-iot2050-platform-support.patch @@ -1,7 +1,7 @@ From 5283cfac179d7c6a40d659d26d121747df9f73e3 Mon Sep 17 00:00:00 2001 From: Le Jin Date: Mon, 18 Nov 2019 17:58:08 +0800 -Subject: [PATCH 01/23] iot2050: add iot2050 platform support +Subject: [PATCH 01/22] iot2050: add iot2050 platform support Add support for two iot2050 variants, BASIC and ADVANCED. Also add support for fixed gpio number naming. diff --git a/recipes-kernel/linux/files/0002-Add-support-for-U9300C-TD-LTE-module.patch b/recipes-kernel/linux/files/0002-Add-support-for-U9300C-TD-LTE-module.patch index 2c315f233..9c157b1bc 100644 --- a/recipes-kernel/linux/files/0002-Add-support-for-U9300C-TD-LTE-module.patch +++ b/recipes-kernel/linux/files/0002-Add-support-for-U9300C-TD-LTE-module.patch @@ -1,7 +1,7 @@ From 17d74fd2df7c080e2c8978579e35e35a88144ec5 Mon Sep 17 00:00:00 2001 From: Su Bao Cheng Date: Tue, 23 Apr 2019 10:07:17 +0800 -Subject: [PATCH 02/23] Add support for U9300C TD-LTE module +Subject: [PATCH 02/22] Add support for U9300C TD-LTE module Author: Gao Nian Signed-off-by: Su Bao Cheng diff --git a/recipes-kernel/linux/files/0003-feat-Add-CP210x-driver-support-to-software-flow-cont.patch b/recipes-kernel/linux/files/0003-feat-Add-CP210x-driver-support-to-software-flow-cont.patch index cbb4d2b11..aa696d436 100644 --- a/recipes-kernel/linux/files/0003-feat-Add-CP210x-driver-support-to-software-flow-cont.patch +++ b/recipes-kernel/linux/files/0003-feat-Add-CP210x-driver-support-to-software-flow-cont.patch @@ -1,7 +1,7 @@ From 307404678bae5bf3d3eb2c39bd852def482ebaee Mon Sep 17 00:00:00 2001 From: Su Bao Cheng Date: Mon, 15 Jul 2019 15:46:09 +0800 -Subject: [PATCH 03/23] feat: Add CP210x driver support to software flow +Subject: [PATCH 03/22] feat: Add CP210x driver support to software flow control Signed-off-by: Wang Sheng Long diff --git a/recipes-kernel/linux/files/0004-fix-disable-usb-lpm-to-fix-usb-device-reset.patch b/recipes-kernel/linux/files/0004-fix-disable-usb-lpm-to-fix-usb-device-reset.patch index 540c31d58..782f7cbb8 100644 --- a/recipes-kernel/linux/files/0004-fix-disable-usb-lpm-to-fix-usb-device-reset.patch +++ b/recipes-kernel/linux/files/0004-fix-disable-usb-lpm-to-fix-usb-device-reset.patch @@ -1,7 +1,7 @@ From a5e11cc5941248ff5f1aa2f2f263be4a300232bc Mon Sep 17 00:00:00 2001 From: Sheng Long Wang Date: Tue, 13 Aug 2019 09:30:38 +0800 -Subject: [PATCH 04/23] fix: disable usb lpm to fix usb device reset +Subject: [PATCH 04/22] fix: disable usb lpm to fix usb device reset --- drivers/usb/core/hub.c | 2 +- diff --git a/recipes-kernel/linux/files/0005-Fix-DP-maybe-not-display-problem.patch b/recipes-kernel/linux/files/0005-Fix-DP-maybe-not-display-problem.patch index b836e0f46..ad34da372 100644 --- a/recipes-kernel/linux/files/0005-Fix-DP-maybe-not-display-problem.patch +++ b/recipes-kernel/linux/files/0005-Fix-DP-maybe-not-display-problem.patch @@ -1,7 +1,7 @@ From 6494ab018e65022d1689559eed188e5ed43dd8ea Mon Sep 17 00:00:00 2001 From: Sheng Long Wang Date: Tue, 13 Aug 2019 10:27:44 +0800 -Subject: [PATCH 05/23] Fix: DP maybe not display problem. +Subject: [PATCH 05/22] Fix: DP maybe not display problem. Three reasons: 1. No entry link training phase diff --git a/recipes-kernel/linux/files/0006-fix-fix-the-hardware-flow-function-of-cp2102n24.patch b/recipes-kernel/linux/files/0006-fix-fix-the-hardware-flow-function-of-cp2102n24.patch index a2bc9d1a3..059e2a64a 100644 --- a/recipes-kernel/linux/files/0006-fix-fix-the-hardware-flow-function-of-cp2102n24.patch +++ b/recipes-kernel/linux/files/0006-fix-fix-the-hardware-flow-function-of-cp2102n24.patch @@ -1,7 +1,7 @@ From 4d26330948ffe13fa3118d209acdf2342a07661f Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Wed, 21 Aug 2019 16:22:30 +0800 -Subject: [PATCH 06/23] fix:fix the hardware flow function of cp2102n24 +Subject: [PATCH 06/22] fix:fix the hardware flow function of cp2102n24 Signed-off-by: Gao Nian --- diff --git a/recipes-kernel/linux/files/0007-serial-8250-8250_omap-Fix-DMA-teardown-sequence-duri.patch b/recipes-kernel/linux/files/0007-serial-8250-8250_omap-Fix-DMA-teardown-sequence-duri.patch index 8ef5a261b..feec6c4bc 100644 --- a/recipes-kernel/linux/files/0007-serial-8250-8250_omap-Fix-DMA-teardown-sequence-duri.patch +++ b/recipes-kernel/linux/files/0007-serial-8250-8250_omap-Fix-DMA-teardown-sequence-duri.patch @@ -1,7 +1,7 @@ From c1b5b5013e492b3162d8ca914d958454ab98b328 Mon Sep 17 00:00:00 2001 From: Vignesh Raghavendra Date: Tue, 17 Sep 2019 14:53:27 +0530 -Subject: [PATCH 07/23] serial: 8250: 8250_omap: Fix DMA teardown sequence +Subject: [PATCH 07/22] serial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout Calling dmaengine_terminate_async() does not guarantee all the data that diff --git a/recipes-kernel/linux/files/0008-serial-8250-8250_omap-Remove-redundant-call-to-omap_.patch b/recipes-kernel/linux/files/0008-serial-8250-8250_omap-Remove-redundant-call-to-omap_.patch index b93b11ec5..ed2aff1f0 100644 --- a/recipes-kernel/linux/files/0008-serial-8250-8250_omap-Remove-redundant-call-to-omap_.patch +++ b/recipes-kernel/linux/files/0008-serial-8250-8250_omap-Remove-redundant-call-to-omap_.patch @@ -1,7 +1,7 @@ From e4be373b1fbf9822e0d02c7d763980348ab254c9 Mon Sep 17 00:00:00 2001 From: Vignesh Raghavendra Date: Tue, 17 Sep 2019 14:53:28 +0530 -Subject: [PATCH 08/23] serial: 8250: 8250_omap: Remove redundant call to +Subject: [PATCH 08/22] serial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush omap_8250_rx_dma_flush() is called twice in am654_8250_handle_rx_dma() diff --git a/recipes-kernel/linux/files/0009-feat-add-io-expander-pcal9535-support.patch b/recipes-kernel/linux/files/0009-feat-add-io-expander-pcal9535-support.patch index f971be970..bf3449d88 100644 --- a/recipes-kernel/linux/files/0009-feat-add-io-expander-pcal9535-support.patch +++ b/recipes-kernel/linux/files/0009-feat-add-io-expander-pcal9535-support.patch @@ -1,7 +1,7 @@ From 242bd3c176b132223ab67b05e1779a4653350691 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Wed, 9 Oct 2019 17:08:43 +0800 -Subject: [PATCH 09/23] feat:add io expander pcal9535 support +Subject: [PATCH 09/22] feat:add io expander pcal9535 support Signed-off-by: le.jin --- diff --git a/recipes-kernel/linux/files/0010-feat-modify-kernel-to-load-fw-from-MTD-for-pru-rtu.patch b/recipes-kernel/linux/files/0010-feat-modify-kernel-to-load-fw-from-MTD-for-pru-rtu.patch index 717eabca8..3b101c2de 100644 --- a/recipes-kernel/linux/files/0010-feat-modify-kernel-to-load-fw-from-MTD-for-pru-rtu.patch +++ b/recipes-kernel/linux/files/0010-feat-modify-kernel-to-load-fw-from-MTD-for-pru-rtu.patch @@ -1,7 +1,7 @@ From e2348e65a09f34c6d4896abdc1b920c08396ecaa Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Fri, 25 Oct 2019 14:54:06 +0800 -Subject: [PATCH 10/23] feat:modify kernel to load fw from MTD for pru&rtu +Subject: [PATCH 10/22] feat:modify kernel to load fw from MTD for pru&rtu Signed-off-by: Gao Nian --- diff --git a/recipes-kernel/linux/files/0011-setting-the-RJ45-port-led-behavior.patch b/recipes-kernel/linux/files/0011-setting-the-RJ45-port-led-behavior.patch index cd2cd1ca7..2a25ba1f2 100644 --- a/recipes-kernel/linux/files/0011-setting-the-RJ45-port-led-behavior.patch +++ b/recipes-kernel/linux/files/0011-setting-the-RJ45-port-led-behavior.patch @@ -1,7 +1,7 @@ From 5809de4e53c2ace180563fae1b7a7c35ee01ce76 Mon Sep 17 00:00:00 2001 From: zengchao Date: Wed, 6 Nov 2019 11:21:49 +0800 -Subject: [PATCH 11/23] setting the RJ45 port led behavior +Subject: [PATCH 11/22] setting the RJ45 port led behavior Signed-off-by: zengchao --- diff --git a/recipes-kernel/linux/files/0012-fix-clear-the-cycle-buffer-of-serial.patch b/recipes-kernel/linux/files/0012-fix-clear-the-cycle-buffer-of-serial.patch index 636b1b066..0fc9e980f 100644 --- a/recipes-kernel/linux/files/0012-fix-clear-the-cycle-buffer-of-serial.patch +++ b/recipes-kernel/linux/files/0012-fix-clear-the-cycle-buffer-of-serial.patch @@ -1,7 +1,7 @@ From 6b72637818243212847489a51048f9ce5a2577d3 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 26 Nov 2019 09:05:56 +0800 -Subject: [PATCH 12/23] fix:clear the cycle buffer of serial +Subject: [PATCH 12/22] fix:clear the cycle buffer of serial 1.the last residual data will be sent next time diff --git a/recipes-kernel/linux/files/0013-fix-4169461-fixed-eth-link-down-when-autoneg-off.patch b/recipes-kernel/linux/files/0013-fix-4169461-fixed-eth-link-down-when-autoneg-off.patch index 44e477a9e..3761ebb93 100644 --- a/recipes-kernel/linux/files/0013-fix-4169461-fixed-eth-link-down-when-autoneg-off.patch +++ b/recipes-kernel/linux/files/0013-fix-4169461-fixed-eth-link-down-when-autoneg-off.patch @@ -1,7 +1,7 @@ From 1da9df7f4ea442863cf4af24e3cba29d79de5ea3 Mon Sep 17 00:00:00 2001 From: Sheng Long Wang Date: Fri, 13 Dec 2019 12:35:56 +0800 -Subject: [PATCH 13/23] fix(4169461):fixed eth link down when autoneg off +Subject: [PATCH 13/22] fix(4169461):fixed eth link down when autoneg off 1.dp83867: enable robust auto-mdix diff --git a/recipes-kernel/linux/files/0014-refactor-move-ioexpander-node-to-mcu-i2c0-for-LM5.patch b/recipes-kernel/linux/files/0014-refactor-move-ioexpander-node-to-mcu-i2c0-for-LM5.patch index 16e9fff51..7e3c83609 100644 --- a/recipes-kernel/linux/files/0014-refactor-move-ioexpander-node-to-mcu-i2c0-for-LM5.patch +++ b/recipes-kernel/linux/files/0014-refactor-move-ioexpander-node-to-mcu-i2c0-for-LM5.patch @@ -1,7 +1,7 @@ From 7ce1011ad4a74b3dd0931ae633ca918a4dd18331 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 10 Dec 2019 11:33:37 +0800 -Subject: [PATCH 14/23] refactor:move ioexpander node to mcu-i2c0 for LM5 +Subject: [PATCH 14/22] refactor:move ioexpander node to mcu-i2c0 for LM5 Signed-off-by: Gao Nian --- diff --git a/recipes-kernel/linux/files/0015-fix-rproc-r5-0-set_config-failed-in-linux.patch b/recipes-kernel/linux/files/0015-fix-rproc-r5-0-set_config-failed-in-linux.patch index dcf8f9a06..aa5f920c5 100644 --- a/recipes-kernel/linux/files/0015-fix-rproc-r5-0-set_config-failed-in-linux.patch +++ b/recipes-kernel/linux/files/0015-fix-rproc-r5-0-set_config-failed-in-linux.patch @@ -1,7 +1,7 @@ From f390154dd87aec7ccee4f7f11ccb7c9d2be30bc4 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Thu, 2 Jan 2020 14:00:09 +0800 -Subject: [PATCH 15/23] fix: rproc r5-0 set_config failed in linux +Subject: [PATCH 15/22] fix: rproc r5-0 set_config failed in linux Signed-off-by: Gao Nian --- diff --git a/recipes-kernel/linux/files/0016-feat-extend-led-panic-indicator-on-and-off.patch b/recipes-kernel/linux/files/0016-feat-extend-led-panic-indicator-on-and-off.patch index 851c8dbc0..fb720ff67 100644 --- a/recipes-kernel/linux/files/0016-feat-extend-led-panic-indicator-on-and-off.patch +++ b/recipes-kernel/linux/files/0016-feat-extend-led-panic-indicator-on-and-off.patch @@ -1,7 +1,7 @@ From 02d8a735b979126c08d7e40204f8854f0be09004 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Fri, 3 Jan 2020 14:50:16 +0800 -Subject: [PATCH 16/23] feat:extend led panic-indicator on and off +Subject: [PATCH 16/22] feat:extend led panic-indicator on and off Signed-off-by: Gao Nian --- diff --git a/recipes-kernel/linux/files/0017-fix-can-not-auto-negotiate-to-100M-with-4-wire.patch b/recipes-kernel/linux/files/0017-fix-can-not-auto-negotiate-to-100M-with-4-wire.patch index 03a93751a..90374a5c0 100644 --- a/recipes-kernel/linux/files/0017-fix-can-not-auto-negotiate-to-100M-with-4-wire.patch +++ b/recipes-kernel/linux/files/0017-fix-can-not-auto-negotiate-to-100M-with-4-wire.patch @@ -1,7 +1,7 @@ From 55b5f9b868edd8e99b993052107d586315ad5e43 Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Tue, 4 Feb 2020 22:03:52 +0800 -Subject: [PATCH 17/23] fix:can not auto negotiate to 100M with 4-wire +Subject: [PATCH 17/22] fix:can not auto negotiate to 100M with 4-wire Signed-off-by: Gao Nian --- diff --git a/recipes-kernel/linux/files/0018-change-OSPI-clock-id-to-support-sysfw-19.12.patch b/recipes-kernel/linux/files/0018-change-OSPI-clock-id-to-support-sysfw-19.12.patch index 3875f7caa..01119f4e2 100644 --- a/recipes-kernel/linux/files/0018-change-OSPI-clock-id-to-support-sysfw-19.12.patch +++ b/recipes-kernel/linux/files/0018-change-OSPI-clock-id-to-support-sysfw-19.12.patch @@ -1,7 +1,7 @@ From 7e8f41a7aa4ca5ac70c328447843a733a47419f9 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Mon, 2 Mar 2020 23:01:32 +0800 -Subject: [PATCH 18/23] change OSPI clock id to support sysfw 19.12 +Subject: [PATCH 18/22] change OSPI clock id to support sysfw 19.12 Signed-off-by: le.jin --- diff --git a/recipes-kernel/linux/files/0019-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch b/recipes-kernel/linux/files/0019-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch index efe0525b0..262b730db 100644 --- a/recipes-kernel/linux/files/0019-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch +++ b/recipes-kernel/linux/files/0019-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch @@ -1,7 +1,7 @@ From cbd91e849e606e1b7d24fc454620f266be5defed Mon Sep 17 00:00:00 2001 From: Gao Nian Date: Mon, 17 Feb 2020 11:56:33 +0800 -Subject: [PATCH 19/23] feat: set sdhci0 clock frequency to 142.86MHz +Subject: [PATCH 19/22] feat: set sdhci0 clock frequency to 142.86MHz 1. catch up eth sdhci driver of SDK6.3 2. merge the patch files provided by TI: diff --git a/recipes-kernel/linux/files/0020-feat-change-mmc-order-using-alias-in-dts.patch b/recipes-kernel/linux/files/0020-feat-change-mmc-order-using-alias-in-dts.patch index f02ffcd13..e2b22e0c6 100644 --- a/recipes-kernel/linux/files/0020-feat-change-mmc-order-using-alias-in-dts.patch +++ b/recipes-kernel/linux/files/0020-feat-change-mmc-order-using-alias-in-dts.patch @@ -1,7 +1,7 @@ From 6d7ccabd9df5c304a67d692233f6060b744e6b93 Mon Sep 17 00:00:00 2001 From: "le.jin" Date: Wed, 9 Oct 2019 15:22:09 +0800 -Subject: [PATCH 20/23] feat:change mmc order using alias in dts +Subject: [PATCH 20/22] feat:change mmc order using alias in dts 1. modify kernel to support mmc alias in dts 2. change SD to mmc0 and EMMC to mmc1 via alias in dts diff --git a/recipes-kernel/linux/files/0021-fix-PLL4_DCO-freq-over-range-cause-DP-not-display.patch b/recipes-kernel/linux/files/0021-fix-PLL4_DCO-freq-over-range-cause-DP-not-display.patch index adb98fee5..0d8349441 100644 --- a/recipes-kernel/linux/files/0021-fix-PLL4_DCO-freq-over-range-cause-DP-not-display.patch +++ b/recipes-kernel/linux/files/0021-fix-PLL4_DCO-freq-over-range-cause-DP-not-display.patch @@ -1,7 +1,7 @@ From 02e86566ee70f66cfdb4fb49535ed5d78b20754d Mon Sep 17 00:00:00 2001 From: Sheng Long Wang Date: Tue, 7 Apr 2020 15:30:06 +0800 -Subject: [PATCH 21/23] fix:PLL4_DCO freq over range cause DP not display +Subject: [PATCH 21/22] fix:PLL4_DCO freq over range cause DP not display 1.some DP may be can not display. 2.reason: TI sysfw can not correct set PLL4 some frequency diff --git a/recipes-kernel/linux/files/0022-iot2050-Roll-back-basic-dtb-to-V01.00.00.1-release.patch b/recipes-kernel/linux/files/0022-iot2050-Roll-back-basic-dtb-to-V01.00.00.1-release.patch index ce609f9f5..da040f9a8 100644 --- a/recipes-kernel/linux/files/0022-iot2050-Roll-back-basic-dtb-to-V01.00.00.1-release.patch +++ b/recipes-kernel/linux/files/0022-iot2050-Roll-back-basic-dtb-to-V01.00.00.1-release.patch @@ -1,7 +1,7 @@ From 0ef3b310bb5c63aeb1f1468c06a739a4e69b2066 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Sat, 2 May 2020 11:02:12 +0200 -Subject: [PATCH 22/23] iot2050: Roll back basic dtb to V01.00.00.1 release +Subject: [PATCH 22/22] iot2050: Roll back basic dtb to V01.00.00.1 release That release came with sysfw 19.7.1 which had some... variations. diff --git a/recipes-kernel/linux/files/0023-iot2050-Roll-back-advanced-dtb-to-V01.00.00.1-releas.patch b/recipes-kernel/linux/files/0023-iot2050-Roll-back-advanced-dtb-to-V01.00.00.1-releas.patch deleted file mode 100644 index caf66f635..000000000 --- a/recipes-kernel/linux/files/0023-iot2050-Roll-back-advanced-dtb-to-V01.00.00.1-releas.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7766a625d82ba40facf3bd33ffa7bdeab638d6c5 Mon Sep 17 00:00:00 2001 -From: Gao Nian -Date: Fri, 8 May 2020 16:09:23 +0800 -Subject: [PATCH 23/23] iot2050: Roll back advanced dtb to V01.00.00.1 release - -Signed-off-by: Gao Nian ---- - .../arm64/boot/dts/siemens/iot2050-advanced.dts | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/siemens/iot2050-advanced.dts b/arch/arm64/boot/dts/siemens/iot2050-advanced.dts -index 946520f863cf..a0d8b50010de 100644 ---- a/arch/arm64/boot/dts/siemens/iot2050-advanced.dts -+++ b/arch/arm64/boot/dts/siemens/iot2050-advanced.dts -@@ -62,4 +62,19 @@ - non-removable; - ti,driver-strength-ohm = <50>; - disable-wp; --}; -\ No newline at end of file -+}; -+ -+/* Compat support for bootloader V01.00.00.1 */ -+ -+&ospi0 { -+ clocks = <&k3_clks 55 5>; -+ assigned-clocks = <&k3_clks 55 5>; -+ assigned-clock-parents = <&k3_clks 55 7>; -+ power-domains = <&k3_pds 55 TI_SCI_PD_EXCLUSIVE>; -+}; -+ -+&ospi1 { -+ clocks = <&k3_clks 55 16>; -+ power-domains = <&k3_pds 55 TI_SCI_PD_EXCLUSIVE>; -+}; -+ --- -2.25.1 - diff --git a/recipes-kernel/linux/linux-iot2050_4.19.59+.bb b/recipes-kernel/linux/linux-iot2050_4.19.59+.bb index 49cfe22ed..12e35b58a 100644 --- a/recipes-kernel/linux/linux-iot2050_4.19.59+.bb +++ b/recipes-kernel/linux/linux-iot2050_4.19.59+.bb @@ -33,8 +33,7 @@ SRC_URI += "file://0001-iot2050-add-iot2050-platform-support.patch \ file://0019-feat-set-sdhci0-clock-frequency-to-142.86MHz.patch \ file://0020-feat-change-mmc-order-using-alias-in-dts.patch \ file://0021-fix-PLL4_DCO-freq-over-range-cause-DP-not-display.patch \ - file://0022-iot2050-Roll-back-basic-dtb-to-V01.00.00.1-release.patch \ - file://0023-iot2050-Roll-back-advanced-dtb-to-V01.00.00.1-releas.patch" + file://0022-iot2050-Roll-back-basic-dtb-to-V01.00.00.1-release.patch" KERNEL_BRANCH = "processor-sdk-linux-4.19.y" KERNEL_REV = "5f8c1c6121da785bbe7ecc5896877a2537b5d6eb"