~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: fd6f07715a83a8c4e97bf19ab44afc4c1515ca2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
if ARCH_ZYNQMP

config SPL_FS_FAT
	default y

config SPL_LIBCOMMON_SUPPORT
	default y

config SPL_LIBDISK_SUPPORT
	default y

config SPL_LIBGENERIC_SUPPORT
	default y

config SPL_MMC
	default y if MMC_SDHCI_ZYNQ

config SPL_SERIAL
	default y

config SPL_SPI_FLASH_SUPPORT
	default y if ZYNQ_QSPI

config SPL_SPI
	default y if ZYNQ_QSPI

config SYS_BOARD
	string "Board name"
	default "zynqmp"

config SYS_VENDOR
	string "Vendor name"
	default "xilinx"

config SYS_SOC
	default "zynqmp"

config SYS_CONFIG_NAME
	string "Board configuration name"
	default "xilinx_zynqmp"
	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 SYS_MEM_RSVD_FOR_MMU
	bool "Reserve memory for MMU Table"
	help
	  If defined this option is used to setup different space for
	  MMU table than the one which will be allocated during
	  relocation.

config BOOT_INIT_FILE
	string "boot.bin init register filename"
	depends on SPL
	default ""
	help
	  Add register writes to boot.bin format (max 256 pairs).
	  Expect a table of register-value pairs, e.g. "0x12345678 0x4321"

config PMUFW_INIT_FILE
	string "PMU firmware"
	depends on SPL
	default ""
	help
	  Include external PMUFW (Platform Management Unit FirmWare) to
	  a Xilinx bootable image (boot.bin).

config ZYNQMP_SPL_PM_CFG_OBJ_FILE
	string "PMU firmware configuration object to load at runtime by SPL"
	depends on SPL
	help
	  Path to a binary PMU firmware configuration object to be linked
	  into U-Boot SPL and loaded at runtime into the PMU firmware.

	  The ZynqMP Power Management Unit (PMU) needs a configuration
	  object for most SoC peripherals to work. To have it loaded by
	  U-Boot SPL set here the file name (absolute path or relative to
	  the top source tree) of your configuration, which must be a
	  binary blob. It will be linked in the SPL binary and loaded
	  into the PMU firmware by U-Boot SPL during board
	  initialization.

	  Leave this option empty if your PMU firmware has a hard-coded
	  configuration object or you are loading it by any other means.

config ZYNQMP_USB
	bool "Configure ZynqMP USB"

config ZYNQMP_NO_DDR
	bool "Disable DDR MMU mapping"
	help
	  This option configures MMU with no DDR to avoid speculative
	  access to DDR memory where DDR is not present.

config SPL_ZYNQMP_DRAM_ECC_INIT
	bool "Initialize DRAM ECC"
	depends on SPL
	help
	  This option initializes all memory to 0xdeadbeef. Must be set if your
	  memory is of ECC type.

config SPL_ZYNQMP_DRAM_BANK1_BASE
	depends on SPL_ZYNQMP_DRAM_ECC_INIT
	hex "DRAM Bank1 address"
       default 0x00000000
       help
         Start address of DRAM ECC bank1

config SPL_ZYNQMP_DRAM_BANK1_LEN
	depends on SPL_ZYNQMP_DRAM_ECC_INIT
	hex "DRAM Bank1 size"
       default 0x80000000
       help
         Size in bytes of the DRAM ECC bank1

config SPL_ZYNQMP_DRAM_BANK2_BASE
	depends on SPL_ZYNQMP_DRAM_ECC_INIT
	hex "DRAM Bank2 address"
       default 0x800000000
       help
         Start address of DRAM ECC bank2

config SPL_ZYNQMP_DRAM_BANK2_LEN
	depends on SPL_ZYNQMP_DRAM_ECC_INIT
	hex "DRAM Bank2 size"
       default 0x0
       help
         Size in bytes of the DRAM ECC bank2. A null size takes no action.

config SYS_MALLOC_F_LEN
	default 0x600

config DEFINE_TCM_OCM_MMAP
	bool "Define TCM and OCM memory in MMU Table"
	default y if MP
	help
	  This option if enabled defines the TCM and OCM memory and its
	  memory attributes in MMU table entry.

config ZYNQMP_PSU_INIT_ENABLED
	bool "Include psu_init"
	select BOARD_EARLY_INIT_F
	help
	  Include psu_init to full u-boot.

config SPL_ZYNQMP_PSU_INIT_ENABLED
	bool "Include psu_init in SPL"
	default y if SPL
	select BOARD_EARLY_INIT_F
	help
	  Include psu_init by default in SPL.

config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
	bool "Overwrite SPL bootmode"
	depends on SPL
	help
	  Overwrite bootmode selected via boot mode pins to tell SPL what should
	  be the next boot device.

config SPL_ZYNQMP_RESTORE_JTAG
	bool "Restore JTAG"
	depends on SPL
	help
	  Booting SPL in secure mode causes the CSU to disable the JTAG interface
	  even if no eFuses were burnt. This option restores the interface if
	  possible.

config ZYNQ_SDHCI_MAX_FREQ
	default 200000000

config SPL_ZYNQMP_ALT_BOOTMODE
	hex
	default 0x0 if JTAG_MODE
	default 0x1 if QSPI_MODE_24BIT
	default 0x2 if QSPI_MODE_32BIT
	default 0x3 if SD_MODE
	default 0x4 if NAND_MODE
	default 0x5 if SD_MODE1
	default 0x6 if EMMC_MODE
	default 0x7 if USB_MODE
	default 0xa if SW_USBHOST_MODE
	default 0xb if SW_SATA_MODE
	default 0xe if SD1_LSHFT_MODE

choice
	prompt "Boot mode"
	depends on SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
	default JTAG_MODE

config JTAG_MODE
	bool "JTAG_MODE"

config QSPI_MODE_24BIT
	bool "QSPI_MODE_24BIT"

config QSPI_MODE_32BIT
	bool "QSPI_MODE_32BIT"

config SD_MODE
	bool "SD_MODE"

config SD_MODE1
	bool "SD_MODE1"

config NAND_MODE
	bool "NAND_MODE"

config EMMC_MODE
	bool "EMMC_MODE"

config USB_MODE
	bool "USB"

config SW_USBHOST_MODE
	bool "SW USBHOST_MODE"

config SW_SATA_MODE
	bool "SW SATA_MODE"

config SD1_LSHFT_MODE
	bool "SD1_LSHFT_MODE"

endchoice

source "board/xilinx/Kconfig"
source "board/xilinx/zynqmp/Kconfig"

endif