summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2021-10-11arm: dts: Update IOT2050 device tree filesJan Kiszka
This fixes the usage of the USB 3.0-capable port under U-Boot as USB 2.0-only port. Original patch by Chao Zeng. Signed-off-by: Jan Kiszka <[email protected]>
2021-10-11board: siemens: iot2050: Adjust to changes in DT and configurationJan Kiszka
Account for the changes done between merge proposal and the final merge. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2021-10-11clk: ti: add am33xx/am43xx spread spectrum clock supportDario Binacchi
The patch enables spread spectrum clocking (SSC) for MPU and LCD PLLs. As reported by the TI spruh73x/spruhl7x RM, SSC is only supported for the DISP/LCD and MPU PLLs on am33xx/am43xx. SSC is not supported for DDR, PER, and CORE PLLs. Calculating the required values and setting the registers accordingly was taken from the set_mpu_spreadspectrum routine contained in the arch/arm/mach-omap2/am33xx/clock_am33xx.c file of the u-boot project. In locked condition, DPLL output clock = CLKINP *[M/N]. In case of SSC enabled, the reference manual explains that there is a restriction of range of M values. Since the clk_ti_am3_dpll_round_rate() attempts to select the minimum possible N, the value of M obtained is not guaranteed to be within the range required. With the new "ti,min-div" parameter it is possible to increase N and consequently M to satisfy the constraint imposed by SSC. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2021-10-11ARM: dts: am43xx-clocks: add spread spectrum supportDario Binacchi
Registers for adjusting the spread spectrum clocking (SSC) have been added. As reported by the TI spruhl7x RM, SSC is supported only for LCD and MPU PLLs, but the PRCM_CM_SSC_DELTAMSTEP_DPLL_XXX and PRCM_CM_SSC_MODFREQDIV_DPLL_XXX registers, as well as the enable field in the PRCM_CM_CLKMODE_DPLL_XXX registers are mapped for all PLLs (CORE, MPU, DDR, PER, DISP, EXTDEV). Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2021-10-11ARM: dts: am33xx-clocks: add spread spectrum supportDario Binacchi
Registers for adjusting the spread spectrum clocking (SSC) have been added. As reported by the TI spruh73x RM, SSC is supported only for LCD and MPU PLLs, but the CM_SSC_DELTAMSTEP_DPLL_XXX and CM_SSC_MODFREQDIV_DPLL_XXX registers, as well as the enable field in the CM_CLKMODE_DPLL_XXX registers are mapped for all PLLs (CORE, MPU, DDR, PER, DISP). Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2021-10-11sunxi: Add support for FriendlyARM NanoPi R1S H5Chukun Pan
This adds support for the NanoPi R1S H5 board. Allwinner H5 SoC 512MB DDR3 RAM 10/100/1000M Ethernet x 2 RTL8189ETV WiFi 802.11b/g/n USB 2.0 host port (A) MicroSD Slot Reset button Serial Debug Port WAN - LAN - SYS LED The dts file is taken from Linux 5.14 tag. Signed-off-by: Chukun Pan <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-11sunxi: gpio: Remove bank-specific size macrosSamuel Holland
Since the beginning, all banks have had space for 32 pins, even when not all pins were implemented. Let's use a single constant for the GPIO bank size here, like the GPIO driver is already doing. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-11sunxi: gpio: Remove name_to_gpio macroSamuel Holland
This clarifies which callers must be updated to complete the DM_GPIO conversion. The only remaining caller of name_to_gpio in generic code is inside the !DM_GPIO block in cmd/gpio.c. DM_GPIO is always selected on sunxi, so that code cannot be reached. And after this commit, there are only two remaining implementations of name_to_gpio. Signed-off-by: Samuel Holland <[email protected]> Acked-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-11sunxi: Clean up inclusions of asm/arch/gpio.hSamuel Holland
As part of migrating to DM_GPIO and DM_PINCTRL, eventually we will remove the asm/arch/gpio.h header. In preparation, clean up the various files that include it. Some files did not contain any GPIO code at all, so this header was completely unused. A few files contained only legacy platform-specific GPIO code for setting up pin muxes. They were left unchanged, as that code will be completely removed by the DM_PINCTRL migration. The remaining files contain some combination of DM_GPIO and legacy GPIO code. For those, switch to including asm/gpio.h (if it wasn't included already). Right now, this header provides both sets of functions, because ARCH_SUNXI selects GPIO_EXTRA_HEADER. This will still be the right header to include once the DM_GPIO migration is complete and GPIO_EXTRA_HEADER is no longer needed. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-11gpio: sunxi: Remove the sunxi_name_to_gpio_bank functionSamuel Holland
The only caller of this function was the MMC pinmux code, which used it to parse a string given from a Kconfig symbol. As the Kconfig symbol has been converted to a Boolean, this function is no longer needed. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-11sunxi: Simplify MMC pinmux selectionSamuel Holland
Only one board, Yones Toptech BD1078, actually uses a non-default MMC pinmux. All other uses of these symbols select the default value or an invalid value. To simplify things, remove support for the unused pinmux options, and convert the remaining option to a Boolean. This allows the pinmux to be chosen by the preprocessor, instead of having the code parse a string at runtime (for a build-time option!). Not only does this reduce code size, but it also allows this Kconfig option to be used in a table-driven DM pinctrl driver. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-11clk: sunxi: Move header out of arch directorySamuel Holland
The CCU header is only used by the DM drivers, not any platform code. Its current location adds an artificial dependency on CONFIG_ARM and ARCH_SUNXI, which will be problematic when adding the CCU driver for a RISC-V sunxi platform. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-10-08image: Drop IMAGE_ENABLE_OF_LIBFDTSimon Glass
Add a host Kconfig for OF_LIBFDT. With this we can use CONFIG_IS_ENABLED(OF_LIBFDT) directly in the tools build, so drop the unnecessary indirection. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Alexandru Gagniuc <[email protected]>
2021-10-08image: Drop IMAGE_ENABLE_FITSimon Glass
Make use of the host Kconfig for FIT. With this we can use CONFIG_IS_ENABLED(FIT) directly in the host build, so drop the unnecessary indirection. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Alexandru Gagniuc <[email protected]>
2021-10-08arm: dts: stm32: Add i2c-analog-filter property in I2C nodes for stm32h743Patrice Chotard
Add i2c-analog-filter property in I2C nodes to enable analog filter feature. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-10-08arm: dts: stm32: Add i2c-analog-filter property in I2C nodes for stm32f746Patrice Chotard
Add i2c-analog-filter property in I2C nodes to enable analog filter feature. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-10-08arm: mvebu: dts: m801: correct CP1 pinctrlRobert Marko
Current CP1 pinctrl that is set on the Puzzle M801 is incorrect. CP1 pins are only used for the SMI bus and the MSS I2C, all other pins are just GPIO-s. Due to this being set completely wrong, the pinctrl was actually ended up being hardcoded in the board_early_init_f() step so that SMI would work. That is obviously not the right thing to do, so convert the register hex values that were being written to individual pin modes and set it in the DTS. Add the SMI pins to the CP1 MDIO node as otherwise CP1 pinctrl does not get probed without an consumer. Fixes: 2ae2b8a2 ("arm: mvebu: Initial iEi Puzzle-M801 support") Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: Select SPL_SKIP_LOWLEVEL_INIT on ARMADA_32BITStefan Roese
Select SPL_SKIP_LOWLEVEL_INIT on 32bit Armada platforms via Kconfig, as this was removed from mach/config.h in a2ac2b96 ("Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig"). Signed-off-by: Stefan Roese <[email protected]> Fixes: a2ac2b96 ("Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig") Cc: Tom Rini <[email protected]> Cc: Marek Behún <[email protected]> Cc: Pali Rohár <[email protected]> Tested-by: Pali Rohár <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Update comment about PCIE*_ENABLE_* definesPali Rohár
These are part of SOC_CONTROL_REG1 register, not PEX_CAPABILITIES_REG. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Remove unused PCIe macros and functionsPali Rohár
Remove unused PCIe functions from SerDes code. They are unused and are duplicated either from generic PCIe code or from pci_mvebu.c. Remove also unused PCIe macros from SerDes code. They are just obfuscated variants of standards macros in include/pci.h or in pci_mvebu.c. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Don't configure PCIe cards in SerDes init codePali Rohár
This code is trying to parse PCIe config space of PCIe card connected on the other end of link and then is trying to force 5.0 GT/s speed via Target Link Speed bits in PCIe Root Port Link Control 2 Register on the local part of link if it sees that card supports 5.0 GT/s via Max Link Speed bits in Link Capabilities Register. The code is incorrect for more reasons: - Accessing config space of an endpoint card cannot be done immediately. If the PCIe link is not up, reading vendor/device ID registers will return all ones. - Parsing is incomplete, so it can cause issues even for working cards. Moreover there is no need to force speed to 5.0 GT/s via Target Link Speed bits on PCIe Root Port Link Control 2 Register. Hardware changes speed from 2.5 GT/s to 5.0 GT/s autonomously when it is supported. Most importantly, this code does not change link speed at all, since because after updating Target Link Speed bits on PCIe Root Port Link Control 2 Register, it is required to retrain the link, and the code for that is completely missing. The code was probably needed for making buggy endpoint cards work. Such a workaround, though, should be implemented via PCIe subsystem (via quirks, for example), as buggy cards could also affect other PCIe controllers. Note that this code is fully unrelated to a38x SerDes code and really should not have been included in SerDes initialization. Usage of magic constants without names and comments made this SerDes code hard to read and understand. Remove this PCIe application code from low level SerDes code. As this code is configuring only 5.0 GT/s part, in the worst case, it could leave buggy cards at the initial speed of 2.5 GT/s (if somehow before this change they could have been "upgraded" to 5.0 GT/s speed even with missing link retraining). Compliant cards which just need longer initialization should work better after this change. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Don't overwrite PCI device IDPali Rohár
PCI device ID is part of the PCIe controller SoC / revision. For Root Complex mode (which is the default and the only mode supported currently by U-Boot and Linux kernel), it is PCI device ID of PCIe Root Port device. If there is some issue with this device ID, it should be set / updated by PCIe controller driver (pci_mvebu.c), as this register resides in address space of the controller. It shouldn't be done in SerDes initialization code. In the worst case (a specific board for example) it could be done via U-Boot's weak function board_pex_config(). But it should not be overwritten globally for all A38x devices. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Don't set PCIe Common Clock ConfigurationPali Rohár
Enabling Common Clock Configuration bit in PCIe Root Port Link Control Register should not be done unconditionally. It is enabled by operating system as part of ASPM. Also after enabling Common Clock Configuration it is required to do more work, like retraining link. Some cards may be broken due to this incomplete Common Clock Configuration and some cards are broken and do not support ASPM at all. Remove this incomplete code for Common Clock Configuration. It really should not be done in SerDes code as it is not related to SerDes, but to PCIe subsystem. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Don't overwrite read-only SAR PCIe registersPali Rohár
Device/Port Type bits of PCIe Root Port PCI Express Capabilities Register are read-only SAR registers and are initialized according to current mode configured by PCIe controller. Changing PCIe controller mode (from Root Complex mode to Endpoint mode or the other way) is possible via PCI Express Control Register (offset 0x41A00), bit 1 (ConfRoot Complex). This has to be done in PCIe controller driver (in our case pci_mvebu.c). Note that default mode is Root Complex. Maximum Link Speed bits of PCIe Root Port Link Capabilities Register are platform specific and overwriting them does not make sense. They are set by PCIe controller according to current SerDes configuration. For A38x it is 5.0 GT/s if SerDes supports appropriate speed. Maximum Link Width bits of PCIe Root Port Link Capabilities Register are read-only SAR registers, but unfortunately if this is not set correctly here, then access PCI config space of the endpoint card behind this Root Port does not work. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Add comments for hws_pex_config() codePali Rohár
Add comments to understand what this magic code is doing. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Remove duplicate macro SOC_CTRL_REGPali Rohár
SoC Control 1 Register (offset 0x18204) is already defined by macro SOC_CONTROL_REG1. Use macro SOC_CONTROL_REG1 instead of macro SOC_CTRL_REG in ctrl_pex.c code and remove the other definition. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: mvebu: a38x: serdes: Add comments and use macros in PCIe codePali Rohár
Replace magic register offsets by macros to make code more readable. Add comments about what this code is doing. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Marek Behún <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-10-08arm: a37xx: pci: Increase PCIe IO size from 64 KiB to 1 MiBPali Rohár
Commit 079b35a26111 ("arm: a37xx: pci: Increase PCIe MEM size from 16 MiB to 127 MiB") increased size of PCIe MEM to 127 MiB, which is the maximal possible size for allocated 128 MiB PCIe window. PCIe IO size in that commit was unchanged. Armada 3720 PCIe controller supports 32-bit IO space mapping so it is possible to assign more than 64 KiB if address space for IO. Currently controller has assigned 127 MiB + 64 KiB memory and therefore there is 960 KiB of unused memory. So assign it to IO space by increasing IO window from 64 KiB to 1 MiB. Signed-off-by: Pali Rohár <[email protected]> Fixes: 079b35a26111 ("arm: a37xx: pci: Increase PCIe MEM size from 16 MiB to 127 MiB") Reviewed-by: Stefan Roese <[email protected]>
2021-10-08stv0991: remove specific CONFIG_STV0991 configsPatrick Delaunay
Remove the following STV0991 specific configs: - CONFIG_STV0991 (never used, only defined in CONFIG_SYS_EXTRA_OPTIONS) - CONFIG_STV0991_HZ (replaced by generic CONFIG_SYS_HZ) - CONFIG_STV0991_HZ_CLOCK (replaced by generic CONFIG_SYS_HZ_CLOCK) This patch allows to reduce the file config_whitelist.txt. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-10-07arm64: dts: imx8mm-venice-gw7902: use imx8mm-venice-u-boot.dtsiTim Harvey
Use the common imx8mm-venice-u-boot.dtsi (dtb for the 'DEFAULT_DEVICE_TREE) so that it inherits things like binman. Signed-off-by: Tim Harvey <[email protected]>
2021-10-07arm64: dts: imx8mm-venice-gw7901: use imx8mm-venice-u-boot.dtsiTim Harvey
Use the common imx8mm-venice-u-boot.dtsi (dtb for the 'DEFAULT_DEVICE_TREE) so that it inherits things like binman. Signed-off-by: Tim Harvey <[email protected]>
2021-10-07arm64: dts: imx8mm-venice-gw700x: use imx8mm-venice-u-boot.dtsiTim Harvey
Use the common imx8mm-venice-u-boot.dtsi (dtb for the 'DEFAULT_DEVICE_TREE) so that it inherits things like binman. Signed-off-by: Tim Harvey <[email protected]>
2021-10-07imx: makefile: drop the use of imx8mimage.shPeng Fan
After switch to use binman, no need to use the bash script to check file exsiting or not. And there is bug that the script will be executed everytime Makefile is used which is confusing people. Signed-off-by: Peng Fan <[email protected]> Tested-by: Frieder Schrempf <[email protected]>
2021-10-07imx: imx8mm: Add support for Kontron Electronics SL/BL i.MX8M-Mini boards ↵Frieder Schrempf
(N801x) The Kontron SoM-Line i.MX8MM (N801x) by Kontron Electronics GmbH is a SoM module with an i.MX8M-Mini SoC, 1/2/4 GB LPDDR4 RAM, SPI NOR, eMMC and PMIC. The matching evaluation boards (Board-Line) have 2 Ethernets, USB 2.0, HDMI/LVDS, SD card, CAN, RS485 and much more. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Stefano Babic <[email protected]> Tested-by: Heiko Thiery <[email protected]>
2021-10-07imx: ventana: fix USB hub resetTim Harvey
Remove board_ehci_hcd_init function that is not used with DM_USB and replace its functionality with device-tree configuraton that treats USB HUB RST# as a gpio enable for the usbh1 vbus regulator. Signed-off-by: Tim Harvey <[email protected]>
2021-10-07imx: imx6ul: Add support for Kontron Electronics SL/BL i.MX6UL/ULL boards ↵Frieder Schrempf
(N63xx/N64xx) This adds support for i.MX6UL/ULL-based evaluation kits with SoMs by Kontron Electronics GmbH. Currently there are the following SoM flavors (SoM-Line): * N6310: SOM with i.MX6UL-2, 256MB RAM, 256MB SPI NAND * N6311: SOM with i.MX6UL-2, 512MB RAM, 512MB SPI NAND * N6411: SOM with i.MX6ULL, 512MB RAM, 512MB SPI NAND And the according evaluation boards (Board-Line): * N6310-S: Baseboard with SOM N6310, eMMC, display (optional), ... * N6311-S: Baseboard with SOM N6311, eMMC, display (optional), ... * N6411-S: Baseboard with SOM N6411, eMMC, display (optional), ... Currently U-Boot describes i.MX6UL and i.MX6ULL through separate config options at compile-time. Though the differences are so minor, that for the scope of these SoMs we just use a single defconfig that is compatible with both SoCs. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2021-10-07ARM: dts: imx: use generic name busOleksandr Suvorov
Synchronize the u-boot and kernel imx device trees, using tuned script from commit c0157bdcafa1 ("ARM: dts: imx: use generic name bus") Per devicetree specification, generic names are recommended to be used, such as bus. i.MX AIPS is an AHB - IP bridge bus, so we could use bus as node name. Script: sed -i "s/\<aips@/bus@/" arch/arm/dts/imx*.dtsi sed -i "s/\<aips@/bus@/" arch/arm/dts/vf*.dtsi sed -i "s/\<aips-bus@/bus@/" arch/arm/dts/imx*.dtsi sed -i "s/\<aips-bus@/bus@/" arch/arm/dts/vf*.dtsi Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2021-10-07mx7ulp: Update wdog disable sequenceYe Li
Update the mx7ulp wdog disable sequence to avoid potential reset issue in unlock or refresh sequence. Both sequence need two words write to wdog CNT register in 16 bus clocks window, if miss the window, the write will cause violation in wdog and reset the chip. Current u-boot code is using writel() function which has a DMB barrier to order the memory access. The DMB between two words write may introduce some delay in certain circumstance, causing the wdog reset due to 16 bus clock window requirement. Also, WDOG1 might have been enabled already depending on FUSE hence we need to be as close as possible to its reconfiguration timing requirement of 128 bus clock limit. This patch replaces writel() function by __raw_writel() to avoid such issue, and improve to check if watchdog is already disabled or unlocked. Signed-off-by: Ye Li <[email protected]> Co-developed-by: Jorge Ramirez-Ortiz <[email protected]> Signed-off-by: Jorge Ramirez-Ortiz <[email protected]> Co-developed-by: Ricardo Salveti <[email protected]> Signed-off-by: Ricardo Salveti <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]>
2021-10-07ARM: dts: imx6-apalis: enable watchdogRicardo Salveti
Add u-boot.dtsi specific to imx6-apalis with a watchdog enabled. If OP-TEE is loaded by SPL, it may use a watchdog to handle fails of u-boot running. Enable the watchdog in SPL to use it by OP-TEE. Signed-off-by: Ricardo Salveti <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Igor Opaniuk <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2021-10-07ARM: dts: imx8mm-verdin: Set PHY mode to RGMII-IDMarek Vasut
Since c6df0e2ffdc ("net: phy: micrel: add support for DLL setup on ksz9131") the Micrel PHY driver correctly configures the delay register. The Verdin PHY is RGMII-ID, so reflect that in DT, otherwise the ethernet no longer works. Signed-off-by: Marek Vasut <[email protected]> Cc: Marcel Ziswiler <[email protected]> Cc: Max Krummenacher <[email protected]> Cc: Oleksandr Suvorov <[email protected]>
2021-10-07arm: dts: imx8mp: Generate single bootable binaryTeresa Remmet
binman conversion made flashing flash.bin and u-boot.itb necessary. Update binman config to create a single flash.bin image again. This updates imx8mp_evk and phyCORE-i.MX8MP as they share the same binman config. Updated also imx8mp_evk documentation. Tested on phyCORE-i.MX8MP. Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-10-07tree: imx: remove old fit generator scriptAndrey Zhizhikin
Since derivatives are moving to binman from usage of the FIT generator script, and considering the warning introduced in f4a43d2925 ("Makefile: Warn against using CONFIG_SPL_FIT_GENERATOR"), usage of FIT generator is discouraged. Current FIT generator also generates broken output, since commit 3f04db891a ("image: Check for unit addresses in FITs") prohibits using '@' for unit addresses but the generator script still emits the old sematics. Remove the generator script and corresponding call in Makefile, all derivatives should be migrated to binman in order to provide binary images. Signed-off-by: Andrey Zhizhikin <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-10-07imx8mm-cl-iot-gate: Split the defconfigsFabio Estevam
Currently imx8mm-cl-iot-gate_defconfig fails to produce a working boot binary due to the lack of fip.bin: " BINMAN all Image 'main-section' is missing external blobs and is non-functional: blob-ext Some images are invalid" To make the build process more consistent with the other i.MX8M targets, split the defconfig in two: - imx8mm-cl-iot-gate_defconfig: standard defconfig that only requires ATF / DDR firmware. - imx8mm-cl-iot-gate-optee_defconfig: "more advanced" defconfig that requires ATF / Optee / mbedtls / DDR firmware. Signed-off-by: Fabio Estevam <[email protected]> Tested-by: Ying-Chun Liu (PaulLiu) <[email protected]>
2021-10-07mx7ulp: Allow to enable CONFIG_IMX_HABRicardo Salveti
Secure boot support on mx7ulp was added in the commit 27117b2024b6 ("mx7ulp: Add HAB boot support"). Allow selecting CONFIG_IMX_HAB for ARCH_IMX7ULP. Fixes: 27117b2024b6 ("mx7ulp: Add HAB boot support") Signed-off-by: Ricardo Salveti <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-10-07imx8m: Restrict usable memory based on rom_pointer[0]Ying-Chun Liu (PaulLiu)
When TEE is loaded, we need to restrict the memory usage based on rom_pointer[0] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Frieder Schrempf <[email protected]> Cc: uboot-imx <[email protected]> Reviewed-by: Frieder Schrempf <[email protected]>
2021-10-07arm: dts: imx8mm-venice*: remove thermal zone overridesTim Harvey
Remove the unnecessary thermal zone overrides. Signed-off-by: Tim Harvey <[email protected]>
2021-10-07arm: dts: imx8mm-venice-gw700x: fix mp5416 pmic configTim Harvey
Fix various MP5416 PMIC configurations: - Update regulator names per dt-bindings - ensure values fit among valid register values - add required regulator-max-microamp property - add regulator-always-on prop Signed-off-by: Tim Harvey <[email protected]>
2021-10-07imx53: usbarmory: Add card detect configurationAndrej Rosano
After the enforcement of DM_MMC the microSD card is not detected. Fix by correctly configuring the card detect in the devicetree. Signed-off-by: Andrej Rosano <[email protected]>
2021-10-07arm: imx8m: Fix pad DSE issue for i.MX8MM/MN/MPYe Li
According to 8MM/MN/MP reference manual, their pad registers only have 4 valid DSE values. And DSE2 and DSE4 are different with current definitions in iomux-v3.h. Fix the issue to align with manual. Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]>
2021-10-07imx: spl: fix imx8m secure bootHeiko Schocher
cherry-picked from NXP code: 719d665a87c6: ("MLK-20467 imx8m: Fix issue for booting signed image through uuu") which fixes secure boot on imx8m based boards. Problem was that FIT header and so IVT header too, was loaded to memallocated address. So the ivt header address coded in IVT itself does not fit with the real position. Signed-off-by: Heiko Schocher <[email protected]> Tested-by: Tim Harvey <[email protected]>