summaryrefslogtreecommitdiffstats
path: root/board/xilinx
Commit message (Collapse)AuthorAgeFilesLines
* arm: zynq: Update years in copyright to reflect latest changesMichal Simek2018-01-301-0/+1
| | | | | | Updating year in zynq files. Also add missing Copyright to board.c. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Add psu_init for zcu102-rev1.0Michal Simek2018-01-301-0/+975
| | | | | | Add low level initialization for zcu102-rev1.0. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Prepare psu_init reworkMichal Simek2018-01-301-0/+1
| | | | | | | | | Move generic functions to common location psu_spl_init.c. Function declarations are added to private header. These changes are done in connection to the fact that still files from HDF can be copied over and compilation should pass. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Call psu_init() only when ZYNQMP_PSU_INIT_ENABLEDMichal Simek2018-01-301-1/+1
| | | | | | | Remove SPL_BUILD dependency from zynqmp.c and move it to header file. Use only one symbol for including psu_init. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Remove unused empty functionsMichal Simek2018-01-301-12/+0
| | | | | | Remove functions which are no longer renerated by PCW. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Propagate error value from psu_init()Michal Simek2018-01-301-2/+3
| | | | | | | | psu_init() returns int which wasn't declared and checked. The patch is fixing function declarations and code to handle return values properly. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* xilinx: zynqmp: Use strlen only if env_get doesn't return nullSiva Durga Prasad Paladugu2018-01-301-3/+10
| | | | | | | | | | | | | | Add check if boot_targets exists in environment and then generate new_targets env accordingly. Performing strlen on null address causes it to fail with exception if isolation is enabled with DDR address zero as secure. It works with out isolation enabled as zero is valid address but it may lead to junk values in boot_targets. This patch fixes the issue by checking return value of env_get so that it generate boot_targets properly. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add support for zc770-xm011-x16 configurationMichal Simek2018-01-301-0/+782
| | | | | | | | zc770-xm011 is x8 width configuration. This FMC card has also x16 variant which requires different ps7_init configuration. This patch adds it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add zc770-xm013 spl configurationMichal Simek2018-01-301-0/+767
| | | | | | Simplify ps7_init* initialization. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add zc770-xm012 spl configurationMichal Simek2018-01-301-0/+818
| | | | | | Simplify ps7_init* initialization. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add zc770-xm011 spl configurationMichal Simek2018-01-301-0/+776
| | | | | | Simplify ps7_init* initialization. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add zc770-xm010 spl configurationMichal Simek2018-01-301-0/+800
| | | | | | Simplify ps7_init* initialization. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Access timestamp_ref_ctrl register only if running in el3Siva Durga Prasad Paladugu2017-12-181-1/+4
| | | | | | | | | | Access the timestamp ref ctrl register only if runinng at el3 level otherwise just return. This change fixes the issue when CRL APB is marked as secure and accessing when not in el3 causes exception. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Add support for zynqmp automotive siliconsMichal Simek2017-12-141-2/+2
| | | | | | | | | | | | | | Remove silicon prefix. Automotive grade devices are using xazu instead of xczu prefix. The patch "fpga: xilinx: Check for substring in device ID validation" (sha1: f72132673a01216e760864e442f168977cce2bd2) enables this functionality for zynq devices that only substrings are checked. Unfortunately there is no way how to detect device grade that's why this change is reasonable. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Setup modeboot variable based on bootmodeMichal Simek2017-12-141-0/+8
| | | | | | | | Setup bootmode variable based on bootmode selection. This is helping with setting up boot method. Also setup sdbootdevice. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Read boot mode register using zynqmp_mmio_readSiva Durga Prasad Paladugu2017-12-141-1/+5
| | | | | | | | Dont read boot mode register directly read it using zynqmp_mmio_read(). Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add ps7_init for cc108Michal Simek2017-11-291-0/+815
| | | | | | | After some generic cleanup adding ps7_init* to repository is not big pain now. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Show information about silicon versionMichal Simek2017-11-291-0/+9
| | | | | | Show information about silicon in bootlog. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Convert all board to use arch ps7_init codeMichal Simek2017-11-2910-1430/+5
| | | | | | | Use generic implementation. It will also reduce config data size for converted boards. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Remove ps7_debug codeMichal Simek2017-11-2910-567/+0
| | | | | | | SPL is not calling this code that's why it is dead code and can be removed. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Add new ID for RFSoCMichal Simek2017-11-281-0/+24
| | | | | | This ID is available on zc1254. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Add support for CG/EG/EV device detectionMichal Simek2017-11-281-2/+66
| | | | | | | | | Version string has unused fields 31:20 which can be used for exporting 9 bits from efuse IPDISABLE regs to recognize eg/cg/ev devices. These efuse bits are setup for certain devices. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Use u32 type instead of uint32_tMichal Simek2017-11-281-2/+2
| | | | | | Warning is reported by checkpatch. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm: zynq: Add mini u-boot configuration for zynqMichal Simek2017-11-281-0/+1
| | | | | | | | | | | | | Add configuration files/dtses for mini u-boot configurations which runs out of OCM. ram top is calculated from 0 that's why +#define CONFIG_SYS_SDRAM_BASE 0xfffc0000 +#define CONFIG_SYS_SDRAM_SIZE 0x40000 was hardcoded. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* arm: zynq: Return value from fdtdec_setup_memory_banksize directlyMichal Simek2017-11-282-6/+2
| | | | | | There is no reason not to return return value from above function. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* env: Rename getenv/_f() to env_get()Simon Glass2017-08-161-2/+2
| | | | | | | | | | | We are now using an env_ prefix for environment functions. Rename these two functions for consistency. Also add function comments in common.h. Quite a few places use getenv() in a condition context, provoking a warning from checkpatch. These are fixed up in this patch also. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
* env: Rename setenv() to env_set()Simon Glass2017-08-162-7/+7
| | | | | | | | We are now using an env_ prefix for environment functions. Rename setenv() for consistency. Also add function comments in common.h. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
* arm64: zynqmp: avoid out of buffer accessHeinrich Schuchardt2017-08-021-2/+2
| | | | | | | | | | | | | | strncat(a, b, c) appends a maximum of c characters plus the 0 byte to a. In board_init we first write 4 characters plus 0 byte to version. So only ZYNQMP_VERSION_SIZE - 5 additional characters fit into version. The problem was indicated by cppcheck. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Make chip_id routine to handle based on el.Siva Durga Prasad Paladugu2017-08-021-27/+48
| | | | | | | | | Modify chip_id() routine such that to handle based on the current el. Also make it available even if FPGA is not enabled in system such it can be used always. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Make chip_id a global routine()Siva Durga Prasad Paladugu2017-08-021-1/+1
| | | | | | | | This patch makes chip_id() as a global routine so that it can be used in other places as required. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Modify chip_id routine to get either idcode or versionSiva Durga Prasad Paladugu2017-08-021-7/+20
| | | | | | | | This patch modifies the chip_id routine to get either idcode or silicon version based on the argument received. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Dont write to system timestamp generatorSiva Durga Prasad Paladugu2017-08-021-6/+0
| | | | | | | | | Remove incorrect code of writing to system timestamp counter registers. This register writes does nothing and can be removed. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Do not setup time if already setupMichal Simek2017-08-021-1/+4
| | | | | | | Newer psu_init_gpl.c/h contain clock setup. Detect if reference clock is active. If yes, skip timer setup. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Add Kconfig option for adding psu_init to binaryMichal Simek2017-08-022-2/+6
| | | | | | | There is a need to include psu_init also in mini u-boot configuration that's why handle psu_init via Kconfig property. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Call psu_init from board_early_init_fMichal Simek2017-08-021-0/+5
| | | | | | | For some mini platforms there could be a need to include psu_init. That's why move it to board file instead of spl only file. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* powerpc: remove 4xx supportHeiko Schocher2017-07-0311-254/+0
| | | | | | | | | There was for long time no activity in the 4xx area. We need to go further and convert to Kconfig, but it turned out, nobody is interested anymore in 4xx, so remove it. Signed-off-by: Heiko Schocher <hs@denx.de>
* arm64: zynqmp: Check pmufw versionMichal Simek2017-06-201-0/+8
| | | | | | | | | | If PMUFW version is not v0.3 then panic. ZynqMP switch to CCF based clock driver which requires PMUFW to be present at certain version. This patch ensure that you use correct and tested PMUFW binary. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Add empty sleep.h file for psu_init* compilationMichal Simek2017-06-201-0/+1
| | | | | | | | psu_init* contain sleep.h header which is not present in u-boot. Instead of keep comment sleep.h in psu_init* it is easier to add empty file which is included. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Fix psu_init* external functionsMichal Simek2017-06-191-3/+0
| | | | | | | In older vivado version some psu_init* files didn't contain mask*() which were missing. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* board_f: Rename initdram() to dram_init()Simon Glass2017-04-132-2/+2
| | | | | | | | | This allows us to use the same DRAM init function on all archs. Add a dummy function for arc, which does not use DRAM init here. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Dummy function on nios2] Signed-off-by: Tom Rini <trini@konsulko.com>
* board_f: Drop setup_dram_config() wrapperSimon Glass2017-04-053-3/+9
| | | | | | | | By making dram_init_banksize() return an error code we can drop the wrapper. Adjust this and clean up all implementations. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
* board_f: Drop return value from initdram()Simon Glass2017-04-052-4/+12
| | | | | | | | | At present we cannot use this function as an init sequence call without a wrapper, since it returns the RAM size. Adjust it to set the RAM size in global_data instead, and return 0 on success. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
* board_f: Drop board_type parameter from initdram()Simon Glass2017-04-052-2/+2
| | | | | | | | | It looks like only cm5200 and tqm8xx use this feature, so we don't really need it in generic code. Drop it and have the users access gd->board_type directly. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
* ARM: zynq: Setup modeboot variable based on boot modeMichal Simek2017-01-101-0/+6
| | | | | | | modeboot variable is used for saving inforation which bootmode is used. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* microblaze: Make the board configuration name user definableSai Pavan Boddu2017-01-101-0/+5
| | | | | | | Add a prompt for editing in menuconfig Signed-off-by: Sai Pavan Boddu <saipava@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* ARM64: zynqmp: Replace board specific with generic memory bank decodingNathan Rossi2016-12-201-109/+3
| | | | | | | | | | | | | | | | The dram_init and dram_init_banksize functions were using a board specific implementation for decoding the memory banks from the fdt. This board specific implementation uses a static variable 'tmp' which makes these functions unsafe for execution from within the board_init_f context. This change makes the dram_init* functions use a generic implementation of decoding and populating memory bank and size data. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Fixes: 8d59d7f63b ("ARM64: zynqmp: Read RAM information from DT") Cc: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* ARM: zynq: Replace board specific with generic memory bank decodingNathan Rossi2016-12-201-109/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dram_init and dram_init_banksize functions were using a board specific implementation for decoding the memory banks from the fdt. This board specific implementation uses a static variable 'tmp' which makes these functions unsafe for execution from within the board_init_f context. This unsafe use of a static variable was causing a specific bug when using the zynq_zybo configuration, U-Boot would generate the following error during image load. This was caused due to dram_init overwriting the relocations for the 'image' variable within the do_bootm function. Out of coincidence the un-initialized memory has a compression type which is the same as the value for the relocation type R_ARM_RELATIVE. Uncompressing Invalid Image ... Unimplemented compression type 23 It should be noted that this is just one way the issue could surface, other cases my not be observed in normal boot flow. Depending on the size of various sections, and location of relocations within __rel_dyn and the compiler/linker the outcome of this bug can differ greatly. This change makes the dram_init* functions use a generic implementation of decoding and populating memory bank and size data. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Fixes: 758f29d0f8 ("ARM: zynq: Support systems with more memory banks") Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* block: Move ceva driver to DMMichal Simek2016-12-201-11/+0
| | | | | | | | | This patch also includes ARM64 zynqmp changes: - Remove platform non DM initialization - Remove hardcoded sata base address Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Revert "Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze"Tom Rini2016-12-094-54066/+216
| | | | | This reverts commit 3edc0c252257e4afed163a3a74aba24a5509b198, reversing changes made to bb135a0180c31fbd7456021fb9700b49bba7f533.
* ARM64: zynqmp: Add updated psu_init_gpl* filesMichal Simek2016-12-082-0/+53957
| | | | | | With origin files there was an issue with serdes setting for SCSI. Signed-off-by: Michal Simek <michal.simek@xilinx.com>