summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-27spl: spl_legacy: Use IS_ENABLED() to remove #ifdefStefan Roese
Use IS_ENABLED() instead of #ifdef CONFIG_ to remove one #ifdef. No functional change intended. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Weijie Gao <weijie.gao@mediatek.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-04-27spl: Extract legacy image handling into separate fileStefan Roese
This patch moves the legacy image handling into a separate file, which will be extended with other legacy image features later. No function change intended. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Weijie Gao <weijie.gao@mediatek.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-04-27Makefile: add support to generate LZMA compressed u-boot imageWeijie Gao
This patch adds support for generating LZMA compressed u-boot image. The compressed image can be used for SPL to reduce the size of the u-boot binary. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27lib: enable lzma decompression support for SPL buildWeijie Gao
This patch enables LZMA decompression support for SPL build Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27dts: mtmips: add alternative pinmux node for uart2Weijie Gao
This patch adds a new pinmux for UART2, which shares the pins with SPIS. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: add a mtmips-specific field to architecture-specific global dataWeijie Gao
SoCs of mtmips can use different CPU frequencies depending on the HW/SW configurations. For example mt7628 uses 580MHz clock if the input xtal frequency is 40MHz, and 575MHz clock if the xtal is 25MHz. Upon cold boot the CPU uses the xtal frequency directly. So hardcoding the timer frequency (half of the CPU frequency) in CONFIG_SYS_MIPS_TIMER_FREQ is not a good idea for this case. This patch adds a mtmips-specific field timer_freq to arch_global_data. This field will be used later in mtmips-specific get_tbclk() to provide accurate timer frequency in different boot stage. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: mtmips: make use of sysreset-resetctrl for mt7628 socWeijie Gao
This patch replaces sysreset-syscon with sysreset-resetctrl for mt7628 soc. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27sysreset: add reset controller based reboot driverWeijie Gao
Some chips provide their sysreset function in reset controller, which is normally a bit written to 1 to perform the sysreset. This patch adds a new sysreset driver to take advantage of it. Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: spl: Flush cache before jumping to U-Boot properStefan Roese
This patch adds a MIPS specific jump_to_image_no_args() implementation, which flushes the U-Boot proper image loaded from the boot device in SPL before jumping to it. It has been noticed on MT76x8, that this cache flush is needed. Other MIPS platforms might need it as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Weijie Gao <weijie.gao@mediatek.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-04-27mips: add an option to enable u_boot_list section for SPL loaders in ↵Weijie Gao
u-boot-spl.lds u_boot_list is not only used by DM, but also by some SPL image load methods such as spl_nor.c. This patch adds an option CONFIG_SPL_LOADER_SUPPORT in conjunction with CONFIG_SPL_DM surrounding the u_boot_list section to make sure SPL image loaders can be correctly built into u-boot SPL without DM enabled. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: enable support for appending dtb to spl binaryWeijie Gao
If CONFIG_SPL_OF_CONTROL is enabled for SPL and CONFIG_OF_SEPARATE is also enabled, the dtb will be appended to the u-boot-spl.bin. When calling dm_init_and_scan() in SPL, fdtdec_setup() will try to locate dtb at the end of u-boot-spl.bin, by referencing to _image_binary_end. However _image_binary_end is currently missing in u-boot-spl.lds. This patch adds _image_binary_end to u-boot-spl.lds to make sure linking u-boot-spl will not fail. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: start.S: avoid overwriting outside gd when clearing global data in stackWeijie Gao
When setting up initial stack, global data will also be put in the stack, and being cleared. The assembler instructions for clearing gd is as follows: move t0, k0 1: PTR_S zero, 0(t0) blt t0, t1, 1b PTR_ADDIU t0, PTRSIZE t0 is the start address of gd, t1 is the end address of gd (t0 + GD_SIZE). [PTR_ADDIU t0, PTRSIZE] is in the delay slot of [blt t0, t1, 1b], so it will be executed before the branch operation. However the comparison for the BLT instruction is done before executing the delay slot. This means when the last word just before k1 is cleared, the loop will continue to run once. This will clear an extra word at k1, which is outside the global data. Global data is placed at the top of the stack. If the initial stack is a SRAM or locked cache, the area outside them may be inaccessible. A write operation performed in this area may cause an exception. To solve this, [PTR_ADDIU t0, PTRSIZE] should be placed before the BLT instruction. Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: mtmips: add predefined i-cache/d-cache size and linesizeWeijie Gao
Both mt7620 and mt7628 has the same cache configuration. There is no need to use CONFIG_SYS_CACHE_SIZE_AUTO to probe it at runtime. Add them into Kconfig to reduce some code size. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27configs: enable CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips boardsWeijie Gao
This patch enables CONFIG_RESTORE_EXCEPTION_VECTOR_BASE for all mtmips boards. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27mips: add support to restore exception vector base before booting linuxWeijie Gao
In U-Boot the exception vector base will be moved to top of memory, to be used to display register dump when exception occurs. But some old linux kernel does not honor the base set in CP0_EBASE. A modified exception vector base will cause kernel crash. This patch adds an option to enable reset exception vector base to its previous value, or a user configured value before booting linux kernel. Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2020-04-27bmips: allow disabling usb supportÁlvaro Fernández Rojas
Currently, if usb is disabled the following error is produced: CC drivers/usb/host/ohci-hcd.o drivers/usb/host/ohci-hcd.c: In function ‘usb_lowlevel_init’: drivers/usb/host/ohci-hcd.c:2057:35: error: ‘CONFIG_SYS_USB_OHCI_REGS_BASE’ undeclared (first use in this function); did you mean ‘CONFIG_SYS_MONITOR_BASE’? gohci.regs = (struct ohci_regs *)CONFIG_SYS_USB_OHCI_REGS_BASE; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONFIG_SYS_MONITOR_BASE drivers/usb/host/ohci-hcd.c:2057:35: note: each undeclared identifier is reported only once for each function it appears in drivers/usb/host/ohci-hcd.c:2061:20: error: ‘CONFIG_SYS_USB_OHCI_SLOT_NAME’ undeclared (first use in this function); did you mean ‘CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS’? gohci.slot_name = CONFIG_SYS_USB_OHCI_SLOT_NAME; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-04-27nand: brcmnand: return without disabling clockÁlvaro Fernández Rojas
Linux Broadcom NAND driver only disabled clock if no childs are initialized. This section of the code seems to have been accidentally dropped when it was imported in U-Boot. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-04-27Merge tag 'video-for-v2020.07-rc1' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-video - simple panel 'nv140fhmn49' compatible - rockchip eDP and LVDS drivers build fix
2020-04-27ARM: zynq: Fix invalid check on NAND_CMD_NONE.Patrick van Gelder
The end_cmd field in the variables cmd_phase_addr and data_phase_addr contains the value 0xFF when the end_cmd equals NAND_CMD_NONE. This should be 0x00. This is caused by comparing NAND_CMD_NONE (int) with end_cmd (u8). end_cmd will be promoted by the int value -1 and therefore is not equal to 0xFF. Solved by casting NAND_CMD_NONE to u8 which will avoid int promotion. Signed-off-by: Patrick van Gelder <patrick.vangelder@nl.bosch.com> Reviewed-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27xilinx: Make Xilinx custom distro boot commands more verboseMichal Simek
Extend description of Xilinx custom boot commands to make clear what runs and what failed. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27ARM: zynq: Change SYS_MALLOC_LEN in zynq_cse_nand_defconfigT Karthik Reddy
nand_scan_tail() function allocates memory dynamically for struct nand_buffers which needs ~21kbytes of memory. But the memory alloted with CONFIG_SYS_MALLOC_LEN is 4k which is insufficient. Increase CONFIG_SYS_MALLOC_LEN to 32Kbytes from which struct nand_buffers uses ~21kbytes & remaining memory is used for other. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27ARM: zynq: Add nand controller node in zynq-ces-nand dtT Karthik Reddy
Add memory-controller@e000e000 node in zynq-ces-nand.dts as zynq_nand driver utilizes flash@e1000000 node. Without this dt node mini nand u-boot does not probe. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27arm64: zynqmp: Fix irps5401 device nodesMichal Simek
- Do not use irps54012 as device node which is not correct. - Fix addresses of irps5401/u180 on zcu104 revisions. - Remove clock-cells property. It is PMIC without any clock output. - Define irps5401 nodes in zynqmp-e-a2197 Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27ARC: AXS10x: cleanup kconfigEugeniy Paltsev
As we've dropped NAND support for AXS101 and AXS103 see commit 4f5e552d95bb ("ARC: AXS10x: drop NAND support") we don't need bounce buffer anymore. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27xilinx: Move bootmode detection to separate functionMichal Simek
Create special function for reading bootmode on Versal and ZynqMP. Zynq is using specific function (without mask) already. Future patches will be calling this function from different location too. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27xilinx: Move initrd_high setup to common locationMichal Simek
Moving to common location initrd_high is also setup for Zynq which hasn't done in run time code. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27arm64: zynqmp: Add label to GPIO lines for boot mode and PORSaeed Nowshadi
Add label to GPIO lines controlling boot mode and POR EMIO pins so System Controller can assert those lines on Versal. Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27clk: versal: Fix watchdog clock issueT Karthik Reddy
Enable mux based clocks to populate LPD_LSBUS clock to xilinx_wwdt driver. Skip reading clock rate for the mux based clocks with parent clock id is zero. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
2020-04-27xilinx: zynqmp: Fix MIO 18 configuration on zcu104 revCMichal Simek
Without this change QSPI is not detected on zcu104 revC. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27xilinx: Introduce board_late_init_xilinx()Michal Simek
This function should keep common shared late configurations for Xilinx SoCs. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27ARM: zynq: Setup stack size via KconfigMichal Simek
Stack size has been introduced by commit a69814c815b9 ("arm64: zynqmp: Set initrd_high to as high as possible") and commit 085201c246ee ("arm64: versal: Set initrd_high to as high as possible") to support setting up initrd_high as high as possible. The same change should happen for Zynq because the code is moved to xilinx common location. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27xilinx: Enable MTD and UBIFS for zynq and zynqmpMichal Simek
Both of them have nand controller that's why it is good to enable it because these configurations are also covered by testing. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27mmc: zynq: parse dt when probingBenedikt Grassl
Currently, the entry "bus-width = <8>" in the ZynqMP's sdhci nodes is not evaluated. This results in the bus width staying at its default value (4 bit in HS200 mode). Fix this by calling mmc_of_parse. This function also checks for the "no-1-8-v" and "max-frequency" entries. Remove the handling of those nodes from this driver. Signed-off-by: Benedikt Grassl <Benedikt.Grassl@rohde-schwarz.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-04-27ARC: HSDK-4xD: make init status resistant to U-boot reloadingEugeniy Paltsev
Use register intstead of static variable to store HSDK init status as we want to avoid the situation when we reload U-boot via MDB after previous init is done but HW reset (board reset) isn't done. So let's store the init status in unused register - CREG_CPU_0_ENTRY so status will survive after U-boot is reloaded via MDB. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: use separate config fileEugeniy Paltsev
HSDK-4xD has quite different environment so let's split HSDK and HSDK-4xD configs file. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: tweak memory mapEugeniy Paltsev
For HSDK-4xD we do additional AXI bridge tweaking while doing hsdk_init command: - we shrink IOC region. - we configure ARC HS CORE SLV1 aperture depending on haps_apb_location environment variable. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: add CSM configuration supportEugeniy Paltsev
Add support for CSM enable/disable and CSM relocation via hsdk_init command. We allow to relocate CSM to the beginning of any aperture even if HW support finer granularity. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: add support for SLC enable/disableEugeniy Paltsev
Add support for SLC enable/disable via hsdk_init command. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: print timer clock valueEugeniy Paltsev
Print timer clock value in hsdk_clock print_all command. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: drop additional GPU clock infoEugeniy Paltsev
HSDK-4xD has other GPU type so it consumes only GPU core clock. Even we have additional GPU clock dividers they are not routed to anything. So drop information about those additional clocks in hsdk_clock print_all command. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: print info about HDMI clocksEugeniy Paltsev
HSDK-4xD has HDMI working so let's print info about HDMI clocks. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: fix headerize script for HSDK-4xD compatibilityEugeniy Paltsev
ARC HS CPU in HSDK-4xD has ARC ID = 0x54, so fix headerize script accordingly. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: use active low polarity of cpu_start pulseEugeniy Paltsev
Add quirk for HSDK-4xD - due to HW issues HSDK can use any pulse polarity but HSDK-4xD require active low polarity of cpu_start pulse. So use low polarity of cpu_start pulse for both board. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK: split HSDK and HSDK-4xD DTSEugeniy Paltsev
Split HSDK and HSDK-4xD device tree files so they can have different model names. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK-4xD: add initial board supportEugeniy Paltsev
Add initial HSDK-4xD board support. The ARC HS4x/HS4xD Development Kit includes a multicore ARC HS4xD-based chip that integrates a wide range of interfaces including Ethernet, HDMI, WiFi, Bluetooth, USB, SDIO, I2C, SPI, UART, I2S, ADC, PWM and GPIO, as well as a Think Silicon GPU. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: HSDK: CGU: add support for timer clockEugeniy Paltsev
Add support for additional timer clock which belongs to tunnel domain. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27ARC: ARCv2: handle DSP presence in HWEugeniy Paltsev
In case of DSP extension presence in HW some instructions (related to integer multiply, multiply-accumulate, and divide operation) executes on this DSP execution unit. So their execution will depend on dsp configuration register (DSP_CTRL) As we want these instructions to execute the same way regardless of DSP presence we need to set DSP_CTRL properly. NOTE: we do the same adjustments in Linux kernel, see in kernel tree: commit 4827d0cf744e ("ARC: handle DSP presence in HW") Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2020-04-27arm: socfpga: stratix10: Fix incorrect CLKMGR_S10_PERPLL_BYPASS offsetLey Foon Tan
Offset value for CLKMGR_S10_PERPLL_BYPASS should be 0xb0, fix it. Reported-by: Chee Hong Ang <chee.hong.ang@intel.com> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
2020-04-27configs: socfpga: arria10: Enable USB supportLey Foon Tan
Enable configs to support USB in Arria 10. CONFIG_CMD_USB=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_DWC2=y Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
2020-04-26video: simple_panel: add boe,nv140fhmn49 displayPeter Robinson
add "boe,nv140fhmn49" display to compatible node. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Cc: Anatolij Gustschin <agust@denx.de>