08 Apr, 2019
1 commit
-
This patch moves all instances of static "watchdog_dev" declarations to
the "data" section. This may be needed, as the BSS may not be cleared
in the early U-Boot phase, where watchdog_reset() is already beeing
called. This may result in incorrect pointer access, as the check to
"!watchdog_dev" in watchdog_reset() may not be true and the function
may continue to run.Signed-off-by: Stefan Roese
Cc: Heiko Schocher
Cc: Tom Rini
Cc: Michal Simek
Cc: "Marek Behún"
Cc: Daniel Schwierzeck
Tested-by: Michal Simek (on zcu100)
Reviewed-by: Michal Simek
15 Feb, 2019
1 commit
-
distro boot expects that fdtfile name is setup for alternative DTB.
Create this file based on the first platform compatible string.
This should ensure that one rootfs can store multiple DTBs for different
boards.
Reflect structure which is used in Linux kernel. It means dtbs are
strored in xilinx folder.Signed-off-by: Michal Simek
Reviewed-by: Alexander Graf
14 Feb, 2019
6 commits
-
All platforms are converted to DM_I2C that's why there is no reason to
keep this code here.Signed-off-by: Michal Simek
Reviewed-by: Heiko Schocher -
Move hardcoded IOU_SWITCH_DIVISOR0 to Kconfig to be able to set it up
for different platforms.Signed-off-by: Michal Simek
-
Simplify code indentation.
Signed-off-by: Michal Simek
-
Update boot_targets based on bootmode to run corresponding
distroboot command first.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
It is much easier to point to eeprom which stores information like MAC
address directly via DT. eeprom which contains this information is
pointed by /chosen/xlnx,eeprom parameter.For example:
chosen {
bootargs = "earlycon";
stdout-path = "serial0:115200n8";
+ xlnx,eeprom = &eeprom;
};Signed-off-by: Michal Simek
-
Zynq and ZynqMP are sharing similar code and there is no reason to do
code duplication. Move zynq_board_read_rom_ethaddr() to common file for
easier conversion to DM.
Use ZynqMP version that's why also add CONFIG_ZYNQ_EEPROM_BUS to Syzygy
which is only one Zynq board which is using this feature.Signed-off-by: Michal Simek
24 Jan, 2019
3 commits
-
Trivial patch.
Signed-off-by: Michal Simek
-
This patches renames sd nodes in dts to be in line with
kernel. This patch also modifies the references for the same
in code.
It checks mmc first to have no time penalty for new DT node names based
on left-to-right expression evaluation.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
Function should be compiled only when CONFIG_BOARD_LATE_INIT is defined.
Signed-off-by: Michal Simek
30 Nov, 2018
4 commits
-
For testing purpose use zcu102 which has SD at controller 1 and this can
be used for testing this mini configuration.U-Boot 2018.11-00279-gdc482e7ee092 (Nov 30 2018 - 10:22:56 +0100)
Model: ZynqMP MINI EMMC1
Board: Xilinx ZynqMP
DRAM: 512 MiB
EL Level: EL3
MMC: sdhci@ff170000: 0
In: dcc
Out: dcc
Err: dcc
ZynqMP>Signed-off-by: Michal Simek
-
For testing purpose use zcu100 which has SD at controller 0 and this can
be used for testing this mini configuration.U-Boot 2018.11-00281-gc5d48466e76e (Nov 30 2018 - 10:41:05 +0100)
Model: ZynqMP MINI EMMC0
Board: Xilinx ZynqMP
DRAM: 512 MiB
EL Level: EL3
MMC: sdhci@ff160000: 0
In: dcc
Out: dcc
Err: dcc
ZynqMP>Signed-off-by: Michal Simek
-
If only usb ethernet gadget is enabled it can start automatically.
If more gagdets are enabled usb ethernet gadget can be bind by
"bind /amba/usb1@ff9e0000/dwc3@fe300000 usb_ether" (on zcu100)Signed-off-by: Michal Simek
-
This configuration is useful when you want to run small u-boot and
perform DDR memory test to make sure that DDR is properly configured.
It is use for board bringup because alternative u-boot memory tests is
quite good.
Configuration is running out of OCM.As is done for others mini configurations 0x80 bytes for variables is
enough and only default variables are stored there.Alternative memtest is enabled and also 2GB of DDR via DTS files.
Configuration is enabling ZYNQMP_PSU_INIT_ENABLED and include psu_init()
from zcu102 for testing purpose.
In case of size issue this can be moved to SPL configuration as is done
for mini_qspi configuration but it is not a problem now.Log:
U-Boot 2018.11-00268-gbd58b8ba8915 (Nov 29 2018 - 15:33:35 +0100)Model: ZynqMP MINI
Board: Xilinx ZynqMP
DRAM: WARNING: Initializing TCM overwrites TCM content
2 GiB
EL Level: EL3
In: dcc
Out: dcc
Err: dcc
ZynqMP>Signed-off-by: Michal Simek
29 Nov, 2018
2 commits
-
Wire up mini_qspi SPL with zcu102 for testing purpose.
Normally mini u-boot runs with FSBL/SPL for certain board.
Enabling SPL and configuration from zcu102 helps with testing.Signed-off-by: Michal Simek
-
These symlinks are here only for testing purpose where SPL is used
for soc configuration.Signed-off-by: Michal Simek
26 Nov, 2018
3 commits
-
The standard function is less error prone than custom one.
Signed-off-by: Michal Simek
-
If SYS_LONGHELP is disabled the following warning is generated:
board/xilinx/zynq/cmds.c:496:13: warning: ‘zynq_help_text’ defined but
not used [-Wunused-variable]Normal way for fixing this is to guard the whole variable.
Signed-off-by: Michal Simek
-
The VCU disable bit(8) in IP disable register of efuse
is valid only if PL powered up and hence PL powerup status
has to be considered while determining the CG part also.
This patch considers the PL powerup status and ignores the VCU
disable bit if PL not powered up.
This fixes the issue of "unknown" id for CG parts if PL not powered up
and VCU bit(8) is not set.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek
16 Oct, 2018
3 commits
-
This patch adds new zynqmp command "zynqmp tcminit mode" to
initialize TCM. TCM needs to be initialized before accessing
to avoid ECC errors. This new command helps to perform
the same. It also makes tcm_init() as global and uses it for
doing the TCM initialization.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
Xilinx is introducing Versal, an adaptive compute acceleration platform
(ACAP), built on 7nm FinFET process technology. Versal ACAPs combine
Scalar Processing Engines, Adaptable Hardware Engines, and Intelligent
Engines with leading-edge memory and interfacing technologies to deliver
powerful heterogeneous acceleration for any application. The Versal AI
Core series has five devices, offering 128 to 400 AI Engines. The series
includes dual-core Arm Cortex™-A72 application processors, dual-core Arm
Cortex-R5 real-time processors, 256KB of on-chip memory with ECC, more
than 1,900 DSP engines optimized for high-precision floating point with
low latency.The patch is adding necessary infrastructure in place without enabling
platform which is done in separate patch.Signed-off-by: Michal Simek
-
Xilinx DLC20 has I2C0 with EEPROM(1KB), UART1, GPIO, SD0 (EMMC 4GB),
USB0 device, ENET0, QSPI (16MB) and DDR(two of 256MB each).Boards have mix of Winbond/ST QSPIs.
Signed-off-by: Michal Simek
26 Sep, 2018
1 commit
-
Modify the zynqmp_pmufw_version() routine to return PMUFW version so
that it can be reused wherever required. Get PMUFW version from PMU
only once at bootup and later just return stored value.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek
07 Aug, 2018
1 commit
-
Signed-off-by: Tom Rini
06 Aug, 2018
3 commits
-
Avnet Ultra96 is rebranded Xilinx zcu100 revC/D. Add new defconfig files
and point to origin internal board name.Signed-off-by: Michal Simek
-
The board is manufactured by Digilent
Main features:
- Soc: XC7Z010 (Z7-10) or XC7Z020 (Z7-20)
- RAM: 1 GB DDR3L
- FLASH: 16 MB QSPI
- 1 Gbps Ethernet
- USB 2.0
- microSD slot
- Pcam camera connector
- HDMI Tx and Rx
- Audio codec: stereo out, stereo in, mic
- 5 (Z7-10) or 6 (Z7-20) Pmod ports
- 6 push-buttons, 4 switches, 5 LEDs
- 1 (Z7-10) or 2 (Z7-20) RGB LEDsSigned-off-by: Luis Araneda
Signed-off-by: Michal Simek -
This issue is reported by kconfiglib:
warning: style: quotes recommended around default value for string
symbol XILINX_MICROBLAZE0_HW_VER (defined at
board/xilinx/microblaze-generic/Kconfig:37)Signed-off-by: Michal Simek
19 Jul, 2018
12 commits
-
This patch renames the routine fdtdec_setup_memory_size()
to fdtdec_setup_mem_size_base() as it now fills the
mem base as well along with size.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek
Reviewed-by: Tom Rini -
This patch added support of mmio read and write commands. These commands
can be used to read and write registers from the u-boot command line.
It can be useful in debugging.Signed-off-by: Vipul Kumar
Signed-off-by: Michal Simek -
Converting GPIO to DM requires to do changes in reset subsystem
that's why support for Microblaze soft reset via sysreset and GPIO
sysreset support was added.
These two patches enables enabling GPIO DM.
Microblaze soft reset is bind at last reset method.GPIO reset is handled via sysreset with adding this fragment to DT.
gpio-restart {
compatible = "gpio-restart";
gpios = ;
/* 3rd cell ACTIVE_HIGH = 0, ACTIVE_LOW = 1 */
};hard-reset-gpio property is not documented and also handled.
Conversion is required.Unfortunately do_reset is required for SPL that's why use only soft
microblaze reset for now.Signed-off-by: Michal Simek
-
We should support watchdog reset so that WATCHDOG_RESET will function
properly.Signed-off-by: Shreenidhi Shedi
Signed-off-by: Michal Simek -
These macros are not required anymore. These will be taken from
configuration file.Signed-off-by: Shreenidhi Shedi
Signed-off-by: Michal Simek -
Signed-off-by: Shreenidhi Shedi
Signed-off-by: Michal Simek -
This patch changed zynqmp command to handle subcommands with
U_BOOT_CMD_MKENT.Signed-off-by: Vipul Kumar
Signed-off-by: Michal Simek -
The same change as was done for zynqmp with this description:
Add support for enabling the first watchdog pointed via aliases.
DT fragment:
aliases {
...
watchdog0= &watchdog0;
watchdog1 = &watchdog_lpd;
...
};Till this patch the first watchdog found in DT was used and started
which is not enabling all possible configuration based on user request.Signed-off-by: Michal Simek
-
Add support for enabling the first watchdog pointed via aliases.
DT fragment:
aliases {
...
watchdog0 = &watchdog0;
watchdog1 = &watchdog_lpd;
...
};dm tree fragment for above configuration with patch applied:
ZynqMP> dm tree
Class index Probed Driver Name
-----------------------------------------
...
watchdog 0 [ ] cdns_wdt | |-- watchdog@ff150000
watchdog 1 [ + ] cdns_wdt | `-- watchdog@fd4d0000
...dm uclass fragment:
ZynqMP> dm uclass
...
uclass 75: watchdog
0 watchdog@ff150000 @ 7df02f40, seq -1, (req 1)
1 * watchdog@fd4d0000 @ 7df02ff0, seq 0, (req 0)
...It is visible that index 1 is IP with seq 0 which means that FPD
watchdog (@fd4d0000) is in DT below LPD watchdog (@ff150000).Till this patch the first watchdog found in DT was used and started
which is not enabling all possible configuration based on user request.Signed-off-by: Michal Simek
-
This macro is not used anywhere that's why remove it.
Signed-off-by: Michal Simek
-
sysreset uclass have own do_reset function which should be used instead
of board/platform specific.Signed-off-by: Michal Simek
-
This patch basically adds two new commands for loadig secure
images.
1. zynq rsa adds support to load secure image which can be both
authenticated or encrypted or both authenticated and encrypted
image in xilinx bootimage(BOOT.bin) format.
2. zynq aes command adds support to decrypt and load encrypted
image back to DDR as per destination address. The image has
to be encrypted using xilinx bootgen tool and to get only the
encrypted image from tool use -split option while invoking
bootgen.Signed-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek