]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge tag 'v2014.10' into master
authorMichal Simek <michal.simek@xilinx.com>
Tue, 21 Oct 2014 09:05:12 +0000 (11:05 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 21 Oct 2014 10:05:05 +0000 (12:05 +0200)
- Move zynqmp to Kconfig style
- Fix ARM64 mainline code for gicv2 case
diff --git a/arch/arm/include/asm/macro.h
  b/arch/arm/include/asm/macro.h
index 541b443..1c8c425 100644 (file)
--- a/arch/arm/include/asm/macro.h
+++ b/arch/arm/include/asm/macro.h
@@ -193,7 +193,7 @@ lr  .req    x30
 0 :    wfi
        ldr     \wreg2, [\xreg1, GICC_AIAR]
        str     \wreg2, [\xreg1, GICC_AEOIR]
-       and     \wreg2, \wreg2, #3ff
+       and     \wreg2, \wreg2, #0x3ff
        cbnz    \wreg2, 0b
 .endm
 #endif

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
13 files changed:
1  2 
arch/arm/Kconfig
arch/arm/include/asm/macro.h
board/xilinx/zynqmp/Kconfig
board/xilinx/zynqmp/MAINTAINERS
configs/xilinx_zynqmp_defconfig
drivers/mtd/spi/sf_ops.c
drivers/mtd/spi/sf_params.c
drivers/mtd/spi/sf_probe.c
include/configs/xilinx_zynqmp.h
include/net.h
include/netdev.h
include/spi_flash.h
net/bootp.h

index 0000000000000000000000000000000000000000,72558b85620a638c2945a58ccb3ebbc1faea06b6..5097b91fe40ef5a76ddbb5aac4dd8a1bd68995be
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,702 +1,707 @@@
+ menu "ARM architecture"
+       depends on ARM
+ config SYS_ARCH
+       default "arm"
+ config ARM64
+       bool
+ choice
+       prompt "Target select"
+ config TARGET_INTEGRATORAP_CM720T
+       bool "Support integratorap_cm720t"
+ config TARGET_INTEGRATORAP_CM920T
+       bool "Support integratorap_cm920t"
+ config TARGET_INTEGRATORCP_CM920T
+       bool "Support integratorcp_cm920t"
+ config TARGET_A320EVB
+       bool "Support a320evb"
+ config TARGET_AT91RM9200EK
+       bool "Support at91rm9200ek"
+ config TARGET_EB_CPUX9K2
+       bool "Support eb_cpux9k2"
+ config TARGET_CPUAT91
+       bool "Support cpuat91"
+ config TARGET_EDB93XX
+       bool "Support edb93xx"
+ config TARGET_SCB9328
+       bool "Support scb9328"
+ config TARGET_CM4008
+       bool "Support cm4008"
+ config TARGET_CM41XX
+       bool "Support cm41xx"
+ config TARGET_VCMA9
+       bool "Support VCMA9"
+ config TARGET_SMDK2410
+       bool "Support smdk2410"
+ config TARGET_INTEGRATORAP_CM926EJS
+       bool "Support integratorap_cm926ejs"
+ config TARGET_INTEGRATORCP_CM926EJS
+       bool "Support integratorcp_cm926ejs"
+ config TARGET_ASPENITE
+       bool "Support aspenite"
+ config TARGET_GPLUGD
+       bool "Support gplugd"
+ config TARGET_AFEB9260
+       bool "Support afeb9260"
+ config TARGET_AT91SAM9260EK
+       bool "Support at91sam9260ek"
+ config TARGET_AT91SAM9261EK
+       bool "Support at91sam9261ek"
+ config TARGET_AT91SAM9263EK
+       bool "Support at91sam9263ek"
+ config TARGET_AT91SAM9M10G45EK
+       bool "Support at91sam9m10g45ek"
+ config TARGET_AT91SAM9N12EK
+       bool "Support at91sam9n12ek"
+ config TARGET_AT91SAM9RLEK
+       bool "Support at91sam9rlek"
+ config TARGET_AT91SAM9X5EK
+       bool "Support at91sam9x5ek"
+ config TARGET_SNAPPER9260
+       bool "Support snapper9260"
+ config TARGET_VL_MA2SC
+       bool "Support vl_ma2sc"
+ config TARGET_SBC35_A9G20
+       bool "Support sbc35_a9g20"
+ config TARGET_TNY_A9260
+       bool "Support tny_a9260"
+ config TARGET_USB_A9263
+       bool "Support usb_a9263"
+ config TARGET_ETHERNUT5
+       bool "Support ethernut5"
+ config TARGET_TOP9000
+       bool "Support top9000"
+ config TARGET_MEESC
+       bool "Support meesc"
+ config TARGET_OTC570
+       bool "Support otc570"
+ config TARGET_CPU9260
+       bool "Support cpu9260"
+ config TARGET_PM9261
+       bool "Support pm9261"
+ config TARGET_PM9263
+       bool "Support pm9263"
+ config TARGET_PM9G45
+       bool "Support pm9g45"
+ config TARGET_CORVUS
+       bool "Support corvus"
+ config TARGET_TAURUS
+       bool "Support taurus"
+ config TARGET_STAMP9G20
+       bool "Support stamp9g20"
+ config ARCH_DAVINCI
+       bool "TI DaVinci"
+       help
+         Support for TI's DaVinci platform.
+ config KIRKWOOD
+       bool "Marvell Kirkwood"
+ config TARGET_DEVKIT3250
+       bool "Support devkit3250"
+ config TARGET_JADECPU
+       bool "Support jadecpu"
+ config TARGET_MX25PDK
+       bool "Support mx25pdk"
+ config TARGET_TX25
+       bool "Support tx25"
+ config TARGET_ZMX25
+       bool "Support zmx25"
+ config TARGET_APF27
+       bool "Support apf27"
+ config TARGET_IMX27LITE
+       bool "Support imx27lite"
+ config TARGET_MAGNESIUM
+       bool "Support magnesium"
+ config TARGET_APX4DEVKIT
+       bool "Support apx4devkit"
+ config TARGET_XFI3
+       bool "Support xfi3"
+ config TARGET_M28EVK
+       bool "Support m28evk"
+ config TARGET_MX23EVK
+       bool "Support mx23evk"
+ config TARGET_MX28EVK
+       bool "Support mx28evk"
+ config TARGET_MX23_OLINUXINO
+       bool "Support mx23_olinuxino"
+ config TARGET_BG0900
+       bool "Support bg0900"
+ config TARGET_SANSA_FUZE_PLUS
+       bool "Support sansa_fuze_plus"
+ config TARGET_SC_SPS_1
+       bool "Support sc_sps_1"
+ config ARCH_NOMADIK
+       bool "ST-Ericsson Nomadik"
+ config ORION5X
+       bool "Marvell Orion"
+ config TARGET_DKB
+       bool "Support dkb"
+ config TARGET_SPEAR300
+       bool "Support spear300"
+ config TARGET_SPEAR310
+       bool "Support spear310"
+ config TARGET_SPEAR320
+       bool "Support spear320"
+ config TARGET_SPEAR600
+       bool "Support spear600"
+ config TARGET_X600
+       bool "Support x600"
+ config ARCH_VERSATILE
+       bool "ARM Ltd. Versatile family"
+ config TARGET_INTEGRATORCP_CM1136
+       bool "Support integratorcp_cm1136"
+ config TARGET_IMX31_PHYCORE
+       bool "Support imx31_phycore"
+ config TARGET_QONG
+       bool "Support qong"
+ config TARGET_MX31ADS
+       bool "Support mx31ads"
+ config TARGET_MX31PDK
+       bool "Support mx31pdk"
+ config TARGET_TT01
+       bool "Support tt01"
+ config TARGET_IMX31_LITEKIT
+       bool "Support imx31_litekit"
+ config TARGET_WOODBURN
+       bool "Support woodburn"
+ config TARGET_WOODBURN_SD
+       bool "Support woodburn_sd"
+ config TARGET_FLEA3
+       bool "Support flea3"
+ config TARGET_MX35PDK
+       bool "Support mx35pdk"
+ config TARGET_RPI_B
+       bool "Support rpi_b"
+ config TARGET_TNETV107X_EVM
+       bool "Support tnetv107x_evm"
+ config TARGET_INTEGRATORAP_CM946ES
+       bool "Support integratorap_cm946es"
+ config TARGET_INTEGRATORCP_CM946ES
+       bool "Support integratorcp_cm946es"
+ config TARGET_VEXPRESS_CA15_TC2
+       bool "Support vexpress_ca15_tc2"
+ config TARGET_VEXPRESS_CA5X2
+       bool "Support vexpress_ca5x2"
+ config TARGET_VEXPRESS_CA9X4
+       bool "Support vexpress_ca9x4"
+ config TARGET_KWB
+       bool "Support kwb"
+ config TARGET_TSERIES
+       bool "Support tseries"
+ config TARGET_CM_T335
+       bool "Support cm_t335"
+ config TARGET_PEPPER
+       bool "Support pepper"
+ config TARGET_AM335X_IGEP0033
+       bool "Support am335x_igep0033"
+ config TARGET_PCM051
+       bool "Support pcm051"
+ config TARGET_DRACO
+       bool "Support draco"
+ config TARGET_DXR2
+       bool "Support dxr2"
+ config TARGET_PXM2
+       bool "Support pxm2"
+ config TARGET_RUT
+       bool "Support rut"
+ config TARGET_PENGWYN
+       bool "Support pengwyn"
+ config TARGET_AM335X_EVM
+       bool "Support am335x_evm"
+ config TARGET_AM43XX_EVM
+       bool "Support am43xx_evm"
+ config TARGET_TI814X_EVM
+       bool "Support ti814x_evm"
+ config TARGET_TI816X_EVM
+       bool "Support ti816x_evm"
+ config TARGET_SAMA5D3_XPLAINED
+       bool "Support sama5d3_xplained"
+ config TARGET_SAMA5D3XEK
+       bool "Support sama5d3xek"
+ config TARGET_BCM28155_AP
+       bool "Support bcm28155_ap"
+ config TARGET_BCM958300K
+       bool "Support bcm958300k"
+ config TARGET_BCM958622HR
+       bool "Support bcm958622hr"
+ config ARCH_EXYNOS
+       bool "Samsung EXYNOS"
+ config ARCH_S5PC1XX
+       bool "Samsung S5PC1XX"
+ config ARCH_HIGHBANK
+       bool "Calxeda Highbank"
+ config ARCH_KEYSTONE
+       bool "TI Keystone"
+ config TARGET_M53EVK
+       bool "Support m53evk"
+ config TARGET_IMA3_MX53
+       bool "Support ima3-mx53"
+ config TARGET_MX51EVK
+       bool "Support mx51evk"
+ config TARGET_MX53ARD
+       bool "Support mx53ard"
+ config TARGET_MX53EVK
+       bool "Support mx53evk"
+ config TARGET_MX53LOCO
+       bool "Support mx53loco"
+ config TARGET_MX53SMD
+       bool "Support mx53smd"
+ config TARGET_MX51_EFIKAMX
+       bool "Support mx51_efikamx"
+ config TARGET_VISION2
+       bool "Support vision2"
+ config TARGET_UDOO
+       bool "Support udoo"
+ config TARGET_WANDBOARD
+       bool "Support wandboard"
+ config TARGET_TITANIUM
+       bool "Support titanium"
+ config TARGET_NITROGEN6X
+       bool "Support nitrogen6x"
+ config TARGET_CGTQMX6EVAL
+       bool "Support cgtqmx6eval"
+ config TARGET_EMBESTMX6BOARDS
+       bool "Support embestmx6boards"
+ config TARGET_ARISTAINETOS
+       bool "Support aristainetos"
+ config TARGET_MX6QARM2
+       bool "Support mx6qarm2"
+ config TARGET_MX6QSABREAUTO
+       bool "Support mx6qsabreauto"
+ config TARGET_MX6SABRESD
+       bool "Support mx6sabresd"
+ config TARGET_MX6SLEVK
+       bool "Support mx6slevk"
+ config TARGET_MX6SXSABRESD
+       bool "Support mx6sxsabresd"
+ config TARGET_GW_VENTANA
+       bool "Support gw_ventana"
+ config TARGET_HUMMINGBOARD
+       bool "Support hummingboard"
+ config TARGET_TQMA6
+       bool "TQ Systems TQMa6 board"
+ config TARGET_OT1200
+       bool "Bachmann OT1200"
+ config OMAP34XX
+       bool "OMAP34XX SoC"
+ config OMAP44XX
+       bool "OMAP44XX SoC"
+ config OMAP54XX
+       bool "OMAP54XX SoC"
+ config RMOBILE
+       bool "Renesas ARM SoCs"
+ config TARGET_CM_FX6
+       bool "Support cm_fx6"
+ config TARGET_SOCFPGA_CYCLONE5
+       bool "Support socfpga_cyclone5"
+ config TARGET_SUN4I
+       bool "Support sun4i"
+ config TARGET_SUN5I
+       bool "Support sun5i"
+ config TARGET_SUN7I
+       bool "Support sun7i"
+ config TARGET_SNOWBALL
+       bool "Support snowball"
+ config TARGET_U8500_HREF
+       bool "Support u8500_href"
+ config TARGET_VF610TWR
+       bool "Support vf610twr"
+ config ZYNQ
+       bool "Xilinx Zynq Platform"
++config TARGET_XILINX_ZYNQMP
++      bool "Support Xilinx ZynqMP Platform"
++      select ARM64
++
+ config TEGRA
+       bool "NVIDIA Tegra"
+       select SPL
+       select OF_CONTROL if !SPL_BUILD
+ config TARGET_VEXPRESS_AEMV8A
+       bool "Support vexpress_aemv8a"
+       select ARM64
+ config TARGET_LS2085A_EMU
+       bool "Support ls2085a_emu"
+       select ARM64
+ config TARGET_LS2085A_SIMU
+       bool "Support ls2085a_simu"
+       select ARM64
+ config TARGET_LS1021AQDS
+       bool "Support ls1021aqds_nor"
+ config TARGET_LS1021ATWR
+       bool "Support ls1021atwr_nor"
+ config TARGET_BALLOON3
+       bool "Support balloon3"
+ config TARGET_H2200
+       bool "Support h2200"
+ config TARGET_PALMLD
+       bool "Support palmld"
+ config TARGET_PALMTC
+       bool "Support palmtc"
+ config TARGET_PALMTREO680
+       bool "Support palmtreo680"
+ config TARGET_PXA255_IDP
+       bool "Support pxa255_idp"
+ config TARGET_TRIZEPSIV
+       bool "Support trizepsiv"
+ config TARGET_VPAC270
+       bool "Support vpac270"
+ config TARGET_XAENIAX
+       bool "Support xaeniax"
+ config TARGET_ZIPITZ2
+       bool "Support zipitz2"
+ config TARGET_LP8X4X
+       bool "Support lp8x4x"
+ config TARGET_COLIBRI_PXA270
+       bool "Support colibri_pxa270"
+ config TARGET_JORNADA
+       bool "Support jornada"
+ config ARCH_UNIPHIER
+       bool "Panasonic UniPhier platform"
+ endchoice
+ source "arch/arm/cpu/armv8/Kconfig"
+ source "arch/arm/cpu/arm926ejs/davinci/Kconfig"
+ source "arch/arm/cpu/armv7/exynos/Kconfig"
+ source "arch/arm/cpu/armv7/highbank/Kconfig"
+ source "arch/arm/cpu/armv7/keystone/Kconfig"
+ source "arch/arm/cpu/arm926ejs/kirkwood/Kconfig"
+ source "arch/arm/cpu/arm926ejs/nomadik/Kconfig"
+ source "arch/arm/cpu/armv7/omap3/Kconfig"
+ source "arch/arm/cpu/armv7/omap4/Kconfig"
+ source "arch/arm/cpu/armv7/omap5/Kconfig"
+ source "arch/arm/cpu/arm926ejs/orion5x/Kconfig"
+ source "arch/arm/cpu/armv7/rmobile/Kconfig"
+ source "arch/arm/cpu/armv7/s5pc1xx/Kconfig"
+ source "arch/arm/cpu/armv7/tegra-common/Kconfig"
+ source "arch/arm/cpu/armv7/uniphier/Kconfig"
+ source "arch/arm/cpu/arm926ejs/versatile/Kconfig"
+ source "arch/arm/cpu/armv7/zynq/Kconfig"
+ source "board/aristainetos/Kconfig"
+ source "board/BuR/kwb/Kconfig"
+ source "board/BuR/tseries/Kconfig"
+ source "board/BuS/eb_cpux9k2/Kconfig"
+ source "board/BuS/vl_ma2sc/Kconfig"
+ source "board/CarMediaLab/flea3/Kconfig"
+ source "board/Marvell/aspenite/Kconfig"
+ source "board/Marvell/dkb/Kconfig"
+ source "board/Marvell/gplugd/Kconfig"
+ source "board/afeb9260/Kconfig"
+ source "board/altera/socfpga/Kconfig"
+ source "board/armadeus/apf27/Kconfig"
+ source "board/armltd/integrator/Kconfig"
+ source "board/armltd/vexpress/Kconfig"
+ source "board/armltd/vexpress64/Kconfig"
+ source "board/atmel/at91rm9200ek/Kconfig"
+ source "board/atmel/at91sam9260ek/Kconfig"
+ source "board/atmel/at91sam9261ek/Kconfig"
+ source "board/atmel/at91sam9263ek/Kconfig"
+ source "board/atmel/at91sam9m10g45ek/Kconfig"
+ source "board/atmel/at91sam9n12ek/Kconfig"
+ source "board/atmel/at91sam9rlek/Kconfig"
+ source "board/atmel/at91sam9x5ek/Kconfig"
+ source "board/atmel/sama5d3_xplained/Kconfig"
+ source "board/atmel/sama5d3xek/Kconfig"
+ source "board/bachmann/ot1200/Kconfig"
+ source "board/balloon3/Kconfig"
+ source "board/barco/titanium/Kconfig"
+ source "board/bluegiga/apx4devkit/Kconfig"
+ source "board/bluewater/snapper9260/Kconfig"
+ source "board/boundary/nitrogen6x/Kconfig"
+ source "board/broadcom/bcm28155_ap/Kconfig"
+ source "board/broadcom/bcm958300k/Kconfig"
+ source "board/broadcom/bcm958622hr/Kconfig"
+ source "board/calao/sbc35_a9g20/Kconfig"
+ source "board/calao/tny_a9260/Kconfig"
+ source "board/calao/usb_a9263/Kconfig"
+ source "board/cirrus/edb93xx/Kconfig"
+ source "board/cm4008/Kconfig"
+ source "board/cm41xx/Kconfig"
+ source "board/compulab/cm_t335/Kconfig"
+ source "board/compulab/cm_fx6/Kconfig"
+ source "board/congatec/cgtqmx6eval/Kconfig"
+ source "board/creative/xfi3/Kconfig"
+ source "board/davedenx/qong/Kconfig"
+ source "board/denx/m28evk/Kconfig"
+ source "board/denx/m53evk/Kconfig"
+ source "board/egnite/ethernut5/Kconfig"
+ source "board/embest/mx6boards/Kconfig"
+ source "board/emk/top9000/Kconfig"
+ source "board/esd/meesc/Kconfig"
+ source "board/esd/otc570/Kconfig"
+ source "board/esg/ima3-mx53/Kconfig"
+ source "board/eukrea/cpu9260/Kconfig"
+ source "board/eukrea/cpuat91/Kconfig"
+ source "board/faraday/a320evb/Kconfig"
+ source "board/freescale/ls2085a/Kconfig"
+ source "board/freescale/ls1021aqds/Kconfig"
+ source "board/freescale/ls1021atwr/Kconfig"
+ source "board/freescale/mx23evk/Kconfig"
+ source "board/freescale/mx25pdk/Kconfig"
+ source "board/freescale/mx28evk/Kconfig"
+ source "board/freescale/mx31ads/Kconfig"
+ source "board/freescale/mx31pdk/Kconfig"
+ source "board/freescale/mx35pdk/Kconfig"
+ source "board/freescale/mx51evk/Kconfig"
+ source "board/freescale/mx53ard/Kconfig"
+ source "board/freescale/mx53evk/Kconfig"
+ source "board/freescale/mx53loco/Kconfig"
+ source "board/freescale/mx53smd/Kconfig"
+ source "board/freescale/mx6qarm2/Kconfig"
+ source "board/freescale/mx6qsabreauto/Kconfig"
+ source "board/freescale/mx6sabresd/Kconfig"
+ source "board/freescale/mx6slevk/Kconfig"
+ source "board/freescale/mx6sxsabresd/Kconfig"
+ source "board/freescale/vf610twr/Kconfig"
+ source "board/gateworks/gw_ventana/Kconfig"
+ source "board/genesi/mx51_efikamx/Kconfig"
+ source "board/gumstix/pepper/Kconfig"
+ source "board/h2200/Kconfig"
+ source "board/hale/tt01/Kconfig"
+ source "board/icpdas/lp8x4x/Kconfig"
+ source "board/imx31_phycore/Kconfig"
+ source "board/isee/igep0033/Kconfig"
+ source "board/jornada/Kconfig"
+ source "board/karo/tx25/Kconfig"
+ source "board/logicpd/imx27lite/Kconfig"
+ source "board/logicpd/imx31_litekit/Kconfig"
+ source "board/mpl/vcma9/Kconfig"
+ source "board/olimex/mx23_olinuxino/Kconfig"
+ source "board/palmld/Kconfig"
+ source "board/palmtc/Kconfig"
+ source "board/palmtreo680/Kconfig"
+ source "board/phytec/pcm051/Kconfig"
+ source "board/ppcag/bg0900/Kconfig"
+ source "board/pxa255_idp/Kconfig"
+ source "board/raspberrypi/rpi_b/Kconfig"
+ source "board/ronetix/pm9261/Kconfig"
+ source "board/ronetix/pm9263/Kconfig"
+ source "board/ronetix/pm9g45/Kconfig"
+ source "board/samsung/smdk2410/Kconfig"
+ source "board/sandisk/sansa_fuze_plus/Kconfig"
+ source "board/scb9328/Kconfig"
+ source "board/schulercontrol/sc_sps_1/Kconfig"
+ source "board/siemens/corvus/Kconfig"
+ source "board/siemens/draco/Kconfig"
+ source "board/siemens/pxm2/Kconfig"
+ source "board/siemens/rut/Kconfig"
+ source "board/siemens/taurus/Kconfig"
+ source "board/silica/pengwyn/Kconfig"
+ source "board/solidrun/hummingboard/Kconfig"
+ source "board/spear/spear300/Kconfig"
+ source "board/spear/spear310/Kconfig"
+ source "board/spear/spear320/Kconfig"
+ source "board/spear/spear600/Kconfig"
+ source "board/spear/x600/Kconfig"
+ source "board/st-ericsson/snowball/Kconfig"
+ source "board/st-ericsson/u8500/Kconfig"
+ source "board/sunxi/Kconfig"
+ source "board/syteco/jadecpu/Kconfig"
+ source "board/syteco/zmx25/Kconfig"
+ source "board/taskit/stamp9g20/Kconfig"
+ source "board/ti/am335x/Kconfig"
+ source "board/ti/am43xx/Kconfig"
+ source "board/ti/ti814x/Kconfig"
+ source "board/ti/ti816x/Kconfig"
+ source "board/ti/tnetv107xevm/Kconfig"
+ source "board/timll/devkit3250/Kconfig"
+ source "board/toradex/colibri_pxa270/Kconfig"
+ source "board/tqc/tqma6/Kconfig"
+ source "board/trizepsiv/Kconfig"
+ source "board/ttcontrol/vision2/Kconfig"
+ source "board/udoo/Kconfig"
+ source "board/vpac270/Kconfig"
+ source "board/wandboard/Kconfig"
+ source "board/woodburn/Kconfig"
+ source "board/xaeniax/Kconfig"
++source "board/xilinx/zynqmp/Kconfig"
+ source "board/zipitz2/Kconfig"
+ endmenu
index f77e4b880e48c4cba5f71d28da434e0f1e42293e,541b4432549bf38b8c99504b6299ee4d87559e98..1c8c4251ee0cedde2a24d459be2109b9a1df749f
@@@ -105,6 -105,99 +105,99 @@@ lr       .req    x3
        cbz     \xreg1, \master_label
  .endm
  
 -      and     \wreg2, \wreg2, #3ff
+ .macro armv8_switch_to_el2_m, xreg1
+       /* 64bit EL2 | HCE | SMD | RES1 (Bits[5:4]) | Non-secure EL0/EL1 */
+       mov     \xreg1, #0x5b1
+       msr     scr_el3, \xreg1
+       msr     cptr_el3, xzr           /* Disable coprocessor traps to EL3 */
+       mov     \xreg1, #0x33ff
+       msr     cptr_el2, \xreg1        /* Disable coprocessor traps to EL2 */
+       /* Initialize SCTLR_EL2
+        *
+        * setting RES1 bits (29,28,23,22,18,16,11,5,4) to 1
+        * and RES0 bits (31,30,27,26,24,21,20,17,15-13,10-6) +
+        * EE,WXN,I,SA,C,A,M to 0
+        */
+       mov     \xreg1, #0x0830
+       movk    \xreg1, #0x30C5, lsl #16
+       msr     sctlr_el2, \xreg1
+       /* Return to the EL2_SP2 mode from EL3 */
+       mov     \xreg1, sp
+       msr     sp_el2, \xreg1          /* Migrate SP */
+       mrs     \xreg1, vbar_el3
+       msr     vbar_el2, \xreg1        /* Migrate VBAR */
+       mov     \xreg1, #0x3c9
+       msr     spsr_el3, \xreg1        /* EL2_SP2 | D | A | I | F */
+       msr     elr_el3, lr
+       eret
+ .endm
+ .macro armv8_switch_to_el1_m, xreg1, xreg2
+       /* Initialize Generic Timers */
+       mrs     \xreg1, cnthctl_el2
+       orr     \xreg1, \xreg1, #0x3    /* Enable EL1 access to timers */
+       msr     cnthctl_el2, \xreg1
+       msr     cntvoff_el2, xzr
+       /* Initilize MPID/MPIDR registers */
+       mrs     \xreg1, midr_el1
+       mrs     \xreg2, mpidr_el1
+       msr     vpidr_el2, \xreg1
+       msr     vmpidr_el2, \xreg2
+       /* Disable coprocessor traps */
+       mov     \xreg1, #0x33ff
+       msr     cptr_el2, \xreg1        /* Disable coprocessor traps to EL2 */
+       msr     hstr_el2, xzr           /* Disable coprocessor traps to EL2 */
+       mov     \xreg1, #3 << 20
+       msr     cpacr_el1, \xreg1       /* Enable FP/SIMD at EL1 */
+       /* Initialize HCR_EL2 */
+       mov     \xreg1, #(1 << 31)              /* 64bit EL1 */
+       orr     \xreg1, \xreg1, #(1 << 29)      /* Disable HVC */
+       msr     hcr_el2, \xreg1
+       /* SCTLR_EL1 initialization
+        *
+        * setting RES1 bits (29,28,23,22,20,11) to 1
+        * and RES0 bits (31,30,27,21,17,13,10,6) +
+        * UCI,EE,EOE,WXN,nTWE,nTWI,UCT,DZE,I,UMA,SED,ITD,
+        * CP15BEN,SA0,SA,C,A,M to 0
+        */
+       mov     \xreg1, #0x0800
+       movk    \xreg1, #0x30d0, lsl #16
+       msr     sctlr_el1, \xreg1
+       /* Return to the EL1_SP1 mode from EL2 */
+       mov     \xreg1, sp
+       msr     sp_el1, \xreg1          /* Migrate SP */
+       mrs     \xreg1, vbar_el2
+       msr     vbar_el1, \xreg1        /* Migrate VBAR */
+       mov     \xreg1, #0x3c5
+       msr     spsr_el2, \xreg1        /* EL1_SP1 | D | A | I | F */
+       msr     elr_el2, lr
+       eret
+ .endm
+ #if defined(CONFIG_GICV3)
+ .macro gic_wait_for_interrupt_m xreg1
+ 0 :   wfi
+       mrs     \xreg1, ICC_IAR1_EL1
+       msr     ICC_EOIR1_EL1, \xreg1
+       cbnz    \xreg1, 0b
+ .endm
+ #elif defined(CONFIG_GICV2)
+ .macro gic_wait_for_interrupt_m xreg1, wreg2
+ 0 :   wfi
+       ldr     \wreg2, [\xreg1, GICC_AIAR]
+       str     \wreg2, [\xreg1, GICC_AEOIR]
++      and     \wreg2, \wreg2, #0x3ff
+       cbnz    \wreg2, 0b
+ .endm
+ #endif
  #endif /* CONFIG_ARM64 */
  
  #endif /* __ASSEMBLY__ */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b07932e80583e28b2c35e3f078eedbc15b92d8c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++if TARGET_XILINX_ZYNQMP
++
++config SYS_BOARD
++      default "zynqmp"
++
++config SYS_VENDOR
++      default "xilinx"
++
++config SYS_SOC
++      default "zynqmp"
++
++config SYS_CONFIG_NAME
++      default "xilinx_zynqmp"
++
++endif
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..da33340459443d8041bedd03484168472ead4f4e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++XILINX_ZYNQMP BOARD
++M:    Michal Simek <michal.simek@xilinx.com>
++S:    Maintained
++F:    board/xilinx/zynqmp/
++F:    include/configs/xilinx_zynqmp.h
++F:    configs/xilinx_zynqmp_defconfig
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1e176634a3eb5f35c8719e84b707ae0d89779b54
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++CONFIG_ARM=y
++CONFIG_TARGET_XILINX_ZYNQMP=y
++CONFIG_DEFAULT_DEVICE_TREE="zynqmp"
Simple merge
Simple merge
Simple merge
index d1521bd71d27640aedd4a617162791e44af24f3a,0000000000000000000000000000000000000000..086d6a90293767d1d3afddff540be4a3e2b13876
mode 100644,000000..100644
--- /dev/null
@@@ -1,196 -1,0 +1,194 @@@
- #define CONFIG_DEFAULT_DEVICE_TREE    zynqmp
 +/*
 + * Configuration for Xilinx ZynqMP
 + * (C) Copyright 2014 Xilinx, Inc.
 + * Michal Simek <michal.simek@xilinx.com>
 + *
 + * Based on Configuration for Versatile Express
 + *
 + * SPDX-License-Identifier:   GPL-2.0+
 + */
 +
 +#ifndef __XILINX_ZYNQMP_H
 +#define __XILINX_ZYNQMP_H
 +
 +#define CONFIG_REMAKE_ELF
 +
 +/* #define CONFIG_ARMV8_SWITCH_TO_EL1 */
 +
 +#define CONFIG_SYS_NO_FLASH
 +
 +#define CONFIG_SYS_GENERIC_BOARD
 +
 +#define XILINX_ZYNQMP
 +
 +/* Generic Interrupt Controller Definitions */
 +#define CONFIG_GICV2
 +#define GICD_BASE     0xF9001000
 +#define GICC_BASE     0xF9002000
 +
 +/* Physical Memory Map */
 +#define CONFIG_NR_DRAM_BANKS          1
 +#define CONFIG_SYS_SDRAM_BASE         0
 +#define CONFIG_SYS_SDRAM_SIZE         0x40000000
 +
 +#define CONFIG_SYS_MEMTEST_START      0x10000000
 +#define CONFIG_SYS_MEMTEST_END                0x40000000
 +
 +/* Have release address at the end of 256MB for now */
 +#define CPU_RELEASE_ADDR      0xFFFFFF0
 +
 +/* Cache Definitions */
 +#define CONFIG_SYS_DCACHE_OFF
 +
 +#define CONFIG_IDENT_STRING           " Xilinx ZynqMP"
 +#define CONFIG_BOOTP_VCI_STRING               "U-boot.armv8.Xilinx_ZynqMP"
 +
 +/* Text base on 16MB for now - 0 doesn't work */
 +#define CONFIG_SYS_TEXT_BASE          0x8000000
 +#define CONFIG_SYS_INIT_SP_ADDR               (CONFIG_SYS_SDRAM_BASE + 0x7fff0)
 +
 +/* Flat Device Tree Definitions */
 +#define CONFIG_OF_LIBFDT
 +
 +/* Generic Timer Definitions - setup in EL3. Setup by ATF for other cases */
 +#define COUNTER_FREQUENCY             4000000
 +
 +/* Size of malloc() pool */
 +#define CONFIG_SYS_MALLOC_LEN         (CONFIG_ENV_SIZE + 0x400000)
 +
 +/* Serial setup */
 +#define CONFIG_ZYNQ_SERIAL_UART0
 +#define CONFIG_ZYNQ_SERIAL
 +
 +#define CONFIG_ZYNQ_QSPI
 +#define CONFIG_ZYNQ_SDHCI0
 +
 +#define CONFIG_CONS_INDEX             0
 +#define CONFIG_BAUDRATE                       115200
 +#define CONFIG_SYS_BAUDRATE_TABLE     { 9600, 19200, 38400, 57600, 115200 }
 +
 +/* Command line configuration */
 +#define CONFIG_CMD_BDI
 +#define CONFIG_CMD_BOOTD
 +#define CONFIG_CMD_CACHE
 +#define CONFIG_CMD_ECHO
 +#define CONFIG_CMD_ENV
 +#define CONFIG_CMD_EXT2
 +#define CONFIG_CMD_EXT4
 +#define CONFIG_CMD_FAT
 +#define CONFIG_CMD_FLASH
 +#define CONFIG_CMD_IMI
 +#define CONFIG_CMD_MEMORY
 +#define CONFIG_CMD_MISC
 +#define CONFIG_CMD_RUN
 +#define CONFIG_CMD_SAVEENV
 +#define CONFIG_CMD_SOURCE
 +#define CONFIG_DOS_PARTITION
 +
 +#define CONFIG_CMD_NET
 +#define CONFIG_CMD_PING
 +#define CONFIG_CMD_DHCP
 +#define CONFIG_CMD_MII
 +#define CONFIG_CMD_TFTPPUT
 +
 +/* BOOTP options */
 +#define CONFIG_BOOTP_BOOTFILESIZE
 +#define CONFIG_BOOTP_BOOTPATH
 +#define CONFIG_BOOTP_GATEWAY
 +#define CONFIG_BOOTP_HOSTNAME
 +#define CONFIG_BOOTP_MAY_FAIL
 +#define CONFIG_BOOTP_SERVERIP
 +
 +
 +#ifdef CONFIG_ZYNQ_QSPI
 +# define CONFIG_SF_DEFAULT_SPEED        30000000
 +# define CONFIG_SPI_FLASH
 +# define CONFIG_SPI_FLASH_BAR
 +# define CONFIG_SF_DUAL_FLASH
 +# define CONFIG_SPI_FLASH_SPANSION
 +# define CONFIG_SPI_FLASH_STMICRO
 +# define CONFIG_SPI_FLASH_WINBOND
 +# define CONFIG_CMD_SPI
 +# define CONFIG_CMD_SF
 +#endif
 +
 +#if defined(CONFIG_ZYNQ_SDHCI0) || defined(CONFIG_ZYNQ_SDHCI1)
 +# define CONFIG_MMC
 +# define CONFIG_GENERIC_MMC
 +# define CONFIG_SDHCI
 +# define CONFIG_ZYNQ_SDHCI
 +# define CONFIG_CMD_MMC
 +#endif
 +
 +#if defined (CONFIG_ZYNQ_SDHCI) || defined(CONFIG_ZYNQ_USB)
 +# define CONFIG_FAT_WRITE
 +# define CONFIG_CMD_EXT4_WRITE
 +#endif
 +
 +/* Miscellaneous configurable options */
 +#define CONFIG_SYS_LOAD_ADDR          0x8000000
 +
 +/* Initial environment variables */
 +#define CONFIG_EXTRA_ENV_SETTINGS       \
 +      "ethaddr=00:0a:35:00:01:22\0"   \
 +      "kernel_addr=0x200000\0"        \
 +      "initrd_addr=0xa00000\0"        \
 +      "initrd_size=0x2000000\0"       \
 +      "fdt_addr=0x100000\0"           \
 +      "fdt_high=0x10000000\0"         \
 +      "netboot=tftpboot 80000 Image && tftpboot f000000 system.dtb && booti 80000 - f000000\0"        \
 +      "qspiboot=sf probe 0 && sf read f000000 100000 40000 && "       \
 +                "sf read 80000 140000 1800000 && booti 80000 - f000000\0"     \
 +      "sdboot=mmcinfo && fatload mmc 0:0 f000000 system.dtb && "      \
 +              "fatload mmc 0:0 f000000 Image && booti 80000 - f000000\0"      \
 +      "jtagboot=tftpboot 10000000 image.ub && bootm\0"
 +
 +#define CONFIG_BOOTARGS               "console=ttyPS0,115200 earlycon=cdns,mmio,0xff000000,115200n8"
 +#define CONFIG_BOOTCOMMAND    "echo Hello Xilinx ZynqMP; run $modeboot"
 +#define CONFIG_BOOTDELAY      5
 +
 +#define CONFIG_BOARD_LATE_INIT
 +
 +/* Do not preserve environment */
 +#define CONFIG_ENV_IS_NOWHERE         1
 +#define CONFIG_ENV_SIZE                       0x1000
 +
 +/* Monitor Command Prompt */
 +/* Console I/O Buffer Size */
 +#define CONFIG_SYS_CBSIZE             512
 +#define CONFIG_SYS_PROMPT             "ZynqMP> "
 +#define CONFIG_SYS_PBSIZE             (CONFIG_SYS_CBSIZE + \
 +                                      sizeof(CONFIG_SYS_PROMPT) + 16)
 +#define CONFIG_SYS_HUSH_PARSER
 +#define CONFIG_SYS_BARGSIZE           CONFIG_SYS_CBSIZE
 +#define CONFIG_SYS_LONGHELP
 +#define CONFIG_CMDLINE_EDITING
 +/* max command args */
 +#define CONFIG_SYS_MAXARGS            64
 +
 +#define CONFIG_ZYNQ_GEM0
 +#define CONFIG_ZYNQ_GEM_PHY_ADDR0     7
 +
 +/* Ethernet driver */
 +#if defined(CONFIG_ZYNQ_GEM0) || defined(CONFIG_ZYNQ_GEM1) || \
 +      defined(CONFIG_ZYNQ_GEM2) || defined(CONFIG_ZYNQ_GEM3)
 +# define CONFIG_NET_MULTI
 +# define CONFIG_ZYNQ_GEM
 +# define CONFIG_MII
 +# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 +# define CONFIG_PHYLIB
 +# define CONFIG_PHY_MARVELL
 +#endif
 +
 +#define CONFIG_FIT
 +#define CONFIG_FIT_VERBOSE       /* enable fit_format_{error,warning}() */
 +
 +#define CONFIG_SYS_BOOTM_LEN  (60 * 1024 * 1024)
 +
 +#define CONFIG_CMD_BOOTI
 +#define CONFIG_CMD_UNZIP
 +
 +#define CONFIG_BOARD_EARLY_INIT_R
 +#define CONFIG_CLOCKS
 +
 +#endif /* __XILINX_ZYNQMP_H */
diff --cc include/net.h
Simple merge
Simple merge
Simple merge
diff --cc net/bootp.h
Simple merge