1# SPDX-License-Identifier: GPL-2.0
2#
3# Copyright (c) 2018, Luca Ceresoli <luca@lucaceresoli.net>
4
5if ARCH_ZYNQ || ARCH_ZYNQMP
6
7config XILINX_PS_INIT_FILE
8	string "Zynq/ZynqMP PS init file(s) location"
9	help
10	  On Zynq and ZynqMP U-Boot SPL (or U-Boot proper if
11	  ZYNQMP_PSU_INIT_ENABLED is set) is responsible for some
12	  basic initializations, such as enabling peripherals and
13	  configuring pinmuxes. The PS init file (called
14	  psu_init_gpl.c on ZynqMP, ps7_init_gpl.c for Zynq-7000)
15	  contains the code for such initializations.
16
17	  U-Boot contains PS init files for some boards, but each of
18	  them describes only one specific configuration. Users of a
19	  different board, or needing a different configuration, can
20	  generate custom files using the Xilinx development tools.
21
22	  There are three ways to give a PS init file to U-Boot:
23
24	  1. Set this variable to the path, either relative to the
25	     source tree or absolute, where the psu_init_gpl.c or
26	     ps7_init_gpl.c file is located. U-Boot will build this
27	     file.
28
29	  2. If you leave an empty string here, U-Boot will use
30	     board/xilinx/zynq/$(CONFIG_DEFAULT_DEVICE_TREE)/ps7_init_gpl.c
31	     for Zynq-7000, or
32	     board/xilinx/zynqmp/$(CONFIG_DEFAULT_DEVICE_TREE)/psu_init_gpl.c
33	     for ZynqMP.
34
35	  3. If the above file does not exist, U-Boot will use
36	     board/xilinx/zynq/ps7_init_gpl.c for Zynq-7000, or
37	     board/xilinx/zynqmp/psu_init_gpl.c for ZynqMP. This file
38	     is not provided by U-Boot, you have to copy it there
39	     before the build.
40
41endif
42
43config XILINX_OF_BOARD_DTB_ADDR
44	hex "Default DTB pickup address"
45	default 0x1000 if ARCH_VERSAL || ARCH_VERSAL_NET
46	default 0x8000 if MICROBLAZE
47	default 0x100000 if ARCH_ZYNQ || ARCH_ZYNQMP
48	depends on OF_BOARD || OF_SEPARATE
49	help
50	  Offset in the memory where the board configuration DTB is placed.
51
52config BOOT_SCRIPT_OFFSET
53	hex "Boot script offset"
54	depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL_NET || MICROBLAZE
55	default 0xFC0000 if ARCH_ZYNQ || MICROBLAZE
56	default 0x3E80000 if ARCH_ZYNQMP
57	default 0x7F80000 if ARCH_VERSAL || ARCH_VERSAL_NET
58	help
59	   Specifies distro boot script offset in NAND/QSPI/NOR flash.
60
61config CMD_FRU
62	bool "FRU information for product"
63	help
64	  This option enables FRU commands to capture and display FRU
65	  information present in the device. The FRU Information is used
66	  to primarily to provide "inventory" information about the boards
67	  that the FRU Information Device is located on.
68
69config FRU_SC
70	bool "FRU system controller decoding"
71	help
72	  Xilinx System Controller (SC) FRU format is describing boards from two
73	  angles. One from DUT and then from SC. DUT is default option for
74	  the main CPU. SC behaves more or less as slave and have different ID.
75	  If you build U-Boot for SC you should enable this option to get proper
76	  MAC address.
77