[U-Boot] [PATCH 1/7] ARM64: zynqmp: Add missing SPL dependency for boot.bin generation

boot.bin file is generated only when SPL is selected. Reflect this depency in Kconfig.
Signed-off-by: Michal Simek michal.simek@xilinx.com ---
arch/arm/cpu/armv8/zynqmp/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/cpu/armv8/zynqmp/Kconfig b/arch/arm/cpu/armv8/zynqmp/Kconfig index f354aae3fc24..e175e6eceb0d 100644 --- a/arch/arm/cpu/armv8/zynqmp/Kconfig +++ b/arch/arm/cpu/armv8/zynqmp/Kconfig @@ -43,6 +43,7 @@ config SYS_CONFIG_NAME
config BOOT_INIT_FILE string "boot.bin init register filename" + depends on SPL default "" help Add register writes to boot.bin format (max 256 pairs).

From: Shubhrajyoti Datta shubhrajyoti.datta@xilinx.com
The watchdog clock node is missing. Add the same. This solves the below error.
cdns-wdt fd4d0000.watchdog: input clock not found cdns-wdt: probe of fd4d0000.watchdog failed with error -2
Signed-off-by: Shubhrajyoti Datta shubhrajyoti.datta@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com ---
arch/arm/dts/zynqmp-clk.dtsi | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/zynqmp-clk.dtsi b/arch/arm/dts/zynqmp-clk.dtsi index aa848c864637..b64a0a6f6ba7 100644 --- a/arch/arm/dts/zynqmp-clk.dtsi +++ b/arch/arm/dts/zynqmp-clk.dtsi @@ -218,6 +218,10 @@ clocks = <&clk250>, <&clk250>; };
+&watchdog0 { + clocks = <&clk250>; +}; + &xilinx_drm { clocks = <&drm_clock>; };

On 16 December 2016 at 05:39, Michal Simek michal.simek@xilinx.com wrote:
From: Shubhrajyoti Datta shubhrajyoti.datta@xilinx.com
The watchdog clock node is missing. Add the same. This solves the below error.
cdns-wdt fd4d0000.watchdog: input clock not found cdns-wdt: probe of fd4d0000.watchdog failed with error -2
Signed-off-by: Shubhrajyoti Datta shubhrajyoti.datta@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
arch/arm/dts/zynqmp-clk.dtsi | 4 ++++ 1 file changed, 4 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

Just sync between version. Others zynqmp boards have this setup.
Signed-off-by: Michal Simek michal.simek@xilinx.com ---
arch/arm/dts/zynqmp-ep108.dts | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/zynqmp-ep108.dts b/arch/arm/dts/zynqmp-ep108.dts index 2483180d38f6..9f6b11180e76 100644 --- a/arch/arm/dts/zynqmp-ep108.dts +++ b/arch/arm/dts/zynqmp-ep108.dts @@ -28,6 +28,7 @@ };
chosen { + bootargs = "earlycon"; stdout-path = "serial0:115200n8"; };

Fix DT binding for usb nodes. Setup correct aliases and enable dwc3 nodes.
Signed-off-by: Michal Simek michal.simek@xilinx.com ---
arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts | 4 ++++ arch/arm/dts/zynqmp-zc1751-xm016-dc2.dts | 4 ++++ 2 files changed, 8 insertions(+)
diff --git a/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts b/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts index b3f42977ab3c..c2a26c1dbb0c 100644 --- a/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts +++ b/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts @@ -176,6 +176,10 @@ /* ULPI SMSC USB3320 */ &usb0 { status = "okay"; +}; + +&dwc3_0 { + status = "okay"; dr_mode = "host"; };
diff --git a/arch/arm/dts/zynqmp-zc1751-xm016-dc2.dts b/arch/arm/dts/zynqmp-zc1751-xm016-dc2.dts index 09a114be1610..32847e1a66ea 100644 --- a/arch/arm/dts/zynqmp-zc1751-xm016-dc2.dts +++ b/arch/arm/dts/zynqmp-zc1751-xm016-dc2.dts @@ -224,6 +224,10 @@ /* ULPI SMSC USB3320 */ &usb1 { status = "okay"; +}; + +&dwc3_1 { + status = "okay"; dr_mode = "host"; };

From: Stefan Krsmanovic stefan.krsmanovic@aggios.com
Added the idle-states node to describe zynqmp idle states. Only cpu-sleep-0 idle state is added in this patch. References to the idle-states node are added in all CPU nodes. Time values: entry/exit latencies and min-residency, needs to be tuned. arm,psci-suspend-param is selected to comply with PSCIv1.0 and Extended StateID format.
Signed-off-by: Stefan Krsmanovic stefan.krsmanovic@aggios.com Acked-by: Will Wong willw@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com ---
arch/arm/dts/zynqmp.dtsi | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi index ab5c243c61d3..f8a2b5fdd930 100644 --- a/arch/arm/dts/zynqmp.dtsi +++ b/arch/arm/dts/zynqmp.dtsi @@ -21,6 +21,7 @@ device_type = "cpu"; enable-method = "psci"; reg = <0x0>; + cpu-idle-states = <&CPU_SLEEP_0>; };
cpu@1 { @@ -28,6 +29,7 @@ device_type = "cpu"; enable-method = "psci"; reg = <0x1>; + cpu-idle-states = <&CPU_SLEEP_0>; };
cpu@2 { @@ -35,6 +37,7 @@ device_type = "cpu"; enable-method = "psci"; reg = <0x2>; + cpu-idle-states = <&CPU_SLEEP_0>; };
cpu@3 { @@ -42,6 +45,20 @@ device_type = "cpu"; enable-method = "psci"; reg = <0x3>; + cpu-idle-states = <&CPU_SLEEP_0>; + }; + + idle-states { + entry-mehod = "arm,psci"; + + CPU_SLEEP_0: cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x40000000>; + local-timer-stop; + entry-latency-us = <300>; + exit-latency-us = <600>; + min-residency-us = <800000>; + }; }; };

Sync with Linux kernel.
Signed-off-by: Michal Simek michal.simek@xilinx.com ---
arch/arm/dts/zynqmp.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi index f8a2b5fdd930..e2e76d70fd37 100644 --- a/arch/arm/dts/zynqmp.dtsi +++ b/arch/arm/dts/zynqmp.dtsi @@ -7,6 +7,7 @@ * * SPDX-License-Identifier: GPL-2.0+ */ + / { compatible = "xlnx,zynqmp"; #address-cells = <2>;

From: Siva Durga Prasad Paladugu sivadur@xilinx.com
DNL numbers are not changed that's why fastboot needs to be called with -i parameter (Xilinx vendor id).
- Show available devices sudo fastboot -i 0x03fd devices xilinx_zynqmp_zcu100 fastboot
- Stop fastboot and go back to U-Boot prompt sudo fastboot -i 0x03fd continue
- Reboot the board sudo fastboot -i 0x03fd reboot
- Get internal variables sudo fastboot -i 0x3fd getvar bootloader-version bootloader-version: U-Boot 2016.07-00026-g19bd53044817 sudo fastboot -i 0x3fd getvar downloadsize downloadsize: 0x06000000 sudo fastboot -i 0x3fd getvar version version: 0.4 (regular variables needs to have fastboot. prefix - there is also serialno variable which should be define as serial#)
- Format SD/MMC/EMMC card sudo fastboot -i 0x3fd oem format - Write images to boot and Linux partition sudo fastboot -i 0x3fd flash boot sd.img sudo fastboot -i 0x3fd flash Linux os.img
- Creating sd.img or os.img $ dd if=/dev/zero of=sd.img bs=1024 count=1024 $ mkfs.vfat sd.img $ mkdir sd-mount $ mount -o loop sd.img sd-mount $ echo foo > sd-mount/bar $ umount sd-mount
partitions setting should be checked by running gpt command.
Signed-off-by: Siva Durga Prasad Paladugu sivadur@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com ---
include/configs/xilinx_zynqmp.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index c3e1e3fa79e5..ce95aefbd936 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -129,12 +129,36 @@
#define DFU_ALT_INFO \ DFU_ALT_INFO_RAM + +#ifndef CONFIG_SPL_BUILD +# define CONFIG_USB_FUNCTION_FASTBOOT +# define CONFIG_CMD_FASTBOOT +# define CONFIG_ANDROID_BOOT_IMAGE +# define CONFIG_FASTBOOT_BUF_ADDR 0x100000 +# define CONFIG_FASTBOOT_BUF_SIZE 0x6000000 +# define CONFIG_FASTBOOT_FLASH +# ifdef CONFIG_ZYNQ_SDHCI +# define CONFIG_FASTBOOT_FLASH_MMC_DEV 0 +# endif +# define CONFIG_PARTITION_UUIDS +# define CONFIG_CMD_GPT + +# define CONFIG_RANDOM_UUID +# define PARTS_DEFAULT \ + "partitions=uuid_disk=${uuid_gpt_disk};" \ + "name=""boot"",size=16M,uuid=${uuid_gpt_boot};" \ + "name=""Linux"",size=-M,uuid=${uuid_gpt_Linux}\0" +#endif #endif
#if !defined(DFU_ALT_INFO) # define DFU_ALT_INFO #endif
+#if !defined(PARTS_DEFAULT) +# define PARTS_DEFAULT +#endif + #define CONFIG_BOARD_LATE_INIT
/* Do not preserve environment */
participants (2)
-
Michal Simek
-
Simon Glass