Xilinx changes for v2018.11-rc2-v2 FPGA: - Fix SPL fpga loading from FIT ARM64: - Fix gic accesses in EL2/EL1 Xilinx: - Add dlc20 board support - Add Versal board support - Sync defconfigs - Enable MP via Kconfig - Add missing efuse node - Enable CDC for zcu100 cmd: - Fix kgdb Kconfig dependencylime2-spi
commit
d0423c44f1
@ -0,0 +1,103 @@ |
||||
// SPDX-License-Identifier: GPL-2.0 |
||||
/* |
||||
* Copyright (C) 2018 Xilinx, Inc. |
||||
* |
||||
* Michal Simek <michal.simek@xilinx.com> |
||||
*/ |
||||
/dts-v1/; |
||||
#include "zynq-7000.dtsi" |
||||
|
||||
/ { |
||||
model = "Zynq DLC20 Rev1.0"; |
||||
compatible = "xlnx,zynq-dlc20-rev1.0", "xlnx,zynq-dlc20", |
||||
"xlnx,zynq-7000"; |
||||
|
||||
aliases { |
||||
ethernet0 = &gem0; |
||||
i2c0 = &i2c0; |
||||
serial0 = &uart1; |
||||
spi0 = &qspi; |
||||
mmc0 = &sdhci0; |
||||
}; |
||||
|
||||
memory@0 { |
||||
device_type = "memory"; |
||||
reg = <0x0 0x20000000>; |
||||
}; |
||||
|
||||
chosen { |
||||
bootargs = "earlyprintk"; |
||||
stdout-path = "serial0:115200n8"; |
||||
}; |
||||
|
||||
usb_phy0: phy0@e0002000 { |
||||
compatible = "ulpi-phy"; |
||||
#phy-cells = <0>; |
||||
reg = <0xe0002000 0x1000>; |
||||
view-port = <0x0170>; |
||||
drv-vbus; |
||||
}; |
||||
}; |
||||
|
||||
&clkc { |
||||
ps-clk-frequency = <33333333>; /* U7 */ |
||||
}; |
||||
|
||||
&gem0 { |
||||
status = "okay"; /* MIO16-MIO27, MDIO MIO52/53 */ |
||||
phy-mode = "rgmii-id"; |
||||
phy-handle = <ðernet_phy>; |
||||
|
||||
ethernet_phy: ethernet-phy@7 { /* rtl8211e - U25 */ |
||||
reg = <1>; |
||||
}; |
||||
}; |
||||
|
||||
&i2c0 { |
||||
status = "okay"; /* MIO14/15 */ |
||||
clock-frequency = <400000>; |
||||
/* U46 - m24c08 */ |
||||
eeprom: eeprom@54 { |
||||
compatible = "atmel,24c08"; |
||||
reg = <0x54>; |
||||
}; |
||||
}; |
||||
|
||||
&qspi { |
||||
u-boot,dm-pre-reloc; |
||||
status = "okay"; |
||||
is-dual = <0>; |
||||
num-cs = <1>; |
||||
spi-tx-bus-width = <4>; |
||||
spi-rx-bus-width = <4>; |
||||
flash@0 { |
||||
/* Rev1.0 W25Q128FWSIG, RevC N25Q128A */ |
||||
compatible = "n25q128a11", "jedec,spi-nor"; |
||||
reg = <0x0>; |
||||
spi-tx-bus-width = <1>; |
||||
spi-rx-bus-width = <4>; |
||||
spi-max-frequency = <50000000>; |
||||
}; |
||||
}; |
||||
|
||||
&sdhci0 { |
||||
u-boot,dm-pre-reloc; |
||||
status = "okay"; /* EMMC MTFC4GACAJCN - MIO40-MIO45 */ |
||||
non-removable; |
||||
bus-width = <4>; |
||||
}; |
||||
|
||||
&uart1 { |
||||
u-boot,dm-pre-reloc; |
||||
status = "okay"; /* MIO8/9 */ |
||||
}; |
||||
|
||||
&usb0 { |
||||
status = "okay"; /* MIO28-MIO39 */ |
||||
dr_mode = "device"; |
||||
usb-phy = <&usb_phy0>; |
||||
}; |
||||
|
||||
&watchdog0 { |
||||
reset-on-timeout; |
||||
}; |
@ -0,0 +1,44 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+ |
||||
|
||||
if ARCH_VERSAL |
||||
|
||||
config SYS_BOARD |
||||
string "Board name" |
||||
default "versal" |
||||
|
||||
config SYS_VENDOR |
||||
string "Vendor name" |
||||
default "xilinx" |
||||
|
||||
config SYS_SOC |
||||
default "versal" |
||||
|
||||
config SYS_CONFIG_NAME |
||||
string "Board configuration name" |
||||
default "xilinx_versal" |
||||
help |
||||
This option contains information about board configuration name. |
||||
Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header |
||||
will be used for board configuration. |
||||
|
||||
config GICV3 |
||||
def_bool y |
||||
|
||||
config SYS_MALLOC_LEN |
||||
default 0x2000000 |
||||
|
||||
config COUNTER_FREQUENCY |
||||
int "Timer clock frequency" |
||||
default 0 |
||||
help |
||||
Setup time clock frequency for certain platform |
||||
|
||||
config ZYNQ_SDHCI_MAX_FREQ |
||||
default 200000000 |
||||
|
||||
config VERSAL_OF_BOARD_DTB_ADDR |
||||
hex |
||||
default 0x1000 |
||||
depends on OF_BOARD |
||||
|
||||
endif |
@ -0,0 +1,8 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# (C) Copyright 2016 - 2018 Xilinx, Inc.
|
||||
# Michal Simek <michal.simek@xilinx.com>
|
||||
#
|
||||
|
||||
obj-y += clk.o
|
||||
obj-y += cpu.o
|
@ -0,0 +1,30 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* (C) Copyright 2016 - 2018 Xilinx, Inc. |
||||
* Michal Simek <michal.simek@xilinx.com> |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
#ifdef CONFIG_CLOCKS |
||||
/**
|
||||
* set_cpu_clk_info - Initialize clock framework |
||||
* |
||||
* Return: 0 always. |
||||
* |
||||
* This function is called from common code after relocation and sets up the |
||||
* clock framework. The framework must not be used before this function had been |
||||
* called. |
||||
*/ |
||||
int set_cpu_clk_info(void) |
||||
{ |
||||
gd->cpu_clk = get_tbclk(); |
||||
|
||||
gd->bd->bi_arm_freq = gd->cpu_clk / 1000000; |
||||
gd->bd->bi_dsp_freq = 0; |
||||
|
||||
return 0; |
||||
} |
||||
#endif |
@ -0,0 +1,83 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* (C) Copyright 2016 - 2018 Xilinx, Inc. |
||||
* Michal Simek <michal.simek@xilinx.com> |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <asm/armv8/mmu.h> |
||||
#include <asm/io.h> |
||||
|
||||
static struct mm_region versal_mem_map[] = { |
||||
{ |
||||
.virt = 0x0UL, |
||||
.phys = 0x0UL, |
||||
.size = 0x80000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | |
||||
PTE_BLOCK_INNER_SHARE |
||||
}, { |
||||
.virt = 0x80000000UL, |
||||
.phys = 0x80000000UL, |
||||
.size = 0x70000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | |
||||
PTE_BLOCK_NON_SHARE | |
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN |
||||
}, { |
||||
.virt = 0xf0000000UL, |
||||
.phys = 0xf0000000UL, |
||||
.size = 0x0fe00000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | |
||||
PTE_BLOCK_NON_SHARE | |
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN |
||||
}, { |
||||
.virt = 0xffe00000UL, |
||||
.phys = 0xffe00000UL, |
||||
.size = 0x00200000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | |
||||
PTE_BLOCK_INNER_SHARE |
||||
}, { |
||||
.virt = 0x400000000UL, |
||||
.phys = 0x400000000UL, |
||||
.size = 0x200000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | |
||||
PTE_BLOCK_NON_SHARE | |
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN |
||||
}, { |
||||
.virt = 0x600000000UL, |
||||
.phys = 0x600000000UL, |
||||
.size = 0x800000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | |
||||
PTE_BLOCK_INNER_SHARE |
||||
}, { |
||||
.virt = 0xe00000000UL, |
||||
.phys = 0xe00000000UL, |
||||
.size = 0xf200000000UL, |
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | |
||||
PTE_BLOCK_NON_SHARE | |
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN |
||||
}, { |
||||
/* List terminator */ |
||||
0, |
||||
} |
||||
}; |
||||
|
||||
struct mm_region *mem_map = versal_mem_map; |
||||
|
||||
u64 get_page_table_size(void) |
||||
{ |
||||
return 0x14000; |
||||
} |
||||
|
||||
#if defined(CONFIG_OF_BOARD) |
||||
void *board_fdt_blob_setup(void) |
||||
{ |
||||
static void *fw_dtb = (void *)CONFIG_VERSAL_OF_BOARD_DTB_ADDR; |
||||
|
||||
if (fdt_magic(fw_dtb) != FDT_MAGIC) { |
||||
printf("DTB is not passed via %llx\n", (u64)fw_dtb); |
||||
return NULL; |
||||
} |
||||
|
||||
return fw_dtb; |
||||
} |
||||
#endif |
@ -0,0 +1,6 @@ |
||||
/* SPDX-License-Identifier: GPL-2.0+ */ |
||||
/*
|
||||
* Copyright 2016 - 2018 Xilinx, Inc. |
||||
*/ |
||||
|
||||
/* Empty file - for compilation */ |
@ -0,0 +1,34 @@ |
||||
/* SPDX-License-Identifier: GPL-2.0+ */ |
||||
/*
|
||||
* Copyright 2016 - 2018 Xilinx, Inc. |
||||
*/ |
||||
|
||||
#define VERSAL_CRL_APB_BASEADDR 0xFF5E0000 |
||||
|
||||
#define CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_BIT BIT(25) |
||||
|
||||
#define IOU_SWITCH_CTRL_CLKACT_BIT BIT(25) |
||||
#define IOU_SWITCH_CTRL_DIVISOR0_SHIFT 8 |
||||
|
||||
struct crlapb_regs { |
||||
u32 reserved0[69]; |
||||
u32 iou_switch_ctrl; /* 0x114 */ |
||||
u32 reserved1[13]; |
||||
u32 timestamp_ref_ctrl; /* 0x14c */ |
||||
u32 reserved2[126]; |
||||
u32 rst_timestamp; /* 0x348 */ |
||||
}; |
||||
|
||||
#define crlapb_base ((struct crlapb_regs *)VERSAL_CRL_APB_BASEADDR) |
||||
|
||||
#define VERSAL_IOU_SCNTR_SECURE 0xFF140000 |
||||
|
||||
#define IOU_SCNTRS_CONTROL_EN 1 |
||||
|
||||
struct iou_scntrs_regs { |
||||
u32 counter_control_register; /* 0x0 */ |
||||
u32 reserved0[7]; |
||||
u32 base_frequency_id_register; /* 0x20 */ |
||||
}; |
||||
|
||||
#define iou_scntr_secure ((struct iou_scntrs_regs *)VERSAL_IOU_SCNTR_SECURE) |
@ -0,0 +1,6 @@ |
||||
/* SPDX-License-Identifier: GPL-2.0+ */ |
||||
/*
|
||||
* Copyright 2016 - 2018 Xilinx, Inc. |
||||
*/ |
||||
|
||||
/* Empty file - for compilation */ |
@ -0,0 +1,7 @@ |
||||
XILINX_VERSAL BOARDS |
||||
M: Michal Simek <michal.simek@xilinx.com> |
||||
S: Maintained |
||||
F: arch/arm/dts/versal* |
||||
F: board/xilinx/versal/ |
||||
F: include/configs/xilinx_versal* |
||||
F: configs/xilinx_versal* |
@ -0,0 +1,7 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# (C) Copyright 2016 - 2018 Xilinx, Inc.
|
||||
# Michal Simek <michal.simek@xilinx.com>
|
||||
#
|
||||
|
||||
obj-y := board.o
|
@ -0,0 +1,81 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* (C) Copyright 2014 - 2018 Xilinx, Inc. |
||||
* Michal Simek <michal.simek@xilinx.com> |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <fdtdec.h> |
||||
#include <malloc.h> |
||||
#include <asm/io.h> |
||||
#include <asm/arch/hardware.h> |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
int board_init(void) |
||||
{ |
||||
printf("EL Level:\tEL%d\n", current_el()); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
int board_early_init_r(void) |
||||
{ |
||||
if (current_el() == 3) { |
||||
u32 val; |
||||
|
||||
writel(IOU_SWITCH_CTRL_CLKACT_BIT | |
||||
(0x20 << IOU_SWITCH_CTRL_DIVISOR0_SHIFT), |
||||
&crlapb_base->iou_switch_ctrl); |
||||
|
||||
/* Global timer init - Program time stamp reference clk */ |
||||
val = readl(&crlapb_base->timestamp_ref_ctrl); |
||||
val |= CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_BIT; |
||||
writel(val, &crlapb_base->timestamp_ref_ctrl); |
||||
|
||||
debug("ref ctrl 0x%x\n", |
||||
readl(&crlapb_base->timestamp_ref_ctrl)); |
||||
|
||||
/* Clear reset of timestamp reg */ |
||||
writel(0, &crlapb_base->rst_timestamp); |
||||
|
||||
/*
|
||||
* Program freq register in System counter and |
||||
* enable system counter. |
||||
*/ |
||||
writel(COUNTER_FREQUENCY, |
||||
&iou_scntr_secure->base_frequency_id_register); |
||||
|
||||
debug("counter val 0x%x\n", |
||||
readl(&iou_scntr_secure->base_frequency_id_register)); |
||||
|
||||
writel(IOU_SCNTRS_CONTROL_EN, |
||||
&iou_scntr_secure->counter_control_register); |
||||
|
||||
debug("scntrs control 0x%x\n", |
||||
readl(&iou_scntr_secure->counter_control_register)); |
||||
debug("timer 0x%llx\n", get_ticks()); |
||||
debug("timer 0x%llx\n", get_ticks()); |
||||
} |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
int dram_init_banksize(void) |
||||
{ |
||||
fdtdec_setup_memory_banksize(); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
int dram_init(void) |
||||
{ |
||||
if (fdtdec_setup_mem_size_base() != 0) |
||||
return -EINVAL; |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
void reset_cpu(ulong addr) |
||||
{ |
||||
} |
@ -0,0 +1,280 @@ |
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* (c) Copyright 2010-2014 Xilinx, Inc. All rights reserved. |
||||
*/ |
||||
|
||||
#include <asm/arch/ps7_init_gpl.h> |
||||
|
||||
static unsigned long ps7_pll_init_data_3_0[] = { |
||||
EMIT_WRITE(0xF8000008, 0x0000DF0DU), |
||||
EMIT_MASKWRITE(0xF8000110, 0x003FFFF0U, 0x000FA220U), |
||||
EMIT_MASKWRITE(0xF8000100, 0x0007F000U, 0x00028000U), |
||||
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, 0x0012C220U), |
||||
EMIT_MASKWRITE(0xF8000104, 0x0007F000U, 0x00020000U), |
||||
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, 0x001452C0U), |
||||
EMIT_MASKWRITE(0xF8000108, 0x0007F000U, 0x0001E000U), |
||||
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_WRITE(0xF8000004, 0x0000767BU), |
||||
EMIT_EXIT(), |
||||
}; |
||||
|
||||
static unsigned long ps7_clock_init_data_3_0[] = { |
||||
EMIT_WRITE(0xF8000008, 0x0000DF0DU), |
||||
EMIT_MASKWRITE(0xF8000128, 0x03F03F01U, 0x00700F01U), |
||||
EMIT_MASKWRITE(0xF8000138, 0x00000011U, 0x00000001U), |
||||
EMIT_MASKWRITE(0xF8000140, 0x03F03F71U, 0x00100801U), |
||||
EMIT_MASKWRITE(0xF800014C, 0x00003F31U, 0x00000501U), |
||||
EMIT_MASKWRITE(0xF8000150, 0x00003F33U, 0x00000A01U), |
||||
EMIT_MASKWRITE(0xF8000154, 0x00003F33U, 0x00000A02U), |
||||
EMIT_MASKWRITE(0xF8000168, 0x00003F31U, 0x00000501U), |
||||
EMIT_MASKWRITE(0xF8000170, 0x03F03F30U, 0x00200500U), |
||||
EMIT_MASKWRITE(0xF80001C4, 0x00000001U, 0x00000001U), |
||||
EMIT_MASKWRITE(0xF800012C, 0x01FFCCCDU, 0x01EC044DU), |
||||
EMIT_WRITE(0xF8000004, 0x0000767BU), |
||||
EMIT_EXIT(), |
||||
}; |
||||
|
||||
static unsigned long ps7_ddr_init_data_3_0[] = { |
||||
EMIT_MASKWRITE(0xF8006000, 0x0001FFFFU, 0x00000080U), |
||||
EMIT_MASKWRITE(0xF8006004, 0x0007FFFFU, 0x00001081U), |
||||
EMIT_MASKWRITE(0xF8006008, 0x03FFFFFFU, 0x03C0780FU), |
||||
EMIT_MASKWRITE(0xF800600C, 0x03FFFFFFU, 0x02001001U), |
||||
EMIT_MASKWRITE(0xF8006010, 0x03FFFFFFU, 0x00014001U), |
||||
EMIT_MASKWRITE(0xF8006014, 0x001FFFFFU, 0x0004159AU), |
||||
EMIT_MASKWRITE(0xF8006018, 0xF7FFFFFFU, 0x44E458D2U), |
||||
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, 0x000116D4U), |
||||
EMIT_MASKWRITE(0xF8006038, 0x00000003U, 0x00000000U), |
||||
EMIT_MASKWRITE(0xF800603C, 0x000FFFFFU, 0x00000777U), |
||||
EMIT_MASKWRITE(0xF8006040, 0xFFFFFFFFU, 0xFFF00000U), |
||||
EMIT_MASKWRITE(0xF8006044, 0x0FFFFFFFU, 0x0FF66666U), |
||||
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, 0x0690CB73U), |
||||
EMIT_MASKWRITE(0xF80060AC, 0x000001FFU, 0x000001FEU), |
||||
EMIT_MASKWRITE(0xF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU), |
||||
EMIT_MASKWRITE(0xF80060B4, 0x00000200U, 0x00000200U), |
||||
EMIT_MASKWRITE(0xF80060B8, 0x01FFFFFFU, 0x00200066U), |
||||
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, 0x40000001U), |
||||
EMIT_MASKWRITE(0xF8006124, 0x7FFFFFCFU, 0x40000001U), |
||||
EMIT_MASKWRITE(0xF800612C, 0x000FFFFFU, 0x00029000U), |
||||
EMIT_MASKWRITE(0xF8006130, 0x000FFFFFU, 0x00029000U), |
||||
EMIT_MASKWRITE(0xF8006134, 0x000FFFFFU, 0x00029000U), |
||||
EMIT_MASKWRITE(0xF8006138, 0x000FFFFFU, 0x00029000U), |
||||
EMIT_MASKWRITE(0xF8006140, 0x000FFFFFU, 0x00000035U), |
||||
EMIT_MASKWRITE(0xF8006144, 0x000FFFFFU, 0x00000035U), |
||||
EMIT_MASKWRITE(0xF8006148, 0x000FFFFFU, 0x00000035U), |
||||
EMIT_MASKWRITE(0xF800614C, 0x000FFFFFU, 0x00000035U), |
||||
EMIT_MASKWRITE(0xF8006154, 0x000FFFFFU, 0x00000080U), |
||||
EMIT_MASKWRITE(0xF8006158, 0x000FFFFFU, 0x00000080U), |
||||
EMIT_MASKWRITE(0xF800615C, 0x000FFFFFU, 0x00000080U), |
||||
EMIT_MASKWRITE(0xF8006160, 0x000FFFFFU, 0x00000080U), |
||||
EMIT_MASKWRITE(0xF8006168, 0x001FFFFFU, 0x000000F9U), |
||||
EMIT_MASKWRITE(0xF800616C, 0x001FFFFFU, 0x000000F9U), |
||||
EMIT_MASKWRITE(0xF8006170, 0x001FFFFFU, 0x000000F9U), |
||||
EMIT_MASKWRITE(0xF8006174, 0x001FFFFFU, 0x000000F9U), |
||||
EMIT_MASKWRITE(0xF800617C, 0x000FFFFFU, 0x000000C0U), |
||||
EMIT_MASKWRITE(0xF8006180, 0x000FFFFFU, 0x000000C0U), |
||||
EMIT_MASKWRITE(0xF8006184, 0x000FFFFFU, 0x000000C0U), |
||||
EMIT_MASKWRITE(0xF8006188, 0x000FFFFFU, 0x000000C0U), |
||||
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, 0x000012A8U), |
||||
EMIT_MASKPOLL(0xF8000B74, 0x00002000U), |
||||
EMIT_MASKWRITE(0xF8006000, 0x0001FFFFU, 0x00000081U), |
||||
EMIT_MASKPOLL(0xF8006054, 0x00000007U), |
||||
EMIT_EXIT(), |
||||
}; |
||||
|
||||
static unsigned long ps7_mio_init_data_3_0[] = { |
||||
EMIT_WRITE(0xF8000008, 0x0000DF0DU), |
||||
EMIT_MASKWRITE(0xF8000B40, 0x00000FFFU, 0x00000600U), |
||||
EMIT_MASKWRITE(0xF8000B44, 0x00000FFFU, 0x00000600U), |
||||
EMIT_MASKWRITE(0xF8000B48, 0x00000FFFU, 0x00000672U), |
||||
EMIT_MASKWRITE(0xF8000B4C, 0x00000FFFU, 0x00000672U), |
||||
EMIT_MASKWRITE(0xF8000B50, 0x00000FFFU, 0x00000674U), |
||||
EMIT_MASKWRITE(0xF8000B54, 0x00000FFFU, 0x00000674U), |
||||
EMIT_MASKWRITE(0xF8000B58, 0x00000FFFU, 0x00000600U), |
||||
EMIT_MASKWRITE(0xF8000B5C, 0xFFFFFFFFU, 0x0018C068U), |
||||
EMIT_MASKWRITE(0xF8000B60, 0xFFFFFFFFU, 0x00F98068U), |
||||
EMIT_MASKWRITE(0xF8000B64, 0xFFFFFFFFU, 0x00F98068U), |
||||
EMIT_MASKWRITE(0xF8000B68, 0xFFFFFFFFU, 0x00F98068U), |
||||
EMIT_MASKWRITE(0xF8000B6C, 0x00007FFFU, 0x00000260U), |
||||
EMIT_MASKWRITE(0xF8000B70, 0x00000001U, 0x00000001U), |
||||
EMIT_MASKWRITE(0xF8000B70, 0x00000021U, 0x00000020U), |
||||
EMIT_MASKWRITE(0xF8000B70, 0x07FEFFFFU, 0x00000823U), |
||||
EMIT_MASKWRITE(0xF8000700, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF8000704, 0x00003FFFU, 0x00001202U), |
||||
EMIT_MASKWRITE(0xF8000708, 0x00003FFFU, 0x00000202U), |
||||
EMIT_MASKWRITE(0xF800070C, 0x00003FFFU, 0x00000202U), |
||||
EMIT_MASKWRITE(0xF8000710, 0x00003FFFU, 0x00000202U), |
||||
EMIT_MASKWRITE(0xF8000714, 0x00003FFFU, 0x00000202U), |
||||
EMIT_MASKWRITE(0xF8000718, 0x00003FFFU, 0x00000202U), |
||||
EMIT_MASKWRITE(0xF800071C, 0x00003FFFU, 0x00000200U), |
||||
EMIT_MASKWRITE(0xF8000720, 0x00003FFFU, 0x000002E0U), |
||||
EMIT_MASKWRITE(0xF8000724, 0x00003FFFU, 0x000012E1U), |
||||
EMIT_MASKWRITE(0xF8000728, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF800072C, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF8000730, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF8000734, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF8000738, 0x00003FFFU, 0x00001240U), |
||||
EMIT_MASKWRITE(0xF800073C, 0x00003FFFU, 0x00001240U), |
||||
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, 0x00003F01U, 0x00001201U), |
||||
EMIT_MASKWRITE(0xF80007BC, 0x00003F01U, 0x00001201U), |
||||
EMIT_MASKWRITE(0xF80007C0, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF80007C4, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF80007C8, 0x00003FFFU, 0x00001218U), |
||||
EMIT_MASKWRITE(0xF80007CC, 0x00003FFFU, 0x00001200U), |
||||
EMIT_MASKWRITE(0xF80007D0, 0x00003FFFU, 0x00001280U), |
||||
EMIT_MASKWRITE(0xF80007D4, 0x00003FFFU, 0x00001280U), |
||||
EMIT_MASKWRITE(0xF8000830, 0x003F003FU, 0x002E002FU), |
||||
EMIT_WRITE(0xF8000004, 0x0000767BU), |
||||
EMIT_EXIT(), |
||||
}; |
||||
|
||||
static unsigned long ps7_peripherals_init_data_3_0[] = { |
||||
EMIT_WRITE(0xF8000008, 0x0000DF0DU), |
||||
EMIT_MASKWRITE(0xF8000B48, 0x00000180U, 0x00000180U), |
||||
EMIT_MASKWRITE(0xF8000B4C, 0x00000180U, 0x00000180U), |
||||
EMIT_MASKWRITE(0xF8000B50, 0x00000180U, 0x00000180U), |
||||
EMIT_MASKWRITE(0xF8000B54, 0x00000180U, 0x00000180U), |
||||
EMIT_WRITE(0xF8000004, 0x0000767BU), |
||||
EMIT_MASKWRITE(0xE0001034, 0x000000FFU, 0x00000006U), |
||||
EMIT_MASKWRITE(0xE0001018, 0x0000FFFFU, 0x0000007CU), |
||||
EMIT_MASKWRITE(0xE0001000, 0x000001FFU, 0x00000017U), |
||||
EMIT_MASKWRITE(0xE0001004, 0x000003FFU, 0x00000020U), |
||||
EMIT_MASKWRITE(0xE000D000, 0x00080000U, 0x00080000U), |
||||
EMIT_MASKWRITE(0xF8007000, 0x20000000U, 0x00000000U), |
||||
EMIT_MASKDELAY(0xF8F00200, 1), |
||||
EMIT_MASKDELAY(0xF8F00200, 1), |
||||
EMIT_MASKDELAY(0xF8F00200, 1), |
||||
EMIT_MASKDELAY(0xF8F00200, 1), |
||||
EMIT_MASKDELAY(0xF8F00200, 1), |
||||
EMIT_MASKDELAY(0xF8F00200, 1), |
||||
EMIT_EXIT(), |
||||
}; |
||||
|
||||
static unsigned long ps7_post_config_3_0[] = { |
||||
EMIT_WRITE(0xF8000008, 0x0000DF0DU), |
||||
EMIT_MASKWRITE(0xF8000900, 0x0000000FU, 0x0000000FU), |
||||
EMIT_MASKWRITE(0xF8000240, 0xFFFFFFFFU, 0x00000000U), |
||||
EMIT_WRITE(0xF8000004, 0x0000767BU), |
||||
EMIT_EXIT(), |
||||
}; |
||||
|
||||
int ps7_post_config(void) |
||||
{ |
||||
int ret = -1; |
||||
|
||||
ret = ps7_config(ps7_post_config_3_0); |
||||
if (ret != PS7_INIT_SUCCESS) |
||||
return ret; |
||||
|
||||
return PS7_INIT_SUCCESS; |
||||
} |
||||
|
||||
int ps7_init(void) |
||||
{ |
||||
int ret; |
||||
|
||||
ret = ps7_config(ps7_mio_init_data_3_0); |
||||
if (ret != PS7_INIT_SUCCESS) |
||||
return ret; |
||||
|
||||
ret = ps7_config(ps7_pll_init_data_3_0); |
||||
if (ret != PS7_INIT_SUCCESS) |
||||
return ret; |
||||
|
||||
ret = ps7_config(ps7_clock_init_data_3_0); |
||||
if (ret != PS7_INIT_SUCCESS) |
||||
return ret; |
||||
|
||||
ret = ps7_config(ps7_ddr_init_data_3_0); |
||||
if (ret != PS7_INIT_SUCCESS) |
||||
return ret; |
||||
|
||||
ret = ps7_config(ps7_peripherals_init_data_3_0); |
||||
if (ret != PS7_INIT_SUCCESS) |
||||
return ret; |
||||
return PS7_INIT_SUCCESS; |
||||
} |
@ -0,0 +1,68 @@ |
||||
CONFIG_ARM=y |
||||
CONFIG_ARCH_VERSAL=y |
||||
CONFIG_SYS_TEXT_BASE=0x8000000 |
||||
CONFIG_SYS_MALLOC_F_LEN=0x8000 |
||||
CONFIG_DEBUG_UART_BASE=0xff000000 |
||||
CONFIG_DEBUG_UART_CLOCK=0 |
||||
CONFIG_COUNTER_FREQUENCY=62500000 |
||||
CONFIG_DEBUG_UART=y |
||||
CONFIG_ENV_VARS_UBOOT_CONFIG=y |
||||
CONFIG_FIT=y |
||||
CONFIG_FIT_VERBOSE=y |
||||
# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set |
||||
CONFIG_BOOTDELAY=-1 |
||||
CONFIG_SUPPORT_RAW_INITRD=y |
||||
# CONFIG_DISPLAY_CPUINFO is not set |
||||
CONFIG_BOARD_EARLY_INIT_R=y |
||||
CONFIG_HUSH_PARSER=y |
||||
CONFIG_SYS_PROMPT="Versal> " |
||||
CONFIG_CMD_BOOTMENU=y |
||||
CONFIG_CMD_MEMTEST=y |
||||
CONFIG_SYS_ALT_MEMTEST=y |
||||
# CONFIG_CMD_FLASH is not set |
||||
CONFIG_CMD_MMC=y |
||||
CONFIG_CMD_SF=y |
||||
CONFIG_CMD_DHCP=y |
||||
CONFIG_CMD_TFTPPUT=y |
||||
CONFIG_CMD_MII=y |
||||
CONFIG_CMD_PING=y |
||||
CONFIG_CMD_PXE=y |
||||
CONFIG_CMD_CACHE=y |
||||
CONFIG_CMD_TIME=y |
||||
CONFIG_CMD_TIMER=y |
||||
CONFIG_CMD_EXT2=y |
||||
CONFIG_CMD_EXT4=y |
||||
CONFIG_CMD_EXT4_WRITE=y |
||||
CONFIG_CMD_FAT=y |
||||
CONFIG_CMD_FS_GENERIC=y |
||||
CONFIG_ISO_PARTITION=y |
||||
CONFIG_EFI_PARTITION=y |
||||
# CONFIG_PARTITION_UUIDS is not set |
||||
CONFIG_OF_BOARD=y |
||||
CONFIG_NET_RANDOM_ETHADDR=y |
||||
CONFIG_SPL_DM_SEQ_ALIAS=y |
||||
CONFIG_DM_GPIO=y |
||||
CONFIG_DM_MMC=y |
||||
CONFIG_MMC_SDHCI=y |
||||
CONFIG_MMC_SDHCI_ZYNQ=y |
||||
CONFIG_DM_SPI_FLASH=y |
||||
CONFIG_SPI_FLASH=y |
||||
CONFIG_SPI_FLASH_BAR=y |
||||
CONFIG_SPI_FLASH_MACRONIX=y |
||||
CONFIG_SPI_FLASH_SPANSION=y |
||||
CONFIG_SPI_FLASH_STMICRO=y |
||||
CONFIG_SPI_FLASH_SST=y |
||||
CONFIG_SPI_FLASH_WINBOND=y |
||||
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set |
||||
CONFIG_PHY_FIXED=y |
||||
CONFIG_DM_ETH=y |
||||
CONFIG_PHY_GIGE=y |
||||
CONFIG_MII=y |
||||
CONFIG_ZYNQ_GEM=y |
||||
CONFIG_DEBUG_UART_PL011=y |
||||
CONFIG_DEBUG_UART_ANNOUNCE=y |
||||
CONFIG_PL01X_SERIAL=y |
||||
CONFIG_SPI=y |
||||
CONFIG_DM_SPI=y |
||||
CONFIG_FAT_WRITE=y |
||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y |
@ -0,0 +1,74 @@ |
||||
CONFIG_ARM=y |
||||
CONFIG_ARCH_ZYNQ=y |
||||
CONFIG_SYS_TEXT_BASE=0x4000000 |
||||
CONFIG_SPL=y |
||||
CONFIG_DEBUG_UART_BASE=0xe0001000 |
||||
CONFIG_DEBUG_UART_CLOCK=50000000 |
||||
CONFIG_IDENT_STRING=" Xilinx Zynq DLC20 Rev1.0" |
||||
CONFIG_SPL_STACK_R_ADDR=0x200000 |
||||
CONFIG_DEBUG_UART=y |
||||
CONFIG_DISTRO_DEFAULTS=y |
||||
CONFIG_FIT=y |
||||
CONFIG_FIT_SIGNATURE=y |
||||
CONFIG_FIT_VERBOSE=y |
||||
CONFIG_IMAGE_FORMAT_LEGACY=y |
||||
CONFIG_BOOTCOMMAND="run $modeboot || run distro_bootcmd" |
||||
CONFIG_BOARD_EARLY_INIT_F=y |
||||
CONFIG_SPL_STACK_R=y |
||||
CONFIG_SPL_OS_BOOT=y |
||||
CONFIG_SPL_SPI_LOAD=y |
||||
CONFIG_SYS_PROMPT="Zynq> " |
||||
CONFIG_CMD_THOR_DOWNLOAD=y |
||||
CONFIG_CMD_EEPROM=y |
||||
CONFIG_CMD_DFU=y |
||||
# CONFIG_CMD_FLASH is not set |
||||
CONFIG_CMD_FPGA_LOADBP=y |
||||
CONFIG_CMD_FPGA_LOADFS=y |
||||
CONFIG_CMD_FPGA_LOADMK=y |
||||
CONFIG_CMD_FPGA_LOADP=y |
||||
CONFIG_CMD_GPIO=y |
||||
CONFIG_CMD_I2C=y |
||||
CONFIG_CMD_MMC=y |
||||
CONFIG_CMD_SF=y |
||||
CONFIG_CMD_USB=y |
||||
# CONFIG_CMD_SETEXPR is not set |
||||
CONFIG_CMD_TFTPPUT=y |
||||
CONFIG_CMD_CACHE=y |
||||
CONFIG_CMD_EXT4_WRITE=y |
||||
CONFIG_OF_EMBED=y |
||||
CONFIG_DEFAULT_DEVICE_TREE="zynq-dlc20-rev1.0" |
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y |
||||
CONFIG_NET_RANDOM_ETHADDR=y |
||||
CONFIG_SPL_DM_SEQ_ALIAS=y |
||||
CONFIG_DFU_MMC=y |
||||
CONFIG_DFU_RAM=y |
||||
CONFIG_FPGA_XILINX=y |
||||
CONFIG_FPGA_ZYNQPL=y |
||||
CONFIG_DM_GPIO=y |
||||
CONFIG_SYS_I2C_ZYNQ=y |
||||
CONFIG_ZYNQ_I2C0=y |
||||
CONFIG_MMC_SDHCI=y |
||||
CONFIG_MMC_SDHCI_ZYNQ=y |
||||
CONFIG_SPI_FLASH=y |
||||
CONFIG_SPI_FLASH_BAR=y |
||||
CONFIG_SPI_FLASH_STMICRO=y |
||||
CONFIG_SPI_FLASH_WINBOND=y |
||||
CONFIG_PHY_REALTEK=y |
||||
CONFIG_MII=y |
||||
CONFIG_ZYNQ_GEM=y |
||||
CONFIG_DEBUG_UART_ZYNQ=y |
||||
CONFIG_DEBUG_UART_ANNOUNCE=y |
||||
CONFIG_ZYNQ_SERIAL=y |
||||
CONFIG_ZYNQ_QSPI=y |
||||
CONFIG_USB=y |
||||
CONFIG_USB_EHCI_HCD=y |
||||
CONFIG_USB_ULPI_VIEWPORT=y |
||||
CONFIG_USB_ULPI=y |
||||
CONFIG_USB_STORAGE=y |
||||
CONFIG_USB_GADGET=y |
||||
CONFIG_USB_GADGET_MANUFACTURER="Xilinx" |
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x03fd |
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x0300 |
||||
CONFIG_CI_UDC=y |
||||
CONFIG_USB_GADGET_DOWNLOAD=y |
||||
CONFIG_USB_FUNCTION_THOR=y |
@ -0,0 +1,91 @@ |
||||
/* SPDX-License-Identifier: GPL-2.0+ */ |
||||
/*
|
||||
* Configuration for Xilinx Versal |
||||
* (C) Copyright 2016 - 2018 Xilinx, Inc. |
||||
* Michal Simek <michal.simek@xilinx.com> |
||||
* |
||||
* Based on Configuration for Xilinx ZynqMP |
||||
*/ |
||||
|
||||
#ifndef __XILINX_VERSAL_H |
||||
#define __XILINX_VERSAL_H |
||||
|
||||
#define CONFIG_REMAKE_ELF |
||||
|
||||
/* #define CONFIG_ARMV8_SWITCH_TO_EL1 */ |
||||
|
||||
/* Generic Interrupt Controller Definitions */ |
||||
#define GICD_BASE 0xF9000000 |
||||
#define GICR_BASE 0xF9080000 |
||||
|
||||
#define CONFIG_SYS_MEMTEST_SCRATCH 0xfffc0000 |
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0 |
||||
#define CONFIG_SYS_MEMTEST_END 1000 |
||||
|
||||
#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE |
||||
|
||||
/* Generic Timer Definitions - setup in EL3. Setup by ATF for other cases */ |
||||
#if CONFIG_COUNTER_FREQUENCY |
||||
# define COUNTER_FREQUENCY CONFIG_COUNTER_FREQUENCY |
||||
#endif |
||||
|
||||
/* Serial setup */ |
||||
#define CONFIG_ARM_DCC |
||||
#define CONFIG_CPU_ARMV8 |
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \ |
||||
{ 4800, 9600, 19200, 38400, 57600, 115200 } |
||||
|
||||
/* BOOTP options */ |
||||
#define CONFIG_BOOTP_BOOTFILESIZE |
||||
#define CONFIG_BOOTP_MAY_FAIL |
||||
|
||||
#define CONFIG_IP_DEFRAG |
||||
#define CONFIG_TFTP_BLOCKSIZE 4096 |
||||
|
||||
/* Miscellaneous configurable options */ |
||||
#define CONFIG_SYS_LOAD_ADDR 0x8000000 |
||||
|
||||
/* Monitor Command Prompt */ |
||||
/* Console I/O Buffer Size */ |
||||
#define CONFIG_SYS_CBSIZE 2048 |
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ |
||||
sizeof(CONFIG_SYS_PROMPT) + 16) |
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE |
||||
#define CONFIG_SYS_MAXARGS 64 |
||||
|
||||
/* Ethernet driver */ |
||||
#if defined(CONFIG_ZYNQ_GEM) |
||||
# define CONFIG_NET_MULTI |
||||
# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN |
||||
# define PHY_ANEG_TIMEOUT 20000 |
||||
#endif |
||||
|
||||
#define CONFIG_SYS_BOOTM_LEN (60 * 1024 * 1024) |
||||
|
||||
#define CONFIG_CLOCKS |
||||
|
||||
#define ENV_MEM_LAYOUT_SETTINGS \ |
||||
"fdt_high=10000000\0" \
|
||||
"initrd_high=10000000\0" \
|
||||
"fdt_addr_r=0x40000000\0" \
|
||||
"pxefile_addr_r=0x10000000\0" \
|
||||
"kernel_addr_r=0x18000000\0" \
|
||||
"scriptaddr=0x02000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" |
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \ |
||||
func(PXE, pxe, na) \
|
||||
func(DHCP, dhcp, na) |
||||
|
||||
#include <config_distro_bootcmd.h> |
||||
|
||||
/* Initial environment variables */ |
||||
#ifndef CONFIG_EXTRA_ENV_SETTINGS |
||||
#define CONFIG_EXTRA_ENV_SETTINGS \ |
||||
ENV_MEM_LAYOUT_SETTINGS \
|
||||
BOOTENV |
||||
#endif |
||||
|
||||
#endif /* __XILINX_VERSAL_H */ |
Loading…
Reference in new issue