1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-08-31 08:12:06 +02:00
Commit Graph

91416 Commits

Author SHA1 Message Date
Ondrej Jirman
0fadd1906a cmd: tmenu: Add extlinux timeout support and button controls 2024-03-28 20:39:07 +01:00
Ondrej Jirman
4ff207710b Fix warnings 2024-03-28 20:37:54 +01:00
Ondrej Jirman
5d284a149c pinephone: Disable experimental low battery monitoring code
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-03-28 20:37:33 +01:00
Ondrej Jirman
2cbc52050a config: ppp: Re-enable EFI 2024-02-15 23:09:53 +01:00
Ondrej Jirman
da696bbee3 cmd: tmenu: Make EFI boot menu options less cryptic
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-15 23:09:39 +01:00
Ondrej Jirman
bbc89af29f cmd: tmenu: Add SD over USB storage access option 2024-02-15 23:05:51 +01:00
Ondrej Jirman
6dc0a49f52 config: ppp: disable usb host 2024-02-15 19:24:08 +01:00
Ondrej Jirman
ce7102ab30 arm: dts: Fix video out on Pinephone Pro
rk_vop_bind is no longer run before video_reserve() without this.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-15 19:19:44 +01:00
Ondrej Jirman
fc3e99519e config: Update PPP defconfig 2024-02-15 18:27:53 +01:00
Ondrej Jirman
0d22faa3e8 configs: Speed up boot on Orange Pi 5 Plus
- Avoid eMMC (optional)
- Avoid M.KEY PCIe socket probing
- Disable bootdelay

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 01:21:30 +01:00
Ondrej Jirman
e7338e1754 configs: pinetab2: Remove boot delay
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
ba8902d026 spi-nor: Add support for as25f1128mq
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
5f3782b257 pinephone: lower the SPI speed, enable unzip
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
84fd990ca7 config: pinebook-pro: Remove unused features
Signed-of-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
701e12ac42 config: rockpro64: Remove unused features
Signed-of-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
e383db944c config: pinephone-pro: Enable video out and boot menu
Also remove unused features.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
2d0371d6d7 board: pine64: Enable DMC on pinebook pro and rockpro64
Automatically enabled DMC node in the kernel when using rkbin blobs
that support DMC.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
67c2b252de pinephone-pro: Sync Pinephone Pro device tree with Linux
Update it so that it matches my orange-pi-6.3 branch.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Samuel Dionne-Riel
e31bcb46ec pinephone-pro: Sync RK3399 device tree with Linux
Update it so that it matches my orange-pi-6.3 branch.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
b9c2e7797c board: pinephone-pro: RINT calibration on boot [wip]
... not yet

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
0812ba181c board: pinephone-pro: Handle low battery during boot, increase current limit
The limit needs to be raised as soon as possible to prevent boot loops
on empty or removed battery. The default 450mA limit is crossed when
eMMC or SD card starts seeing reads in SPL after DRAM was already
enabled in TPL.

But this fix is good enough to prevent boot loops when the phone can still
get ~100mA from the battery to cover the difference between 450 mA current
limit and ~550 mA needed to load main U-Boot from eMMC while the DRAM
is already initialized by TPL.

Detect low battery voltage and prevent boot, set current limit to
something even USB 3.0 port can handle, and charge the battery
until at least 3.5V is reached. Typically the charging power will
be ~2W in this mode, which will reach the target voltage within 15
minutes or so and the phone will then boot.

If the USB power is not available, just blink the red led quickly
and power off. If USB power is available, indicate progress of charging:

- dead battery: 100ms green LED flash each second
- trickle charging: 200ms green LED flash each second
- cc-cv: duty cycle indicates charging current (5-95% of 2A)
  with period of 2s
- various failures while USB power is connected, blink red LED
  5 times quickly, wait 1s, and repeat until the failure clears

TODO:

- allow volume key input (raise / lower input current limit)
- power button, skip the algorithm and continue boot at user's
  own risk

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:34 +01:00
Ondrej Jirman
53a92b7377 [HACK] pinephone-pro: Don't enable vcc5v0_usb regulator in main u-boot
Not needed for me.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
ce55fe0cae [HACK] spl: Speedup SPL FIT loading a bit
Don't record loadables into DT. It's useless and slow.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
b39b0dd3b2 pinephone-pro: Enable DMC node when booting from U-Boot using RK blobs
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
1146956100 mtd: spi-nor: Add device info for gd25lq128e
This is used on Pinephone Pro.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
c9104dda84 mtd: Print jedec id of unrecognized flashes
Hell to debug otherwise.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
45643debf6 power: Allow to enable RK8XX regulator in SPL 2024-02-14 00:22:33 +01:00
Ondrej Jirman
c7d7c0a3be regulator: rk8xx: Fix USB voltage limit setting function
Value to be set into the register needs to be shifted to match
the mask.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ziyuan Xu
f4a8889ab8 mmc: dw_mmc: reset controller after data error
Per dw_mmc databook, it's recommended to reset the host controller if
some data-related error occurred.
Implement a reset mechanism.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Co-developed-by: Jason Zhu <jason.zhu@rock-chips.com>
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
[eugen.hristev@collabora.com: modified a bit the variables initialization]
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
61fb2fa5f7 cmd: tmenu: Add support for UMS
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
026f2883e7 cmd: tmenu: Add bootflow+extlinux support
Automatically generate menu from bootflow and extlinux data.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
1c000d75cf cmd: tmenu: Add tmenu command for touch menu user interface
Shows a menu of items that can be controlled using touch panel.
This is useful for touch based devices like tablets to select
alternative boot options (multi-boot).

Signed-off-by: Ondrej Jirman <megous@megous.com>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
b5dca54e1d input: goodix: Add support for Goodix touchscreens
As the title says. :)

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
5710a67d25 input: Add support for edt,edt-ft5x06 touchpanel controller
This is a direct port of the Linux driver from Linux v4.18.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
ad06b9d83b cmd: Add 'touch' command to enumerate touchpanel devices
This command can be used to list and access devices with uclass
UCLASS_TOUCHPANEL.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
700a8067f2 input: Implemented touchpanel uclass for touchpanel devices
Touchapnel devices are useful in u-boot for implementation of boot
menu user interfaces on tablets and other touch based devices.

This uclass implements start, stop and get_touches interface methods.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
07bed1ed80 video: dw-mipi-dsi: Sync-up with Linux driver
Add changes made to the Linux driver in the last few years.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
cfd2f81e73 video: rockchip: dw-mipi-dsi: Align clock rate calculations with Linux
Just to be on the same page

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
c842a731f7 clk: rockchip: Add clocks used by mipi-dsi on rk3399
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
82a5b2de5e video: rockchip: rk3399-vop: Don't enable hardcoded regulator 2024-02-14 00:22:33 +01:00
Ondrej Jirman
d300da4d1c video: rockchip: Add video bridge support to VOP driver
This is used for video output using video bridge implementation of
MIPI-DSI, like with the recently added dw_mipi_dsi_rockchip.c
driver.

The original code path when the UCLASS_DISPLAY device is found is
untouched. The video bridge branch is taken only when the
UCLASS_VIDEO_BRIDGE device is found at the remote endpoint's parent.

This was tested to work on Pinephone Pro.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Philipp Tomsich <philipp.tomsich@vrull.eu>
Cc: Kever Yang <kever.yang@rock-chips.com>
Cc: Chris Morgan <macromorgan@hotmail.com>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
b4f5590d60 clk: rk3399: Static clock settings for VOPs
cpll in U-Boot runs at 384 MHz, set various VOP related clocks to produce
roughly 400 and 100 MHz just like in Linux.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
015d210654 dt-bindings: Add missing rockchip clock ids
These are needed for updated upstream rk3399 dtsi.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
554dfef1d6 pinephone-pro: Fix pmugrf io voltage
On poweron this register is 0 (as opposed to what TRM says, that it
should be 0x300). Make it 0x300.
2024-02-14 00:22:33 +01:00
Ondrej Jirman
ecfa6ca857 video: rockchip: dw_mipi_dsi: Sync calculations with Linux
This was all weird and broken.

Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Ondrej Jirman
1578cd4700 rk3588: Disable JTAG on SD card pins
Signed-off-by: Ondrej Jirman <megi@xff.cz>
2024-02-14 00:22:33 +01:00
Jonas Karlman
216d3e0f2d bootstd: efi: Initialize PCI to discover network controllers
Boards like Radxa ROCK 5 Model B and NanoPi R5C require PCI to be
initialized in order to discover their onboard network controllers.

During standard boot, PCI gets initialized after faster boot media have
been evaluated. However when an EFI bootflow is run from a fast boot
media, PCI initialization may not have happended and as a result no
network device is exposed to EFI.

Fix this by initializing PCI during EFI bootflow when no ethernet device
can be found.

This allows chainloading e.g. iPXE on ROCK 5B and NanoPi R5C without
having to enable PCI_INIT_R. Enabling of PCI_INIT_R has the side affect
of slowing down booting from faster boot media, by adding ~1 second off
boot delay for each unocupied M.2 slot.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2024-02-07 22:49:20 +00:00
Jonas Karlman
0d5631ec3c rockchip: rk3588-turing-rk1: Update defconfig
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2024-02-07 22:49:20 +00:00
Jonas Karlman
ed827c5586 rockchip: rk3588-rock-5a: Enable PCIe and AHCI
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2024-02-07 22:49:20 +00:00
Jonas Karlman
2c59aa587f rockchip: rk3588-rock-5a: Enable USB3
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2024-02-07 22:49:20 +00:00