aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)AuthorFilesLines
2023-12-21rmobile: Add <mach/rmobile.h> to cpu_info-rzg2l.cTom Rini1-0/+1
In order for RMOBILE_CPU_TYPE_R9A07G044L to be defined we need to include <mach/rmobile.h> here. Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-12-21arm: Remove <asm/types.h> from asm/global_data.hTom Rini1-1/+0
We need and include <linux/types.h> and this in turn already includes <asm/types.h>, so drop it here. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-12-21arm: Partial cleanup and audit usage of <config.h>Tom Rini13-15/+2
We need to include <config.h> directly when a file needs to have something such as CFG_SYS_SDRAM_SIZE referenced as this file is not automatically globally included and is most commonly indirectly included via common.h. Remove most cases of arm including config.h directly, but add it where needed. This includes a few board-specific fixes. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-12-21global: Restrict use of '#include <linux/kconfig.h>'Tom Rini5-5/+0
In general terms, we -include include/linux/kconfig.h and so normal U-Boot code does not need to also #include it. However, for code which is shared with userspace we may need to add it so that either our full config is available or so that macros such as CONFIG_IS_ENABLED() can be evaluated. In this case make sure that we guard these includes with a test for USE_HOSTCC so that it clear as to why we're doing this. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-12-20colibri-imx8x: configure usb hub to bypass modeAndrejs Cainikovs2-2/+15
This change configures Toradex Colibri iMX8X SoM USB hub to bypass mode, and brings out of the reset state. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-12-20colibri-imx8x: remove -u-boot.dtsi includeAndrejs Cainikovs1-1/+0
This file is included automatically since quite some time now. From documentation: U-Boot automatically looks for and includes a file with updates to the standard devicetree for your board, searching for them in the same directory as the main file, in this order: <orig_filename>-u-boot.dtsi <CONFIG_SYS_SOC>-u-boot.dtsi <CONFIG_SYS_CPU>-u-boot.dtsi <CONFIG_SYS_VENDOR>-u-boot.dtsi u-boot.dtsi Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-12-20apalis-imx8: remove -u-boot.dtsi includeAndrejs Cainikovs1-1/+0
This file is included automatically since quite some time now. From documentation: U-Boot automatically looks for and includes a file with updates to the standard devicetree for your board, searching for them in the same directory as the main file, in this order: <orig_filename>-u-boot.dtsi <CONFIG_SYS_SOC>-u-boot.dtsi <CONFIG_SYS_CPU>-u-boot.dtsi <CONFIG_SYS_VENDOR>-u-boot.dtsi u-boot.dtsi Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-12-20arm: dts: imx8mp-venice-gw72xx: add TPM deviceTim Harvey2-1/+17
Add the TPM device found on the GW72xx revision F PCB. This hangs off of SPI2, uses gpio1_10 as a CS and gpio1_11 as RST#. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2023-12-20arm: dts: imx8mm-venice-gw72xx: add TPM deviceTim Harvey2-1/+16
Add the TPM device found on the GW72xx revision F PCB. This hangs off of SPI2, uses gpio1_10 as a CS and gpio1_11 as RST#. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2023-12-20mxs: Fix VDDx brownout interrupt disable/enableCody Green1-3/+5
Incorrect registers HW_POWER_VDDIOCTRL, HW_POWER_VDDACTRL and HW_POWER_VDDDCTRL are used in the current code to disable/enable brownout interrupts in 'mxs_power_set_vddx()'. Change register to HW_POWER_CTRL which contains brownout interrupt enable bits ENIRQ_VDDIO_BO, ENIRQ_VDDA_BO and ENIRQ_VDDD_BO. Signed-off-by: Cody Green <cody@londelec.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Lukasz Majewski <lukma@denx.de>
2023-12-20Merge tag 'u-boot-amlogic-next-20231220' of ↵WIP/20Dec2023-nextTom Rini14-79/+185
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - Add support for new GXL MDIO mux, with driver and Linux DT sync from v6.4
2023-12-19board: compal: paz00: clean up the boardSvyatoslav Ryhel1-2/+2
Since implementation of pinctrl driver for T20 Paz00 can switch to device tree pinmux setup along with remove of board pinmux and some minor device tree and defconfig tweaks. Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20 Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: htc: endeavoru: switch to DM pinmuxSvyatoslav Ryhel1-0/+1147
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used for the Linux device tree and are set according to the downstream kernel.  Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: asus: transformer: switch to DM pinmuxSvyatoslav Ryhel8-0/+3289
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used in the Linux device tree.  Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: lg: x3-t30: switch to DM pinmuxSvyatoslav Ryhel3-0/+1028
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used for the Linux device tree and are set according to the service manual. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19board: asus: grouper: switch to DM pinmuxSvyatoslav Ryhel4-0/+1087
Drop the pinmux setup in the board in favor of setting it up in the device tree. Device tree nodes match nodes used in the Linux device tree. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: pinctrl: tegra: incorporate existing codeSvyatoslav Ryhel19-2602/+14
Move all existing pinmux and funcmux code into a dedicated folder in pinctrl to simplify further maintenance. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19drivers: pinctrl: create Tegra DM pinctrl driverSvyatoslav Ryhel5-0/+1696
The existing pinctrl driver available for Tegra SOC is well designed, but it lacks DM support. Let's add a DM compatible overlay, which allows use of the device tree, along with preserving backward compatibility with all existing setups and the ability to use it in SPL board configuration stage. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: mach-tegra: rearrange SPL configsSvyatoslav Ryhel1-1/+2
SPL configs are used only by the ARMv7-based Tegra SOC's, so move SPL_SYSRESET under TEGRA_ARMV7_COMMON selection and enable SPL_DM since SPL_SYSRESET depends on it. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: tegra114: clock: implement PLLD2 supportSvyatoslav Ryhel2-1/+8
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: tegra30: clock: implement PLLD2 supportSvyatoslav Ryhel4-3/+12
PLLD2 is a simple clock (controlled by 2 registers) and appears starting from T30. Primary use of PLLD2 is as main HDMI clock parent. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19ARM: tegra: clock: support get and set rate for simple PLLSvyatoslav Ryhel6-21/+126
Simple PLL clocks like PLLD2 were omitted since they do not share common 4 register structure with main clocks. Such clocks are containd in simple PLL group. Only clock_start_pll function supported them. This patch expands this support on clock_set_rate and clock_get_rate which should make simple PLL clocks equal to main PLL clocks. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-19Merge patch series "Fix J7200 kernel boot when using upstream u-boot"Tom Rini2-3/+13
Reid Tonking <reidt@ti.com> says: Since the 09.01.00.002 release of ti-linux-firmware [0] upstream uboot has led to the kernel hanging during boot [1] for the TI J7200 S0C. The issue was found to be a few patches that had be added to ti-u-boot, but not yet upstreamed. This series adds the missing two patches to allow upstream u-boot to boot the kernel properly [2]. [0] https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/commit/?h=ti-linux-firmware-next&id=952fd03e36a50ec070e73560dc1060102d637ce0 Boot logs: [1] https://gist.github.com/reidt1/5f4e85a0db258bcf20d7168bd0caebd0 [2] https://gist.github.com/reidt1/e950dc97f15ad0a09623d64f81edac39 Links to patches on ti-u-boot: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/?h=ti-u-boot-2023.04-next&id=d878fbef4d4460e87608d8d2dfe5311499de49c5 https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/?h=ti-u-boot-2023.04-next&id=543e735fe495be233a8a75b19b3d7f8ed44251e0
2023-12-19Merge patch series "Add support for MediaTek MT8365 EVK Board"Tom Rini7-0/+1604
Julien Masson <jmasson@baylibre.com> says: This patch series add the support for the MediaTek MT8365 EVK Board [1]. Most of the code have been copied/adapted from Linux tag v6.7-rc2. For now we only enable/test these features: Boot, UART, Watchdog and MMC. [trini: This includes two clocks not listed in the Linux binding, which needs resyncing later]
2023-12-19arm: dts: k3-j7200-r5-common-proc-board: Set parent clock for clock ID 323Reid Tonking1-1/+2
Previously, dynamic frequency scaling supported rates only through fixed divison. This virtual clock mux configuration enables more varied rates on A72 clock ID 202 by setting up the required register. Reviewed-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Reid Tonking <reidt@ti.com>
2023-12-19arm: mach-k3: j72xx: add new 'virtual' muxBryan Brattlof1-2/+11
In order for the Cortex-A72s to operate at different frequencies other than the default 2GHz, add in a new 'virtual' mux (a mux that does not physically exist in the clock tree) that can be selected. CC: Vishal Mahaveer <vishalm@ti.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Signed-off-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Reid Tonking <reidt@ti.com> Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2023-12-19board: mediatek: add MT8365 EVK board supportJulien Masson2-0/+700
This adds support for the MT8365 EVK board with the following features enabled/tested: Boot, UART, Watchdog and MMC. Signed-off-by: Julien Masson <jmasson@baylibre.com>
2023-12-19arm: mediatek: add support for MediaTek MT8365 SoCJulien Masson5-0/+904
This patch adds basic support for MediaTek MT8365 SoC. The dtsi has been copied from Linux source code tag v6.7-rc2. (commit 9b5d64654ea8f51fe1e8e29ca1777b620be8fb7c) Signed-off-by: Julien Masson <jmasson@baylibre.com>
2023-12-19arm: mach-k3: am625: Relax emmc boot conditionMichael Trimarchi1-5/+2
spl_mmc_emmc_boot_partition return a number different from 0 if the partition is a boot one. We can have the uboot img for instance in a raw offset in emmc partition 0 so we would like to continue to load the next stage. If the user want to use EMMC as boot device allow him to use any part of the emmc and not only boot partition Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2023-12-19ARM: dts: sync Amlogic GX DT to Linux v6.4Neil Armstrong14-79/+185
Sync Amlogic GXBB, GXL & GXM DTs from Linux v6.4, and also switch to GXL MDIO MUX driver to adapt to DT change, Most of the changes are only cosmetic or doesn't concern U-Boot, the most important change for U-Boot is the GXL mdio mux compatible switch to amlogic,gxl-mdio-mux. Link: https://lore.kernel.org/r/20231213-u-boot-gxl-mdio-mux-v2-2-c56bb02a75ea@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-12-18Merge tag 'v2024.01-rc5' into nextTom Rini10-13/+83
Prepare v2024.01-rc5
2023-12-15Merge tag 'clk-2024.01-next' of ↵WIP/15Dec2023-nextTom Rini1-57/+0
https://source.denx.de/u-boot/custodians/u-boot-clk into next clock patches for u-boot/next The main thing in here is Igor's conversion of soc_clk_dump to a clk_ops member. There's also a write-protect feature for nuvoton clocks. Signed-off-by: Sean Anderson <seanga2@gmail.com>
2023-12-15arm: mach-k3: Merge initial memory mapsAndrew Davis1-226/+2
The Device vs Normal memory map is the same for all K3 SoCs. Merge the SoC specific maps into one. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com> Tested-by: Nishanth Menon <nm@ti.com>
2023-12-15arm: mach-k3: Remove non-cached memory map areasAndrew Davis1-27/+3
All normal memory areas should be mapped as such. We added these un-cached holes in our memory map to hack around the remoteproc driver missing the proper cache maintenance operations. The problem is having these non-cached memory map areas causes stability issues later in system operation due to the nature of the K3 coherency architecture. Plus these are board specific carveouts and instead should have been added at the board level, not here in the SoC common code area. Remove these non-cached memory map areas. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com> Tested-by: Nishanth Menon <nm@ti.com>
2023-12-15arm: mach-k3: Do not map ATF and OPTEE regions in MMUAndrew Davis1-4/+10
ATF and OPTEE regions may be firewalled from non-secure entities. To prevent access to this area we leave a hole there in the MMU map. This is the same idea as [0] but we complete that patch by adding the same for AM65, J721e, J7200, and J721s2 here. [0] commit 0688ff3ae23c ("arm: mach-k3: arm64-mmu: do not map ATF and OPTEE regions in A53 MMU") Signed-off-by: Andrew Davis <afd@ti.com>
2023-12-15arm: mach-k3: Let the compiler size the mem_map listsAndrew Davis1-29/+6
NR_MMU_REGIONS is a copy/paste from another platform that extends this list later. We do not do that, so let the list be the size of the initializer list. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com> Tested-by: Nishanth Menon <nm@ti.com>
2023-12-15arm: mach-k3: Move K3 common schema.yaml out of board directoryAndrew Davis3-80/+450
This file is common for all K3, move it out of board/ directory and into mach-k3. As we need to change the path in k3-binman.dtsi let's take this opportunity to switch to absolute paths which makes adding non-TI boards (like Toradex Verdin) not need to override these paths. Signed-off-by: Andrew Davis <afd@ti.com>
2023-12-15clk: zynq: Move soc_clk_dump to Zynq clock driverIgor Prusov1-57/+0
Move clock dump function in preparation for switching to dump function in clk_ops. Acked-by: Michal Simek <michal.simek@amd.com> Signed-off-by: Igor Prusov <ivprusov@sberdevices.ru> Link: https://lore.kernel.org/r/20231109105516.24892-2-ivprusov@sberdevices.ru
2023-12-15ARM: dts: stm32: support MIPI DSI on stm32f469-disco boardDario Binacchi1-0/+4
Unlike Linux, the DSI driver requires the LTDC clock to be properly probed. Hence, the changes made to the DSI node. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-12-15ARM: dts: stm32: make the DSI clock usable by the clock driverDario Binacchi1-0/+5
As described in [1], the "clocks" property contains "a phandle to the clock device node, an index selecting between gated clocks (0) and other clocks (1), and an index specifying the clock to use." The current version of the clock driver, unlike the kernel, is currently able to properly handle nodes with "clocks" properties with an index set to 0. This patch is preparatory for future developments that require the use of the DSI clock. [1] Documentation/devicetree/bindings/clock/st,stm32-rcc.txt Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-12-15ARM: dts: stm32: make the LTDC clock usable by the clock driverDario Binacchi1-0/+4
As described in [1], the "clocks" property contains "a phandle to the clock device node, an index selecting between gated clocks (0) and other clocks (1), and an index specifying the clock to use." The current version of the clock driver, unlike the kernel, is currently able to properly handle nodes with "clocks" properties with an index set to 0. This patch is preparatory for future developments that require the use of the LTDC clock. [1] Documentation/devicetree/bindings/clock/st,stm32-rcc.txt Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-12-15ARM: dts: stm32f469-disco: sync with Linux 6.5Dario Binacchi1-2/+2
Sync the devicetree with linux 6.5 for stm32f746-disco board. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-12-15ARM: dts: stm32f769-disco: rework ltdc nodeDario Binacchi2-14/+13
With commit f479f5dbb7ac ("ARM: dts: stm32: add ltdc support on stm32f746 MCU"), which adds the 'ltdc' node in stm32f746.dtsi, we can simplify stm32f769-disco-uboot.dtsi and align stm32f769-disco.dtsi with the kernel version. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2023-12-14ddr: imx: Add 3600 MTps rate supportMarek Vasut1-0/+1
Add PLL settings for DDR 3600 MTps . This is very similar to 3200 MTps PLL setting, except the divider is not 9 but 8 . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2023-12-14arm64: imx8mp: Inhibit DTC warning on DH i.MX8MP DHCOM rev.100 DTOMarek Vasut1-0/+2
Inhibit DTC warning in imx8mp-dhcom-pdk3-overlay-rev100.dts: " arch/arm/dts/imx8mp-dhcom-pdk3-overlay-rev100.dtbo: Warning (reg_format): /fragment@0/__overlay__:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) arch/arm/dts/imx8mp-dhcom-pdk3-overlay-rev100.dtbo: Warning (avoid_default_addr_size): /fragment@0/__overlay__: Relying on default #address-cells value arch/arm/dts/imx8mp-dhcom-pdk3-overlay-rev100.dtbo: Warning (avoid_default_addr_size): /fragment@0/__overlay__: Relying on default #size-cells value " The DTO overwrites the 'reg' property of an ethernet PHY and is only used on specific combination of old prototype SoM and old prototype PDK3 carrier board, which had incorrectly placed pull resistor, which made the PHY change its MDIO address in that specific combination and which is already fixed on production hardware. The DTO is implemented in this simple manner because if it contained a full MDIO bus node reference to define #address-cells and #size-cells, it would also require a full new copy of the PHY node, i.e. ethernet-phy@5 { ... reg = <5>; ... }, to avoid DTC warnings about mismatch between node unit and reg value. The node unit in SoM DT is ethernet-phy@7 { ... }; . This simpler approach avoids unnecessary duplication without adverse side effects. Reported-by: Fabio Estevam <festevam@denx.de> Reported-by: Sean Anderson <seanga2@gmail.com> Signed-off-by: Marek Vasut <marex@denx.de> Tested-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2023-12-14Merge tag 'xilinx-for-v2024.04-rc1' of ↵WIP/14Dec2023-nextTom Rini17-29/+13
https://source.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2024.04-rc1 zynqmp: - Introduce Kria specific defconfig - Calculate SPI image location based on boot offset - DT updates zynqmp-clk: - Fix topsw_lsbus_clock for DP axi-enet: - Support older DT binding mailbox: - Add support for multiple mailboxes pcie-xilinx: - Covert driver to newer interface - Enable MMIO region zynq: - dfu updates - Enable capsule update for Antminer S9 - DT updates xilinx_spi: - Add new xfer callback and support runtime fifo depth discovery
2023-12-14Merge tag 'u-boot-imx-next-20231214' of ↵Tom Rini29-472/+2593
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next - Add TPM support for venice boards - Add networking support for imx93-evk - Enable TCP, IPv6, wget for DHCOM and Data Modul boards - Enable fastboot support for Toradex boards - Allow pico-imx7d to boot from SD - Enable fastboot for beacon imx8m beacon boards, disabled SYS_CONSOLE_IS_IN_ENV - Fix mxsboot to prevent NAND blocks being reported as bad - Add imx8mm PWM clock support - Several devicetree syncs with the kernel - Add support for i.MX8MP Polyhex Debix Model A SBC - Reworked ddr_load_train_firmware() to get a 50ms boot time improvement
2023-12-13arm: dts: k3-*-binman: Move to using ti-dm entry typeNeha Malcom Francis6-12/+12
Move the DM entry in tispl.bin FIT image from default fetching an external blob entry to fetching using ti-dm entry type. This way, the DM entry will be populated by the TI_DM pathname if provided. Else it will resort to the ti-dm.bin file. Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Andrew Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-12-13pico-imx7d: add baseboard SD card boot detectBenjamin Szőke1-0/+1
Technexion PICO-IMX7 SoM is supporting USDHC3 (eMMC or micro SD on SoM) and USDHC1 (SD on carrier board) to use on any carrier board like PICO-NYMPH. Based on the U-Boot version from Technexion it adds baseboard SD card boot detect to able to boot from selected USDHC1 or USDHC3 boot devices. Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu> Tested-by: Fabio Estevam <festevam@gmail.com>
2023-12-13imx: imx-hab: Select SPL_DRIVERS_MISC in the SPL caseFabio Estevam1-0/+1
Selecting CONFIG_IMX_HAB=y on a SPL target, such as apalis_imx6_defconfig, for example, leads to the following build error: /usr/bin/arm-linux-gnueabihf-ld.bfd: arch/arm/mach-imx/hab.o: in function `imx_hab_is_enabled': arch/arm/mach-imx/hab.c:879: undefined reference to `fuse_read' fuse_read() comes from SPL_MXC_OCOTP, which depends on SPL_DRIVERS_MISC, since commit 251a3053b1e6 ("misc: imx: remove DM dependency for ocotp driver in SPL"). Select SPL_DRIVERS_MISC in the SPL case to fix this build issue. Reported-by: Lisandro Pérez Meyer <lpmeyer@ics.com> Signed-off-by: Fabio Estevam <festevam@denx.de> Tested-by: Lisandro Pérez Meyer <lpmeyer@ics.com>