Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi
[oweals/u-boot.git] / arch / arm / mach-zynqmp / Kconfig
1 if ARCH_ZYNQMP
2
3 config SPL_FS_FAT
4         default y
5
6 config SPL_LIBCOMMON_SUPPORT
7         default y
8
9 config SPL_LIBDISK_SUPPORT
10         default y
11
12 config SPL_LIBGENERIC_SUPPORT
13         default y
14
15 config SPL_MMC_SUPPORT
16         default y if MMC_SDHCI_ZYNQ
17
18 config SPL_SERIAL_SUPPORT
19         default y
20
21 config SPL_SPI_FLASH_SUPPORT
22         default y if ZYNQ_QSPI
23
24 config SPL_SPI_SUPPORT
25         default y if ZYNQ_QSPI
26
27 config SYS_BOARD
28         default "zynqmp"
29
30 config SYS_VENDOR
31         string "Vendor name"
32         default "xilinx"
33
34 config SYS_SOC
35         default "zynqmp"
36
37 config SYS_CONFIG_NAME
38         string "Board configuration name"
39         default "xilinx_zynqmp"
40         help
41           This option contains information about board configuration name.
42           Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
43           will be used for board configuration.
44
45 config SYS_MEM_RSVD_FOR_MMU
46         bool "Reserve memory for MMU Table"
47         help
48           If defined this option is used to setup different space for
49           MMU table than the one which will be allocated during
50           relocation.
51
52 config BOOT_INIT_FILE
53         string "boot.bin init register filename"
54         depends on SPL
55         default ""
56         help
57           Add register writes to boot.bin format (max 256 pairs).
58           Expect a table of register-value pairs, e.g. "0x12345678 0x4321"
59
60 config PMUFW_INIT_FILE
61         string "PMU firmware"
62         depends on SPL
63         default ""
64         help
65           Include external PMUFW (Platform Management Unit FirmWare) to
66           a Xilinx bootable image (boot.bin).
67
68 config ZYNQMP_SPL_PM_CFG_OBJ_FILE
69         string "PMU firmware configuration object to load at runtime by SPL"
70         depends on SPL
71         help
72           Path to a binary PMU firmware configuration object to be linked
73           into U-Boot SPL and loaded at runtime into the PMU firmware.
74
75           The ZynqMP Power Management Unit (PMU) needs a configuration
76           object for most SoC peripherals to work. To have it loaded by
77           U-Boot SPL set here the file name (absolute path or relative to
78           the top source tree) of your configuration, which must be a
79           binary blob. It will be linked in the SPL binary and loaded
80           into the PMU firmware by U-Boot SPL during board
81           initialization.
82
83           Leave this option empty if your PMU firmware has a hard-coded
84           configuration object or you are loading it by any other means.
85
86 config ZYNQMP_USB
87         bool "Configure ZynqMP USB"
88
89 config ZYNQMP_NO_DDR
90         bool "Disable DDR MMU mapping"
91         help
92           This option configures MMU with no DDR to avoid speculative
93           access to DDR memory where DDR is not present.
94
95 config SYS_MALLOC_F_LEN
96         default 0x600
97
98 config DEFINE_TCM_OCM_MMAP
99         bool "Define TCM and OCM memory in MMU Table"
100         default y if MP
101         help
102           This option if enabled defines the TCM and OCM memory and its
103           memory attributes in MMU table entry.
104
105 config ZYNQMP_PSU_INIT_ENABLED
106         bool "Include psu_init"
107         help
108           Include psu_init to full u-boot. SPL include psu_init by default.
109
110 config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
111         bool "Overwrite SPL bootmode"
112         depends on SPL
113         help
114           Overwrite bootmode selected via boot mode pins to tell SPL what should
115           be the next boot device.
116
117 config ZYNQ_SDHCI_MAX_FREQ
118         default 200000000
119
120 config SPL_ZYNQMP_TWO_SDHCI
121         bool "Enable booting from both SDHCIs"
122         depends on SPL
123         help
124           This option reflects that board has two SDHCI controllers which
125           platform can use as boot device. This option ensures that SPL will
126           setup BOOT_DEVICE_MMC2 for SDHCI1 controller and BOOT_DEVICE_MMC1 for
127           SDHCI0 controller. Platforms which have only one SDHCI controller
128           shouldn't enable this option because it for software SDHCI0 or SDHCI1
129           are both covered by BOOT_DEVICE_MMC1.
130
131 config SPL_ZYNQMP_ALT_BOOTMODE
132         hex
133         default 0x0 if JTAG_MODE
134         default 0x1 if QSPI_MODE_24BIT
135         default 0x2 if QSPI_MODE_32BIT
136         default 0x3 if SD_MODE
137         default 0x4 if NAND_MODE
138         default 0x5 if SD_MODE1
139         default 0x6 if EMMC_MODE
140         default 0x7 if USB_MODE
141         default 0xa if SW_USBHOST_MODE
142         default 0xb if SW_SATA_MODE
143         default 0xe if SD1_LSHFT_MODE
144
145 choice
146         prompt "Boot mode"
147         depends on SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
148         default JTAG_MODE
149
150 config JTAG_MODE
151         bool "JTAG_MODE"
152
153 config QSPI_MODE_24BIT
154         bool "QSPI_MODE_24BIT"
155
156 config QSPI_MODE_32BIT
157         bool "QSPI_MODE_32BIT"
158
159 config SD_MODE
160         bool "SD_MODE"
161
162 config SD_MODE1
163         bool "SD_MODE1"
164
165 config NAND_MODE
166         bool "NAND_MODE"
167
168 config EMMC_MODE
169         bool "EMMC_MODE"
170
171 config USB_MODE
172         bool "USB"
173
174 config SW_USBHOST_MODE
175         bool "SW USBHOST_MODE"
176
177 config SW_SATA_MODE
178         bool "SW SATA_MODE"
179
180 config SD1_LSHFT_MODE
181         bool "SD1_LSHFT_MODE"
182
183 endchoice
184
185 endif