summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-18clk: imx: clk-imxrt1050: fix typo in clock name "video:"Giulio Benetti
"video:" must be "video", ":" is a typo. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2020-04-18clk: imx: pllv3: add enable_bitGiulio Benetti
pllv3 PLLs have powerdown/up bits but enable bits too. Specifically "enable bit" enable the pll output, so when dis/enabling pll by setting/clearing power_bit we must also set/clear enable_bit. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2020-04-17colibri_imx6: enable relocation of fdt and initrdIgor Opaniuk
Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF) from default environment which prevents relocation of FDT and initrd. Rely on 'bootm_size' value instead to safely relocate kernel, device tree and initrd. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-17colibri-imx6ull: enable relocation of fdt and initrdIgor Opaniuk
Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF) from default environment which prevents relocation of FDT and initrd. Rely on 'bootm_size' value instead to safely relocate kernel, device tree and initrd. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-17apalis_imx6: enable relocation of fdt and initrdIgor Opaniuk
Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF) from default environment which prevents relocation of FDT and initrd. Rely on 'bootm_size' value instead to safely relocate kernel, device tree and initrd. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-17colibri_imx7: enable relocation of fdt and initrdIgor Opaniuk
Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF) from default environment which prevents relocation of FDT and initrd. Rely on 'bootm_size' value instead to safely relocate kernel, device tree and initrd. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-17colibri_vf: enable relocation of fdt and initrdIgor Opaniuk
Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF) from default environment which prevents relocation of FDT and initrd. Rely on 'bootm_size' value instead to safely relocate kernel, device tree and initrd. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-17verdin-imx8mm: add nfsboot wrapper to envIgor Opaniuk
Add nfsboot wrapper to env to boot Linux kernel from TFTP/NFS. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-17imx8mm_evk: adjust dram size in case bl32 is usedIgor Opaniuk
Adjust DRAM size in case BL32 secure payload is loaded (OP-TEE/Trusty), so during MMU initialization U-Boot won't touch this mem area. BL32 is loaded to the end of DRAM, bl32 payload size is read from rom_pointer[1]. This relates to the issue described in 59efa6b52b("imx8m: Fix MMU table issue for OPTEE memory"). Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-04-17verdin-imx8mm: adjust dram size in case bl32 is usedIgor Opaniuk
Adjust DRAM size in case BL32 secure payload is loaded (OP-TEE/Trusty), so during MMU initialization U-Boot won't touch this mem area. BL32 is loaded to the end of DRAM, bl32 payload size is read from rom_pointer[1]. This relates to the issue described in 59efa6b52b("imx8m: Fix MMU table issue for OPTEE memory"). Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-04-17imx8qxp_mek: Start with USDHC2 unpoweredFabio Estevam
After triggering a "reboot" command in Linux the following hang in SPL is observed: U-Boot SPL 2020.04 (Apr 15 2020 - 10:49:29 -0300) Normal Boot WDT: Not found! Trying to boot from MMC2_2 spl: mmc init failed with error: -70 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### This error happens because the CMD_ERR bit is set in the IRQ status register after booting from Linux. To ensure a fresh start, force the VMMC supply to get unpowered first. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2020-04-17board: tqc: tqma6_mba6: switch to device modelMichael Krummsdorf
Ethernet, usdhc2 and i2c1 interfaces are probed by dm drivers. Therefor init functions in board file are not necessary. Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17board: tqc: tqma6: hw init code disabled for device modelMichael Krummsdorf
Keep code for non-dm configuration of baseboard WRU4. It cannot be upgraded to device model as we have no suitable device tree for it. These changes were not run-tested on WRU4, only compile-tested. Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17configs: tqma6x_mba6x: update default configs for device modelMichael Krummsdorf
Fixes compilation for WRU4 board. Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17board: tqc: tqma6: mba6: apply default Kconfig for device modelMichael Krummsdorf
Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17arch: arm: tqma6: apply default Kconfig for device modelMichael Krummsdorf
Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17arm: dt: imx6qdl: add tqma6[qdl] som on mba6 mainboardMichael Krummsdorf
The device trees for TQMa6x SOM support variations in - CPU type: imx6dl- or imx6q- - MBa6 I2C bus access: -mba6a (i2c1) or -mba6b (i2c3) (plus the respective common/module include trees) - USBH1 is directly connected to a hub - USBOTG is connected to a separate connector and can act as host/device or full OTG port. Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17tqma6: resurrect support by supplying correct SYS_TEXT_BASEMarkus Niebel
reason: SYS_TEXT_BASE was moved to Kconfig. Give reasonable defaults in board specific Kconfig. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com> Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
2020-04-17arm: imx6: configure NoC on i.MX6DQPBernhard Messerklinger
The i.MX6DP and i.MX6QP incorporate NoC interconnect logic which needs to be configured in order to use external DDR memory. This patch enables the SPL to configure the necessary registers in accordance with the NXP engineering bulletin EB828. Co-developed-by: Filip Brozović <fbrozovic@gmail.com> Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com> Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
2020-04-17mx6ulz_14x14_evk: Disable CONFIG_NETFabio Estevam
Currently the following build warning is seen: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. =================================================== Since the mx6ulz-evk board does not have networking support, explicitly disable networking to avoid the board removal. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2020-04-17mx6ullevk: Enable Ethernet supportFabio Estevam
Add Ethernet support using DM_ETH. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2020-04-17mx6ul_evk: Remove FEC related board codeFabio Estevam
mx6ul_evk uses DM_ETH, so there is no need to have board code to setup the FEC IOMUX and to register the network ports via the old board_eth_init() method. Remove these FEC related pieces of code. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2020-04-17mx6ul_evk: Move CONFIG_FEC_MXC to defconfigFabio Estevam
CONFIG_FEC_MXC is supported in Kconfig, so it is preferred to move it to defconfig file. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2020-04-17mx7ulp: Only enable LDO if it is not already enabledFabio Estevam
LDO mode may be already enabled by the ROM and enabling it again can cause U-Boot to hang. Avoid this problem by only enabling LDO mode if it is initially disabled. Reported-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Signed-off-by: Fabio Estevam <festevam@gmail.com> Tested-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2020-04-17mx7ulp: Remove duplicated definitionsFabio Estevam
These PMC0 definitions are already defined in the beginning of the file, so remove the duplication. Reported-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2020-04-17Merge branch '2020-04-16-master-imports'Tom Rini
- DM GPIO improvements - BTRFS fixes - Corrections around gd->new_bootstage alignment - Start documentation improvements to support 'make refcheckdocs'
2020-04-16board_f.c: Ensure 16 alignment of start_addr_sp and reserved memoryPatrick Delaunay
Add a function reserve_stack_aligned() to reserved memory with 16 bits alignment after the stack pointer (gd->start_addr_sp) and use this new function in board_f.c to reserve all the memory area (malloc, board, gd, fdt, bootstage, stacks). This 16 byte alignment is needed for cast on struct pointer for the reserved memory, for example: + x86_64 ABI: https://reviews.llvm.org/D30049: 16 bytes + ARMv8 Instruction Set Overview: quad word, 16 bytes An other alignment value could be needed for other architecture. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Acked-by: Stephen Warren <swarren@nvidia.com>
2020-04-16arm: set the relocated gd with gd->new_gdPatrick Delaunay
Simplify the arm relocation behavior and get gd directly form new_gd, as it is already done in crt0_64.S: ldr x18, [x18, #GD_NEW_GD] /* x18 <- gd->new_gd */ This patch avoid assumption on new GD location (new GD is below bd - with #GD_SIZE offset). Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16Revert "stm32mp1: remove the imply BOOTSTAGE"Patrick Delaunay
This reverts the workaround introduced by the commit 16fec9b0bc1a ("stm32mp1: remove the imply BOOTSTAGE") As the bootstage alignment issue is now solved. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16board_f.c: Ensure gd->new_bootstage alignmentPatrice Chotard
In reserve_bootstage(), in case size is odd, gd->new_bootstage is not aligned. In bootstage_relocate(), the platform hangs when getting access to data->record[i].name. To avoid this issue, make gd->new_bootstage 16 byte aligned. To ensure that new_bootstage is 16 byte aligned (at least needed for x86_64 and ARMv8) and new_bootstage starts down to get enough space, ALIGN_DOWN macro is used. Fixes: ac9cd4805c8b ("bootstage: Correct relocation algorithm") Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Vikas MANOCHA <vikas.manocha@st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com> Tested-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16arm: imx: update reference to README.mxc_habPatrick Delaunay
Update reference in files detected by scripts/documentation-file-ref-check doc/README.mxc_hab => doc/imx/habv4/* Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16doc: device-tree-bindings: update reference to binding directoryPatrick Delaunay
Update reference in files detected by scripts/documentation-file-ref-check doc/devicetree/device-tree-bindings/ => doc/device-tree-bindings/ Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16doc: update reference to README.boardPatrick Delaunay
Update reference in files detected by scripts/documentation-file-ref-check doc/README.<board> => board/<board>/README Files moved in board directory in commit 702e6014f15b ("doc: cleanup - move board READMEs into respective board directories")' Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16doc: update reference to README.imx8imagePatrick Delaunay
Update reference in many files detected by scripts/documentation-file-ref-check README.imx8image => imx/mkimage/imx8image.txt Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16doc: update reference to README.imximagePatrick Delaunay
Update reference in many files detected by scripts/documentation-file-ref-check README.imximage => imx/mkimage/imximage.txt Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16Kconfig: update reference to README.x86Patrick Delaunay
Update reference in Kconfig detected by scripts/documentation-file-ref-check README.x86 => doc/arch/x86.rst Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16README: update reference to *.READMEPatrick Delaunay
Update some reference in README file detected by scripts/documentation-file-ref-check *.README => README.* Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-04-16test: pinmux: add pincontrol-gpio for pin configurationPatrick Delaunay
Add a simple pincontrol associated to the sandbox gpio driver, that allows to check pin configuration with the command pinmux. The pinmux test is also updated to test behavior with 2 pincontrols. Example to check LED pin configuration: => pinmux list | Device | Driver | Parent | pinctrl-gpio | sandbox_pinctrl_gpio | root_driver | pinctrl | sandbox_pinctrl | root_driver => pinmux dev pinctrl-gpio => pinmux status a0 : gpio input . a1 : gpio input . a2 : gpio input . a3 : gpio input . a4 : gpio input . a5 : gpio output . a6 : gpio output . ... Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16test: dm: update test for pins configuration in gpioPatrick Delaunay
Add tests for new API set_dir_flags and set_dir_flags and associated code in gpio uclass. Test support for new flags GPIO_OPEN_DRAIN, GPIO_OPEN_SOURCE GPIO_PULL_UP and GPIO_PULL_DOWN. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-16gpio: sandbox: cleanup binding supportPatrick Delaunay
Cleanup binding support, use the generic binding by default (test u-class gpio_xlate_offs_flags function) and add specific binding for added value. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16test: dm: update test for pins configuration in pinctrl nodePatrick Delaunay
Add test for "pins" configuration in gpio uclass with set_state() ops and test for generic parsing of pinconf_param array). set_state() is called by: - pinctrl_generic_set_state |- pinctrl_generic_set_state_subnode Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16pinctrl: sandbox: Add mux information in get_pin_muxingPatrick Delaunay
Add param information in pin information output. This update prepare unitary test for pin configuration in pinctrl node. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16dt-bindings: gpio: alignment with kernel v5.3Patrick Delaunay
Update the binding file for gpio, it is just an alignment with kernel v5.3. The U-Boot code example for gpio-hog (not directly linked to binding) is moved in a new file doc/README.gpio. [commit 21676b706e99 ("gpio: fixes for gpio-hog support") & 'commit 4762a9988ede ("gpio: add gpio-hog support")'] Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: add ops to set dir flagsPatrick Delaunay
Add the ops for GPIO driver set_dir_flags() to set the dir flags. The user can update the direction and configuration of each GPIO with a only call to dm_gpio_set_dir_flags() or dm_gpio_set_dir() and respecting the configuration provided by device tree (saved in desc->flags). When these optional ops are absent, the gpio uclass use the mandatory ops (direction_output, direction_input, get_value) and desc->flags to manage only the main dir flags: - GPIOD_IS_IN - GPIOD_IS_OUT - GPIOD_IS_OUT_ACTIVE - GPIOD_ACTIVE_LOW Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: add ops to get dir flagsPatrick Delaunay
Add the ops for GPIO driver get_dir_flags(), allows to get dynamically the current gpio configuration; it is used by the API function dm_gpio_get_dir_flags(). When these optional ops are absent, the gpio uclass continues to use the mandatory ops (direction_output, direction_input, get_value) and value of desc->flags to manage only the main dir flags: - GPIOD_IS_IN - GPIOD_IS_OUT - GPIOD_IS_OUT_ACTIVE - GPIOD_ACTIVE_LOW Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: add support of new GPIO direction flagPatrick Delaunay
This commit manages the new dir flags that can be used in gpio specifiers to indicate the pull-up or pull-down resistor configuration for output gpio (GPIO_PULL_UP, GPIO_PULL_DOWN) or the Open Drain/Open Source configuration for input gpio (GPIO_OPEN_DRAIN, GPIO_OPEN_SOURCE). These flags are already supported in Linux kernel in gpio lib. This patch only parse and save the direction flags in GPIO descriptor (desc->flags), it prepares the introduction of new ops to manage them. The GPIO uclass supports new GPIO flags from device-tree (GPIO_XXX define in include/dt-bindings/gpio/gpio.h) and translate them in the dir flags (GPIOD_XXX): - GPIO_PULL_UP => GPIOD_PULL_UP - GPIO_PULL_DOWN => GPIOD_PULL_DOWN - GPIO_OPEN_DRAIN => GPIOD_OPEN_DRAIN - GPIO_OPEN_SOURCE => GPIOD_OPEN_SOURCE This patch also adds protection in the check_dir_flags function for new invalid configuration of the dir flags. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: update dir_flags managementPatrick Delaunay
Update the flag management in GPIO uclass: the desc->flags is always combined with the requested flags and the GPIO descriptor is updated for further call. Add a function dm_gpio_get_dir_flags to get dynamically the current dir_flags (configuration and value). This patch prepare introduction of the dir flags support with new ops. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: add helper GPIOD_FLAGS_OUTPUTPatrick Delaunay
Add a macro to provide the GPIO output value according the dir flags content. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: add function check_dir_flagsPatrick Delaunay
Add a dir flags validity check with a new function check_dir_flags. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-04-16gpio: add function _dm_gpio_set_dir_flagsPatrick Delaunay
Introduce the function _dm_gpio_set_dir_flags to set dir flags without check if the GPIO is reserved. Separate the reserved check for "set_dir" and "set_dir_flags". This patch is a preliminary step to add new ops. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>