diff --git a/sysutils/u-boot-arty-z7/Makefile b/sysutils/u-boot-arty-z7/Makefile new file mode 100644 index 000000000000..bcd903eaf01b --- /dev/null +++ b/sysutils/u-boot-arty-z7/Makefile @@ -0,0 +1,19 @@ +MASTERDIR= ${.CURDIR}/../u-boot-master + +MODEL= arty-z7 +BOARD_CONFIG= xilinx_zynq_virt_defconfig +FAMILY= zynq_7000 + +EXTRA_PATCHES= ${.CURDIR}/files/ +BUILD_DEPENDS= gdd:sysutils/coreutils + +UBOOT_PLIST= boot.bin u-boot.img arch/arm/dts/zynq-artyz7.dtb + +COMMENT= ported by Christopher R. Bowman @ChrisBowman.com + +DISABLE_VULNERABILITIES=yes + +#BUILD_DEPENDS+= coreutils:sysutils/coreutils + + +.include "${MASTERDIR}/Makefile" diff --git a/sysutils/u-boot-arty-z7/files/patch-arch_arm_dts_Makefile b/sysutils/u-boot-arty-z7/files/patch-arch_arm_dts_Makefile new file mode 100644 index 000000000000..338cef8acba1 --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-arch_arm_dts_Makefile @@ -0,0 +1,10 @@ +--- arch/arm/dts/Makefile.orig 2021-02-12 20:55:50.786305000 -0800 ++++ arch/arm/dts/Makefile 2021-02-12 20:56:27.077969000 -0800 +@@ -256,6 +256,7 @@ + + dtb-$(CONFIG_ARCH_ZYNQ) += \ + bitmain-antminer-s9.dtb \ ++ zynq-artyz7.dtb \ + zynq-cc108.dtb \ + zynq-cse-nand.dtb \ + zynq-cse-nor.dtb \ diff --git a/sysutils/u-boot-arty-z7/files/patch-arch_arm_dts_zynq-artyz7.dts b/sysutils/u-boot-arty-z7/files/patch-arch_arm_dts_zynq-artyz7.dts new file mode 100644 index 000000000000..ec5f0f91f82a --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-arch_arm_dts_zynq-artyz7.dts @@ -0,0 +1,106 @@ +--- arch/arm/dts/zynq-artyz7.dts.orig 2021-03-01 11:48:09.238162000 -0800 ++++ arch/arm/dts/zynq-artyz7.dts 2021-03-01 12:12:25.626315000 -0800 +@@ -0,0 +1,103 @@ ++/* ++ * Digilent ARTY Z7 board DTS ++ * ++ * Copyright (C) 2016 Digilent ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++/dts-v1/; ++#include "zynq-7000.dtsi" ++ ++/ { ++ model = "Zynq ARTY Z7 Development Board"; ++ compatible = "digilent,zynq-artyz7", "xlnx,zynq-7000"; ++ ++ aliases { ++ ethernet0 = &gem0; ++ serial0 = &uart0; ++ spi0 = &qspi; ++ mmc0 = &sdhci0; ++ }; ++ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x20000000>; ++ }; ++ ++ chosen { ++ bootargs = ""; ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ usb_phy0: phy0 { ++ #phy-cells = <0>; ++ compatible = "usb-nop-xceiv"; ++ reset-gpios = <&gpio0 46 1>; ++ }; ++}; ++ ++&clkc { ++ ps-clk-frequency = <50000000>; ++ clock-frequency = <50000000>; ++}; ++ ++&global_timer { ++ clock-frequency = <50000000>; ++}; ++ ++&ttc0 { ++ clock-frequency = <50000000>; ++}; ++ ++&ttc1 { ++ clock-frequency = <50000000>; ++}; ++ ++&scutimer { ++ clock-frequency = <50000000>; ++}; ++ ++&cpu0 { ++ clock-frequency = <50000000>; ++}; ++ ++&cpu1 { ++ clock-frequency = <50000000>; ++}; ++ ++&gem0 { ++ compatible = "cdns,zynq-gem", "cdns,gem", "cadence,gem"; ++ ++ status = "okay"; ++ phy-mode = "rgmii-id"; ++ phy-handle = <ðernet_phy>; ++ ++ ethernet_phy: ethernet-phy@0 { /* rtl8211e-vl */ ++ reg = <1>; ++ device_type = "ethernet-phy"; ++ }; ++}; ++ ++&qspi { ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&sdhci0 { ++ u-boot,dm-pre-reloc; ++ compatible = "arasan,sdhci-8.9a", "xlnx,zy7_sdhci"; ++ ++ status = "okay"; ++ max-frequency = <0x2faf080>; ++}; ++ ++&uart0 { ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&usb0 { ++ status = "okay"; ++ dr_mode = "host"; ++ usb-phy = <&usb_phy0>; ++}; diff --git a/sysutils/u-boot-arty-z7/files/patch-board_xilinx_zynq_zynq-artyz7_ps7__init__gpl.c b/sysutils/u-boot-arty-z7/files/patch-board_xilinx_zynq_zynq-artyz7_ps7__init__gpl.c new file mode 100644 index 000000000000..e002ad242519 --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-board_xilinx_zynq_zynq-artyz7_ps7__init__gpl.c @@ -0,0 +1,925 @@ +--- board/xilinx/zynq/zynq-artyz7/ps7_init_gpl.c.orig 2020-07-26 06:58:01 UTC ++++ board/xilinx/zynq/zynq-artyz7/ps7_init_gpl.c +@@ -0,0 +1,922 @@ ++/****************************************************************************** ++* (c) Copyright 2010-2014 Xilinx, Inc. All rights reserved. ++* ++* This program is free software; you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation; either version 2 of the License, or ++* (at your option) any later version. ++* ++* This program is distributed in the hope that it will be useful, ++* but WITHOUT ANY WARRANTY; without even the implied warranty of ++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++* GNU General Public License for more details. ++* ++* You should have received a copy of the GNU General Public License along ++* with this program; if not, see ++* ++* ++******************************************************************************/ ++/****************************************************************************/ ++/** ++* ++* @file ps7_init_gpl.c ++* ++* This file is automatically generated ++* ++*****************************************************************************/ ++ ++#include ++ ++unsigned long ps7_pll_init_data_3_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x001772C0U), ++ EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x0001A000U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000001U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000200U), ++ EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x001DB2C0U), ++ EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00015000U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000002U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U), ++ EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x001F42C0U), ++ EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x00014000U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000004U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_clock_init_data_3_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00203401U), ++ EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00100801U), ++ EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000501U), ++ EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00001401U), ++ EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00000A01U), ++ EMIT_MASKWRITE(0XF8000158, 0x00003F33U ,0x00000601U), ++ EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000501U), ++ EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00200500U), ++ EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00100700U), ++ EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01DC444DU), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_ddr_init_data_3_0[] = { ++ EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000084U), ++ EMIT_MASKWRITE(0XF8006004, 0x0007FFFFU ,0x0000107FU), ++ EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU), ++ EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U), ++ EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U), ++ EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004279AU), ++ EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x44E354D2U), ++ EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U), ++ EMIT_MASKWRITE(0XF8006020, 0x7FDFFFFCU ,0x270872D0U), ++ EMIT_MASKWRITE(0XF8006024, 0x0FFFFFC3U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U), ++ EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U), ++ EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U), ++ EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00011674U), ++ EMIT_MASKWRITE(0XF8006038, 0x00000003U ,0x00000000U), ++ EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000666U), ++ EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU ,0xFFFF0000U), ++ EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU ,0x0F555555U), ++ EMIT_MASKWRITE(0XF8006048, 0x0003F03FU ,0x0003C008U), ++ EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU ,0x77010800U), ++ EMIT_MASKWRITE(0XF8006058, 0x00010000U ,0x00000000U), ++ EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU ,0x00005003U), ++ EMIT_MASKWRITE(0XF8006060, 0x000017FFU ,0x0000003EU), ++ EMIT_MASKWRITE(0XF8006064, 0x00021FE0U ,0x00020000U), ++ EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU ,0x00284141U), ++ EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU ,0x00001610U), ++ EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU ,0x00466111U), ++ EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU ,0x00032222U), ++ EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU ,0x10200802U), ++ EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU ,0x0670C845U), ++ EMIT_MASKWRITE(0XF80060AC, 0x000001FFU ,0x000001FEU), ++ EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU ,0x1CFFFFFFU), ++ EMIT_MASKWRITE(0XF80060B4, 0x00000200U ,0x00000200U), ++ EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU ,0x00200066U), ++ EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000003U), ++ EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060C8, 0x000000FFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060DC, 0x00000001U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060F4, 0x0000000FU ,0x00000008U), ++ EMIT_MASKWRITE(0XF8006114, 0x000000FFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006118, 0x7FFFFFCFU ,0x40000001U), ++ EMIT_MASKWRITE(0XF800611C, 0x7FFFFFCFU ,0x40000001U), ++ EMIT_MASKWRITE(0XF8006120, 0x7FFFFFCFU ,0x40000000U), ++ EMIT_MASKWRITE(0XF8006124, 0x7FFFFFCFU ,0x40000000U), ++ EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU ,0x00026C05U), ++ EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU ,0x00026007U), ++ EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU ,0x0001D800U), ++ EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU ,0x0001E000U), ++ EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU ,0x00000085U), ++ EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU ,0x00000087U), ++ EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU ,0x0000007FU), ++ EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU ,0x0000007CU), ++ EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU ,0x000000F0U), ++ EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU ,0x000000EDU), ++ EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU ,0x000000CBU), ++ EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU ,0x000000CDU), ++ EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU ,0x000000C5U), ++ EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU ,0x000000C7U), ++ EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU ,0x000000BFU), ++ EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU ,0x000000BCU), ++ EMIT_MASKWRITE(0XF8006190, 0x6FFFFEFEU ,0x00040080U), ++ EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU ,0x0001FC82U), ++ EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006208, 0x000703FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF800620C, 0x000703FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006210, 0x000703FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006214, 0x000703FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006218, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF800621C, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006220, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006224, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF80062A8, 0x00000FF5U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU ,0x00005125U), ++ EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU ,0x000012A6U), ++ EMIT_MASKPOLL(0XF8000B74, 0x00002000U), ++ EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000085U), ++ EMIT_MASKPOLL(0XF8006054, 0x00000007U), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_mio_init_data_3_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU ,0x00000672U), ++ EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU ,0x00000800U), ++ EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU ,0x00000674U), ++ EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU ,0x00000800U), ++ EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU ,0x0018C61CU), ++ EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU ,0x00000220U), ++ EMIT_MASKWRITE(0XF8000B70, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000020U), ++ EMIT_MASKWRITE(0XF8000B70, 0x07FEFFFFU ,0x00000823U), ++ EMIT_MASKWRITE(0XF8000700, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000704, 0x00003FFFU ,0x00001602U), ++ EMIT_MASKWRITE(0XF8000708, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF800070C, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000710, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000714, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000718, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF800071C, 0x00003FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000720, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000724, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000728, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF800072C, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000730, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000734, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000738, 0x00003FFFU ,0x000016E1U), ++ EMIT_MASKWRITE(0XF800073C, 0x00003FFFU ,0x000016E0U), ++ EMIT_MASKWRITE(0XF8000740, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000744, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000748, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF800074C, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000750, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000754, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000758, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF800075C, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000760, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000764, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000768, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF800076C, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000770, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000774, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000778, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800077C, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000780, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000784, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000788, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800078C, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000790, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000794, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000798, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800079C, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007BC, 0x00003F01U ,0x00001201U), ++ EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF8000830, 0x003F003FU ,0x002F0037U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_peripherals_init_data_3_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000B48, 0x00000180U ,0x00000180U), ++ EMIT_MASKWRITE(0XF8000B4C, 0x00000180U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000B50, 0x00000180U ,0x00000180U), ++ EMIT_MASKWRITE(0XF8000B54, 0x00000180U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_MASKWRITE(0XE0000034, 0x000000FFU ,0x00000006U), ++ EMIT_MASKWRITE(0XE0000018, 0x0000FFFFU ,0x0000007CU), ++ EMIT_MASKWRITE(0XE0000000, 0x000001FFU ,0x00000017U), ++ EMIT_MASKWRITE(0XE0000004, 0x000003FFU ,0x00000020U), ++ EMIT_MASKWRITE(0XE000D000, 0x00080000U ,0x00080000U), ++ EMIT_MASKWRITE(0XF8007000, 0x20000000U ,0x00000000U), ++ EMIT_MASKWRITE(0XE000A244, 0x003FFFFFU ,0x00004000U), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF4000U), ++ EMIT_MASKWRITE(0XE000A248, 0x003FFFFFU ,0x00004000U), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF0000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF4000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A204, 0xFFFFFFFFU ,0x00000200U), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0200U), ++ EMIT_MASKWRITE(0XE000A208, 0xFFFFFFFFU ,0x00000200U), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0200U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_post_config_3_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000900, 0x0000000FU ,0x0000000FU), ++ EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_debug_3_0[] = { ++ EMIT_MASKWRITE(0XF8898FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_MASKWRITE(0XF8899FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_MASKWRITE(0XF8809FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_pll_init_data_2_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x001772C0U), ++ EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x0001A000U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000001U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000200U), ++ EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x001DB2C0U), ++ EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00015000U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000002U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U), ++ EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x001F42C0U), ++ EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x00014000U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000004U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_clock_init_data_2_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00203401U), ++ EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00100801U), ++ EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000501U), ++ EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00001401U), ++ EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00000A01U), ++ EMIT_MASKWRITE(0XF8000158, 0x00003F33U ,0x00000601U), ++ EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000501U), ++ EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00200500U), ++ EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00100700U), ++ EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01DC444DU), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_ddr_init_data_2_0[] = { ++ EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000084U), ++ EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU ,0x0008107FU), ++ EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU), ++ EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U), ++ EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U), ++ EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004279AU), ++ EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x44E354D2U), ++ EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U), ++ EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU ,0x272872D0U), ++ EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU ,0x0000003CU), ++ EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U), ++ EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U), ++ EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U), ++ EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00011674U), ++ EMIT_MASKWRITE(0XF8006038, 0x00001FC3U ,0x00000000U), ++ EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000666U), ++ EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU ,0xFFFF0000U), ++ EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU ,0x0F555555U), ++ EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU ,0x0003C248U), ++ EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU ,0x77010800U), ++ EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU ,0x00000101U), ++ EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU ,0x00005003U), ++ EMIT_MASKWRITE(0XF8006060, 0x000017FFU ,0x0000003EU), ++ EMIT_MASKWRITE(0XF8006064, 0x00021FE0U ,0x00020000U), ++ EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU ,0x00284141U), ++ EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU ,0x00001610U), ++ EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU ,0x00466111U), ++ EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU ,0x00032222U), ++ EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU ,0x00008000U), ++ EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU ,0x10200802U), ++ EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU ,0x0670C845U), ++ EMIT_MASKWRITE(0XF80060AC, 0x000001FFU ,0x000001FEU), ++ EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU ,0x1CFFFFFFU), ++ EMIT_MASKWRITE(0XF80060B4, 0x000007FFU ,0x00000200U), ++ EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU ,0x00200066U), ++ EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000003U), ++ EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060C8, 0x000000FFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060DC, 0x00000001U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060F4, 0x0000000FU ,0x00000008U), ++ EMIT_MASKWRITE(0XF8006114, 0x000000FFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU ,0x40000001U), ++ EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU ,0x40000001U), ++ EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU ,0x40000000U), ++ EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU ,0x40000000U), ++ EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU ,0x00026C05U), ++ EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU ,0x00026007U), ++ EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU ,0x0001D800U), ++ EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU ,0x0001E000U), ++ EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU ,0x00000085U), ++ EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU ,0x00000087U), ++ EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU ,0x0000007FU), ++ EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU ,0x0000007CU), ++ EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU ,0x000000F0U), ++ EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU ,0x000000EDU), ++ EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU ,0x000000CBU), ++ EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU ,0x000000CDU), ++ EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU ,0x000000C5U), ++ EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU ,0x000000C7U), ++ EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU ,0x000000BFU), ++ EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU ,0x000000BCU), ++ EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU ,0x10040080U), ++ EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU ,0x0001FC82U), ++ EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006208, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF800620C, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF8006210, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF8006214, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF8006218, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF800621C, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006220, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006224, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU ,0x00005125U), ++ EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU ,0x000012A6U), ++ EMIT_MASKPOLL(0XF8000B74, 0x00002000U), ++ EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000085U), ++ EMIT_MASKPOLL(0XF8006054, 0x00000007U), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_mio_init_data_2_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU ,0x00000672U), ++ EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU ,0x00000800U), ++ EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU ,0x00000674U), ++ EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU ,0x00000800U), ++ EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU ,0x0018C61CU), ++ EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU ,0x00000220U), ++ EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000021U), ++ EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000020U), ++ EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU ,0x00000823U), ++ EMIT_MASKWRITE(0XF8000700, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000704, 0x00003FFFU ,0x00001602U), ++ EMIT_MASKWRITE(0XF8000708, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF800070C, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000710, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000714, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000718, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF800071C, 0x00003FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000720, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000724, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000728, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF800072C, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000730, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000734, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000738, 0x00003FFFU ,0x000016E1U), ++ EMIT_MASKWRITE(0XF800073C, 0x00003FFFU ,0x000016E0U), ++ EMIT_MASKWRITE(0XF8000740, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000744, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000748, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF800074C, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000750, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000754, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000758, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF800075C, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000760, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000764, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000768, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF800076C, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000770, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000774, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000778, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800077C, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000780, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000784, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000788, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800078C, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000790, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000794, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000798, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800079C, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007BC, 0x00003F01U ,0x00001201U), ++ EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF8000830, 0x003F003FU ,0x002F0037U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_peripherals_init_data_2_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000B48, 0x00000180U ,0x00000180U), ++ EMIT_MASKWRITE(0XF8000B4C, 0x00000180U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000B50, 0x00000180U ,0x00000180U), ++ EMIT_MASKWRITE(0XF8000B54, 0x00000180U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_MASKWRITE(0XE0000034, 0x000000FFU ,0x00000006U), ++ EMIT_MASKWRITE(0XE0000018, 0x0000FFFFU ,0x0000007CU), ++ EMIT_MASKWRITE(0XE0000000, 0x000001FFU ,0x00000017U), ++ EMIT_MASKWRITE(0XE0000004, 0x00000FFFU ,0x00000020U), ++ EMIT_MASKWRITE(0XE000D000, 0x00080000U ,0x00080000U), ++ EMIT_MASKWRITE(0XF8007000, 0x20000000U ,0x00000000U), ++ EMIT_MASKWRITE(0XE000A244, 0x003FFFFFU ,0x00004000U), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF4000U), ++ EMIT_MASKWRITE(0XE000A248, 0x003FFFFFU ,0x00004000U), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF0000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF4000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A204, 0xFFFFFFFFU ,0x00000200U), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0200U), ++ EMIT_MASKWRITE(0XE000A208, 0xFFFFFFFFU ,0x00000200U), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0200U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_post_config_2_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000900, 0x0000000FU ,0x0000000FU), ++ EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_debug_2_0[] = { ++ EMIT_MASKWRITE(0XF8898FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_MASKWRITE(0XF8899FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_MASKWRITE(0XF8809FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_pll_init_data_1_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x001772C0U), ++ EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x0001A000U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000001U), ++ EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000200U), ++ EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x001DB2C0U), ++ EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00015000U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000002U), ++ EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U), ++ EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x001F42C0U), ++ EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x00014000U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U), ++ EMIT_MASKPOLL(0XF800010C, 0x00000004U), ++ EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_clock_init_data_1_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00203401U), ++ EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U), ++ EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00100801U), ++ EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000501U), ++ EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00001401U), ++ EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00000A01U), ++ EMIT_MASKWRITE(0XF8000158, 0x00003F33U ,0x00000601U), ++ EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000501U), ++ EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00200500U), ++ EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00100700U), ++ EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U), ++ EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01DC444DU), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_ddr_init_data_1_0[] = { ++ EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000084U), ++ EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU ,0x0008107FU), ++ EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU), ++ EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U), ++ EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U), ++ EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004279AU), ++ EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x44E354D2U), ++ EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U), ++ EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU ,0x272872D0U), ++ EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU ,0x0000003CU), ++ EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U), ++ EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U), ++ EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U), ++ EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00011674U), ++ EMIT_MASKWRITE(0XF8006038, 0x00001FC3U ,0x00000000U), ++ EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000666U), ++ EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU ,0xFFFF0000U), ++ EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU ,0x0F555555U), ++ EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU ,0x0003C248U), ++ EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU ,0x77010800U), ++ EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU ,0x00000101U), ++ EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU ,0x00005003U), ++ EMIT_MASKWRITE(0XF8006060, 0x000017FFU ,0x0000003EU), ++ EMIT_MASKWRITE(0XF8006064, 0x00021FE0U ,0x00020000U), ++ EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU ,0x00284141U), ++ EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU ,0x00001610U), ++ EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU ,0x00008000U), ++ EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU ,0x10200802U), ++ EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU ,0x0670C845U), ++ EMIT_MASKWRITE(0XF80060AC, 0x000001FFU ,0x000001FEU), ++ EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU ,0x1CFFFFFFU), ++ EMIT_MASKWRITE(0XF80060B4, 0x000007FFU ,0x00000200U), ++ EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU ,0x00200066U), ++ EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000003U), ++ EMIT_MASKWRITE(0XF80060C4, 0x00000003U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060C8, 0x000000FFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060DC, 0x00000001U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80060F4, 0x0000000FU ,0x00000008U), ++ EMIT_MASKWRITE(0XF8006114, 0x000000FFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU ,0x40000001U), ++ EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU ,0x40000001U), ++ EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU ,0x40000000U), ++ EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU ,0x40000000U), ++ EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU ,0x00026C05U), ++ EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU ,0x00026007U), ++ EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU ,0x0001D800U), ++ EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU ,0x0001E000U), ++ EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU ,0x00000035U), ++ EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU ,0x00000085U), ++ EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU ,0x00000087U), ++ EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU ,0x0000007FU), ++ EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU ,0x0000007CU), ++ EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU ,0x000000F0U), ++ EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU ,0x000000EDU), ++ EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU ,0x000000CBU), ++ EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU ,0x000000CDU), ++ EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU ,0x000000C5U), ++ EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU ,0x000000C7U), ++ EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU ,0x000000BFU), ++ EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU ,0x000000BCU), ++ EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU ,0x10040080U), ++ EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU ,0x0001FC82U), ++ EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8006208, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF800620C, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF8006210, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF8006214, 0x000F03FFU ,0x000803FFU), ++ EMIT_MASKWRITE(0XF8006218, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF800621C, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006220, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF8006224, 0x000F03FFU ,0x000003FFU), ++ EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U ,0x00000000U), ++ EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU ,0x00005125U), ++ EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU ,0x000012A6U), ++ EMIT_MASKPOLL(0XF8000B74, 0x00002000U), ++ EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000085U), ++ EMIT_MASKPOLL(0XF8006054, 0x00000007U), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_mio_init_data_1_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU ,0x00000672U), ++ EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU ,0x00000800U), ++ EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU ,0x00000674U), ++ EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU ,0x00000800U), ++ EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU ,0x0018C61CU), ++ EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU ,0x00F9861CU), ++ EMIT_MASKWRITE(0XF8000B6C, 0x000073FFU ,0x00000220U), ++ EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000021U), ++ EMIT_MASKWRITE(0XF8000B70, 0x00000021U ,0x00000020U), ++ EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU ,0x00000823U), ++ EMIT_MASKWRITE(0XF8000700, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000704, 0x00003FFFU ,0x00001602U), ++ EMIT_MASKWRITE(0XF8000708, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF800070C, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000710, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000714, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000718, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF800071C, 0x00003FFFU ,0x00000600U), ++ EMIT_MASKWRITE(0XF8000720, 0x00003FFFU ,0x00000602U), ++ EMIT_MASKWRITE(0XF8000724, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000728, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF800072C, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000730, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000734, 0x00003FFFU ,0x00001600U), ++ EMIT_MASKWRITE(0XF8000738, 0x00003FFFU ,0x000016E1U), ++ EMIT_MASKWRITE(0XF800073C, 0x00003FFFU ,0x000016E0U), ++ EMIT_MASKWRITE(0XF8000740, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000744, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000748, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF800074C, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000750, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000754, 0x00003FFFU ,0x00001202U), ++ EMIT_MASKWRITE(0XF8000758, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF800075C, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000760, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000764, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000768, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF800076C, 0x00003FFFU ,0x00001203U), ++ EMIT_MASKWRITE(0XF8000770, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000774, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000778, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800077C, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000780, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000784, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000788, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800078C, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000790, 0x00003FFFU ,0x00001205U), ++ EMIT_MASKWRITE(0XF8000794, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF8000798, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF800079C, 0x00003FFFU ,0x00001204U), ++ EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007BC, 0x00003F01U ,0x00001201U), ++ EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00001200U), ++ EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU ,0x00001280U), ++ EMIT_MASKWRITE(0XF8000830, 0x003F003FU ,0x002F0037U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_peripherals_init_data_1_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000B48, 0x00000180U ,0x00000180U), ++ EMIT_MASKWRITE(0XF8000B4C, 0x00000180U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000B50, 0x00000180U ,0x00000180U), ++ EMIT_MASKWRITE(0XF8000B54, 0x00000180U ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_MASKWRITE(0XE0000034, 0x000000FFU ,0x00000006U), ++ EMIT_MASKWRITE(0XE0000018, 0x0000FFFFU ,0x0000007CU), ++ EMIT_MASKWRITE(0XE0000000, 0x000001FFU ,0x00000017U), ++ EMIT_MASKWRITE(0XE0000004, 0x00000FFFU ,0x00000020U), ++ EMIT_MASKWRITE(0XE000D000, 0x00080000U ,0x00080000U), ++ EMIT_MASKWRITE(0XF8007000, 0x20000000U ,0x00000000U), ++ EMIT_MASKWRITE(0XE000A244, 0x003FFFFFU ,0x00004000U), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF4000U), ++ EMIT_MASKWRITE(0XE000A248, 0x003FFFFFU ,0x00004000U), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF0000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A008, 0xFFFFFFFFU ,0xBFFF4000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A204, 0xFFFFFFFFU ,0x00000200U), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0200U), ++ EMIT_MASKWRITE(0XE000A208, 0xFFFFFFFFU ,0x00000200U), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0000U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKWRITE(0XE000A000, 0xFFFFFFFFU ,0xFDFF0200U), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_MASKDELAY(0XF8F00200, 1), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_post_config_1_0[] = { ++ EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU), ++ EMIT_MASKWRITE(0XF8000900, 0x0000000FU ,0x0000000FU), ++ EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU ,0x00000000U), ++ EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU), ++ EMIT_EXIT(), ++ ++}; ++ ++unsigned long ps7_debug_1_0[] = { ++ EMIT_MASKWRITE(0XF8898FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_MASKWRITE(0XF8899FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_MASKWRITE(0XF8809FB0, 0xFFFFFFFFU ,0xC5ACCE55U), ++ EMIT_EXIT(), ++ ++}; ++ ++ ++#include "xil_io.h" ++ ++unsigned long *ps7_mio_init_data = ps7_mio_init_data_3_0; ++unsigned long *ps7_pll_init_data = ps7_pll_init_data_3_0; ++unsigned long *ps7_clock_init_data = ps7_clock_init_data_3_0; ++unsigned long *ps7_ddr_init_data = ps7_ddr_init_data_3_0; ++unsigned long *ps7_peripherals_init_data = ps7_peripherals_init_data_3_0; ++ ++int ++ps7_post_config() ++{ ++ // Get the PS_VERSION on run time ++ unsigned long si_ver = ps7GetSiliconVersion (); ++ int ret = -1; ++ if (si_ver == PCW_SILICON_VERSION_1) { ++ ret = ps7_config (ps7_post_config_1_0); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ } else if (si_ver == PCW_SILICON_VERSION_2) { ++ ret = ps7_config (ps7_post_config_2_0); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ } else { ++ ret = ps7_config (ps7_post_config_3_0); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ } ++ return PS7_INIT_SUCCESS; ++} ++ ++int ++ps7_debug() ++{ ++ // Get the PS_VERSION on run time ++ unsigned long si_ver = ps7GetSiliconVersion (); ++ int ret = -1; ++ if (si_ver == PCW_SILICON_VERSION_1) { ++ ret = ps7_config (ps7_debug_1_0); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ } else if (si_ver == PCW_SILICON_VERSION_2) { ++ ret = ps7_config (ps7_debug_2_0); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ } else { ++ ret = ps7_config (ps7_debug_3_0); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ } ++ return PS7_INIT_SUCCESS; ++} ++ ++int ++ps7_init() ++{ ++ // Get the PS_VERSION on run time ++ unsigned long si_ver = ps7GetSiliconVersion (); ++ int ret; ++ //int pcw_ver = 0; ++ ++ if (si_ver == PCW_SILICON_VERSION_1) { ++ ps7_mio_init_data = ps7_mio_init_data_1_0; ++ ps7_pll_init_data = ps7_pll_init_data_1_0; ++ ps7_clock_init_data = ps7_clock_init_data_1_0; ++ ps7_ddr_init_data = ps7_ddr_init_data_1_0; ++ ps7_peripherals_init_data = ps7_peripherals_init_data_1_0; ++ ++ } else if (si_ver == PCW_SILICON_VERSION_2) { ++ ps7_mio_init_data = ps7_mio_init_data_2_0; ++ ps7_pll_init_data = ps7_pll_init_data_2_0; ++ ps7_clock_init_data = ps7_clock_init_data_2_0; ++ ps7_ddr_init_data = ps7_ddr_init_data_2_0; ++ ps7_peripherals_init_data = ps7_peripherals_init_data_2_0; ++ ++ } else { ++ ps7_mio_init_data = ps7_mio_init_data_3_0; ++ ps7_pll_init_data = ps7_pll_init_data_3_0; ++ ps7_clock_init_data = ps7_clock_init_data_3_0; ++ ps7_ddr_init_data = ps7_ddr_init_data_3_0; ++ ps7_peripherals_init_data = ps7_peripherals_init_data_3_0; ++ } ++ ++ // MIO init ++ ret = ps7_config (ps7_mio_init_data); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ ++ // PLL init ++ ret = ps7_config (ps7_pll_init_data); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ ++ // Clock init ++ ret = ps7_config (ps7_clock_init_data); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ ++ // DDR init ++ ret = ps7_config (ps7_ddr_init_data); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ ++ // Peripherals init ++ ret = ps7_config (ps7_peripherals_init_data); ++ if (ret != PS7_INIT_SUCCESS) return ret; ++ //xil_printf ("\n PCW Silicon Version : %d.0", pcw_ver); ++ return PS7_INIT_SUCCESS; ++} ++ ++ diff --git a/sysutils/u-boot-arty-z7/files/patch-configs_xilinx__zynq__virt__defconfig b/sysutils/u-boot-arty-z7/files/patch-configs_xilinx__zynq__virt__defconfig new file mode 100644 index 000000000000..c91b0aca40df --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-configs_xilinx__zynq__virt__defconfig @@ -0,0 +1,27 @@ +--- configs/xilinx_zynq_virt_defconfig.orig 2020-10-05 08:15:32.000000000 -0700 ++++ configs/xilinx_zynq_virt_defconfig 2021-02-16 22:00:57.509749000 -0800 +@@ -6,7 +6,7 @@ + CONFIG_DM_GPIO=y + CONFIG_SPL_STACK_R_ADDR=0x200000 + CONFIG_SPL=y +-CONFIG_DEFAULT_DEVICE_TREE="zynq-zc706" ++CONFIG_DEFAULT_DEVICE_TREE="zynq-artyz7" + CONFIG_DISTRO_DEFAULTS=y + CONFIG_SYS_CUSTOM_LDSCRIPT=y + CONFIG_SYS_LDSCRIPT="arch/arm/mach-zynq/u-boot.lds" +@@ -49,7 +49,7 @@ + CONFIG_CMD_MTDPARTS_SPREAD=y + CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES=y + CONFIG_CMD_UBI=y +-CONFIG_OF_LIST="zynq-zc702 zynq-zc706 zynq-zc770-xm010 zynq-zc770-xm011 zynq-zc770-xm011-x16 zynq-zc770-xm012 zynq-zc770-xm013 zynq-cc108 zynq-microzed zynq-minized zynq-picozed zynq-zed zynq-zturn zynq-zybo zynq-zybo-z7 zynq-dlc20-rev1.0" ++CONFIG_OF_LIST="zynq-artyz7 zynq-zc702 zynq-zc706 zynq-zc770-xm010 zynq-zc770-xm011 zynq-zc770-xm011-x16 zynq-zc770-xm012 zynq-zc770-xm013 zynq-cc108 zynq-microzed zynq-minized zynq-picozed zynq-zed zynq-zturn zynq-zybo zynq-zybo-z7 zynq-dlc20-rev1.0" + CONFIG_ENV_OVERWRITE=y + CONFIG_ENV_IS_IN_SPI_FLASH=y + CONFIG_SYS_RELOC_GD_ENV_ADDR=y +@@ -109,3 +109,6 @@ + CONFIG_USB_FUNCTION_THOR=y + CONFIG_DISPLAY=y + CONFIG_SPL_GZIP=y ++CONFIG_CMD_BOOTEFI=y ++CONFIG_EFI_LOADER=y ++CONFIG_OF_SEPARATE=y diff --git a/sysutils/u-boot-arty-z7/files/patch-lib_efi__loader_efi__disk.c b/sysutils/u-boot-arty-z7/files/patch-lib_efi__loader_efi__disk.c new file mode 100644 index 000000000000..20434f31de30 --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-lib_efi__loader_efi__disk.c @@ -0,0 +1,13 @@ +--- lib/efi_loader/efi_disk.c.orig 2020-10-05 08:15:32.000000000 -0700 ++++ lib/efi_loader/efi_disk.c 2021-02-16 18:44:56.135722000 -0800 +@@ -143,8 +143,8 @@ + if (!this->media->media_present) + return EFI_NO_MEDIA; + /* media->io_align is a power of 2 */ +- if ((uintptr_t)buffer & (this->media->io_align - 1)) +- return EFI_INVALID_PARAMETER; ++// if ((uintptr_t)buffer & (this->media->io_align - 1)) ++// return EFI_INVALID_PARAMETER; + if (lba * this->media->block_size + buffer_size > + this->media->last_block * this->media->block_size) + return EFI_INVALID_PARAMETER; diff --git a/sysutils/u-boot-arty-z7/files/patch-scripts_Makefile.lib b/sysutils/u-boot-arty-z7/files/patch-scripts_Makefile.lib new file mode 100644 index 000000000000..ab567dd98794 --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-scripts_Makefile.lib @@ -0,0 +1,11 @@ +--- scripts/Makefile.lib.orig 2021-02-12 22:41:08.686406000 -0800 ++++ scripts/Makefile.lib 2021-02-12 22:44:30.159107000 -0800 +@@ -327,7 +327,7 @@ + (echo "Check $(shell pwd)/$(pre-tmp) for errors" && false) \ + ; \ + cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) ; \ +- sed -i "s:$(pre-tmp):$(<):" $(depfile) ++ gsed -i "s:$(pre-tmp):$(<):" $(depfile) + + $(obj)/%.dtb: $(src)/%.dts FORCE + $(call if_changed_dep,dtc) diff --git a/sysutils/u-boot-arty-z7/files/patch-scripts_Makefile.spl b/sysutils/u-boot-arty-z7/files/patch-scripts_Makefile.spl new file mode 100644 index 000000000000..a4b1c3c1f5c9 --- /dev/null +++ b/sysutils/u-boot-arty-z7/files/patch-scripts_Makefile.spl @@ -0,0 +1,11 @@ +--- scripts/Makefile.spl.orig 2021-02-12 23:19:53.824746000 -0800 ++++ scripts/Makefile.spl 2021-02-12 23:20:11.607062000 -0800 +@@ -207,7 +207,7 @@ + endif + + $(obj)/$(SPL_BIN)-align.bin: $(obj)/$(SPL_BIN).bin +- @dd if=$< of=$@ conv=block,sync bs=4 2>/dev/null; ++ @gdd if=$< of=$@ conv=block,sync bs=4 2>/dev/null; + + spl/boot.bin: $(obj)/$(SPL_BIN)-align.bin FORCE + $(call if_changed,mkimage) diff --git a/sysutils/u-boot-arty-z7/pkg-descr b/sysutils/u-boot-arty-z7/pkg-descr new file mode 100644 index 000000000000..c803938e7a40 --- /dev/null +++ b/sysutils/u-boot-arty-z7/pkg-descr @@ -0,0 +1,11 @@ +U-Boot loader for the Xilinx Zynq-based Digilent Arty Z7 board. + +To install this bootloader, copy the files in the share/u-boot/u-boot-arty-z7 +directory to the first partition, formatted as FAT16 or FAT32, on an SD card. + +This version boots via EFI + +For information about running FreeBSD on Xilinx Zynq SoCs, see +https://wiki.freebsd.org/FreeBSD/arm/Zedboard + +WWW: https://www.denx.de/wiki/U-Boot