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

71630 Commits

Author SHA1 Message Date
Ondrej Jirman
96c08df75f UNTESTED 2021-04-05 19:12:32 +02:00
Ondrej Jirman
0c9bd9e431 tbs: fix CONFIG_FIXUP_BDADDR 2021-04-05 19:12:02 +02:00
Ondrej Jirman
8d116c1fc3 opi3: fix CONFIG_FIXUP_BDADDR 2021-04-05 19:11:51 +02:00
Icenowy Zheng
af66b096a9 sunxi: support asymmetric dual rank DRAM on A64/R40
Previously we have known that R40 has a configuration register for its
rank 1, which allows different configuration than rank 0. Reverse
engineering of newest libdram of A64 from Allwinner shows that A64 has
this register too. It's bit 0 (which enables dual rank in rank 0
configuration register) means a dedicated rank size setup is used for
rank 1.

Now, Pine64 scheduled to use a 3GiB LPDDR3 DRAM chip (which has 2GiB
rank 0 and 1GiB rank 1) on PinePhone, that makes asymmetric dual rank
DRAM support necessary.

Add this support. As we have gained knowledge of asymmetric dual rank,
we can now allow R40 dual rank memory setup to work too.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
2021-04-05 19:10:07 +02:00
Ondrej Jirman
2e0ac01287 This branch is not tested yet 2021-04-05 19:10:07 +02:00
Ondrej Jirman
c01d06fdb5 Fix more compilation errors (cmd) 2021-04-05 19:10:07 +02:00
Ondrej Jirman
5bd3ebcfc8 input: edt-ft5x06: Fix compilation error
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:10:07 +02:00
Ondrej Jirman
8b02e010f7 pinephone: Add volume_key environment variable
When the user has a volume key pressed volume_key variable will
contain either value 'down' or 'up', otherwise it will be empty.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:10:04 +02:00
Ondrej Jirman
474596a6fd ** Read This First **
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:09:14 +02:00
Ondrej Jirman
0947547624 configs: pinephone: Disable SPL SPI
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:09:12 +02:00
Ondrej Jirman
2d5bc9244f configs: orangepi_3: Make SPL fit again after dcache enablement
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:08:43 +02:00
Ondrej Jirman
be72236227 config: pinephone: Enable env in FAT
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:08:43 +02:00
Ondrej Jirman
e8383bd12b mmc: sunxi: Fix DMA transfers on MMC2 (typically eMMC) on H6
The same problem as with A64.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:08:43 +02:00
Ondrej Jirman
20a3e99f51 configs: Customize configs for my boards
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:08:41 +02:00
Ondrej Jirman
be05d9d95b sunxi: pinephone: Add support for optional LED feedback during boot
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:05:07 +02:00
Ondrej Jirman
65b5b4f2f8 spl: ARM: Enable CPU caches
http://u-boot.10912.n7.nabble.com/RFC-PATCH-0-3-spl-Add-D-cache-support-td274750.html

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 19:05:05 +02:00
Ondrej Jirman
f1b9924148 sunxi: Increase CONFIG_SYS_BOOTM_LEN to 64MiB for all of sunxi (even 32bit) 2021-04-05 18:58:04 +02:00
Ondrej Jirman
ffc389fae8 sunxi: Don't auto-enable video console 2021-04-05 18:58:03 +02:00
Ondrej Jirman
2c3de62d29 cmd: Allow to turn on backlight on demand 2021-04-05 18:58:03 +02:00
Ondrej Jirman
9bb34b4d71 sunxi: Add minimal PocketBook Touch Lux 3 support 2021-04-05 18:58:03 +02:00
Ondrej Jirman
a9b4934812 sunxi: Allow to configure bus-width on MMC2
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:58:03 +02:00
Ondrej Jirman
e4ea53e381 video: pwm_backlight: Remove PWM setup delays 2021-04-05 18:58:03 +02:00
Ondrej Jirman
bb48b451e3 arm: dts: Faster mmc load on TBS A711
Missing bus-width = <4>.

Along with DMA support, we can now do 34MiB/s in u-boot.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:58:03 +02:00
Ondrej Jirman
7688fac0be mmc: sunxi: Mask data0 while changing clocks ???
Is this needed?

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:58:03 +02:00
Ondrej Jirman
ddae84015c mmc: sunxi: DDR/DMA support for SPL 2021-04-05 18:58:03 +02:00
Ondrej Jirman
2efedfe4b5 mmc: sunxi: Cleanup, add support for DDR
With this, we can boot from eMMC with read speeds around 47.5MiB/s.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:58:01 +02:00
Ondrej Jirman
dc7b236133 mmc: sunxi: New mode needs double the frequency
Without this, we get 10 MiB/s instead of 23MiB/s on H6.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:55:31 +02:00
Ondrej Jirman
5731eeaed5 mmc: sunxi: Add support for DMA transfers
Allwinner MMC controller supports DMA via internal DMA controller,
use it.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:52:53 +02:00
Ondrej Jirman
ba43f4db07 arm: sunxi: Fix clock_get_pll6() calculation
Off by on error. N is stored in register as N-1.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:51:11 +02:00
Ondrej Jirman
e2cee79c95 sunxi: Fix unreliable detection of DRAM size on Orange Pi 3
Orange Pi 3 has 2 GiB of DRAM, that sometime get misdetected
as 4 GiB, due to false negative result from mctl_mem_matches()
when detecting number of column address bits. This leads to
u-boot detecting more address bits than there are and the
boot process hangs shortly after.

In mctl_mem_matches() we need to wait for each write to finish,
separately. Without this, the check is not reliable for some
unknown reason, probably having to do with unpredictable memory
access ordering.

Patch was made with help from André Przywara, who noticed that
my original idea about detection failing due to read-back from
cache without involving DRAM was false, because data cache is
still of at the time of the DRAM size autodetection.

Signed-off-by: Ondrej Jirman <megous@megous.com>
Cc: André Przywara <andre.przywara@arm.com>
2021-04-05 18:46:21 +02:00
Ondrej Jirman
735cb10ed0 pwm: sunxi-pwm: Add compatible for H3
A83T DTS from Linux uses allwinner,sun8i-h3-pwm.

So we need this driver to support it too.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:41 +02:00
Ondrej Jirman
8fe7919f37 sunxi: Enable support for BMP image format (plain and gzip compressed)
This is needed in order to be able to use `bmp` command on sunxi boards.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:41 +02:00
Ondrej Jirman
4299d8d2e5 cmd: Add axp command for reading values from AXP81x PMIC
This is useful for boot scripts to be able to decide whether to
boot or not and whether to notify the user of what is wrong.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:39 +02:00
Ondrej Jirman
3cb953f205 sunxi: dts: Add nodes for LCD panel and backlight
Device tree is slightly different from Linux kernel one, because of
different ABI for display timings between u-boot and Linux.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:28 +02:00
Ondrej Jirman
30807d24fe sunxi: Enable DE2/LVDS support on A83T
Now that the code is in place, enable SUNXI_DE2 and LCD panel support
for MACH_SUN8I_A83T.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:28 +02:00
Ondrej Jirman
eb77ae82fa video: sunxi: de2: Support A83T SoC
DE2 PLL on A83T does not have selectable parent, nor is it separately
gateable.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:27 +02:00
Ondrej Jirman
b1c8068b87 video: sunxi: Support LVDS output on A83T (mess)
This is probably useless ATM.

Except for hsync/vsync polarity (seems to be wrong in the kernel).

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:27 +02:00
Ondrej Jirman
98cf4befa5 video: sunxi: Support LVDS output on A83T
- Enable LVDS pins (PD18-PD27)
- De-assert LVDS interface reset line
- Enable sunxi_lcd platform device for A83T
- Really disable all interrupts
- A83T does have only a simple clock gate for TCON0 clock
  (no need to select source)
- Lifted some analog circuitry setup magic from the Linux driver

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:44:26 +02:00
Ondrej Jirman
c7443ee006 video: sunxi: Don't build HDMI code when HDMI is not enabled
This prevents compile errors for A83T build, that does not support
HDMI yet.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:43:27 +02:00
Ondrej Jirman
cd2df5150f video: pwm_backlight: Fix broken build when DM_REGULATOR is disabled
Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:43:25 +02:00
Ondrej Jirman
29da9db63e sunxi: A83T doesn not have display frontend
This was probably copy pasted in from sun6i header.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:42:30 +02:00
Ondrej Jirman
378b60cb4f sunxi: Add clock support for pll3 and pll_de for A83T SoC
This is needed in order to support DE2 on A83T. PLL3 is for TCON0.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:42:30 +02:00
Ondrej Jirman
d3b64a1380 sunxi: Rename pll10 to pll_de to avoid confusion
A83T SoC has PLL_DE at pll9. Change the name to make it less
confusing when we'll add DE2 support for A83T.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:42:30 +02:00
Ondrej Jirman
81fd5e5aee cmd: Add mydbg command (A83T SoC debugging helpers)
This can be used to dump various registers and do other kinds of
mischief when developing drivers.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:42:28 +02:00
Ondrej Jirman
e836c27f54 cmd: Split tmenu render/input
- so that we can show it quickly and do stuff "in the background"
  before accepting input from the user

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:41:50 +02:00
Ondrej Jirman
e403e669d0 cmd: 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>
2021-04-05 18:41:50 +02:00
Ondrej Jirman
e7a7090b62 dts: Add touchscreen device connected to i2c0 on TBS A711 tablet
We don't have DM support for PMIC/GPIO/regulators, so this needs
to be handled via config options and some custom board initialization
code for now.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:41:50 +02:00
Ondrej Jirman
ca6a6e88d8 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>
2021-04-05 18:41:50 +02:00
Ondrej Jirman
a33a467b93 power: axp818: Suport DCDC6 in AXP818 2021-04-05 18:41:50 +02:00
Ondrej Jirman
b86437d6a0 power: axp818: Add support for configuring GPIO0 LDO voltage on AXP81x
To enable LDO on GPIO0 and set it to required voltage define
CONFIG_AXP_GPIO_LDO0_VOLT=<mV> in your defconfig. Eg. <mV> can
be 3100 for 3.1V.

Signed-off-by: Ondrej Jirman <megous@megous.com>
2021-04-05 18:41:50 +02:00