summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2022-10-20imx: kontron-sl-mx8mm: Prepare for I2C display detection in environment scriptFrieder Schrempf
Enable the I2C bus and set a env variable for the reset GPIO of the touch controller. This allows us to probe the panel in a script. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Add support for Kontron Electronics SoM SL i.MX8MM OSM-SFrieder Schrempf
This adds support for the Kontron Electronics SoM SL i.MX8MM OSM-S and the matching baseboard BL i.MX8MM OSM-S. The SoM hardware complies to the Open Standard Module (OSM) 1.0 specification, size S (https://sget.org/standards/osm). The existing board configuration for the non-OSM SoM is reused and allows to detect the SoM variant at runtime. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Use voltage rail names from schematic for PMIC ↵Frieder Schrempf
regulator-names Improve the naming of the regulators to contain the voltage rail names from the schematic. Suggested-by: Heiko Thiery <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Use the VSELECT signal to switch SD card IO voltageFrieder Schrempf
It turns out that it is not necessary to declare the VSELECT signal as GPIO and let the PMIC driver set it to a fixed high level. This switches the voltage between 3.3V and 1.8V by setting the PMIC register for LDO5 accordingly. Instead we can do it like other boards already do and simply mux the VSELECT signal of the USDHC interface to the pin. This makes sure that the correct voltage is selected by setting the PMIC's SD_VSEL input to high or low accordingly. Reported-by: Heiko Thiery <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Heiko Thiery <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Adjust devicetree names, compatibles and model stringsFrieder Schrempf
This adjusts the names of the boards and SoMs to the official naming used by Kontron marketing. These changes also affect devicetree names and compatibles. The same changes have been submitted to the Linux kernel. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Remove 100mt DDR setpointFrieder Schrempf
The new stable configuration is missing the 100mt setpoint, remove it before updating the config to make sure the changes are separated cleanly. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Add redundant environment and SPI NOR partitionsFrieder Schrempf
Enable the redundant environment feature to allow falling back in case of storage corruption. The partition layout for the SPI NOR device is added to the devicetree. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: kontron-sl-mx8mm: Remove LVDS board type and devicetreesFrieder Schrempf
The display isn't and won't be used in U-Boot. Also the display setup is not yet supported in mainline Linux, so even for cases where the U-Boot devicetree is passed to the kernel there is currently no use for this configuration. Selecting the proper configuration in the kernel FIT image automatically depending on the detected hardware can be handled by a script in the environment. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-10-20imx: imx6ul: kontron-sl-mx6ul: Sync devicetreesFrieder Schrempf
Sync the devicetrees with Linux and adjust the board names. Signed-off-by: Frieder Schrempf <[email protected]>
2022-10-20arm: dts: imx8mm-venice-gw7902: add LTE modem gpiosTim Harvey
Add missing LTE_PWR# and LTE_RST gpio pinmux. Signed-off-by: Tim Harvey <[email protected]> Acked-by: Peng Fan <[email protected]>
2022-10-20Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
2022-10-20Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Beside some rather unexciting sync of the DTs from the kernel tree, and some Kconfig cleanup, there are some improvements for the ARMv5 Allwinner family, to support boards with the F1C200s (64MB DRAM) better. We will get actual board support as soon as the DTs have passed the Linux review process. There is also support for the X96 Mate TV Box, featuring the H616 SoC and a full 4GB of DRAM. Also we found the secret to enable SPI booting on the H616 (pin PC5 must be pulled to GND), so the SPI boot support patch is now good to go. Passed the gitlab CI, plus briefly tested on Pine64-LTS, LicheePi Nano, X96 Mate and OrangePi Zero.
2022-10-20riscv: andes_plic.c: use modified IPI schemeYu Chien Peter Lin
The IPI scheme in OpenSBI has been updated to support 8-core AE350 platform, the plicsw configuration needs to be modified accordingly. Signed-off-by: Yu Chien Peter Lin <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2022-10-20riscv: support building double-float modulesHeinrich Schuchardt
The riscv32 toolchain for GCC-12 provided by kernel.org contains libgcc.a compiled for double-float. To link to it we have to adjust how we build U-Boot. As U-Boot actually does not use floating point at all this should not make a significant difference for the produced binaries. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2022-10-19suniv: add UART1 supportAndre Przywara
Some boards with the Allwinner F1C100s family SoCs use UART1 for its debug UART, so define the pins for the SPL and the pinmux name and mux value for U-Boot proper. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2022-10-19suniv: move SKIP_LOWLEVEL_INIT_ONLY into KconfigAndre Przywara
So far we stated the lack of a lowlevel() init function for the Allwinner F1C100s board by defining the respective SKIP_* symbol in the board's defconfig. However we don't expect any *board* to employ such low level code, so expect this to be never used for the ARMv5 Allwinner SoCs. Select the appropriate symbols in the Kconfig, so that we can remove them from the defconfig, and avoid putting them in future defconfigs for other boards. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2022-10-19sunxi: Kconfig: introduce SUNXI_MINIMUM_DRAM_MBAndre Przywara
Traditionally we assumed that every Allwinner board would come with at least 256 MB of DRAM, and set our DRAM layout accordingly. This affected both the default load addresses, but also U-Boot's own address expectations (like being loaded at 160 MB). Some SoCs come with co-packaged DRAM, but only provide 32 or 64MB. So far we special-cased those *chips*, as there was only one chip per DRAM size. However new chips force us to take a more general approach. Introduce a Kconfig symbol, which provides the minimum DRAM size of the board. If nothing else is specified, we use 256 MB, and default to smaller values for those co-packaged SoCs. Then select the different DRAM maps according to this new symbol, so that different SoCs with the same DRAM size can share those definitions. Inspired by an idea from Icenowy. This is just refactoring: compiled for all boards before and after this patch: the binaries were identical. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2022-10-19sunxi: fix SUNIV build when enabling D-CacheIcenowy Zheng
The enable_caches function in architecture-specific board code is only necessary for V7A CPUs, code for both V8A and ARM926 have already declared this function. Only provide our implementation of enable_caches() for V7A CPUs. Signed-off-by: Icenowy Zheng <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2022-10-19arm: dts: rockchip: rk356x: sync with Linux 6.0FUKAUMI Naoki
prepare for rk3566 based board Signed-off-by: FUKAUMI Naoki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: puma-rk3399: migrate to u-boot-rockchip-spi.binQuentin Schulz
Now that a single binary containing TPL/SPL correctly formatted for SPI flashes and U-Boot proper, can be generated by binman, let's do it. Also update the documentation to tell the user to use this newly generated file instead of manually generating and flashing the binaries. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: puma-rk3399: migrate to u-boot-rockchip.binQuentin Schulz
The offset of the SPL payload on Puma is different than for other Rockchip devices in that it is stored at offset 256K instead of much further away in the MMC. Flashing one binary instead of two at different offsets is much more user friendly so let's migrate to it by modifying the offset in the Puma specific Device Tree. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: puma-rk3399: migrate to TPLQuentin Schulz
Depending on the toolchain used to compile the SPL for Puma RK3399-Q7 module, the board does not boot because the resulting binary is too big to fit in SRAM. Let's add a TPL so that there's no need to fiddle with or hack the defconfig to have a working bootloader. This follows what's been done for the majority of other RK3399-based boards. See the original commit for the first migrations: bdc00080111f "rockchip: rk3399: update defconfig for TPL" Unfortunately, the offset in SPI-NOR for U-Boot proper needs to be modified, since the move from SPL to TPL+SPL for idbloader.img (and the "only the first 2KB per 4KB blocks are written" "hack" for rkspi format) increased the size above 256KB. Let's move it to 512KB to, hopefully, be safe. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: puma-rk3399: allow non-SD-Card-loaded SPL to load U-Boot proper ↵Quentin Schulz
from SD-Card Trying to load U-Boot proper from SPL when SPL was not loaded from SD-Card is currently not working because the SDMMC pins aren't muxed correctly. It is assumed the BootROM is doing this for us when booting from SD-Card hence why it's not needed when booting TPL/SPL from SD-Card. The pinctrl properties are removed from the SPL DT property removal list and the pinctrl configuration nodes made available in the SPL DT, in addition to the pull-up configurations to allow loading U-Boot proper from SD-Card as a fallback mechanism for SPI-NOR and eMMC. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: puma-rk3399: use gpio-hog instead of fixed-regulator for enabling ↵Quentin Schulz
eMMC/SPI-NOR On Haikou devkit, it is possible to disable eMMC and SPI-NOR to force booting from SD card or USB via rkdeveloptool by toggling a switch. This switch needs to be overridden in software to be able to access eMMC and SPI-NOR once the device has booted from SD Card. Puma SoM can override this pin via gpio3_d5. Until now, fixed regulator device was abused to model this, but since there's now support for GPIO hogs, let's use it. Since we want to be able to boot the SPL from SD Card but give it the ability to load U-Boot proper from a fallback medium such as eMMC and SPI-NOR, SPL support for GPIO hogs needs to be enabled too. Support for other kinds of regulators are not needed anymore, so let's disable them. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: rk3399: Add EAIDK-610 supportAndy Yan
Specification - Rockchip RK3399 - LPDDR3 4GB - TF sd scard slot - eMMC - AP6255 for WiFi + BT - Gigabit ethernet - HDMI out - 40 pin header - USB 2.0 x 2 - USB 3.0 x 1 - USB 3.0 Type-C x 1 work in otg mode - 12V DC Power supply The dts file is sync from linux-next[0]. [0]:https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts Signed-off-by: Andy Yan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: px30: support debug uart on UART0Quentin Schulz
UART0 can obviously also be used for debug uart in U-Boot, so let's add its support. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: rk3399: fix incorrect ifdef check on SPL_GPIOQuentin Schulz
The check to perform is on CONFIG_SPL_GPIO and not SPL_GPIO. Because this was never compiled in, it missed an include of cru.h that was not detected before. Let's include it too. Also switch to IS_ENABLED in-code check as it is the preferred inclusion/exclusion mechanism. Fixes: 07586ee4322a ("rockchip: rk3399: Support common spl_board_init") Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: rk3399: fix incorrect ifdef check on SPL_DM_REGULATORQuentin Schulz
The check to perform is on CONFIG_SPL_DM_REGULATOR and not SPL_DM_REGULATOR. Also switch to in-code check instead of ifdefs. Fixes: 07586ee4322a ("rockchip: rk3399: Support common spl_board_init") Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Tested-by: Peter Robinson <[email protected]> # Rock960 Reviewed-by: Kever Yang <[email protected]>
2022-10-19arm: dts: rockchip: rk3288: partial sync from LinuxJohan Jonker
Partial sync of rk3288.dtsi from Linux version 5.18 Changed: only properties and functions that are not yet included swap some clocks positions fix some irq numbers style and sort nodes Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19arm: dts: rockchip: update cpu and gpu nodesJohan Jonker
In order to better compare the Linux rk3288.dtsi version with the u-boot version update the cpu and gpu nodes. Changed: use operating-points-v2 update thermal for all cpus add labels to all cpus change gpu compatible change gpu interrupt names Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19arm: dts: rockchip: rk3288: move thermal sub nodes to dtsiJohan Jonker
In order to better compare the Linux rk3288.dtsi version with the u-boot version move thermal sub nodes to the dtsi file and remove rk3288-thermal.dtsi Changed: replace underscore in nodename remove comments about sensor and ID use gpu phandle add #cooling-cells to gpu node lower critical temparature remove linux,hwmon property Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-19rockchip: phycore_rk3288: remove phycore_init() functionJohan Jonker
The phycore_rk3288 board has a SPL size problem, so remove phycore_init() function to stay within the limits. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2022-10-18arm: mach-k3: Move hardware handling to common filesAndrew Davis
These hardware register definitions are common for all K3, remove duplicate data them by moving them to hardware.h. While here do some minor whitespace cleanup + grouping. Signed-off-by: Andrew Davis <[email protected]>
2022-10-18arm: mach-k3: security: Use dma-mapping for cache opsAndrew Davis
This matches how this would be done in Linux and these functions do the alignment for us which makes the code look cleaner. Signed-off-by: Andrew Davis <[email protected]>
2022-10-18arm: mach-k3: common: Set boot_fit on non-GP devicesAndrew Davis
This matches what we did for pre-K3 devices. This allows us to build boot commands that can check for our device type at runtime. Signed-off-by: Andrew Davis <[email protected]>
2022-10-18arm: dts: k3-am64-evm: EMIF tool update to v0.08.40 for 1600MT/s DDR4Dave Gerlach
Move to latest DDR4 1600MT/s for k3-am64-evm based on EMIF tool v0.08.40. Signed-off-by: Dave Gerlach <[email protected]> Signed-off-by: Anand Gadiyar <[email protected]>
2022-10-18arm: dts: k3-am64-sk: EMIF tool update to v0.08.40 and move to 1600MT/s LPDDR4Dave Gerlach
Move k3-am64-sk to use 1600MT/s LPDDR4 configuration and update to latest EMIF tool v0.08.40. Signed-off-by: Dave Gerlach <[email protected]> Signed-off-by: Anand Gadiyar <[email protected]>
2022-10-18Merge tag 'dm-pull-18oct22' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dm Update uclass iterators to work better when devices fail to probe Support VBE OS requests / fixups Minor error-handling tweaks to bootm command
2022-10-18sunxi: SPL SPI: Add SPI boot support for the Allwinner H616 SoCAndre Przywara
The H616 SoC uses the same SPI IP as the H6, also shares the same clocks and reset bits. The only real difference is a slight change in the pin assignment: the H6 uses PC5, the H616 PC4 instead. This makes for a small change in our spi0_pinmux_setup() routine. Apart from that, just extend the H6 #ifdef guards to also cover the H616, using the shared CONFIG_SUN50I_GEN_H6 symbol. Also use this symbol for the Kconfig dependency. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Ivan Shishkin <[email protected]>
2022-10-18sunxi: dts: arm: update devicetree filesAndre Przywara
Update the devicetree files from the Linux kernel, version v6.0-rc4. This is covering the 32-bit SoCs, from arch/arm/boot/dts/. This avoids the not backwards-compatible r_intc binding change, to allow older kernels to boot, but the other nodes are updated. Not much change here, the vast majority is actually cosmetic: node names and using symbolic names for the the RTC clocks. The R40 boards gain DVFS support. Some A23/A33 tablet DTs are unified into a single file. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2022-10-18sunxi: dts: arm64: update devicetree filesAndre Przywara
Update the devicetree files from the Linux kernel, version v6.0-rc4. This is covering the 64-bit SoCs, from arch/arm64/boot/dts/allwinner. This avoids the not backwards-compatible r_intc binding change, to allow older kernels to boot, but the other nodes are updated. Not much change here, the vast majority is actually cosmetic: node names and using symbolic names for the the RTC clocks. Some A64 boards gain some audio nodes. The H616 DTs are now switched to the version finally merged into the kernel, which brings some changes, but none affecting U-Boot. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2022-10-18stm32mp: fix compilation issue with DEBUG_UARTPatrick Delaunay
Fix the compilation issue when CONFIG_DEBUG_UART is activated drivers/serial/serial_stm32.o: in function `debug_uart_init': drivers/serial/serial_stm32.c:291: undefined reference to \ `board_debug_uart_init' The board_debug_uart_init is needed for SPL boot, called in cpu.c::mach_cpu_init(); it is defined in board/st/stm32mp1/spl.c. But with the removal #ifdefs patch, the function debug_uart_init() is always compiled even if not present in the final U-Boot image. This patch adds a file to provided this function when DEBUG_UART and SPL are activated. Fixes: c8b2eef52b6c ("stm32mp15: tidy up #ifdefs in cpu.c") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-10-18ARM: dts: stm32: update SCMI dedicated filePatrick Delaunay
The PWR regulators don't need be removed as they are already deactivated. This patches is a alignment with the accepted patch in Linux device tree in commit a34b42f8690c ("ARM: dts: stm32: fix pwr regulators references to use scmi"). Fixes: 69ef98b209e7 ("ARM: dts: stm32mp15: alignment with v5.19") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-10-18ARM: dts: stm32: Fix and expand PLL configuration commentsMarek Vasut
Fix the frequencies listed in PLL configuration comments to match the actual frequencies programmed into hardware. Furthermore, add a comment which explains how those frequencies are calculated, so it won't be necessary to look it up all over the datasheet and make more mistakes in the calculation in the future. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-10-18ARM: dts: stm32: Add DHCOR based Testbench boardMarek Vasut
Add DT for DHCOR Testbench board, which is a testbench for testing of DHCOR SoM during manufacturing. This is effectively a trimmed down version of AV96 board with CSI-2 bridge, HDMI bridge, WiFi, Audio and LEDs removed and used as GPIOs instead. Furthermore, the PMIC Buck3 is always configured from PMIC NVM to cater for both 1V8 and 3V3 SoM variant. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-10-18ARM: dts: stm32: Drop extra newline from AV96 U-Boot extras DTMarek Vasut
Remove duplicate newline, no functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-10-18ARM: dts: stm32: Remove buck3 regulator-always-on on AV96Marek Vasut
In case the regulator-always-on is present in regulator DT node, the regulator is always reconfigured to the voltage set in DT on probe, even if regulator_set_value() has been called before. Drop the property from AV96 U-Boot DT and enable the regulator manually in code, as the board already reconfigures the Buck3 regulator in code per PMIC NVM content instead. Fixes: 0adf10a87b1 ("ARM: dts: stm32: Configure Buck3 voltage per PMIC NVM on Avenger96") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-10-17sandbox: Support FDT fixupsSimon Glass
Add support for doing device tree fixups in sandbox. This allows us to test that functionality in CI. Signed-off-by: Simon Glass <[email protected]>
2022-10-17dm: treewide: Use uclass_next_device_err when accessing second deviceMichal Suchanek
There are a couple users of uclass_next_device return value that get the first device by other means and use uclass_next_device assuming the following device in the uclass is related to the first one. Use uclass_next_device_err because the return value from uclass_next_device will be removed in a later patch. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-17dm: treewide: Use uclass_first_device_err when accessing one deviceMichal Suchanek
There is a number of users that use uclass_first_device to access the first and (assumed) only device in uclass. Some check the return value of uclass_first_device and also that a device was returned which is exactly what uclass_first_device_err does. Some are not checking that a device was returned and can potentially crash if no device exists in the uclass. Finally there is one that returns NULL on error either way. Convert all of these to use uclass_first_device_err instead, the return value will be removed from uclass_first_device in a later patch. Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>