From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Wed, 9 Oct 2019 12:30:36 +0200 Subject: [U-Boot] [GIT PULL] Xilinx/FPGA patches for v2020.01 Message-ID: <6b2f1b4a-c0e1-ac0f-adf8-740f67ac61cd@monstr.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Tom, please pull the following changes to your tree. I have also included trivial patch for apalis board. Networking stuff have been assigned to me in patchwork that's why I am also including them. Gitlab CI failed but it is related to file path we discussed already. https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze/pipelines/879 I expect when you merge this to your branch all will pass. Thanks, Michal The following changes since commit 61ba1244b548463dbfb3c5285b6b22e7c772c5bd: Prepare v2019.10 (2019-10-07 17:14:02 -0400) are available in the Git repository at: git at gitlab.denx.de:u-boot/custodians/u-boot-microblaze.git tags/xilinx-for-v2020.01 for you to fetch changes up to bcaa0e3302e384ad65c352b385678acdf3f20c0a: arm64: versal: remove debug uart for versal virt (2019-10-08 13:14:54 +0200) ---------------------------------------------------------------- Xilinx/FPGA changes for v2020.01 FPGA: - Enable fpga loading on Versal - Minor fix Microblaze: - Fix LMB configurations to support initrds - Some other cleanups Zynq: - Minor config/dt changes - Add distro boot support for usb1 and mmc1 - Remove Xilinx private boot commands and use only distro boot ZynqMP: - Kconfig cleanups, defconfig updates - Update some dt files - Add firmware driver for talking to PMUFW - Extend distro boot support for jtag - Add new IDs - Add system controller configurations - Convert code to talk firmware via mailbox or SMCs Versal: - Add board_late_init() - Add run time DT memory setup - Add DFU support - Extend distro boot support for jtag and dfu - Add clock driver - Tune mini configurations Xilinx: - Improve documentation (boot scripts, dt binding) - Enable run time initrd_high calculation - Define default SYS_PROMPT - Add zynq/zynqmp virtual defconfig Drivers: - Add Xilinx mailbox driver for talking to firmware - Clean zynq_gem for Versal - Move ZYNQ_HISPD_BROKEN to Kconfig - Wire genphy_init() in phy.c - Add Xilinx gii2rgmii bridge - Cleanup zynq_sdhci - dwc3 fix - zynq_gpio fix - axi_emac fix Others: - apalis-tk1 - clean config file ---------------------------------------------------------------- Ashok Reddy Soma (2): arm64: versal: Fix for OCM overwriting issue gpio: zynq: fix issue in set gpio output direction Ibai Erkiaga (15): mailbox: check ops prior calling mailbox: allow subnode for mbox regs mailbox: zynqmp: ipi mailbox driver firmware: zynqmp: Add zynqmp-power support arm64: zynqmp: add firmware and mailbox node to DT firmware: zynqmp: get fw version with mailbox driver firmware: zynqmp: create firmware header arm64: zynqmp: use firmware driver to get version arm64: zynqmp: remove old fw version function arm64: zynqmp: probe firmware driver arm64: versal: Move common board dtb search arm64: xilinx: Enable generic of_board_dtb arm64: zynqmp: Introduce virtual defconfig ARM: zynq: Introduce virtual defconfig arm64: versal: remove debug uart for versal virt Michal Simek (38): arm64: zynqmp: Define default SPL_TEXT_BASE address in Kconfig arm64: zynqmp: Enable gpio hog support for zcu102 arm64: zynqmp: Add u-boot,dm-pre-reloc to clk300 node arm64: zynqmp: Enable SPI support in SPL for zcu104 arm64: versal: Also record versal name to versal fragment arm64: versal: Enable memory mapping via DT arm64: zynqmp: Provide a Kconfig option to disable OCM and TCM MMU mapping net: gem: Remove DECLARE_GLOBAL_DATA_PTR from gem driver fpga: zynqmp: Fix second local variable declaration ARM: zynq: Do not enable NETBSD support by default ARM: zynq: Increase input buffer console size to 2k ARM: zynq: Align model name with DT ARM: zynq: Specify MMC controller number for boot sequence ARM: zynq: Enable USB1 as secondary boot device ARM: zynq: Fix NOR boot mode ARM: zynq: Use {} around variables for qspi and nand boot cmds ARM: zynq: Remove all Xilinx private commands arm64: zynqmp: Switch spi-flash to jedec, spi-nor compatible arm64: zynqmp: Add generic a2197 system controller config arm64: zynqmp: Add System Controller for a2197-g/p arm64: zynqmp: Add a2197 memory board revA configs: apalis-tk1: Do not define CONFIG_SYS_BOOT_RAMDISK_HIGH again ARM: zynq: Define default SYS_PROMPT arm64: zynqmp: Define default SYS_PROMPT microblaze: Remove unused variable ram_base microblaze: Move CONFIG_LMB from board file to config.h microblaze: Fix lmb memory initialization microblaze: Define arch_lmb_reserve microblaze: Switch to generic bootm implementation microblaze: Enable cache by default microblaze: Setup reasonable maximum bootm len microblaze: Setup initrd_high and fdt_high at run time microblaze: Remove additional headers microblaze: Enable random mac generation arm64: versal: Enable clock driver arm64: zynqmp: Cleanup PM SMC macro composition firmware: zynqmp: Separate function for sending message via mailbox arm64: zynqmp: Use mailbox driver for PMUFW config loading Rajan Vaja (1): zynqmp: firmware: Add Xilinx ZynqMP firmware driver Siva Durga Prasad Paladugu (21): xilinx: Add qspi boot command script for reference xilinx: Add sd boot command script for reference arm64: versal: Define board_late_init for versal arm64: versal: fpga: Add PL bit stream load support arm64: versal: Set initrd_high to as high as possible arm64: versal: Define configs related to USB DFU functionality arm64: versal: Add new jtag distro boot command arm64: zynqmp: Update scriptaddr value to 512MB arm64: zynqmp: Add new jtag distro boot command net: zynq_gem: Add new versal compatible string clk: versal: Add clock driver support net: zynq_gem: Remove check for Versal mmc: sdhci: Move ZYNQ_HISPD_BROKEN to Kconfig ARM: zynq: Increase init ram size by 4K arm64: zynqmp: Add idcodes for new RFSoC silicons ZU48DR and ZU49DR net: phy: Define init routine and register generic phy driver net: phy: Add gmiitorgmii converter support mmc: zynq_sdhci: Remove check for DM_MMC config arm64: versal: mini_emmc: Enable fatwrite support arm64: versal: Remove unneeded configs for mini configurations net: xilinx_axiemac: Fill the phy node pointer in phydev T Karthik Reddy (7): arm64: zynqmp: Set initrd_high to as high as possible arm64: versal: Add new dfu usb distro boot command arm64: versal: Change boot script offset address in versal doc: README.xilinx: Add dt bindings arm64: zynqmp: Enable 2 NAND chips support for zynqmp_mini_nand drivers: usb: dwc3: setup phy before dwc3 core soft reset env: Kconfig: Add environment default offset in versal Vipul Kumar (1): ARM: zynq: dts: Added alias for usb node MAINTAINERS | 4 + arch/arm/Kconfig | 22 +++ arch/arm/dts/Makefile | 4 + arch/arm/dts/zynq-cse-qspi-single.dts | 4 + arch/arm/dts/zynq-zc702.dts | 1 + arch/arm/dts/zynqmp-a2197-g-revA.dts | 282 ++++++++++++++++++++++++++++++++++ arch/arm/dts/zynqmp-a2197-m-revA.dts | 461 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ arch/arm/dts/zynqmp-a2197-p-revA.dts | 567 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ arch/arm/dts/zynqmp-a2197-revA.dts | 89 +++++++++++ arch/arm/dts/zynqmp-clk.dtsi | 1 + arch/arm/dts/zynqmp-mini-qspi.dts | 2 +- arch/arm/dts/zynqmp.dtsi | 44 +++++- arch/arm/mach-versal/Kconfig | 12 +- arch/arm/mach-versal/cpu.c | 84 +++++++--- arch/arm/mach-versal/include/mach/hardware.h | 23 +++ arch/arm/mach-versal/include/mach/sys_proto.h | 61 ++++++++ arch/arm/mach-zynqmp/Makefile | 4 - arch/arm/mach-zynqmp/cpu.c | 24 +-- arch/arm/mach-zynqmp/include/mach/sys_proto.h | 24 +-- arch/arm/mach-zynqmp/pmu_ipc.c | 112 -------------- arch/microblaze/Kconfig | 8 + arch/microblaze/include/asm/config.h | 4 + arch/microblaze/lib/bootm.c | 136 +++++++++++------ board/xilinx/Kconfig | 8 + board/xilinx/bootscripts/qspiboot.cmd | 10 ++ board/xilinx/bootscripts/sdboot.cmd | 10 ++ board/xilinx/common/board.c | 14 ++ board/xilinx/microblaze-generic/microblaze-generic.c | 28 ++-- board/xilinx/versal/Makefile | 1 + board/xilinx/versal/board.c | 140 ++++++++++++++++- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/cmds.c | 1 + board/xilinx/zynqmp/zynqmp-a2197-g-revA | 1 + board/xilinx/zynqmp/zynqmp-a2197-m-revA | 1 + board/xilinx/zynqmp/zynqmp-a2197-p-revA | 1 + board/xilinx/zynqmp/zynqmp-a2197-revA/psu_init_gpl.c | 1171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ board/xilinx/zynqmp/zynqmp.c | 35 +++-- cmd/Kconfig | 2 + common/image.c | 5 +- common/spl/Kconfig | 1 + configs/avnet_ultra96_rev1_defconfig | 2 - configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 2 - configs/microblaze-generic_defconfig | 2 + configs/syzygy_hub_defconfig | 1 - configs/xilinx_versal_mini_defconfig | 3 + configs/xilinx_versal_mini_emmc0_defconfig | 4 + configs/xilinx_versal_mini_emmc1_defconfig | 4 + configs/xilinx_versal_virt_defconfig | 7 +- configs/xilinx_zynqmp_a2197_g_revA_defconfig | 115 ++++++++++++++ configs/xilinx_zynqmp_a2197_m_revA_defconfig | 115 ++++++++++++++ configs/xilinx_zynqmp_a2197_p_revA_defconfig | 116 ++++++++++++++ configs/xilinx_zynqmp_a2197_revA_defconfig | 117 ++++++++++++++ configs/xilinx_zynqmp_mini_defconfig | 1 - configs/xilinx_zynqmp_mini_emmc0_defconfig | 2 - configs/xilinx_zynqmp_mini_emmc1_defconfig | 2 - configs/xilinx_zynqmp_mini_nand_defconfig | 2 +- configs/xilinx_zynqmp_mini_qspi_defconfig | 2 - configs/xilinx_zynqmp_virt_defconfig | 108 +++++++++++++ configs/xilinx_zynqmp_zc1232_revA_defconfig | 2 - configs/xilinx_zynqmp_zc1254_revA_defconfig | 2 - configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 2 - configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 2 - configs/xilinx_zynqmp_zc1751_xm017_dc3_defconfig | 2 - configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig | 2 - configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig | 2 - configs/xilinx_zynqmp_zcu100_revC_defconfig | 2 - configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 3 +- configs/xilinx_zynqmp_zcu102_revA_defconfig | 3 +- configs/xilinx_zynqmp_zcu102_revB_defconfig | 3 +- configs/xilinx_zynqmp_zcu104_revA_defconfig | 2 - configs/xilinx_zynqmp_zcu104_revC_defconfig | 5 +- configs/xilinx_zynqmp_zcu106_revA_defconfig | 2 - configs/xilinx_zynqmp_zcu111_revA_defconfig | 2 - configs/xilinx_zynqmp_zcu1275_revA_defconfig | 2 - configs/xilinx_zynqmp_zcu1275_revB_defconfig | 2 - configs/zynq_cc108_defconfig | 1 - configs/zynq_cse_nand_defconfig | 1 - configs/zynq_cse_nor_defconfig | 1 - configs/zynq_cse_qspi_defconfig | 1 - configs/zynq_dlc20_rev1_0_defconfig | 1 - configs/zynq_microzed_defconfig | 1 - configs/zynq_minized_defconfig | 1 - configs/zynq_picozed_defconfig | 1 - configs/zynq_virt_defconfig | 79 ++++++++++ configs/zynq_z_turn_defconfig | 1 - configs/zynq_zc702_defconfig | 1 - configs/zynq_zc706_defconfig | 1 - configs/zynq_zc770_xm010_defconfig | 1 - configs/zynq_zc770_xm011_defconfig | 1 - configs/zynq_zc770_xm011_x16_defconfig | 1 - configs/zynq_zc770_xm012_defconfig | 1 - configs/zynq_zc770_xm013_defconfig | 1 - configs/zynq_zed_defconfig | 1 - configs/zynq_zybo_defconfig | 1 - configs/zynq_zybo_z7_defconfig | 1 - doc/board/xilinx/index.rst | 1 + doc/board/xilinx/xilinx.rst | 38 +++++ drivers/clk/Kconfig | 9 ++ drivers/clk/Makefile | 1 + drivers/clk/clk_versal.c | 746 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/firmware/Kconfig | 10 ++ drivers/firmware/Makefile | 1 + drivers/firmware/firmware-zynqmp.c | 161 +++++++++++++++++++ drivers/fpga/Kconfig | 9 ++ drivers/fpga/Makefile | 1 + drivers/fpga/versalpl.c | 51 +++++++ drivers/fpga/xilinx.c | 8 +- drivers/fpga/zynqmppl.c | 7 +- drivers/gpio/zynq_gpio.c | 2 +- drivers/mailbox/Kconfig | 6 + drivers/mailbox/Makefile | 1 + drivers/mailbox/mailbox-uclass.c | 19 ++- drivers/mailbox/zynqmp-ipi.c | 134 ++++++++++++++++ drivers/mmc/Kconfig | 6 + drivers/mmc/zynq_sdhci.c | 4 +- drivers/net/phy/Kconfig | 7 + drivers/net/phy/Makefile | 1 + drivers/net/phy/phy.c | 49 ++++++ drivers/net/phy/xilinx_gmii2rgmii.c | 144 +++++++++++++++++ drivers/net/xilinx_axi_emac.c | 7 +- drivers/net/zynq_gem.c | 7 +- drivers/usb/dwc3/core.c | 4 +- env/Kconfig | 5 +- include/configs/apalis-tk1.h | 2 - include/configs/microblaze-generic.h | 8 +- include/configs/xilinx_versal.h | 50 +++++- include/configs/xilinx_versal_mini.h | 3 + include/configs/xilinx_zynqmp.h | 12 +- include/configs/zynq-common.h | 71 ++------- include/phy.h | 6 + include/versalpl.h | 20 +++ include/xilinx.h | 2 + include/zynqmp_firmware.h | 37 +++++ scripts/config_whitelist.txt | 1 - 134 files changed, 5369 insertions(+), 429 deletions(-) create mode 100644 arch/arm/dts/zynqmp-a2197-g-revA.dts create mode 100644 arch/arm/dts/zynqmp-a2197-m-revA.dts create mode 100644 arch/arm/dts/zynqmp-a2197-p-revA.dts create mode 100644 arch/arm/dts/zynqmp-a2197-revA.dts delete mode 100644 arch/arm/mach-zynqmp/pmu_ipc.c create mode 100644 board/xilinx/bootscripts/qspiboot.cmd create mode 100644 board/xilinx/bootscripts/sdboot.cmd create mode 120000 board/xilinx/zynqmp/zynqmp-a2197-g-revA create mode 120000 board/xilinx/zynqmp/zynqmp-a2197-m-revA create mode 120000 board/xilinx/zynqmp/zynqmp-a2197-p-revA create mode 100644 board/xilinx/zynqmp/zynqmp-a2197-revA/psu_init_gpl.c create mode 100644 configs/xilinx_zynqmp_a2197_g_revA_defconfig create mode 100644 configs/xilinx_zynqmp_a2197_m_revA_defconfig create mode 100644 configs/xilinx_zynqmp_a2197_p_revA_defconfig create mode 100644 configs/xilinx_zynqmp_a2197_revA_defconfig create mode 100644 configs/xilinx_zynqmp_virt_defconfig create mode 100644 configs/zynq_virt_defconfig create mode 100644 doc/board/xilinx/xilinx.rst create mode 100644 drivers/clk/clk_versal.c create mode 100644 drivers/firmware/firmware-zynqmp.c create mode 100644 drivers/fpga/versalpl.c create mode 100644 drivers/mailbox/zynqmp-ipi.c create mode 100644 drivers/net/phy/xilinx_gmii2rgmii.c create mode 100644 include/versalpl.h create mode 100644 include/zynqmp_firmware.h -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Xilinx Microblaze Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs