Source: https://lore.kernel.org/all/20241016-b4-rk3588-bridge-upstream-v10-0-87ef92a6d14e@collabora.com/^
-----------------------------
**Quote from source:**
Subject: [PATCH v10 0/3] Add initial support for the Rockchip RK3588 HDMI TX Controller
Date: Wed, 16 Oct 2024 23:06:50 +0300
The Rockchip RK3588 SoC family integrates the Synopsys DesignWare HDMI
2.1 Quad-Pixel (QP) TX controller, which is a new IP block, quite
different from those used in the previous generations of Rockchip SoCs.
The controller supports the following features, among others:
* Fixed Rate Link (FRL)
* Display Stream Compression (DSC)
* 4K@120Hz and 8K@60Hz video modes
* Variable Refresh Rate (VRR) including Quick Media Switching (QMS)
* Fast Vactive (FVA)
* SCDC I2C DDC access
* Multi-stream audio
* Enhanced Audio Return Channel (EARC)
This is the last component that needs to be supported in order to enable
the HDMI output functionality on the RK3588 based SBCs, such as the
RADXA Rock 5B. The other components are the Video Output Processor
(VOP2) and the Samsung IP based HDMI/eDP TX Combo PHY, for which basic
support has been already made available via [1] and [2], respectively.
Please note this is a reworked version of the original series, which
relied on a commonized dw-hdmi approach. Since the general consensus
was to handle it as an entirely new IP, I dropped all patches related to
the old dw-hdmi and Rockchip glue code - a few of them might still make
sense as general improvements and will be submitted separately.
It's worth mentioning the HDMI output support is currently limited to
RGB output up to 4K@60Hz, without audio, CEC or any of the HDMI 2.1
specific features. Moreover, the VOP2 driver is not able to properly
handle all display modes supported by the connected screens, e.g. it
doesn't cope with non-integer refresh rates.
A possible workaround consists of enabling the display controller to
make use of the clock provided by the HDMI PHY PLL. This is still work
in progress and will be submitted later, as well as the required DTS
updates.
To facilitate testing and experimentation, all HDMI output related
patches, including those part of this series, are available at [3].
So far I could only verify this on the RADXA Rock 5B board.
Thanks,
Cristian
[1]: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588")
[2]: 553be2830c5f ("phy: rockchip: Add Samsung HDMI/eDP Combo PHY driver")
[3]: https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/commits/rk3588-hdmi-bridge-v6.12-rc2
[4]: https://lore.kernel.org/lkml/20240801-dw-hdmi-qp-tx-v1-0-148f542de5fd@collabora.com/
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
- 0001-general-add-overlay-support
- 0024-RK3588-Add-Crypto-Support (asm/unaligned.h moved to linux/unaligned.h)
- 0025-RK3588-Add-HW-RNG-Support (rename driver file to avoid conflict with new 6.12 driver)
Also add temporary compatibility patch for existing installations,
since existing installations will look for the old dts file.
To make migration smoother, add a pointer to the new file by
including the new dts in the old one.
For migration:
Please edit your `/boot/armbianEnv.txt` as soon as possible to
use BOOT_FDT_FILE="rockchip/rk3588-friendlyelec-cm3588-nas.dtb"!
This workaround will be removed in kernel version 6.14!
- remove patches (already mainlined)
- while at it, rename BOARD_MAINTAINER to the actual GitHub profile
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
* Board: NanoPC T6 & LTS - Bump uboot from 2024.07 to 2024.10 mainline
- Replaced edge patch with v7 that enable power-supply on USB3.0 and add fan control through pwm.
* Revert BOOTCONFIG to the original state that not exist on vendor kernel and aligned edge BOOTCONFIG
* Rewrited patch with rewrite-kernel-patches flag
* Adjusted nanopct6 configuration
Co-authored-by: ColorfulRhino <131405023+ColorfulRhino@users.noreply.github.com>
* Revert patch, added on the same patch a new patch for usb3 and fan stuff
---------
Signed-off-by: SuperKali <hello@superkali.me>
Co-authored-by: ColorfulRhino <131405023+ColorfulRhino@users.noreply.github.com>
Removed gpio-keys node (NOTE: add to the M4 Berry DTS)
Add vcc1v8 and vcc3v3 regulators
Fixup MMC nodes
Add bluetooth node (NOTE: BT is still iffy in Armbian)
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Re-extract the kernel patches as a series.
Re-extract the u-boot patches as "git format-patch" command.
Unified patch extraction makes it easier to work with patches.
Added a DTSI just in case a M4 Berry should be added at a
later date.
Removed usb1_vbus-supply = <®_usb_vbus>; from the &usbphy
node. In my testing this resolves the onboard WiFi over USB
issue that has been troubling the REV1.
Added REV2 related nodes: SDIO, Regulators, Etc ...
An SDIO / Bluetooth overlay will be added at a later date to
support the REV2.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
- in main `rockchip64` family, for current/edge (6.6 / 6.11)
- using mainline u-boot's generic rk3568 for current/edge
- vendor kernel is added via a copypasta hook to piggyback on `rk35xx`
- requires armbian/linux-rockchip PR https://github.com/armbian/linux-rockchip/pull/245
- vendor u-boot:
- is required to bringup npu for vendor kernel (otherwise panics)
- .dts done based on vendor kernel DT + looking at armsom-sige3
- defconfig ripped off from armsom-sige3
- Marcin Juszkiewicz's series https://lore.kernel.org/all/20240829-friendlyelec-nanopc-t6-lts-v6-0-edff247e8c02@linaro.org/ has landed upstream
- see db1dcbe5f7
- thus we have 2 separate DTs, one for non-LTS, one for LTS; thus also 2 different Armbian boards (see separate commit)
- drop my own patch that added SPI NOR to the T6, as that is now included in the base DT
- this patch shall be dropped when `6.12-rc1` is released
There are three revs: AM-GZ80x, AM-GZ80x-US and SC-GZ80x
Add a DSTI in case one should drop out of the sky and we
need a DTS for it. This also removes its dependency on
meson-axg-jethome-jethub-j1xx.dtsi.
Can now power down via power button on the back of the
unit and power back on via reset button on the side.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
- general-add-overlay-compilation-support.patch: same fix as done in rk3588's 6.11
- board-bananapism1-add-uart_A-and-AO_B.patch: manually rebase, guess there was an indent change
- general-socinfo-sm-1-soc-amlogic-meson-gx-socinfo-Add-S905L-ID.patch and general-socinfo-sm-2-soc-amlogic-meson-gx-socinfo-add-new-A113X-SoC-id.patch: landed upstream
The patches in the series were applied to the Linux
kernel git repository as the "git am" command.
And then re-extracted to the target patches.armbian
folder using the tools/mk_format_patch script.
In this case, the series.armbian file is created anew
and all patches in the series strictly correspond
to this list.
I.e. unused ones will be deleted. The name of the patch
file will match the string "Subject:".
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
Improve overall WiFi experience
Default freq now set to 100MHz (optional overlay to 200MHz)
Resolved incompatibility with the github driver: https://github.com/jethome-ru/rtl88x2cs
If the github driver is preferred blacklist RTW88
/etc/modprobe.d/blacklist-rtw88.conf
blacklist rtw88_8822c
blacklist rtw88_8822cs
EXTRA: Waveshare DTS fixup
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Gateway AM-GZ80x: Re-brand as Amper & update u-boot to v2024.04
During a search I noticed other companies are using the same
unit. Lets re-brand to Amper as technically that is the product
brand name.
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
* Delete old patch set: `patch: u-boot: v2023.10: board_gateway-gz80x`
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
* Update test target
---------
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
Co-authored-by: Patrick Yavitz <pyavitz@armbian.com>
Co-authored-by: Igor <igor@armbian.com>
- linux-tqma-current.config: enable HDMI, LVDS, Bluetooth
- imx8_common.inc: use tag instead of branch (v6.6.43)
- fix asound.state.tqma
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
These patches are not needed for the kernel version 6.6 and later.
In addition, they cause minor harm when measuring temperature,
as they additionally calibrate the sensors.
Today, all the work is done by drivers/thermal/sun8i_thermal.c
Now the names of the patch files correspond to the entry
in the commit message.
Patches that have been transferred (copied) since time
immemorial and require revision have been removed.
No one wants to deal with them.
* the existing patches for rk3308 audio codec have been disabled:
the rk3308 driver has been mainlined and thus the patches
don't apply anymore
* add the missing i2s_8ch_0 and _1 i2s nodes
* adjust "acodec" with "codec" device tree labels, to match
mainline kernel nomenclature
Legacy: use TAG instead of BRANCH (gives us more control)
Current: update DTS files
Current: add needed patches up to v1.0.8
Fixup bluetooth node and disable by default (half broke anyway)
Misc fixups to bananapif3.wip and spacemit.conf file
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
Reverse commit 75317a0 since this is a special case.
Eliminate the real reason for the inability to boot the kernel.
Linux kernel hangs in early boot on 32-bit ARM platform,
when ftrace 4-byte "mcount" function call location for
"_raw_spin_unlock_irqrestore" function straddles icache lines.
The problem is present for (cross-compiler) GCC 10, 11, 12.
It does not happen when the kernel is compiled with GCC 9,
even when condition (1) is satisfied.
Detailed description:
https://forum.armbian.com/topic/41339-linux-image-legacy-sunxi2451-kernel-6192-is-broken-stuck-at-starting-kernel/?do=findComment&comment=196528
- **win**: notice how one can actually _spot_ revelevant changes now
- case in point, `1022-arm64-dts-rockchip-support-poweroff-on-rock-5a.patch` -- will drop it in separate commit
NB: This family only has one board (BananaPi R2) and has not been properly maintained in many years, so 'current' LTS kernel is enough.
No need for 'edge' kernel unless someone plans to step in as maintainer who bumps and tests it on every new kernel release.
- Adjust BananaPi R2 board config (board is mainlined)
- Remove legacy kernel patch folder and kernel config
- Remove unstable WiFi stuff
* To modify the PWM-fan temperature control policy of fine3399 to adjust the fan speed to a lower level
* Integrating support for xiaobaonas boards into the rockchip64-6.9 kernel
Revert 07b37f227c8daa27e68f57b1c691fab34a06731e commit
For the sunxi (armhf) architecture, this commit results in
an inability to load the kernel. It's actually a crutch
that can break everything tomorrow.
Therefore, freeze the kernel version for better times.
As per `config/sources/families/include/meson64_common.inc`, the meson64 family is only using kernels 6.1, 6.6 and 6.9.
The kernel patch folder for 5.10 was forgotten to delete when the kernel was bumped.
As per `config/sources/families/include/rockchip64_common.inc`, the rockchip64 family is only using kernels 6.6 and 6.9.
The kernel patch folder for 6.1 was forgotten to delete when the kernel was bumped.
As per `config/sources/families/rockchip.conf`, the rockchip family is only using kernels 6.6 and 6.9.
The following kernel patch folders from old kernels are not used anymore:
- 4.4
- 5.10
- 5.15
- 6.1
All remaining `media` boards have been integrated into the `rockchip64` family.
- Remove the family config
- Remove all kernel patch folders
- Remove all U-Boot patch folders
- Remove all kernel configs