summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-15defconfig: Add a config for AM335x High Security EVM with SPI Boot supportAndrew Davis
Add a new defconfig file for the AM335x High Security EVM. This config is specific for the case of SPI booting. Signed-off-by: Andrew Davis <afd@ti.com>
2024-08-15scripts/decodecode: update from Linux v6.10Heinrich Schuchardt
For decoding RISC-V dumps we need to update the script. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-08-15maintainers: Update list of maintainers for Corstone-1000Hugues Kamba Mpiana
- Add new maintainer: Hugues KAMBA MPIANA - Remove maintainer: Xueliang ZHONG - Update contact information for current maintainer. Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
2024-08-13Merge tag 'u-boot-imx-master-20240813' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/22014 - Convert tqma6q_mba6 to watchdog DM to fix reset. - Convert tqma6q_mba6 to PMIC and I2C DM. - Convert tqma6q_mba6 to OF_UPSTREAM. - Do not print the board name twice on tqma6. - Enable CMD_ERASEENV for imx8mm/mp Phytec boards. - Add imx8ulp binman support. - Fix imx8 build when CONFIG_IMX_BOOTAUX is set.
2024-08-13tqma6: Do not print the board name twiceFabio Estevam
Currently, the devicetree model as well as the board variant name are shown: ... Model: TQ TQMa6S/DL on MBa6x Board: TQMa6DL on a MBa6x ... Unselect the CONFIG_DISPLAY_BOARDINFO option so that the board name is printed only once in board_late_init() instead. Signed-off-by: Fabio Estevam <festevam@denx.de>
2024-08-13tqma6: Convert to PMIC and I2C driver modelFabio Estevam
Currently, the power_init_board() function is not executed because CONFIG_POWER_LEGACY is not selected. Convert to PMIC driver model, which allows removing board I2C code in favor of the I2C driver model. Signed-off-by: Fabio Estevam <festevam@denx.de>
2024-08-13imx6-tqma6: Convert to OF_UPSTREAMFabio Estevam
Instead of using the local imx6-tqma6 devicetree copies from U-Boot, convert the imx6-tqma6 target to OF_UPSTREAM so that the upstream kernel devicetrees can be used instead. Signed-off-by: Fabio Estevam <festevam@denx.de>
2024-08-13tqma6q_mba6: Convert to watchdog driver modelFabio Estevam
Commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") caused the 'reset' command in U-Boot to not cause a board reset. Fix it by switching to the watchdog driver model via sysreset, which is the preferred method for implementing the watchdog reset. Signed-off-by: Fabio Estevam <festevam@denx.de>
2024-08-13imx: imx8: fix build when CONFIG_IMX_BOOTAUX is setMax Krummenacher
Use correct function name. Fixes: e8cd1f60d964 ("imx: imx8: bootaux: Add i.MX8 M4 boot support") Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-08-13imx8ulp_evk: enable binman supportGary Bisson
Enable binman support and add documentation for the imx8ul-evk board. Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
2024-08-13mach-imx: Add i.MX 8ULP binman supportGary Bisson
- Re-use i.MX 93 Makefile target as similar boot process - Create imx8ulp-u-boot.dtsi for binman image architecture - Create both SPL and U-Boot containers configuration Key differences between the 93 and 8ULP SPL container are: - No LPDDR training library needed for 8ULP - 8ULP requires a uPower binary (RISC-V core) for power management - 8ULP also requires a M33 binary to work properly Signed-off-by: Gary Bisson <bisson.gary@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-08-13spl: binman: Disable u_boot_any symbols for i.MX 8ULP boardsGary Bisson
This is extending commit da96f93cda9 ("spl: binman: Disable u_boot_any symbols for i.MX93 boards") to i.MX 8ULP boards. Signed-off-by: Gary Bisson <bisson.gary@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-08-13tools: imx8image: add upower image supportGary Bisson
Part of the upower management was included in a previous commit [1]. This patch only adds the bits required to properly parse a config file that would include the binary as follows: IMAGE PWR upower.bin [1] 6ec65c8558f (tools: image: support i.MX93) Signed-off-by: Gary Bisson <bisson.gary@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-08-13tools: imx8image: fix soc variable for ULPGary Bisson
Currently the ULP token sets the soc as IMX9, making it impossible to differentiate the two families of processors. However, since the 8ULP requires specific binaries like upower which do not exist in 93, they need to be separated. Fixes: 6ec65c8558f (tools: image: support i.MX93) Signed-off-by: Gary Bisson <bisson.gary@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-08-12Merge tag 'u-boot-rockchip-20240812' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip Please pull the updates for rockchip platform: - Add board support: RK3566: Radxa ROCK 3 Model C Radxa ZERO 3W/3E Xunlong Orange Pi 3B RK3568J: Radxa ROCK 3B RK3308B: Radxa ROCK S0 RK3588: Radxa ROCK 5 ITX FriendlyElec CM3588 NAS board - dw-mmc: allow 4-bit mode; - dts and config updates; CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/21997
2024-08-12Merge https://source.denx.de/u-boot/custodians/u-boot-usbTom Rini
2024-08-12Merge tag 'ubifixes-for-v2024-10-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ubi ubi fixes for v2024.10-rc3 - ubi memleak fixes from Alexander - ubifs: mount fails after power cycle fixed from Ravi commit ported from kernel commit 304790c038bc4af4f19774705409db27eafb09fc HS: fixed checkpatch Error ERROR: Remove Gerrit Change-Id's before submitting upstream #213: Change-Id: I487ae4d172e228e72ac31d158d668f209142bce0 removed this line from commit message. - memleak fixes from Michael in ubifs, missing ubifs_iput(inode) after ubifs_iget() calls. Special thanks to all of them for detecting/fixing and testing this patches!
2024-08-12Merge tag 'efi-2024-10-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-10-rc3 UEFI: * efi_loader: use list_count_nodes() in efi_protocols_per_handle() * efi_loader: correct description of efi_get_distro_fdt_name * boot: set correct block device name in set_efi_bootdev() * configs: enable efidebug and EFI http boot on QEMU aarch64 Other: * Makefile: don't use CFLAGS for environment text file
2024-08-12configs: rockchip: enable "ums" command for Radxa ROCK 5BFUKAUMI Naoki
USB Type-C port is configured as "peripheral" port. so enable "ums" command to use as USB Mass Storage device. ("rockusb" command is already enabled and working) Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-12arm: dts: rockchip: remove upstreamed props for Radxa ROCK 5BFUKAUMI Naoki
"usb_host1_xhci" and related node were already upstreamed. remove unnecessary properties from u-boot.dtsi. Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-12arm: dts: rockchip: remove upstreamed props for Radxa ROCK 3AFUKAUMI Naoki
"sfc" node was already upstreamed. remove unnecessary properties from u-boot.dtsi. Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-12arm64: dts: rockchip: change spi-max-frequency for Radxa ROCK 3CFUKAUMI Naoki
SPI NOR flash chip may vary, so use safe(lowest) spi-max-frequency. Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Link: https://lore.kernel.org/r/20240623023329.1044-3-naoki@radxa.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 06f6dd4d607766a527e37529f2f3f90dd1464293 ] (cherry picked from commit dd40945a1d0e28ae6eaf9da04f8e2dcebf8233ea) Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-12rockchip: rk3568-nanopi-r5: Disable SPL_DM_WARN Kconfig optionJonas Karlman
With the commit 6afdb1585112 ("dm: core: migrate debug() messages to use dm_warn") use of DM_WARN/SPL_DM_WARN print a lot of debug messages. Disable the SPL_DM_WARN Kconfig option to remove verbose logging and restore normal serial console output during boot. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-12board: rockchip: Add Radxa ROCK 5 ITXHeiko Stuebner
The Rock 5 ITX is a board in ITX form factor using the RK3588 SoC It can be powered either by 12V, ATX power-supply or PoE. Notable peripherals are the 4 SATA ports, M.2 M-Key slot, M.2 E-key slot, 2*2.5Gb PCIe-connected Ethernet NICs. Display options are 2*HDMI, DP via USB-c, eDP + 2*DSI via PCB connectors. USB ports are 4*USB3 + 2*USB2 on the back panel and 2-port front-panel connector. Schematics for the board can be found on - https://dl.radxa.com/rock5/5itx/radxa_rock_5_itx_X1100_schematic.pdf - https://dl.radxa.com/rock5/5itx/v1110/radxa_rock_5itx_v1110_schematic.pdf The naming scheme with the dashes follows Dragan's comment on the mainline devicetree commit: "the name of this board deviates from the standard Radxa naming scheme, which is something like "ROCK <number><letter>" thus, "rock-5a" is fine, but it should be "rock-5-itx", simply because there's a space between "5" and "ITX" in "ROCK 5 ITX" Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-11usb: dwc3: support USB 3.1 controllersCaleb Connolly
The revision is different for these, add the additional check as in xhci-dwc3 core_init code. Equivalent upstream Linux patch: 690fb3718a70 ("usb: dwc3: Support Synopsys USB 3.1 IP") Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550 Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: Marek Vasut <marex@denx.de>
2024-08-11Makefile: don't use CFLAGS for environment text fileHeinrich Schuchardt
We use KCPPFLAGS to let the user set flags when invoking the C precompiler. These should also be used when generating the environment text file. Reported-by: Dave Jones <dave.jones@canonical.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-08-11configs: enable efidebug and EFI http boot on QEMU aarch64Ilias Apalodimas
EFI HTTP is a useful option to have by default and is working reliably on QEMU. Let's enable it by default, since we have no size limitations. While at it enable 'efidebug' as well, which is currently needed to configure the EFI HTTP boot options. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-08-11boot: set correct block device name in set_efi_bootdev()Heinrich Schuchardt
For SATA devices the class name is 'ahci' but the block device name is 'sata'. Use function blk_get_uclass_name() to retrieve the correct string. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-08-11efi_loader: correct description of efi_get_distro_fdt_nameHeinrich Schuchardt
Use the correct function name. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-08-11efi_loader: use list_count_nodes() in efi_protocols_per_handle()Heinrich Schuchardt
Simplify the code by using the list_count_nodes() function. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-08-11ubifs: Call ubifs_iput when ubifs_iget is usedMichael Trimarchi
The inode should be freed after a reference is get to avoid memory leak Tested-by: Alexander Dahl <ada@thorsis.com> Link: https://lore.kernel.org/u-boot/b698ec3e-d857-6512-8cc9-4edcab0a41b9@denx.de/T/#t Link: https://lore.kernel.org/all/8f3a7059-6330-f332-8e9f-729b853e001e@denx.de/T/ Co-developed-by: Heiko Schocher <hs@denx.de> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2024-08-10ubifs: mount fails after power cycleRavi Minnikanti
When kernel uses file system encryption, fscrypt on UBIFS v5, after a hard power cycle UBIFS journal replay fails which results in mount failure. Failure logs: UBIFS: recovery needed UBIFS error (pid 0): ubifs_validate_entry: bad directory entry node UBIFS error (pid 0): replay_bud: bad node is at LEB 890:24576 UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'ubi0:rootfs' errno=-22! This change is ported from kernel: commit id: 304790c038bc4af4f19774705409db27eafb09fc Kernel commit description: Kernel commit description: ubifs: Relax checks in ubifs_validate_entry() With encrypted filenames we store raw binary data, doing string tests is no longer possible. Signed-off-by: rminnikanti <rminnikanti@marvell.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-08-10fs: ubifs: Add volume mounted checkAlexander Dahl
Safety guard in the U-Boot filesystem glue code, because these functions are called from different parts of the codebase. For generic filesystem handling this should have been checked in blk_get_device_part_str() already. Commands from cmd/ubifs.c should also check this before calling those functions, but you never know?! Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-08-10fs: ubifs: Make k(z)alloc/kfree symmetricAlexander Dahl
Although kfree() is in fact only a slim wrapper to free() in U-Boot, use kfree() here, because those structs where allocated with kalloc() or kzalloc(). Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-08-10fs: ubifs: Set pointers to NULL after freeAlexander Dahl
Global superblock pointer 'ubifs_sb' and volume pointer 'ubi' of type struct ubi_volume_desc in private member sb->s_fs_info of type struct ubifs_info, can be allocated and freed at runtime, and allocated and freed again, depending which console or script commands are run. In some cases ubifs_sb is even tested to determine if the filesystem is mounted. Reset those pointers to NULL after free to clearly mark them as not valid. This avoids potential double free on invalid pointers. (The ubifs_sb pointer was already reset, but that statement was moved now to directly after the free() to make it easier to understand.) Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-08-10fs: ubifs: Fix memleak and double free in u-boot wrapper functionsAlexander Dahl
When mounting ubifs e.g. through command 'ubifsmount' one global static superblock 'ubifs_sb' is used _and_ the requested volume is opened (like in Linux). The pointer returned by 'ubifs_open_volume()' is stored in that superblock struct and freed later on cmd 'ubifsumount' or another call to 'ubifsmount' with a different volume, through ubifs_umount() and ubi_close_volume(). In ubifs_ls(), ubifs_exists(), ubifs_size(), and ubifs_read() the volume was opened again, which is technically no problem with regard to refcounting, but here the still valid pointer in sb was overwritten, leading to a memory leak. Even worse, when using one of those functions and calling ubifsumount later, ubi_close_volume() was called again but now on an already freed pointer, leading to a double free. This actually crashed with different invalid memory accesses on a board using the old distro boot and a rather long script handling RAUC updates. Example: > ubi part UBI > ubifsmount ubi0:boot > test -e ubi ubi0:boot /boot.scr.uimg > ubifsumount The ubifs specific commands 'ubifsls' and 'ubifsload' check for a mounted volume by themselves, for the generic fs variants 'ls', 'load', (and 'size', and 'test -e') this is covered by special ubifs handling in fs_set_blk_dev() and deeper down blk_get_device_part_str() then. So for ubifs_ls(), ubifs_exists(), ubifs_size(), and ubifs_read() we can be sure the volume is opened and the necessary struct pointer in sb is valid, so it is not needed to open volume again. Fixes: 9eefe2a2b37 ("UBIFS: Implement read-only UBIFS support in U-Boot") Fixes: 29cc5bcadfc ("ubifs: Add functions for generic fs use") Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-08-09Merge tag 'tpm-master-09082024' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm.git Back when the TPM subsystem was refactored tpm_tis_wait_init() ended up being called after tpm_tis_init() which initializes values the former needs. Since we added more TPM chipsets since then sitting on an i2c bus, this patch folds in tpm_tis_wait_init into tpm_tis_init and makes sure it's called in the right order regardless of the bus the TPM sits on.
2024-08-09Merge tag 'i2cfixes-v2-for-v2024-10-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-i2c i2c updates for v2024.10-rc3 (second try) - i2c: samsung: Support platforms other than EXYNOS4 and EXYNOS5 from David - imx_lpi2c: cleanups and support read transfers longer than 256 bytes from Fedor - pca954x: Remove pointer to GD from Michal - i2c: mux: Fix error path in i2c-arb-gpio from Michal
2024-08-09i2c: imx_lpi2c: Support read transfers longer than 256 bytesFedor Ross
The TXFIFO register of LPI2C only has one byte length, and if the length of the data that needs to be read exceeds 256 bytes, it needs to be written to TXFIFO multiple times. Signed-off-by: Fedor Ross <fedor.ross@ifm.com>
2024-08-09i2c: imx_lpi2c: Replace hard-coded bus speed value with bus->speed_hzFedor Ross
Instead of using the hard-coded bus speed value I2C_SPEED_STANDARD_RATE, use the actual configured bus speed. This way the bus speed doesn't change suddenly after calling the imx_lpi2c_probe_chip() function for example. Signed-off-by: Fedor Ross <fedor.ross@ifm.com>
2024-08-09i2c: imx_lpi2c: Fix a typo in bus_i2c_receiveFedor Ross
Fix a typo in a debug message. It should be 'for' not 'fot' . Signed-off-by: Fedor Ross <fedor.ross@ifm.com>
2024-08-09i2c: samsung: Support platforms other than EXYNOS4 and EXYNOS5David Virag
Newer Samsung SoCs (including newer Exynos, ExynosAuto, Google Tensor) still use these IPs, or slightly newer versions of it. Make these drivers available on these platforms by guarding EXYNOS4/EXYNOS5 specific code behind their configs, and using CCF for clocks on other platforms. Tested S3C I2C driver on Exynos7885. This along with extended clock driver should enable S3C I2C on Exynos850. Signed-off-by: David Virag <virag.david003@gmail.com> Tested-by: Henrik Grimler <henrik@grimler.se> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-08-09i2c: samsung: Drop s3c24x0 specific code.David Virag
This has been dead code for many years now. Remove it. Signed-off-by: David Virag <virag.david003@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-08-09i2c: mux: Fix error path in i2c-arb-gpioMichal Simek
There is no reason to use goto and just call return. Better is to call return directly which is done for some if/else parts. Also make no sense to setup ret to -ETIMEDOUT and then to 0. Return timeout directly. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-08-09i2c: pca954x: Remove pointer to GDMichal Simek
There is no reason to have any pointer to GD that's why remove it. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-08-09arm64: dts: rockchip: add ROCK 5 ITX boardHeiko Stuebner
The ROCK 5 ITX as the name suggests is made in the ITX form factor and actually built in a form to be used in a regular case even providing connectors for regular front-panel io. It can be powered either by 12V, ATX power-supply or PoE. Notable peripherals are the 4 SATA ports, M.2 M-Key slot, M.2 E-key slot, 2*2.5Gb PCIe-connected Ethernet NICs. As of yet unsupported display options consist of 2*HDMI, DP via USB-c, eDP + 2*DSI via PCB connectors. USB ports are 4*USB3 + 2*USB2 on the back panel and 2-port front-panel connector. Schematics for the board can be found on - https://dl.radxa.com/rock5/5itx/radxa_rock_5_itx_X1100_schematic.pdf - https://dl.radxa.com/rock5/5itx/v1110/radxa_rock_5itx_v1110_schematic.pdf Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20240704153815.837392-3-heiko@sntech.de [ upstream commit: 31390eb8ffbf2b6be7d789708ec08b635d7a3eb8 ] (cherry picked from commit 9cff9fef0a295e3b8feb7bc4116a297a842cad01) Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-09arm64: dts: rockchip: add thermal zones information on RK3588Alexey Charkov
This includes the necessary device tree data to allow thermal monitoring on RK3588(s) using the on-chip TSADC device, along with trip points for automatic thermal management. Each of the CPU clusters (one for the little cores and two for the big cores) get a passive cooling trip point at 85C, which will trigger DVFS throttling of the respective cluster upon reaching a high temperature condition. All zones also have a critical trip point at 115C, which will trigger a reset. Signed-off-by: Alexey Charkov <alchark@gmail.com> Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-1-c1f5f3267f1e@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: 510cd9e688453166b2bff3999ed21cac97385bb5 ] (cherry picked from commit 33e7079543d5eee1415b937054e8634000d1bde4) Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-09arm64: dts: rockchip: Prepare RK3588 SoC dtsi files for per-variant OPPsDragan Simic
Rename the Rockchip RK3588 SoC dtsi files and, consequently, adjust their contents appropriately, to prepare them for the ability to specify different CPU and GPU OPPs for each of the supported RK3588 SoC variants. As already discussed, [1][2][3][4] some of the RK3588 SoC variants require different OPPs, and it makes more sense to have the OPPs already defined when a board dts(i) file includes one of the SoC variant dtsi files (rk3588.dtsi, rk3588j.dtsi or rk3588s.dtsi), rather than requiring the board dts(i) file to also include a separate rk3588*-opp.dtsi file. The choice of the SoC variant is already made by the inclusion of the SoC dtsi file into the board dts(i) file, and it doesn't make much sense to, effectively, allow the board dts(i) file to include and use an incompatible set of OPPs for the already selected RK3588 SoC variant. The new naming scheme for the RK3588 SoC dtsi files uses "-base" and "-extra" suffixes to denote the DT data shared between all RK5588 SoC variants, and the DT data shared between the unrestricted SoC variants, respectively. For example, the DT data for the RK3588 includes both rk3588-base.dtsi and rk3588-extra.dtsi, because it's an unrestricted SoC variant, while the DT data for the RK3588S variant includes rk3588-base.dtsi only, because it's a restricted SoC variant, feature- and interface-wise. This achieves a more logical naming of the RK3588 SoC dtsi files, which reflects the way DT data for the SoC variants is built by "stacking" the SoC variant features made available through the "-base" and "-extra" SoC dtsi files. Additionally, the SoC variant dtsi files (rk3588.dtsi, rk3588j.dtsi and rk3588s.dtsi) are no longer parents to any other SoC variant dtsi files, which should help with making the new "stacking" approach cleaner and easier to follow. The RK3588 pinctrl dtsi files are also renamed in the same way, for the sake of consistency. This also keeps the "-base" and "-extra" groups of the dtsi files together when looked at in a directory listing, which is helpful. The per-SoC-variant OPPs should go directly into the SoC dtsi files, if no more than one SoC variant uses those OPPs, or be put into a separate "-opp" dtsi file that's shared between and included from two or more SoC variant dtsi files. An example for the former is the non-shared OPP data that should go directly into the RK3588J SoC variant dtsi file (i.e. rk3588j.dtsi), and an example for the latter is the shared OPP data that should be put into rk3588-opp.dtsi and be included from the RK3588 and RK3588S SoC variant dtsi files (i.e. rk3588.dtsi and rk3588s.dtsi, respectively). Consequently, if the OPPs for the RK3588 and RK3588S SoC variants are ever made different, the shared rk3588-opp.dtsi file should be deleted and the new OPPs should be put directly into rk3588.dtsi and rk3588s.dtsi. [4] No functional changes are introduced, which was validated by decompiling and comparing all affected dtb files before and after these changes. As a side note, due to the nature of introduced changes, this commit is best viewed using the --break-rewrites option for git-log(1). [1] https://lore.kernel.org/linux-rockchip/646a33e0-5c1b-471c-8183-2c0df40ea51a@cherry.de/ [2] https://lore.kernel.org/linux-rockchip/CABjd4Yxi=+3gkNnH3BysUzzYsji-=-yROtzEc8jM_g0roKB0-w@mail.gmail.com/ [3] https://lore.kernel.org/linux-rockchip/035a274be262528012173d463e25b55f@manjaro.org/ [4] https://lore.kernel.org/linux-rockchip/673dcf47596e7bc8ba065034e339bb1bbf9cdcb0.1716948159.git.dsimic@manjaro.org/T/#u Signed-off-by: Dragan Simic <dsimic@manjaro.org> Link: https://lore.kernel.org/r/9ffedc0e2ca7f167d9d795b2a8f43cb9f56a653b.1717923308.git.dsimic@manjaro.org Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ upstream commit: def88eb4d8365a4aa064d28405d03550a9d0a3be ] (cherry picked from commit bf8f631f62026a6b844d34c7e0549e4ec3fd4716) Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-09arm: dts: rockchip: disable "usb_host0_ohci" to make boot faster for Radxa ↵FUKAUMI Naoki
ROCK 3A on-board USB 2.0 hub, FE1.1s, has Transaction Translator which can handle USB 1.x devices via "usb_host0_ehci". so we can omit "usb_host0_ohci" and make boot faster (a little). => usb start starting USB... Bus usb@fd000000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 Bus usb@fd800000: USB EHCI 1.00 Bus usb@fd880000: USB EHCI 1.00 Bus usb@fd8c0000: USB OHCI 1.0 scanning bus usb@fd000000 for devices... 1 USB Device(s) found scanning bus usb@fd800000 for devices... 2 USB Device(s) found scanning bus usb@fd880000 for devices... 1 USB Device(s) found scanning bus usb@fd8c0000 for devices... 3 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found => usb tree USB device tree: 1 Hub (5 Gb/s, 0mA) U-Boot XHCI Host Controller 1 Hub (480 Mb/s, 0mA) | u-boot EHCI Host Controller | +-2 Hub (480 Mb/s, 100mA) USB 2.0 Hub 1 Hub (480 Mb/s, 0mA) u-boot EHCI Host Controller 1 Hub (12 Mb/s, 0mA) | U-Boot Root Hub | +-2 Hub (12 Mb/s, 100mA) | ALCOR Generic USB Hub | +-3 Mass Storage (12 Mb/s, 300mA) JetFlash Mass Storage Device 02K1RNH5MJFV4TX6 => usb reset resetting USB... Host not halted after 16000 microseconds. Bus usb@fd000000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 Bus usb@fd800000: USB EHCI 1.00 Bus usb@fd880000: USB EHCI 1.00 Bus usb@fd8c0000: USB OHCI 1.0 scanning bus usb@fd000000 for devices... 1 USB Device(s) found scanning bus usb@fd800000 for devices... 4 USB Device(s) found scanning bus usb@fd880000 for devices... 1 USB Device(s) found scanning bus usb@fd8c0000 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found => usb tree USB device tree: 1 Hub (5 Gb/s, 0mA) U-Boot XHCI Host Controller 1 Hub (480 Mb/s, 0mA) | u-boot EHCI Host Controller | +-2 Hub (480 Mb/s, 100mA) | USB 2.0 Hub | +-3 Hub (12 Mb/s, 100mA) | ALCOR Generic USB Hub | +-4 Mass Storage (12 Mb/s, 300mA) JetFlash Mass Storage Device 02K1RNH5MJFV4TX6 1 Hub (480 Mb/s, 0mA) u-boot EHCI Host Controller 1 Hub (12 Mb/s, 0mA) U-Boot Root Hub Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-08-09board: rockchip: Add FriendlyElec CM3588 NASJonas Karlman
The CM3588 NAS by FriendlyElec pairs the CM3588 compute module, based on the Rockchip RK3588 SoC, with the CM3588 NAS Kit carrier board. Features tested on a CM3588 NAS Kit with 8GB RAM 64GB eMMC module: - SD-card boot - eMMC boot - Ethernet - PCIe/NVMe - USB gadget - USB host Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>