Commit graph

91472 commits

Author SHA1 Message Date
Andrew Davis
a4650bf65e ti: keystone2: Move common Kconfig selections to under ARCH_KEYSTONE
These select/imply settings are common to the whole architecture not just
these boards, move these settings to the architecture config.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-02-08 14:42:56 -05:00
Andrew Davis
f2ae98a682 ti: keystone2: Imply NFS command support
TI KS2 boards have the nfs command in their common environment boot
configuration, enable this command.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-02-08 14:42:56 -05:00
Tom Rini
2b51069b7c Merge tag 'u-boot-imx-master-20240208' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
- Add USB support for phycore-imx8mp
- Fix environment corruption, reset on mx6sabresd
- Print reset cause on imx8
- Extend mkimage to support generating an image for i.MXRT FlexSPI
- Add new apalis and colibri variants
- Add support for phyBOARD-Segin-i.MX93 support
- Fix when FEC is primarily used instead of EQOS on i.MX93.
2024-02-08 09:37:16 -05:00
Tom Rini
a7fb2f57ad Merge tag 'fsl-qoriq-2024-2-8' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq
Add TJA1120 driver support
fsl-layerscape/soc.c: do not destroy bootcmd environment
2024-02-08 09:10:41 -05:00
Benjamin Hahn
8dcf1df48d phycore-imx8mp: add support for booting and flashing emmc via UUU
add support for Serial Downloader Boot via UUU as well as flashing emmc
via UUU on USB0 Port of phyBOARD Pollux.

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2024-02-08 10:11:46 -03:00
Benjamin Hahn
199229e28b phycore-imx8mp: add USB mass storage support
add support for USB mass storage to USB0 port of phyBOARD Pollux.

tested with "ums 0 mmc 2"

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2024-02-08 10:11:46 -03:00
Benjamin Hahn
04bd6d9af4 phycore-imx8mp: add USB host support
The phyBOARD Pollux has two USB ports. Add support for USB host and USB
storage for the USB1 port.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2024-02-08 10:11:46 -03:00
Benjamin Hahn
a519d28cdb imx8mp-phyboard-pollux-rdk: sync with kernel devicetree from v6.8-rc2
sync devicetree with kernel v6.8-rc2.

New commits on kernel v6.8-rc2:
4a58fcdb1818 arm64: dts: imx8mp-phyboard-pollux: Add support for RS232/RS485
3bd7fdcc359e arm64: dts: imx8mp-phyboard-pollux: Add gpio-line-names
f5faa633daf8 arm64: dts: imx8mp-phyboard-pollux: Enable USB support
27c0dc128d04 arm64: dts: imx8mp-phyboard-pollux: Add flexcan support
fa2a1ec50456 arm64: dts: imx8mp-phyboard-pollux: Add missing usdhc clocks assignment
055e38c76388 arm64: dts: imx8mp-phyboard-pollux-rdk: Fix led sub-node names

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
2024-02-08 10:11:46 -03:00
Fabio Estevam
450af2495e mx6sabresd: Remove board_phy_config()
With Ethernet DM in place, there is no longer the need for having
the board_phy_config() anymore.

Remove it.

Confirmed that TFTP transfer still works fine without board_phy_config().

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-02-08 09:18:32 -03:00
Fabio Estevam
dbc4814515 mx6sabresd: Convert to watchdog driver model
Commit 68dcbdd594 ("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-02-08 09:18:32 -03:00
Fabio Estevam
41fdfae064 mx6sabresd: Fix U-Boot corruption after saving the environment
U-Boot binary has grown in such a way that it goes beyond the reserved
area for the environment variables.

Running "saveenv" and rebooting the board causes U-Boot to hang because
of this overlap.

Fix this problem by selecting CONFIG_LTO so that the U-Boot proper
size can be reduced.

Also, to prevent this same problem to happen in the future, use
CONFIG_BOARD_SIZE_LIMIT, which can detect the overlap in build-time.

CONFIG_BOARD_SIZE_LIMIT is calculated as follows:

CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot-img.dtb offset
CONFIG_BOARD_SIZE_LIMIT = 0xc000 - 69 * 1024
CONFIG_BOARD_SIZE_LIMIT = 715766

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-02-08 09:18:32 -03:00
Joao Paulo Goncalves
006538670d toradex: tdx-cfg-block: add 0086 i.mx8m mini sku
Add new product id 0086 Verdin iMX8M Mini DualLite 2GB IT.

Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-02-08 09:18:11 -03:00
Igor Opaniuk
c4bc7db966 imx: imx8: print reset cause
Add support for printing reset cause during boot.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-02-08 09:17:46 -03:00
Igor Opaniuk
0bc69a1d38 imx: scu_api: add implementation of sc_pm_reset_reason
Add implementation of sc_pm_reset_reason() call for obtaining
reset reason.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-02-08 09:17:46 -03:00
Mathieu Othacehe
7c1f8ce395 board: phytec: phycore-imx93: Add phyBOARD-Segin-i.MX93 support
Add initial support for the PHYTEC phyBOARD-Segin-i.MX93 board based on
the PHYTEC phyCORE-i.MX93 SoM.

Supported features:
- 1GB LPDDR4 RAM
- eMMC
- external SD
- FEC Ethernet
- debug UART
- watchdog

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Tested-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Yannic Moog <y.moog@phytec.de>
2024-02-08 09:05:11 -03:00
Primoz Fiser
259e101271 imx9: clock: Fix board_interface_eth_init for FEC
Commit d5eae216d8 ("net: dwc_eth_qos: Add board_interface_eth_init()
for i.MX93") implemented board_interface_eth_init for i.MX9 platforms.
However it only accounted for the EQOS interface while any board using
FEC as primary Ethernet interface was left out as return value -EINVAL
is always returned from the function in such case.

Fix this by returning 0 (success) when FEC interface is primarily used
instead of EQOS interface on i.MX93.

Fixes: d5eae216d8 ("net: dwc_eth_qos: Add board_interface_eth_init() for i.MX93")
Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Tested-by: Mathieu Othacehe <m.othacehe@gmail.com>
2024-02-08 09:01:22 -03:00
Jesse Taube
b0adbd6f8e tools: mkimage: Add support for i.MXRT FlexSPI Header
Modify imx8m Flex SPI Configuration Block to work with imxrt.
Add more Flex SPI configuration options to Kconfig.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Tested-by:  Adam Ford <aford173@gmail.com> #imx8mn-beacon
2024-02-08 09:01:22 -03:00
Marek Vasut
9425977c47 ARM: imx: Enable kaslrseed command on Data Modul i.MX8M Mini/Plus eDM SBC
Linux 6.6.y with KASLR enabled would print the following message on boot:
"
KASLR disabled due to lack of seed
"
Enable the 'kaslrseed' command so a random number seed can be pulled
from CAAM and inserted into the /chosen node 'kaslr-seed' property of
Linux kernel DT before boot, thus letting KASLR work properly.

Signed-off-by: Marek Vasut <marex@denx.de>
2024-02-08 09:01:22 -03:00
Joao Paulo Goncalves
216ead4d59 toradex: tdx-cfg-block: Add new apalis and colibri pid
Add new apalis imx6 and colibri imx6/imx7 products IDs.

Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2024-02-08 09:01:22 -03:00
Mike Looijmans
121696c957 fsl-layerscape/soc.c: do not destroy bootcmd environment
When an XXX_BOOTCOMMAND isn't defined, the result is that bootcmd is set
to some random memory content. Fix it so that the function does nothing
in that case and leaves the bootcmd environment unmodified.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
2024-02-08 10:45:32 +08:00
Radu Pirea (NXP OSS)
55fc0cbbd6 net: phy: nxp-c45-tja11xx: add tja1120 support
Add TJA1120 driver structure and report 1G speed.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
2024-02-08 10:41:24 +08:00
Radu Pirea (NXP OSS)
7e02c3accb net: phy: nxp-c45-tja11xx: rename nxp_c45_tja11xx structure
Rename nxp_c45_tja11xx structure to nxp_c45_tja1103. The driver will
support more PHYs and nxp_c45_tja11xx is too generic.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
2024-02-08 10:41:24 +08:00
Radu Pirea (NXP OSS)
84e57e7dfb net: phy: nxp-c45-tja11xx: read PHY the speed from hardware
Read PHY speed from hardware instead of assuming 100Mbps by default.
The TJA1103 works only at 100Mbps, but the driver will support more PHYs.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
2024-02-08 10:41:23 +08:00
Radu Pirea (NXP OSS)
6c43208a6d net: phy: nxp-c45-tja11xx: use local definion of features
Use a local definition for the PHY features. PHY_100BT1_FEATURES are
not defined using the 100BaseT1 bit, so keep this workaround in the driver.

Signed-off-by: "Radu Pirea (NXP OSS)" <radu-nicolae.pirea@oss.nxp.com>
2024-02-08 10:41:23 +08:00
Tom Rini
0101a2ffe1 Merge branch '2024-02-06-assorted-fixes'
A number of assorted fixes
2024-02-07 09:47:47 -05:00
Tom Rini
7ebc77fede Merge tag 'u-boot-rockchip-20240207' of https://source.denx.de/u-boot/custodians/u-boot-rockchip
- Add board: rv1126 Sonoff iHost board
- rv1126 ddr4 support;
- Enable BOOTSTD_FULL for RK3399 and RK3588;
- rk3036 spl stack addr fix;
- dts sync from linux v6.8-rc1 for rk356x, rk3588, rv1126;
- Enable eMMC HS200 mode by default for rk3568 and rk3588;
2024-02-07 08:33:47 -05:00
Shantur Rathore
b8f1f60c23 arm: dts: rockpro64: Add RockPro64 smbios
Add smbios information for Pine64 RockPro64 board and enable in
config

Signed-off-by: Shantur Rathore <i@shantur.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2024-02-07 10:49:13 +08:00
Dan Carpenter
e5e7d8bbcf blk: host_dev: Fix error code in host_sb_attach_file()
This error path should return -EINVAL instead of success.

Fixes: e261fbf347 ("blk: host_dev: Sanity check on the size of host backing file")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
2024-02-06 16:31:07 -05:00
Dhruva Gole
c59720c5f4 firmware: ti_sci: Add comment explaining the is_secure code
Add a comment to explain the code under is_secure condition of
ti_sci_do_xfer. This will help avoid confusion amongst people who may in
future touch upon this code.

Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
2024-02-06 16:31:06 -05:00
Dhruva Gole
0c4e36d65f firmware: ti_sci: fix the secure_hdr in do_xfer
The ti_sci driver in U-Boot has support for secure_msg as part of it's
do_xfer function. This let's U-boot send secure messages during boot up.

The protocol to send such secure messages is described as part of the
struct ti_sci_secure_msg_hdr. As part of this, there are 2 fields for
checksum and reserved that occupy the first 4 bytes of any secure
message. This is called as the secure_hdr.

As of now, the secure_hdr needs to be 0 init-ed before sending secure
messages. However the existing code was never putting the zero-inited vars
into the secure_buf, leading to possibility of the first 4 bytes of
secure_buf being possibly garbage.

Fix this by initialising the secure_hdr itself to the secure_buf
location, thus when we make secure_hdr members 0, it automatically ensures
the first 4 bytes of secure_buf are 0.

Fixes: 32cd25128b ("firmware: Add basic support for TI System Control Interface (TI SCI)")
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
2024-02-06 16:31:06 -05:00
Neha Malcom Francis
94cfc6fc96 arm: mach-k3: j721s2_init: Support less than max DDR controllers
The number of DDR controllers to be initialised and used should depend
on the device tree with the constraint of the maximum number of
controllers the device supports. Since J721S2 has multiple (2)
controllers, instead of hardcoding the number of probes, move to
depending on the device tree UCLASS_RAM nodes present.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-02-06 16:31:06 -05:00
MD Danish Anwar
4312a1dfca dma: ti: k3-udma: Use ring_idx to pair k3 nav rings
Use ring_idx to pair rings. ring_idx will be same as tx flow_id for all
non-negative flow_ids. For negative flow_ids, ring_idx will be tchan->id
added with bchan_cnt.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/ti/k3-udma.c?h=v6.8-rc2#n1686
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-02-06 16:31:06 -05:00
Ole P. Orhagen
798ad3e6b2 vexpress_ca9x4: Enable DM_SERIAL
This commit enables support for DM_SERIAL in the vexpress_ca9x4 boards.

When running the board with the DM_SERIAL driver, the board ran out of
memory in SPL when initialising the DM serial driver.

Thus this required an increase in the pre-allocated SRAM memory. I did
increase it to 0x800, and it now works graciously.

It could probably be set lower, but I do not see any reason not to use the
available SRAM at this point.

Also adds stdout-path to the 'chosen' node in the device tree.

Signed-off-by: Ole P. Orhagen <ole.orhagen@northern.tech>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2024-02-06 16:31:06 -05:00
Heinrich Schuchardt
0c5110ccf8 common: event: check event_type_name() argument
In event_type_name() we should avoid possible buffer overruns by checking
the type argument.

Addresses-Coverity-ID: 478862 Out-of-bounds access
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-02-06 16:31:06 -05:00
Jim Liu
dd0807804e arm: dts: nuvoton: modify npcm8xx reset property
Change reset method from generic to reset driver

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2024-02-06 16:31:06 -05:00
Brandon Maier
cb6f4d6510 scripts/gen_compile_commands: update to Linux v6.7
Adds support for assembly files and updates the LINE_PATTERN so it
supports both "cmd" and "savedcmd", which allows reverting the U-Boot
modification in commit 97fbb2eb01 ("scripts/gen_compile_commands.py:
adapt _LINE_PATTERN").

Upstream commits:

- 880946158b011 gen_compile_commands.py: fix path resolve with symlinks in it
- 9e56d3be4bfd2 gen_compile_commands: Sort output compile commands by file name
- 52c15e7e79285 gen_compile_commands: Allow the line prefix to still be cmd_
- 1c67921444bf6 gen_compile_commands: add assembly files to compilation database

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Cc: Joao Marcos Costa <jmcosta944@gmail.com>
2024-02-06 16:31:06 -05:00
Tom Rini
daa3100250 Merge patch series "board: siemens: clean up subfolders"
Enrico Leto <enrico.leto@siemens.com> says:

    The common folder was initialially created for the common parts of
    the products based on draco-am355x board family. We have the
    product lines 'pxm2', 'rut' and the base line unfortunately named
    'draco'! Adding the new capricorn-imx8 board family, the files
    were enhanced without cleanup.

    Simplify first EEPROM probe and access that implements both i2c
    with & without driver model. Use abstraction functions for this.

    Move all am355x specifics to a new file 'board_am335x'.

    Clean-up includes, config checks, maintainer.
2024-02-05 13:33:01 -05:00
Enrico Leto
b062eef075 siemens: factoryset: use correct config for soc specific implementation
Adding the capricorn board family some parts diverge from draco family.
The switches used were not pertinent and need to be enhanced for each new
board of the capricorn family. Replace them through the SOC name 'AM33XX'
and 'IMX8'.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Enrico Leto
60ad0fdb19 siemens: board: clean up includes
Many includes were not removed when code parts were moved or removed.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Enrico Leto
d89a97ef94 siemens: board: clean up products folders vs common
The common folder was initialially created for the common parts of the
products based on draco-am355x board family. These are the product lines
'pxm2', 'rut' and the base line named 'draco'!

Adding the new capricorn-imx8 board family, common was enhanced without
cleanup.
- rename 'common/board.c' to 'common/board_am335x.c'
- add 'common/board_am335x.h' for export to the product lines

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Enrico Leto
671be9f539 siemens: board: etamin: remove deprecated nand config
NAND was used in the early development phase of etamin. The board runs now
on MMC. This setting is no more used -> remove to simplify the board file.

Further clean-up of etamin should remove all NAND settings. Complete clean-
up of etamin board will take place in a separate patch serie.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Enrico Leto
12e60282cb siemens draco: i2c: use driver model for u-boot
Add support for driver model where EEPROM data are read in draco board.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Enrico Leto
e9ef9a1377 siemens: eeprom: simplify setup & read
Since we have boards using the driver model or not for i2c, use abstraction
function to probe the i2c, check the EEPROM and read from EEPROM.

Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Enrico Leto
5ae54613eb siemens: eeprom: clean up definitions
Move the I2C and EEPROM address definitions in common board header.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Enrico Leto <enrico.leto@siemens.com>
2024-02-05 13:32:48 -05:00
Tom Rini
090d8463b0 Add RaspberryPi5 basic support.
-----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmW6e1wXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH52xQ/8CFn5pp17a8hmC7Y/sCxTcG72
 HpgKgvmPDk859riCmwzGFQOzs4adOHP4q46xnh6t1Rx9oHWIqHfw9dadtT2yarIp
 NS57vpYWzl4KNmM3fsMIbt1KuuR+uczOq5kBnefI8SDLX1XE94Eo1pbaTyKWP967
 g3bE1M/ifdbduKbi+X0d0rocbc6EtTLOeaUVsSzP/6bYI7ky4TT8KUMXpeCnfOXe
 539+8AJhncVoY/ewVnEypAY3EFmQedol9mMAYSAR4RTUIsMMt+fjD7RMKy5ZUylF
 GDa26CKo79bUvrrjdafGP8Jywd/+t8LZgNwWsISvsMTDwE72whuUikOr4z+MnMaG
 ATWTpmW7sSnTnjASWpG1cgFwxsGu1u5Ylj2KemEL+HzTz5uVfOZnuW6OvNmVDZLV
 fcCH6tmbiCh0OaLwCYeyAQRfozrWatVwvB6eq2VrPvHeqgL9ulCFLoSeENsl63VV
 6imoFZlisUDK/9VEBMrAxnVYxgwf0unKgSQX5fpvX7olt66I4XDQiNwd/fjzZRhE
 vM62hO+vKGicHmdN2sxeU+0G04+4kBMZtHRMa+Jusvk7BAOesX5cgKWoJ/bLzW5d
 BveXcvvbQV3lqC7zS5WX8TvgaNQiPeyAuDn1hNNk22fMPhL5v2fevm2H9RCoF1fg
 w//cffQwFnxtM6rKz5g=
 =9V5z
 -----END PGP SIGNATURE-----

Merge tag 'rpi-next-2024.04' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi

Add RaspberryPi5 basic support.

Acked-by: Peter Robinson <pbrobinson@gmail.com>
2024-02-05 09:31:48 -05:00
Jonas Karlman
363cbd5781 rockchip: rk3568-generic: Enable eMMC HS200 mode
Writing to eMMC using HS200 mode work more reliably then other modes on
RK356x boards.

Add device tree props and enable Kconfig options for eMMC HS200 mode on
the generic RK3566/RK3568 board. Also enable the pinctrl driver in SPL
and add missing rk3568-generic.dtb to Makefile.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05 15:06:04 +08:00
Andy Yan
1814eb72a3 rockchip: rk3588-evb: Enable USB support
Enable USB releated config to support
boot from usb.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05 15:04:47 +08:00
Jonas Karlman
5c053f3adc mmc: rockchip_sdhci: Fix HS400 mode write on RK3568
Testing has shown that writing to eMMC using HS400 modes on RK3568
result in an ERROR.

Change the tap number for transmit clock to fix this.

Also stop DLL when config_dll() is called to disable DLL.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05 15:00:51 +08:00
Jonas Karlman
6de9d7b2f1 rockchip: rk35xx: Enable eMMC HS200 mode by default
Testing has shown that writing to eMMC using a slower mode then HS200
typically generate an ERROR on first attempt on RK3588.

  # Rescan using MMC legacy mode
  => mmc rescan 0

  # Write a single block to sector 0x4000 fails with ERROR
  => mmc write 20000000 4000 1

  # Write a single block to sector 0x4000 now works
  => mmc write 20000000 4000 1

With the MMC_SPEED_MODE_SET Kconfig option enabled.

Writing to eMMC using HS200 mode work more reliably than slower modes on
RK35xx boards. Enable MMC_HS200_SUPPORT Kconfig option by default to
prefer use of HS200 mode on RK356x and RK3588.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05 15:00:51 +08:00
Jonas Karlman
ebe293bae7 rockchip: rk35xx: Remove use of eMMC DDR52 mode
Testing has shown that writing to eMMC using DDR52 mode does not seem to
work on RK356x and RK3588 boards.

A simple test of writing a single block to e.g. sector 0x4000 fails:

  # Rescan using DDR52 mode
  => mmc rescan 4

  # Write a single block to sector 0x4000 fails with ERROR
  => mmc write 20000000 4000 1

With the MMC_SPEED_MODE_SET Kconfig option enabled.

Fix this by removing the mmc-ddr-1_8v prop from sdhci nodes in affected
board u-boot.dtsi files.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05 15:00:51 +08:00