linux-pine64-pinephonepro: Linux 7.2
Signed-off-by: Rudraksha Gupta <guptarud@gmail.com> Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9440>
This commit is contained in:
+5
-3
@@ -1,5 +1,7 @@
|
||||
From aec579307052b49a84960b2570c25f99929a1802 Mon Sep 17 00:00:00 2001
|
||||
From: Dummy <dummy@gmail.com>
|
||||
Subject: [PATCH] arm64: dts: rk3399-pinephone-pro: Keep modem regulators
|
||||
Date: Thu, 27 Aug 2026 20:07:31 -0700
|
||||
Subject: [PATCH 90/90] arm64: dts: rk3399-pinephone-pro: Keep modem regulators
|
||||
always-on
|
||||
|
||||
The vcc_4g and vcc_4g_5v regulators power the EG25 modem. Mark them
|
||||
@@ -9,7 +11,7 @@ always-on so the modem is powered at boot when using eg25-manager.
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
|
||||
index 7a3fa599f541..9afef750bb9b 100644
|
||||
index 7a3fa599f541..4d4888812bed 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
|
||||
@@ -430,6 +430,7 @@ vcc_4g_5v: regulator-vcc-4g-5v {
|
||||
@@ -29,5 +31,5 @@ index 7a3fa599f541..9afef750bb9b 100644
|
||||
|
||||
vcc1v8_codec: regulator-vcc1v8-codec {
|
||||
--
|
||||
2.39.5
|
||||
2.55.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
maintainer="Rudraksha Gupta <guptarud@gmail.com>"
|
||||
pkgname=linux-pine64-pinephonepro
|
||||
pkgver=7.1
|
||||
pkgrel=1
|
||||
pkgver=7.2
|
||||
pkgrel=0
|
||||
pkgdesc="Mainline kernel for the Pinephone Pro"
|
||||
arch="aarch64"
|
||||
_flavor="${pkgname#linux-}"
|
||||
@@ -41,15 +41,62 @@ case "$CARCH" in
|
||||
arm*) _carch="arm" ;;
|
||||
esac
|
||||
|
||||
# Currently, the megi kernel is the most up-to-date pinephone pro kernel. As postmarketOS doesn't want to use the Megi kernel directly, we can strip the Megi kernel down to it's essentials by doing the following:
|
||||
# Strip down Megi kernel to just the PPP
|
||||
#
|
||||
# git clone https://codeberg.org/megi/linux.git --branch orange-pi-7.1
|
||||
# git switch -c ppp-7.1
|
||||
# git reset --hard 8cd9520d35a6c38db6567e97dd93b1f11f185dc6 # v7.1
|
||||
# git clone https://codeberg.org/megi/linux.git --branch orange-pi-7.2
|
||||
# cd linux
|
||||
# git switch -c ppp-7.2
|
||||
# git reset --hard 8d3ae59288f1e7d58d76558a6ee96d533bc5019f # v7.2
|
||||
#
|
||||
# cherry pick and make sure to fix/skip conflicts...
|
||||
# cherry pick. Two lists: subjects to skip, and the subsystem tokens the pinephone pro
|
||||
# needs, matched against the second-to-last colon segment of the subject.
|
||||
#
|
||||
# git cherry-pick $(git log --reverse --format='%H%x09%s' HEAD..orange-pi-7.1 | awk -F'\t' '{n=split($2,a,":"); s=a[n-1]; gsub(/^ +| +$/,"",s); if(s ~/^(arasan|cdn-dp|displayport|dwc3|fusb302|gigadevice|imx258|phy-rockchip-inno-usb2|rk3399|rk3399-pinephone-pro|rk3399-s|rk818|rk818-battery|rk818-charger|rockchip|rockchip-inno-usb2|rt5640|supply|tcpm|typec-extcon|rk8xx|rk818_battery|rockchip-typec)$/) print $1}')
|
||||
# cat > /tmp/ppp-skip <<'EOF'
|
||||
# Fix mpu6500 mount matrix
|
||||
# Drop the redundant CDN DP to Type-C PHY graph link
|
||||
# Give the rk3399 ISPs their QoS generators
|
||||
# Add OV8858 power supplies
|
||||
# Add speaker amplifier supply
|
||||
# Drop unusable 800 MHz GPU OPP
|
||||
# Wire up UART DMA channels
|
||||
# Do not log expected unplug races as errors
|
||||
# Emit shield-pixel PDAF data
|
||||
# EOF
|
||||
#
|
||||
# cat > /tmp/ppp-keep <<'EOF'
|
||||
# arasan
|
||||
# cdn-dp
|
||||
# displayport
|
||||
# dwc3
|
||||
# fusb302
|
||||
# gigadevice
|
||||
# imx258
|
||||
# phy-rockchip-inno-usb2
|
||||
# rk3399
|
||||
# rk3399-pinephone-pro
|
||||
# rk3399-s
|
||||
# rk818
|
||||
# rk818-battery
|
||||
# rk818-charger
|
||||
# rockchip
|
||||
# rockchip-inno-usb2
|
||||
# rt5640
|
||||
# supply
|
||||
# tcpm
|
||||
# typec-extcon
|
||||
# rk8xx
|
||||
# rk818_battery
|
||||
# rockchip-typec
|
||||
# EOF
|
||||
#
|
||||
# git log --reverse --format='%H%x09%s' HEAD..orange-pi-7.2 |
|
||||
# grep -vFf /tmp/ppp-skip |
|
||||
# awk -F'\t' 'NR==FNR { keep[$0]; next }
|
||||
# { n = split($2, a, ":"); s = a[n-1]; gsub(/^ +| +$/, "", s)
|
||||
# if (s in keep) print $1 }' /tmp/ppp-keep - > /tmp/ppp-picks
|
||||
#
|
||||
# wc -l < /tmp/ppp-picks
|
||||
# git cherry-pick $(cat /tmp/ppp-picks)
|
||||
#
|
||||
# keep modem always on...
|
||||
#
|
||||
@@ -88,97 +135,105 @@ esac
|
||||
|
||||
# Source
|
||||
_config="config-$_flavor.$CARCH"
|
||||
case $pkgver in
|
||||
*.*.*) _kernver=${pkgver%.0};;
|
||||
*.*) _kernver=$pkgver;;
|
||||
esac
|
||||
source="
|
||||
ppp-v7.1.tar.gz::https://github.com/torvalds/linux/archive/refs/tags/v7.1.tar.gz
|
||||
https://cdn.kernel.org/pub/linux/kernel/v${_kernver%%.*}.x/linux-${pkgver//_/-}.tar.xz
|
||||
config-$_flavor.aarch64
|
||||
megi_patches/0001-ASoC-codecs-rt5640-Fix-output-mixer-input-channel-li.patch
|
||||
megi_patches/0002-ASoC-codecs-rt5640-Fix-hpout-restore-when-lout-is-en.patch
|
||||
megi_patches/0003-ASoC-codecs-rt5640-Add-input-mixer-input-volume-cont.patch
|
||||
megi_patches/0004-ASoC-codecs-rt5640-Allow-to-control-single-ended-dif.patch
|
||||
megi_patches/0005-ASoC-codecs-rt5640-Keep-the-codec-enabled-when-idle.patch
|
||||
megi_patches/0006-ASoC-codecs-rt5640-Add-support-for-power-supplies.patch
|
||||
megi_patches/0007-media-imx258-Add-i2c-supply.patch
|
||||
megi_patches/0008-media-imx258-Add-reset-gpio.patch
|
||||
megi_patches/0009-media-imx258-Drop-interface-speed-to-1224-mbps.patch
|
||||
megi_patches/0010-DEBUG-media-imx258-Add-debug-register-access.patch
|
||||
megi_patches/0001-media-imx258-Add-i2c-supply.patch
|
||||
megi_patches/0002-media-imx258-Add-reset-gpio.patch
|
||||
megi_patches/0003-media-imx258-Drop-interface-speed-to-1224-mbps.patch
|
||||
megi_patches/0004-media-imx258-Add-debug-register-access.patch
|
||||
megi_patches/0005-ASoC-codecs-rt5640-Fix-output-mixer-input-channel-li.patch
|
||||
megi_patches/0006-ASoC-codecs-rt5640-Fix-hpout-restore-when-lout-is-en.patch
|
||||
megi_patches/0007-ASoC-codecs-rt5640-Add-input-mixer-input-volume-cont.patch
|
||||
megi_patches/0008-ASoC-codecs-rt5640-Allow-to-control-single-ended-dif.patch
|
||||
megi_patches/0009-ASoC-codecs-rt5640-Keep-the-codec-enabled-when-idle.patch
|
||||
megi_patches/0010-ASoC-codecs-rt5640-Add-support-for-power-supplies.patch
|
||||
megi_patches/0011-ASoC-rockchip-Fix-doubling-of-playback-speed-after-s.patch
|
||||
megi_patches/0012-Revert-usb-dwc3-Abort-suspend-on-soft-disconnect-fai.patch
|
||||
megi_patches/0013-thermal-rockchip-Add-support-for-RV1106-SoC.patch
|
||||
megi_patches/0014-soc-rockchip-Add-support-for-power-monitoring-driver.patch
|
||||
megi_patches/0015-rtc-rockchip-Add-support-for-RTC-present-in-RV1106-S.patch
|
||||
megi_patches/0016-thermal-rockchip-Add-support-for-RK3506.patch
|
||||
megi_patches/0017-mtd-spi-nor-gigadevice-Add-support-for-gd25lq128e.patch
|
||||
megi_patches/0018-clk-rk3399-Export-SCLK_CIF_OUT_SRC-to-device-tree.patch
|
||||
megi_patches/0019-clk-rockchip-rk3399-Don-t-allow-to-reparent-dclk_vop.patch
|
||||
megi_patches/0020-power-supply-Add-support-for-USB_BC_ENABLED-and-USB_.patch
|
||||
megi_patches/0021-mfd-rk8xx-Enable-rk808-clkout2-function.patch
|
||||
megi_patches/0022-power-supply-rk818_battery-Add-battery-charger-drive.patch
|
||||
megi_patches/0023-power-supply-rk818_battery-Add-code-docs-for-the-HW-.patch
|
||||
megi_patches/0024-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch
|
||||
megi_patches/0025-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch
|
||||
megi_patches/0026-usb-typec-tcpm-Unregister-altmodes-before-registerin.patch
|
||||
megi_patches/0027-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
|
||||
megi_patches/0028-usb-typec-fusb302-Slightly-increase-wait-time-for-BC.patch
|
||||
megi_patches/0029-usb-typec-fusb302-Set-the-current-before-enabling-pu.patch
|
||||
megi_patches/0030-usb-typec-fusb302-Retry-reading-of-CC-pins-status-if.patch
|
||||
megi_patches/0031-usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-int.patch
|
||||
megi_patches/0032-usb-typec-fusb302-Add-OF-extcon-support.patch
|
||||
megi_patches/0033-usb-typec-fusb302-Fix-register-definitions.patch
|
||||
megi_patches/0034-usb-typec-fusb302-Clear-interrupts-before-we-start-t.patch
|
||||
megi_patches/0035-usb-typec-fusb302-Turn-off-VBUS-and-VCONN-on-shutdow.patch
|
||||
megi_patches/0036-phy-rockchip-inno-usb2-Add-support-for-RV1106-RV1103.patch
|
||||
megi_patches/0037-phy-rockchip-inno-usb2-Add-support-for-RK3506.patch
|
||||
megi_patches/0038-phy-rockchip-inno-usb2-Add-PHY-tuning-for-rk3566-rk3.patch
|
||||
megi_patches/0039-drm-rockchip-cdn-dp-Disable-CDN-DP-on-disconnect.patch
|
||||
megi_patches/0040-phy-rockchip-inno-usb2-Decrease-delay-between-port-i.patch
|
||||
megi_patches/0041-phy-rockchip-inno-usb2-More-robust-charger-detection.patch
|
||||
megi_patches/0042-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch
|
||||
megi_patches/0043-usb-dwc3-Always-disable-SUSPHY-when-entering-a-role.patch
|
||||
megi_patches/0044-usb-dwc3-Track-cable-connection-state-separately-fro.patch
|
||||
megi_patches/0045-usb-dwc3-Power-cycle-USB3-PHY-on-role-connection-cha.patch
|
||||
megi_patches/0046-usb-dwc3-Register-the-role-even-when-no-cable-is-con.patch
|
||||
megi_patches/0047-phy-rockchip-inno-usb2-Set-up-charger-detection-mode.patch
|
||||
megi_patches/0048-usb-dwc3-Do-not-re-register-the-gadget-on-cable-even.patch
|
||||
megi_patches/0049-phy-rockchip-typec-Support-a-Type-C-orientation-swit.patch
|
||||
megi_patches/0050-phy-rockchip-typec-Support-a-Type-C-mode-mux.patch
|
||||
megi_patches/0051-phy-rockchip-typec-Publish-the-DP-lane-count.patch
|
||||
megi_patches/0052-drm-rockchip-cdn-dp-Support-ports-driven-by-a-Type-C.patch
|
||||
megi_patches/0053-phy-rockchip-inno-usb2-Learn-the-host-role-from-phy_.patch
|
||||
megi_patches/0054-usb-dwc3-Tell-the-UDC-core-when-there-is-no-cable.patch
|
||||
megi_patches/0055-phy-rockchip-inno-usb2-Do-not-run-charger-detection-.patch
|
||||
megi_patches/0056-usb-dwc3-Set-the-PHY-mode-before-starting-the-host.patch
|
||||
megi_patches/0057-usb-dwc3-Do-not-connect-the-gadget-while-no-cable-is.patch
|
||||
megi_patches/0058-phy-rockchip-inno-usb2-Power-the-PHY-up-before-the-h.patch
|
||||
megi_patches/0059-usb-dwc3-Require-MPS-aligned-OUT-buffers.patch
|
||||
megi_patches/0060-usb-typec-displayport-Update-the-mux-before-signalli.patch
|
||||
megi_patches/0061-arm64-dts-rockchip-rk3399-Disable-debug-nodes.patch
|
||||
megi_patches/0062-arm64-dts-rockchip-rk3399-Add-reboot-mode-driver.patch
|
||||
megi_patches/0063-arm64-dts-rockchip-rk3399-Power-cycle-the-USB3-PHY-o.patch
|
||||
megi_patches/0064-arm64-dts-rockchip-rk3399-Add-dmc_opp_table.patch
|
||||
megi_patches/0065-arm64-dts-rockchip-rk3399-s-Add-DMC-table.patch
|
||||
megi_patches/0066-arm64-dts-rockchip-rk3399-Number-the-CDN-DP-ports.patch
|
||||
megi_patches/0067-arm64-dts-rockchip-rk3399-pinephone-pro-Add-Type-C-p.patch
|
||||
megi_patches/0068-arm64-dts-rockchip-rk3399-pinephone-pro-Add-internal.patch
|
||||
megi_patches/0069-arm64-dts-rockchip-rk3399-pinephone-pro-Add-battery-.patch
|
||||
megi_patches/0070-arm64-dts-rockchip-rk3399-pinephone-pro-Add-sound-su.patch
|
||||
megi_patches/0071-arm64-dts-rockchip-rk3399-pinephone-pro-Add-modem-su.patch
|
||||
megi_patches/0072-arm64-dts-rockchip-rk3399-pinephone-pro-Change-modem.patch
|
||||
megi_patches/0073-arm64-dts-rockchip-rk3399-pinephone-pro-Add-light-pr.patch
|
||||
megi_patches/0074-arm64-dts-rockchip-rk3399-pinephone-pro-Add-I2C-supp.patch
|
||||
megi_patches/0075-arm64-dts-rockchip-rk3399-pinephone-pro-Add-magnetom.patch
|
||||
megi_patches/0076-arm64-dts-rockchip-rk3399-pinephone-pro-Add-mount-ma.patch
|
||||
megi_patches/0077-arm64-dts-rockchip-rk3399-pinephone-pro-Enable-POGO-.patch
|
||||
megi_patches/0078-arm64-dts-rockchip-rk3399-pinephone-pro-Add-pinephon.patch
|
||||
megi_patches/0079-arm64-dts-rockchip-rk3399-pinephone-pro-Switch-LED-b.patch
|
||||
megi_patches/0080-arm64-dts-rockchip-rk3399-pinephone-pro-Pre-configur.patch
|
||||
megi_patches/0081-arm64-dts-rockchip-rk3399-pinephone-pro-Improve-SPI-.patch
|
||||
megi_patches/0082-arm64-dts-rockchip-rk3399-pinephone-pro-Assign-power.patch
|
||||
megi_patches/0083-arm64-dts-rockchip-rk3399-pinephone-pro-Add-camera-f.patch
|
||||
megi_patches/0084-arm64-dts-rockchip-rk3399-pinephone-pro-Disable-inte.patch
|
||||
megi_patches/0012-power-supply-Add-support-for-USB_BC_ENABLED-and-USB_.patch
|
||||
megi_patches/0013-mfd-rk8xx-Enable-rk808-clkout2-function.patch
|
||||
megi_patches/0014-power-supply-rk818_battery-Add-battery-charger-drive.patch
|
||||
megi_patches/0015-power-supply-rk818_battery-Add-code-docs-for-the-HW-.patch
|
||||
megi_patches/0016-power-supply-rk818_battery-Don-t-override-configured.patch
|
||||
megi_patches/0017-power-supply-rk818_battery-Scale-charge-current-by-t.patch
|
||||
megi_patches/0018-power-supply-rk818_battery-Scale-termination-current.patch
|
||||
megi_patches/0019-power-supply-rk818_battery-Compensate-for-IR-drop-wh.patch
|
||||
megi_patches/0020-power-supply-rk818_battery-Rework-the-low-voltage-mo.patch
|
||||
megi_patches/0021-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch
|
||||
megi_patches/0022-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch
|
||||
megi_patches/0023-usb-typec-tcpm-Unregister-altmodes-before-registerin.patch
|
||||
megi_patches/0024-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
|
||||
megi_patches/0025-usb-typec-fusb302-Slightly-increase-wait-time-for-BC.patch
|
||||
megi_patches/0026-usb-typec-fusb302-Set-the-current-before-enabling-pu.patch
|
||||
megi_patches/0027-usb-typec-fusb302-Retry-reading-of-CC-pins-status-if.patch
|
||||
megi_patches/0028-usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-int.patch
|
||||
megi_patches/0029-usb-typec-fusb302-Add-OF-extcon-support.patch
|
||||
megi_patches/0030-usb-typec-fusb302-Fix-register-definitions.patch
|
||||
megi_patches/0031-usb-typec-fusb302-Clear-interrupts-before-we-start-t.patch
|
||||
megi_patches/0032-usb-typec-fusb302-Turn-off-VBUS-and-VCONN-on-shutdow.patch
|
||||
megi_patches/0033-thermal-rockchip-Add-support-for-RV1106-SoC.patch
|
||||
megi_patches/0034-soc-rockchip-Add-support-for-power-monitoring-driver.patch
|
||||
megi_patches/0035-rtc-rockchip-Add-support-for-RTC-present-in-RV1106-S.patch
|
||||
megi_patches/0036-thermal-rockchip-Add-support-for-RK3506.patch
|
||||
megi_patches/0037-arm64-dts-rockchip-rk3399-Disable-debug-nodes.patch
|
||||
megi_patches/0038-arm64-dts-rockchip-rk3399-Add-reboot-mode-driver.patch
|
||||
megi_patches/0039-arm64-dts-rockchip-rk3399-Power-cycle-the-USB3-PHY-o.patch
|
||||
megi_patches/0040-arm64-dts-rockchip-rk3399-Add-dmc_opp_table.patch
|
||||
megi_patches/0041-arm64-dts-rockchip-rk3399-s-Add-DMC-table.patch
|
||||
megi_patches/0042-arm64-dts-rockchip-rk3399-Number-the-CDN-DP-ports.patch
|
||||
megi_patches/0043-arm64-dts-rockchip-rk3399-pinephone-pro-Add-Type-C-p.patch
|
||||
megi_patches/0044-arm64-dts-rockchip-rk3399-pinephone-pro-Add-internal.patch
|
||||
megi_patches/0045-arm64-dts-rockchip-rk3399-pinephone-pro-Add-battery-.patch
|
||||
megi_patches/0046-arm64-dts-rockchip-rk3399-pinephone-pro-Add-sound-su.patch
|
||||
megi_patches/0047-arm64-dts-rockchip-rk3399-pinephone-pro-Add-modem-su.patch
|
||||
megi_patches/0048-arm64-dts-rockchip-rk3399-pinephone-pro-Change-modem.patch
|
||||
megi_patches/0049-arm64-dts-rockchip-rk3399-pinephone-pro-Add-light-pr.patch
|
||||
megi_patches/0050-arm64-dts-rockchip-rk3399-pinephone-pro-Add-I2C-supp.patch
|
||||
megi_patches/0051-arm64-dts-rockchip-rk3399-pinephone-pro-Add-magnetom.patch
|
||||
megi_patches/0052-arm64-dts-rockchip-rk3399-pinephone-pro-Add-mount-ma.patch
|
||||
megi_patches/0053-arm64-dts-rockchip-rk3399-pinephone-pro-Enable-POGO-.patch
|
||||
megi_patches/0054-arm64-dts-rockchip-rk3399-pinephone-pro-Add-pinephon.patch
|
||||
megi_patches/0055-arm64-dts-rockchip-rk3399-pinephone-pro-Switch-LED-b.patch
|
||||
megi_patches/0056-arm64-dts-rockchip-rk3399-pinephone-pro-Pre-configur.patch
|
||||
megi_patches/0057-arm64-dts-rockchip-rk3399-pinephone-pro-Improve-SPI-.patch
|
||||
megi_patches/0058-arm64-dts-rockchip-rk3399-pinephone-pro-Assign-power.patch
|
||||
megi_patches/0059-arm64-dts-rockchip-rk3399-pinephone-pro-Add-camera-f.patch
|
||||
megi_patches/0060-arm64-dts-rockchip-rk3399-pinephone-pro-Disable-inte.patch
|
||||
megi_patches/0061-Revert-usb-dwc3-Abort-suspend-on-soft-disconnect-fai.patch
|
||||
megi_patches/0062-phy-rockchip-inno-usb2-Add-support-for-RV1106-RV1103.patch
|
||||
megi_patches/0063-phy-rockchip-inno-usb2-Add-support-for-RK3506.patch
|
||||
megi_patches/0064-phy-rockchip-inno-usb2-Add-PHY-tuning-for-rk3566-rk3.patch
|
||||
megi_patches/0065-drm-rockchip-cdn-dp-Disable-CDN-DP-on-disconnect.patch
|
||||
megi_patches/0066-phy-rockchip-inno-usb2-Decrease-delay-between-port-i.patch
|
||||
megi_patches/0067-phy-rockchip-inno-usb2-More-robust-charger-detection.patch
|
||||
megi_patches/0068-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch
|
||||
megi_patches/0069-usb-dwc3-Always-disable-SUSPHY-when-entering-a-role.patch
|
||||
megi_patches/0070-usb-dwc3-Track-cable-connection-state-separately-fro.patch
|
||||
megi_patches/0071-usb-dwc3-Power-cycle-USB3-PHY-on-role-connection-cha.patch
|
||||
megi_patches/0072-usb-dwc3-Register-the-role-even-when-no-cable-is-con.patch
|
||||
megi_patches/0073-phy-rockchip-inno-usb2-Set-up-charger-detection-mode.patch
|
||||
megi_patches/0074-usb-dwc3-Do-not-re-register-the-gadget-on-cable-even.patch
|
||||
megi_patches/0075-phy-rockchip-typec-Support-a-Type-C-orientation-swit.patch
|
||||
megi_patches/0076-phy-rockchip-typec-Support-a-Type-C-mode-mux.patch
|
||||
megi_patches/0077-phy-rockchip-typec-Publish-the-DP-lane-count.patch
|
||||
megi_patches/0078-drm-rockchip-cdn-dp-Support-ports-driven-by-a-Type-C.patch
|
||||
megi_patches/0079-phy-rockchip-inno-usb2-Learn-the-host-role-from-phy_.patch
|
||||
megi_patches/0080-usb-dwc3-Tell-the-UDC-core-when-there-is-no-cable.patch
|
||||
megi_patches/0081-phy-rockchip-inno-usb2-Do-not-run-charger-detection-.patch
|
||||
megi_patches/0082-usb-dwc3-Set-the-PHY-mode-before-starting-the-host.patch
|
||||
megi_patches/0083-usb-dwc3-Do-not-connect-the-gadget-while-no-cable-is.patch
|
||||
megi_patches/0084-phy-rockchip-inno-usb2-Power-the-PHY-up-before-the-h.patch
|
||||
megi_patches/0085-usb-dwc3-Require-MPS-aligned-OUT-buffers.patch
|
||||
megi_patches/0086-usb-typec-displayport-Update-the-mux-before-signalli.patch
|
||||
megi_patches/0087-mtd-spi-nor-gigadevice-Add-support-for-gd25lq128e.patch
|
||||
megi_patches/0088-clk-rk3399-Export-SCLK_CIF_OUT_SRC-to-device-tree.patch
|
||||
megi_patches/0089-clk-rockchip-rk3399-Don-t-allow-to-reparent-dclk_vop.patch
|
||||
0001-arm64-dts-rk3399-pinephone-pro-Keep-modem-regulators.patch
|
||||
BTF-seg-fault.patch
|
||||
"
|
||||
builddir="$srcdir/linux-$pkgver"
|
||||
builddir="$srcdir/linux-${_kernver//_/-}"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
@@ -209,92 +264,96 @@ package() {
|
||||
|
||||
|
||||
sha512sums="
|
||||
10c0cfd70a7a5731963cb4c7538396f6ed637d7db532a1c04b00628af47f4b81ffb3d92200e64ba1ce04047e4b2e39e6845c4067762e85ad9df13f2740c10397 ppp-v7.1.tar.gz
|
||||
a0de9fbc7e532e4783f7d413e8ccef24097bed2f92cd64d7315a6f7df3df89a1832587d61eab1bc428ea587a5018c6140588c46a7a919fba1d0ab6fb69687411 config-pine64-pinephonepro.aarch64
|
||||
cafe0f07dab850059475c8f84df0b859d65bedda455517a5996f75d4e5f28c7fe66ac5a2b2e4ee6b46ed173819b899cc37ac08d1106bf635beab018ad636ee1e 0001-ASoC-codecs-rt5640-Fix-output-mixer-input-channel-li.patch
|
||||
5db306c6728666c3e64ca28a3cc330d7452c87c9119aa8cd57a4549cee7aee1c1137dedece8c50bb58d1040bd861d7722c6341112b24699919fb5a3bd816afdb 0002-ASoC-codecs-rt5640-Fix-hpout-restore-when-lout-is-en.patch
|
||||
a734d758f0e84fbd7dd3c8e7daa24ca8778af2d25e8d1df3c7e27978f616428fa57e507dede65f59dab6ce23597380b69d83fde35b549b3c0d8b55a38f58a57b 0003-ASoC-codecs-rt5640-Add-input-mixer-input-volume-cont.patch
|
||||
b7b94b6b2f144932009fa94ad0e5505b5749cea446221ef94e51490117b9a747080a876d7a004a0b0829fba1e3ecbb714f867a3725e40cf51fb90ff49a7c0da9 0004-ASoC-codecs-rt5640-Allow-to-control-single-ended-dif.patch
|
||||
5c8e63d2e3fe0b4805f74ad0da75159495dd82592e701160d07c4729f00e9c9de7d23dee6250fb62fbbba05c3a0ca42f6495e2f1e51fd1d330f62394003ac222 0005-ASoC-codecs-rt5640-Keep-the-codec-enabled-when-idle.patch
|
||||
89c5ecda11e85c795aaf5e718b7c636ed149ca17ca71068cc329abd598edb568584db3b559f9cc4074c8eef4e4e9f749181726e416747ca9b853e6bdd30b4dd1 0006-ASoC-codecs-rt5640-Add-support-for-power-supplies.patch
|
||||
0a865555b611922507021b262d5ba6f7991ddc0354a440543aa18c2ddc9c47a6807905fd0fcd23e33dfa1f93a337f016114230c472c9ee5f4d56fa45866e828f 0007-media-imx258-Add-i2c-supply.patch
|
||||
a9feac6a2eaf059699584dab91665a3bcf4afce09dba8c69739c77a1fc3639d01de1dc8fd68d3593afeeac8413a1c1e37d6bf59f272e9f8e504fa67b26d07f76 0008-media-imx258-Add-reset-gpio.patch
|
||||
50983f8bf418b0b602aa4fedaba273316d13eebff0c4a03f8f680851797a1f28fcf2da0ca98d1fa61cb0e3eb30a36a23b936262f426bfa38a4f43ad64116e307 0009-media-imx258-Drop-interface-speed-to-1224-mbps.patch
|
||||
a7c6cde4aa77e5df3e464f7eef00859d1ea71f4874f1d447cb78dbc722691380f60aabfef39ce1e740448593a5017b50cb38d01b68ea7c279c808f5043acfce6 0010-DEBUG-media-imx258-Add-debug-register-access.patch
|
||||
001b8f0c086b24acc5b53f0ce13a10d754903314b21f8fc22c45b5bd6ea719c09c2c2b51a839710e1d2fcff70f7dceeac7ac44a24fd42acb8c99cb1bb3c2023c 0011-ASoC-rockchip-Fix-doubling-of-playback-speed-after-s.patch
|
||||
f0b43b03a918c66f96d6d2987762eefdd4c5a11f4252a0b977532a17a0d7a24498b10511a059dcb07f7e572cb3864599a31c1fc3ca7505727cf1e08b64a9d614 0012-Revert-usb-dwc3-Abort-suspend-on-soft-disconnect-fai.patch
|
||||
1bf5e2cef1ecf4d470b6ef0159fce095eee239f4c296c6bbbc14edf510fb9a20b0048ac537876c91e2cc4c0318572c2eaa727ac5ddacf3dbddea2bf0202043e0 0013-thermal-rockchip-Add-support-for-RV1106-SoC.patch
|
||||
7b0e3cb86ebe501fcf82433c2cc046720f311cdeb423d3191fb472f54501e99eafecaf5da338698453e0feb6c00ed29257ecf1a5765290911d47d77467875f43 0014-soc-rockchip-Add-support-for-power-monitoring-driver.patch
|
||||
67c5119ae325a9e328e5d9e92690f575d2cfd5c46304c65a4c7966330800fadd7a314fe57ba76c29970ed9afbfebbdf676e95b1a7f3a8b4328ba2dba87d7f2e3 0015-rtc-rockchip-Add-support-for-RTC-present-in-RV1106-S.patch
|
||||
a9a8aa2da2f503d86681e4b61606db6bfac4622030f05ea081f4d75b05edfcf4794a3a7575de4c1c9a5025aa3f25be6fa348418f97d06c0bed88843fc2aca9c5 0016-thermal-rockchip-Add-support-for-RK3506.patch
|
||||
96a56ce7aa57c8e1e04892dcf12c043143f6e0dc0affddeb4c565865358d8b51d84fb2e25ef58c9a07a684a8e43058f64dc206c1371b3b07d0e115444885469f 0017-mtd-spi-nor-gigadevice-Add-support-for-gd25lq128e.patch
|
||||
c7dfed2e10fc2902647134ce09351c2567d04be3d190ecacd09f08130587311553d12831d1b0652b41eb949f0172308efaa65cda0ea0b53aeff92c007b805619 0018-clk-rk3399-Export-SCLK_CIF_OUT_SRC-to-device-tree.patch
|
||||
1639b72d3552817018fb2811388d30c0c5f958ef0e14dd395962db0394bc8cdd8369d70ca494668cbad0a36e61df60cf508686ac06794639038dbc0d15382477 0019-clk-rockchip-rk3399-Don-t-allow-to-reparent-dclk_vop.patch
|
||||
247a291979eafbccdfe85c99a569235f7fff860f037e2d47fd76312bb20277c0f0fa3e523be969f977657b602a88b846f2ddc058c243b64828bcca0315fe7386 0020-power-supply-Add-support-for-USB_BC_ENABLED-and-USB_.patch
|
||||
888dbcd2af60be116391e9464b0915a2468fcb2661803f2df54e9df9b1d38c718eabaf704c0d9c6cbf96f73b115ed14bac0d2bbbb87617cf10181b357a2c719e 0021-mfd-rk8xx-Enable-rk808-clkout2-function.patch
|
||||
73e2cadbfacb5c8e9547ca410efb6c11a9c87dc8239fd7096f2373d56a7697f19114c08811b8a01b1de5e199cbd20f9a78cc5c4e0db6830b79842a8eede9d079 0022-power-supply-rk818_battery-Add-battery-charger-drive.patch
|
||||
6d7027d970a389213ef8a233c564df25e854f8635db2dbf4c14f7d29de51ad6d3d9ee61523513be71b382c2ee1d730bd32160b1809ed0dcbfec2c7b24c6547ad 0023-power-supply-rk818_battery-Add-code-docs-for-the-HW-.patch
|
||||
b443aaa45d2bcb98b2b6c43577722fb718198f06baf126e2c1ea2d636a8874787a972c45d0bf83bdceb783920280a7cfeeb7e8d18b2b2634f685e974cc362e97 0024-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch
|
||||
db34fb8ee7c4ba3baba480ccbe7df866fe7f5277a80739f7eeeadde80c1a4fa103df4f5995ba9660de725ece6aabeaefc302db39d50b6fa8c7fe3fdb212c6e26 0025-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch
|
||||
98229ad878e1158c887c63c1cfe72b7ca7084bf6b42f092005ba1e327307c20e7c77246cb9258ad2f0813722a91e6023f45553230bff7d248c1923c1452a94c4 0026-usb-typec-tcpm-Unregister-altmodes-before-registerin.patch
|
||||
89edc9f8935f6905e37e18a554787cf5262624f4c5b9e4dfaa984022bdfb1e0293e95bf731f27ca7640f352167676924b720d9a6a09bded813c07fd152878f63 0027-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
|
||||
196080cfeee98682195153f0918edbd08b302e5bad5afc9860747b0b6b90159a133813e0b6940ffabf9a88be36088a680f647cd5b611083c9139ea123989783f 0028-usb-typec-fusb302-Slightly-increase-wait-time-for-BC.patch
|
||||
dc4d378cd114949ad51f47a8da7deb9cda63a75432f6f386086d41fa0ebe126657da270af89df84495c1777be7e5041274a780877b2ce6ca387e35aaaca7a46d 0029-usb-typec-fusb302-Set-the-current-before-enabling-pu.patch
|
||||
67049fa20660f5924cf06001ac9e55363f337e4cda084f79b828a9863627893c5a3f4d5cc809d613f60d792540eee579097b652bf49dfee8c9840892485beaad 0030-usb-typec-fusb302-Retry-reading-of-CC-pins-status-if.patch
|
||||
3bf2d0ac9c737eb761461ab5eb5597c05ef8b368a69b9b0c48ae2b68e58da2d432cd9060fea80c2541b7f453c6fc93657ef94aa073a893b48a7407632d46820d 0031-usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-int.patch
|
||||
d9b11a9acbbb64668332e202c786457f370c7f9d2bdedf6144b434d992d067ada00ab027067da0a597277c726ccb7ae68d49580848a95ea88775f0a6837586f7 0032-usb-typec-fusb302-Add-OF-extcon-support.patch
|
||||
4946338c55952347050ac2c3cb814ce778b8c9933a1974ed093daf82e8234b0a2d8ccb808c9beb29451d41c80a6cc03917a9d1a2a72a374a47374d20d3ca460f 0033-usb-typec-fusb302-Fix-register-definitions.patch
|
||||
f72b87321bb0ff45e58e729587d6edf97604f1cbf3b5c82e9b26289096f752b0725e800a22525ab662f378eca2637463e3ceb7e213b86f6f5293705dd509d119 0034-usb-typec-fusb302-Clear-interrupts-before-we-start-t.patch
|
||||
4ae24e87a3b514a8fbb41cf47d5d00292bc399ed8fd1299ef4dc4990c31143c5c6d3fbc6c6480089c492b3988f743a86b30420c91a1d551968a3758ea9538b03 0035-usb-typec-fusb302-Turn-off-VBUS-and-VCONN-on-shutdow.patch
|
||||
065427abc79c435762e25a40cc13b35a14feeca318f767d0384970cf57e7c785c796923bd891746edd0497079941313b0b7839c7988f63e243c8166a0c8f3579 0036-phy-rockchip-inno-usb2-Add-support-for-RV1106-RV1103.patch
|
||||
9115fe459431dac6558d60f9e6ebab1fef726413c8a3bdb88b21e402f2b1ccd0c485ce65aa9feaca948b2ef88bff6ea38973c761bac0f7dccb7b019938c37ae5 0037-phy-rockchip-inno-usb2-Add-support-for-RK3506.patch
|
||||
2abd784fd1a6abe3ca5da3919f7a9b7617379d06340cc9549dbf3dee2dcf095fb5aa3735d08e93f4363247667ba14d9f6c96e414afa965b65e12fd00af08bd48 0038-phy-rockchip-inno-usb2-Add-PHY-tuning-for-rk3566-rk3.patch
|
||||
60656a8bdf90e92661d5d2b69aad78489955e5a82edbee67b385a3285bbb59d59c615e47ad83f993ed3c5b4ee6f39958e5199492d41cf652e333473d27136855 0039-drm-rockchip-cdn-dp-Disable-CDN-DP-on-disconnect.patch
|
||||
a941594dd09c6468c6b89ba56f8ba127aedc15228904667f521cfbf9d25dafac8dc8e8ecddea3c86af2a1305d2fb40035f85bf3b559a5574bad3e0362649f290 0040-phy-rockchip-inno-usb2-Decrease-delay-between-port-i.patch
|
||||
b0093aec9b85ef54400585c23b9a1cc2b31598c847cb998ae03f277eaa81a0cdf8c979ac7b8d581b4dff7bd70c601d812eb6ef7bff543fbc00f5ba9436cea748 0041-phy-rockchip-inno-usb2-More-robust-charger-detection.patch
|
||||
32e6b984e14996387c232ac0ac708d7eaf75d1fc6de3ec5df53a110368be270177cd02253523c66163f6d0c227b0b6a18d171411d76c2757bbe4dd13facb8920 0042-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch
|
||||
7b4ce3f693b3d1731693c79fdf114de0c67b5a74406b3b46b1bd133babb6e5a20c3e2466feb33239dfc9dd08f9db68fc018c8a80a1115dfd2fd8812b7da017fa 0043-usb-dwc3-Always-disable-SUSPHY-when-entering-a-role.patch
|
||||
302dad47110479739cb5348c938ad9c9c3b41d0ce46c45ee49211cf71578ca2342edaea664b52d3855fd5a7e8ae7fd850d80bd080a43423c349254e47ff79b11 0044-usb-dwc3-Track-cable-connection-state-separately-fro.patch
|
||||
e08557f8efe8f730d358f247771d32d3001ea3337db950f3a785b632be8098044933276f2b1a5b376270b88bb21345c056ccb818b74e59b93fb291d062edc85c 0045-usb-dwc3-Power-cycle-USB3-PHY-on-role-connection-cha.patch
|
||||
107bdb8b4d289306b8f4be1f7088a44a239e8e66cc286d9108f14281d7bb64a5defb54909ec9a356b7bf60aa83152e5c9ac9c5aa8f872a69cf201a5b9c8cff69 0046-usb-dwc3-Register-the-role-even-when-no-cable-is-con.patch
|
||||
46a8452081223bdf5864c86f50e070a796b7d495b77ad861804e862d2659df29f9c17130bc9ff438b5c9a8cb8df4c3c55191eecb339c5691ad6d9c341c1d6293 0047-phy-rockchip-inno-usb2-Set-up-charger-detection-mode.patch
|
||||
ec262e3094fe7edac553d8b29662182ca9b617bba266c1e959b04fea1c358dc26be123cb0e5e286e08aac5210f8ba26172230bc9508b8685a293d0349276dc6a 0048-usb-dwc3-Do-not-re-register-the-gadget-on-cable-even.patch
|
||||
3561f087e06bb61eb1f3c10250120bf747e879aa7aebe039f148d20a8960c9b545f90a882960bc91a4eda593092dcf36de34e81074ed2ccbadb37a9cc2c04731 0049-phy-rockchip-typec-Support-a-Type-C-orientation-swit.patch
|
||||
cf24ee439036f001d66a6c9c8662f8cafcb0e3b068269782de00b8a1fb14a58b39b66a17078bc0d9c22c8e76093633aeae553c3c05aec803e08b96a40134a3f6 0050-phy-rockchip-typec-Support-a-Type-C-mode-mux.patch
|
||||
5d659877cb2fd5f099eac102ef2f6da7975215bfbf52b8790999cb11a8be06f37c7c87d26e6fa1c38d6c803e6988913bfb91b41948585fca1d3513d2471d0c77 0051-phy-rockchip-typec-Publish-the-DP-lane-count.patch
|
||||
76d1b5efc343564f7dde1dbcb8f46a564879395aa12b3b6aa21aaf1ea018ee14c5c2a0dea6cb13d5609a716b623bf008aa11e29021363a57dc33fdf762f6fd43 0052-drm-rockchip-cdn-dp-Support-ports-driven-by-a-Type-C.patch
|
||||
b6f71b575b69b5a44892bfd51253fff8e422d701d95e1b4cf318b1263ed3227a7e861f181458f37af933e26d3756e985646e2b9f9cec654ce0ac419f822d8a04 0053-phy-rockchip-inno-usb2-Learn-the-host-role-from-phy_.patch
|
||||
cfedc21450d5ac15411f0703179f312dcf1a7d179d8983a269b69e06b2c07d1292abbb9a741caf7e18d091bac47d87bd0be5382a1b0077136ee67e4fa8e25b0e 0054-usb-dwc3-Tell-the-UDC-core-when-there-is-no-cable.patch
|
||||
c79dc3ff0ad97514df04bb295f1a33d022c3200b02c21162a2cd9c1da453c935be3d49486904741968dfffda18ff7c273b783eac3ccab875ca99964c07b4eacc 0055-phy-rockchip-inno-usb2-Do-not-run-charger-detection-.patch
|
||||
56f43f4f6448506d7ddce07b5cb0bcfa8a82fd799da17c7be0c9cec0d7194035455b9850a9637ad1226f80fa01b6a6834c33e3bc50da855e5121160eda806a44 0056-usb-dwc3-Set-the-PHY-mode-before-starting-the-host.patch
|
||||
86a7b1e9f59e1532c985d3a4a1edd196e4ab47b3047627306e9e7fe122bf3f7fa6a2049f9467d30a221c3d65277600e91d71e9fa295c388117b379456adc2970 0057-usb-dwc3-Do-not-connect-the-gadget-while-no-cable-is.patch
|
||||
9e5ad8a5f08e6419f6bd25162fe4e542b2cc33890ef761e35fac4fb324f10d5df96fe0f5be3458ee636dd57f05f90ced31d01c084a3580beed7c1c71573f7b23 0058-phy-rockchip-inno-usb2-Power-the-PHY-up-before-the-h.patch
|
||||
2c6d05ddb458189aedb70f8ba6036fadc942f1b2634003c2f2325625a8a1a4afa933c927d893b4fdac406b593cbeb321320be6f835ca7cb0268448738f850ffc 0059-usb-dwc3-Require-MPS-aligned-OUT-buffers.patch
|
||||
d40ca07d6379fedd78858097c4e57fea2a52a24254be0a534874c641d1e9ed5e1ee96755420fd45bea1ec538b0340f326712230d5fb1377a07521c8c6c93debf 0060-usb-typec-displayport-Update-the-mux-before-signalli.patch
|
||||
36a5a4ca60c45161e7913edde968d87884d6c552d6f0bc119a9b6ff3c0d0d3e750410df4cd891c0233f56c3a5b80ef7a7aadb34ec4936dce1f399301fa993001 0061-arm64-dts-rockchip-rk3399-Disable-debug-nodes.patch
|
||||
15998054b6521020e4895c2024ce2ad9db3650220ee0d3eb693fa44c72086520eefa592c824b015d514b593ca7ded1d3c5b6e1f7146b1133598cae13b4994c62 0062-arm64-dts-rockchip-rk3399-Add-reboot-mode-driver.patch
|
||||
60904d0dd44dd3740991dcdfb752d7d78470a9814414d407e7ca2de0d4061716deb1c70e08ae1937684e05f5ef6ba4fe57fbcdea69374053906ee3753d11fc63 0063-arm64-dts-rockchip-rk3399-Power-cycle-the-USB3-PHY-o.patch
|
||||
dff55b92a62499fe5c46d68debeac92213038058b8fd19652b4ae7cc5980205bdb560e568cba4c8109ae298fceeb79c7815f0f405501c8fbccdb759d828bd5f5 0064-arm64-dts-rockchip-rk3399-Add-dmc_opp_table.patch
|
||||
9f8b94efc2d5c0a6602122731e70a29f8439d2b4861211da189cdb845f707530bd7c73956ad85c94aeb94ec8b62918f8f6b17687b84470087580b3a15c4a5a55 0065-arm64-dts-rockchip-rk3399-s-Add-DMC-table.patch
|
||||
9ea12b3c4ccc408cb07116da003186ac2060cece7c4847f55489c6fd0cae6035a2555eebf0bbbb54d674d44fc5db0e1bbe1a2ded48dc5ec2a6a3df4c2e2ca185 0066-arm64-dts-rockchip-rk3399-Number-the-CDN-DP-ports.patch
|
||||
1ecce40405e69b9fec96d1535622ca71ccb5fc76753b459c9e321c7903178623ddc31f5527ca1949b071d47ce1f73dbce74dea8059bc1b683d253f83d9130c80 0067-arm64-dts-rockchip-rk3399-pinephone-pro-Add-Type-C-p.patch
|
||||
2f1dcbe2f0538cdc4c01aa2992afc1f26d1599e1505780b286c1e645a81be5ed1f44288bf5024c2e3178e2f438f38b7220c76f1fce842548cdcec37728d18b9f 0068-arm64-dts-rockchip-rk3399-pinephone-pro-Add-internal.patch
|
||||
479cfb8e65ccd95d656ff0fe212aa31cfdd7f3e298d612da27063dcff7e62324210b627e7ab210a273142d3f15384b5f2cadfb1983f3864145355421f99f0957 0069-arm64-dts-rockchip-rk3399-pinephone-pro-Add-battery-.patch
|
||||
bdf826beedcfe769acd7475f7a30c3adc8225fa103dd1e37c5a31d750fea3044b077f4903986c0ee3d3102e79948f4375bed7a674498e4c21b34b3ba44e54ba1 0070-arm64-dts-rockchip-rk3399-pinephone-pro-Add-sound-su.patch
|
||||
443688c9b00de95b9bd23fbc08741ef488c849211151f7f8bae136149e0f0aa562d2353875120333e2e7f3e187abfd0bebdc1b2b006d725d33d638e0e20496f6 0071-arm64-dts-rockchip-rk3399-pinephone-pro-Add-modem-su.patch
|
||||
eb66518e6876badf3ef3bc766328ff621031194dc067ecea5a0ed629702c08cd5f964d3c25c2a1aae9fc5b13615f212c7150ea0c2afe33b0427a1554a6bd4029 0072-arm64-dts-rockchip-rk3399-pinephone-pro-Change-modem.patch
|
||||
70f83b6210e991b546c70c594e8d6f28ebc557c301acf1ef9f0d1df625dd709f3744ae1738865626ae7ca5b6ce9682bfbc052766bb6989d67b261abd6606ce85 0073-arm64-dts-rockchip-rk3399-pinephone-pro-Add-light-pr.patch
|
||||
077deb29bf5182a0f1689bc7e6da41f553cc7a2c8a2ef96a2b111f9d5e9e2ba8f26d3228af20f79d15f45c0a69aa8f60733a422fad1895700a299a8aad7d1e51 0074-arm64-dts-rockchip-rk3399-pinephone-pro-Add-I2C-supp.patch
|
||||
fbb3e8fa505f8a97d512834dd75b849cad5aed4d357dbbe2904d9b435bb8f19c3863ef7417c4ef4afeefc224bd4ad6eab74f4bc00ac66b69aaccb001c29fba71 0075-arm64-dts-rockchip-rk3399-pinephone-pro-Add-magnetom.patch
|
||||
2d79639df7928f464217e71e4219a40fa082e36bb410b3d1fa12bb1ab6246199c4976fba84fa32e621939c0c37b08929d2be7380756aec40b8bcaff91298e81d 0076-arm64-dts-rockchip-rk3399-pinephone-pro-Add-mount-ma.patch
|
||||
e1e1fc09232f21c69b8a2613d3da6063d669f8f97a340954702e7227214f1a6c4adc866420618cd365753767a0da93e52ac40c3575e5beac9dc778c93895b622 0077-arm64-dts-rockchip-rk3399-pinephone-pro-Enable-POGO-.patch
|
||||
ac1e93b71deb4cf8a070c3380061b46e1e1cea094346d02d5f8ed326d3f0e5316ca4ebdae7677ceea3d4456a580542f0075d29df50d1a37d8817392e59e5d380 0078-arm64-dts-rockchip-rk3399-pinephone-pro-Add-pinephon.patch
|
||||
8a160ffa6e95afbf58608f030c3ca3a7d7de298f7a20ce8e298eba54576a7f99ffff6389e36a4dc5d8bb1110e112c72e0718e4d8e88fe4049019119ba0c1a8fa 0079-arm64-dts-rockchip-rk3399-pinephone-pro-Switch-LED-b.patch
|
||||
5308f80bd8fdaa3d76f26bd278f2d027689b5e75a8d0e6a00e13b6c056bdd1b30875105e2afbe4daa47f282ab3312df3747e74368601f745b394f2f5874d018a 0080-arm64-dts-rockchip-rk3399-pinephone-pro-Pre-configur.patch
|
||||
9f61f0602d232c583ec1e447037e8f69eb89fae674e8e1cf65a187d224bc3eeb5da7ce209045c2a48508d9202b355a3ad001ed9ed365b0afdf5cf7e6b98822d3 0081-arm64-dts-rockchip-rk3399-pinephone-pro-Improve-SPI-.patch
|
||||
04c6e3f63e897d044945cf05f7a15c3d99ec0889f3518691738e84ffa115532b70215695e9e7c1b6b6c3483b872ed676cefd9cebdcf18f0e83db3d5207045813 0082-arm64-dts-rockchip-rk3399-pinephone-pro-Assign-power.patch
|
||||
2baa9dc87a0f7d9f60e0f0429c83943dab6edc25e963fe70d5bf322e713217ce8285691ebbc7b6f73fd3d48a0fd36c8053f819af904753898b27cf12e8e1df54 0083-arm64-dts-rockchip-rk3399-pinephone-pro-Add-camera-f.patch
|
||||
e820d9169b6854832d1a29d0c1925732155afe08e72aa865a6804ee67359137cdcbd967acee41913ef36ff1acae02346c4a5f8b07337ab4f9d56ae45b75b56f3 0084-arm64-dts-rockchip-rk3399-pinephone-pro-Disable-inte.patch
|
||||
79ac34ea9e3f4e74809c5f30bc90c511a3bf02ed9c00475db2adb0b009c5609b00f14dedccafb0f9f2dea136332df8416b78920807df100faa2ce937484871d3 0001-arm64-dts-rk3399-pinephone-pro-Keep-modem-regulators.patch
|
||||
e2555390d48cbbdc32a7d3f0c27599ff88f2fe3e786d1d0086caaa5b092cc3edcb6e95e2fb07034edb3793f6dc954da0662c723202eb7e2c4956c99b50919b12 BTF-seg-fault.patch
|
||||
47e63679363261a864d271277340a6f2d45f544e1a056be4159df081f4f6537d0efa865c4af26611ab33a3079ee65db88ec2f6bc0e5fff43e0c043cde0cd91e1 linux-7.2.tar.xz
|
||||
7701172077521d6b6a24236f928e40a5d331d8707bb8e2deda67b7a50a084889d8cecc64d6483f0a0f44d273701a0ef7c9dac79c99057a98cb8a40699f5139e4 config-pine64-pinephonepro.aarch64
|
||||
3fe0328eb432feb77448edae85aa4949ee320f1cfcd058a76208fffaf1ef50ac7093e4bb9447862e90827a5e4da39fa1dbab510e59f7dd9eb22bad534b6445d5 0001-media-imx258-Add-i2c-supply.patch
|
||||
f942fccb5ecff5a14ac3c865bac42bf0185155bddd2d9d27c52fe9f68fd190ccde46787260cb2daf45a9b293dd4e4749847766e50e24bd928e1ea8254db32ea4 0002-media-imx258-Add-reset-gpio.patch
|
||||
b4fc06c4a6cf2283a010e56603264667f46865b2e5347444ab89698ba679934bcd48de6aba8a8a292032c2b6f45cacb88e114dcabf1ffcbc5d1b443f887fec80 0003-media-imx258-Drop-interface-speed-to-1224-mbps.patch
|
||||
1588865230dbd18c04bfe48ff9bf35e363450bb09744fc743ea5311930d8f9f6e8636f46cff093b48324378dfd665bdfc32164cccbc28caa484c23a3dbdce89f 0004-media-imx258-Add-debug-register-access.patch
|
||||
32772ab8e99a122ba67b86051db89828529fc8810e5a60617e118e0703b3bda3f8d6169faa1969365c927a86c05f7aacd1d620011cb1602fb324f11a98ecb6d7 0005-ASoC-codecs-rt5640-Fix-output-mixer-input-channel-li.patch
|
||||
76f84a028a7c187ff2c67f9717f623b919e4186d1873577685ce893acfa44a15e76166e0aa064aa64e6bfb2a1cc113f9d9cb1593f4c0653f0867dff70389bb1e 0006-ASoC-codecs-rt5640-Fix-hpout-restore-when-lout-is-en.patch
|
||||
17592c499001aaad022e9c0a5d1d02a5d05846c13b7355e3fd739d2d558339170ea9ae18ba2cb5f2faa8e1a41fad7ee720ea32310835d1065c1d5927eaaf8524 0007-ASoC-codecs-rt5640-Add-input-mixer-input-volume-cont.patch
|
||||
7efe0881006074a1ebac5f1d66293533910d61b2ca6256a0f47508eddf58c5d2e96f7247cd28c79d3c89cee31a44e88d7d27bb4a230559dcfaea299e2fff4dfb 0008-ASoC-codecs-rt5640-Allow-to-control-single-ended-dif.patch
|
||||
f395aaced4628ab99dc8fec856313e06a7ebcbef34a9e40dfe429f5e7aaf3464c8f80ac0e9baa305f6862757e4218b3a4534f60f25008d727e29cfac41298227 0009-ASoC-codecs-rt5640-Keep-the-codec-enabled-when-idle.patch
|
||||
d9c407f0048bd54ba934c77b9ef575c30a24e9a8fe851bffe1c50b04117179099a78510d477feb9714adafa0240670ae90fe6b32e146eea4a02a794465094d3e 0010-ASoC-codecs-rt5640-Add-support-for-power-supplies.patch
|
||||
8f1b5efd339111608e9fea65dedd6dffdf6afabfab77019ef1b75316de93d41f548c9508f510af9d10639af389d7085e37e766c8fb8b6fd6dcd73b0484f53bf6 0011-ASoC-rockchip-Fix-doubling-of-playback-speed-after-s.patch
|
||||
6f63cb3667f7e7020d891ce96b9452411df597d6996a56c7c7886897b8a5c665e687360566ea746042b5d72485e1895d448718f532411e5d6ba044c702bcd891 0012-power-supply-Add-support-for-USB_BC_ENABLED-and-USB_.patch
|
||||
ed02ada1831ec75cb9b101ee64ff4485c1c47bb7f13f754cc719d061597a34eac3eaa7eb3b702d6a4f3193aca883f37a49af086d2f11faa90470e45ad99f5e99 0013-mfd-rk8xx-Enable-rk808-clkout2-function.patch
|
||||
bcded2851702019ea404dbd95d195d263d8cbaf5c1247b22c4c715361154de3aed4e85a23aef788026e7a2e2f889c4610ff27df7a42e66b753ac1313ae6dca44 0014-power-supply-rk818_battery-Add-battery-charger-drive.patch
|
||||
32708ed0686ed931533b13ee2be025342c836bf7e4bf307c6f28cb9de8ca5fd009f173cecdfc600780b932a0bbd9d8e1d3e0c26474b6632098ed254165fb5d1a 0015-power-supply-rk818_battery-Add-code-docs-for-the-HW-.patch
|
||||
e866a65c244d808336ece21cd2a6413b2a1cdaf86dd3958f4e3436f4317d27a320eceb4581c1e647f7bbacdd9adde4cf20c9496680cb9c28bef6c27f10a36469 0016-power-supply-rk818_battery-Don-t-override-configured.patch
|
||||
434f83be2ba7ebe6909ab86c17444ee4d9319d78f651f3d17db02e0897e22c22b951f58da4ca8f5ce8072829733872bf6b016defe7396a39adc294ab017d8e0c 0017-power-supply-rk818_battery-Scale-charge-current-by-t.patch
|
||||
be87ad56d477dec0cc27225365f27a5979022e28d56344af5bd69b4fd85723d9c4957318ad3df7c9a94df005cef9b00e5f85525f3a69d1366c6a280db1e2a9ee 0018-power-supply-rk818_battery-Scale-termination-current.patch
|
||||
7d17f8c3e9d723ce3c1aed85e11ea9d6fdf4790d7f2561802a25a09075be0c98fa9b558f3699c11bae1b86950b1a3b906e964b7d5629529ecf3a3e9b7f117b36 0019-power-supply-rk818_battery-Compensate-for-IR-drop-wh.patch
|
||||
9dc69c829df77ddc880b0f614e4af9813cfbf00ab9e993e9b2d7b39e8c7616c9c3c73defa8cdd6af8d4a98faf4d912c302c576c48df629b52730b0ecb515c61a 0020-power-supply-rk818_battery-Rework-the-low-voltage-mo.patch
|
||||
468fb121e18217e9cb3fe9b69087fd4c0369b7efca84bcefdf8c43bff4bbe219dff5bbd798af42f0fab1d86dee897e9d99a40ee1b1046936c6bf4d07524d24eb 0021-Revert-usb-typec-tcpm-unregister-existing-source-cap.patch
|
||||
3f2d3ca099812693d68c0bff7ca4d2c6ee578f91e0503868563357570e5d5d865ccdb58f6968d2ff1950417ca6b5fee15904e783ffd481c8b6095d4a0fab28f2 0022-usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPT.patch
|
||||
60cc0fc8729687e949ddc3ebc6e28aa0f0f235e2702f964555955a48025b7ea40db591535a6462463ed2d1e38aad1ebe205572d376170bb38ecaa42c787739a3 0023-usb-typec-tcpm-Unregister-altmodes-before-registerin.patch
|
||||
899f1dd1d0819c98308325068c5b99d83affa5bf908ef4aa06ebaa899b06d2c369c2ce9e743226b4f3233562b7531fca55c5741248cc42b220a55362f558ff5d 0024-usb-typec-tcpm-Fix-PD-devices-capabilities-registrat.patch
|
||||
193a4772ba9be00759c4a80eece4f6c36b69c2b121510ff6b447350e9880db23e790eb5f0d32b9d8660e4a7f49cb0053baade112ea785c5979372f9f25abe785 0025-usb-typec-fusb302-Slightly-increase-wait-time-for-BC.patch
|
||||
1b332f698982ff1b336470c158efffb7a62f9cabfbc0f0b761d6813e0da85542182374debb1c6e3ddc68cf496005f9f8005b9fd42125a81e0f0dac8a20b91194 0026-usb-typec-fusb302-Set-the-current-before-enabling-pu.patch
|
||||
d2599774ef0b9f2894389c7d07c6889687ef6b9759df8a48b2dd7627c7717cc66c1a6363702b0598096241b8e08877aa16b9e9088406155f396e1b9099d88024 0027-usb-typec-fusb302-Retry-reading-of-CC-pins-status-if.patch
|
||||
6fe4c393bb0b0a92785de0fc3c5e3ce42dabf5f196725b3ae186561a128dfdbaa3495ca41fdf7bc7651bedd726ca33681c556924984e4870c9d89c204a2886fb 0028-usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-int.patch
|
||||
8dd5f542c230a7797f4a9d7fda9474f5e351c2f23b2a88b3564bf52e793d9b851bd26793ef6c9343c883c0a4ccbf3f34add25e74044e18d9e8c0a14adeb10088 0029-usb-typec-fusb302-Add-OF-extcon-support.patch
|
||||
926dd676a37188b5b7d255264521bacc3f025e038b78d375ec3701ff990686b3fb5aa3f63fcb32caffa2389d92abfc71eda4161b579239f2d67a0c08aa10f65e 0030-usb-typec-fusb302-Fix-register-definitions.patch
|
||||
a674f636e9e10d605e4aa3a13e9f90560bfb4adc47aa3e80929bdc00b1d739bfd562fa6e2c079f1cc6462e07eb0c703ce7b8c68957a875031dba6453c5f15b1e 0031-usb-typec-fusb302-Clear-interrupts-before-we-start-t.patch
|
||||
7b8b64e1e84901f2694e83bb06ae90a55961c0963d6381bed6ebf965a9875a4030d762e93fe6ab34ec49e5c2079fdb58fa548743e57e935c7cefaacef4bbdf7f 0032-usb-typec-fusb302-Turn-off-VBUS-and-VCONN-on-shutdow.patch
|
||||
80dad32d76fb6d2305a9ac4ee854064bf30c25eb246f82363c95713059d89101dea3b93850502a48942f37ec2ecddec7c1e6509eed4b72875363a434b0489ac2 0033-thermal-rockchip-Add-support-for-RV1106-SoC.patch
|
||||
02400da9ab40ca90754b587939751a13e2ece25639ab909a2a4715bef8333ec954b7828d945f396549d63dfd3c8a2403fb9d69be049ef0d272d1652b915e81d5 0034-soc-rockchip-Add-support-for-power-monitoring-driver.patch
|
||||
5c8a7e6e365d90b834895afe267e44f49d050662eb0d415a18f364e4c78f5ac77dcbb1f5fcf82b0b77ba85d924db29df5702445c4468f26606f66e8174fd1532 0035-rtc-rockchip-Add-support-for-RTC-present-in-RV1106-S.patch
|
||||
7b074cfab6c0f5d75dd484f61083413581e47ca56aa62aa3b19fce057960ab98fcd7a8cb997d41f6cc9b889f141c2fe55de8810e404998ab5704d07ea0147722 0036-thermal-rockchip-Add-support-for-RK3506.patch
|
||||
a291b35fca5fb4ebfec0a84f0a9765b5108fa2e24b6f59cdf47225fa0bccab7572f7a2b8dabeae9769818bca5e07a019fef9711c07efa0c62490f758e3b0ebdf 0037-arm64-dts-rockchip-rk3399-Disable-debug-nodes.patch
|
||||
3f8b4f3e1edf582b5e79eb4bea005066c4786c1d556138785361d619fe594b819aa645b90fb15e89cc411abc23566e94973267d1587d873373531eceab3171ce 0038-arm64-dts-rockchip-rk3399-Add-reboot-mode-driver.patch
|
||||
b4a7bf3c237271bda2c4fad8b0ea15a400d8a2644df9461c9a6eb0b92f22f609a7ae573375549d22445c0962202e2615bed6169383a2cbca8aba7832fdb1cdf0 0039-arm64-dts-rockchip-rk3399-Power-cycle-the-USB3-PHY-o.patch
|
||||
ae1ae498115fe4ed4dc8edd5e6b41198a79f6bbe8cc140034d5b64b50d184ccb61565ae911ca98005de232850f116bfd8813e720358196bb4bf3c19680893cb0 0040-arm64-dts-rockchip-rk3399-Add-dmc_opp_table.patch
|
||||
9812081807ff593d9ed87440d9861466dbad983b983c5e507e74f23988cd18d4284d01b4331ae14e633903a5f7b2fccf5bf4f18d750c93a91dfde69b8f3f2aec 0041-arm64-dts-rockchip-rk3399-s-Add-DMC-table.patch
|
||||
2ada12a15783b699c344a76975551fd2e6ee4f16eee8e95b5856f9ad4d906bf5dd86faa7b19ca2d0902f4ea6ede2f62f4e64b9b9206552016d371fd23152536b 0042-arm64-dts-rockchip-rk3399-Number-the-CDN-DP-ports.patch
|
||||
a38a87f416e163fa27ed9000b9a95765cb5992234983ae90ddba64b1af3d354dea9a78b585a2f9ee7f0b75ed073cbfdf17a4fd496cb8e8249ffb896a37bb0b40 0043-arm64-dts-rockchip-rk3399-pinephone-pro-Add-Type-C-p.patch
|
||||
b8ac6e5961ec78ed892056340403e031a0e167bdbec4bf5db4f722549d56f15cc5c23b5641519040d8e10fdbc6df2ca4a75fae178cd6feeddc5d535d5f6ee2d1 0044-arm64-dts-rockchip-rk3399-pinephone-pro-Add-internal.patch
|
||||
189fb869641550ab4309c9835ef2af7569870746a1cf56420b5fbb608477abd5465ebe934be51eb0ac1049eb8199dbcb593f1f4caad7698404e02ca8b5e94a1c 0045-arm64-dts-rockchip-rk3399-pinephone-pro-Add-battery-.patch
|
||||
d6021113bd4bed4a00865c1099cddaa9586cae3c8c84113ee81b4aecda1e912715068fd56b7b965c586255064961600c5d161ada28409e0b123de540d0956068 0046-arm64-dts-rockchip-rk3399-pinephone-pro-Add-sound-su.patch
|
||||
56b301d897dee4176409fe41481ae387472c0aa808554c1bf90c8279a347f29305b96f893260a2d903548dee98711eb6e7067249eab1ec4bddba88bdf3c348c1 0047-arm64-dts-rockchip-rk3399-pinephone-pro-Add-modem-su.patch
|
||||
be7bda6914c8bbdb58443de468b1e4128862262bc4753a34f4687806adb32f4c5fc87f00d724ae3f7c0c38762ff5a4bc1c6c8ed452897941ffdfead69bead8eb 0048-arm64-dts-rockchip-rk3399-pinephone-pro-Change-modem.patch
|
||||
ab5f0126715a47c135986f708ade3238331022ff606a338f88a42cd1d0a693980e6ccbe4f8ef8252319eb019294798fe8d8bafa7c77d6355521fcf004ba4a17d 0049-arm64-dts-rockchip-rk3399-pinephone-pro-Add-light-pr.patch
|
||||
13f40e2875d03d92edbb8f94505a47e01554880ee79c420d6ea153e0dd7822df3694b65ce5c7a0f1c388ea7446526c3ca35dff00da2ac68c1a81514fbbf2b612 0050-arm64-dts-rockchip-rk3399-pinephone-pro-Add-I2C-supp.patch
|
||||
095439b9ab1f805e45322c1f463d7a41fe781d8a62b042b6c84ebde02a36f4900503072050297f0787a150fcbd157a346223e8c940f1f22254b9b8fbe3271f4d 0051-arm64-dts-rockchip-rk3399-pinephone-pro-Add-magnetom.patch
|
||||
d8f731cb20ab7a347e9ffc4f7909aad6ad756d05ce2c688fe9e20329b65abe3a182a068b847fb3187aa1a949544bb5257323bcfb9248f83fe612b78c44b59e91 0052-arm64-dts-rockchip-rk3399-pinephone-pro-Add-mount-ma.patch
|
||||
f347e58dc151abc59ac26fbbca6b3caa4a897ee92e1b82edb856929db3fa4dc0dd82d368b7ace4982d89ad53219e54882e5d4b5746c6b3b42562277f1f2e73bd 0053-arm64-dts-rockchip-rk3399-pinephone-pro-Enable-POGO-.patch
|
||||
3fadc742a0594d3369bd45da603deecbc5394875252cb2797e7b1a22a3b8d1dda70920c373e9978be5fa1784ff13e4dac6070594ff3bf5998fee4e46a874a822 0054-arm64-dts-rockchip-rk3399-pinephone-pro-Add-pinephon.patch
|
||||
e63ba310ec1863024f79a24aefd38cf8f7c30fea533178623c6e5579ce44ab43895e2a7c3232ef4c5825fbcbc3b2cd3e642f87f8cdd8d52a5238643fabecf4bb 0055-arm64-dts-rockchip-rk3399-pinephone-pro-Switch-LED-b.patch
|
||||
7071c783e266e36af1453ce8aa09c730b7205bd39ca13f5911d99cae71cbcd9bc10115529b606cbb75948bbf4859f53f497506248466641163fb8dec95b557c7 0056-arm64-dts-rockchip-rk3399-pinephone-pro-Pre-configur.patch
|
||||
4b7db966c15ece79b681881b33672d43eda2b0996e598f5e25ff5bb7a8220c7f1b33b974cff8b93d71f0aceede40213f9552fc818320c90f19b2608fe8fb2397 0057-arm64-dts-rockchip-rk3399-pinephone-pro-Improve-SPI-.patch
|
||||
0e3c2334702b9169e752a64f772c18e50ae4d6f6051ba4db20d9a612fca628b3823742480718aa57ca6ac07d4f0e568eab317805fffc45a4f53d6e7c47c2adfe 0058-arm64-dts-rockchip-rk3399-pinephone-pro-Assign-power.patch
|
||||
f912985de8af6b874ef2de29902d109912fc884e7c3c2d5247d47701f92de9a39a2ecdb211138abe0e4f7d2b12cf8c28cc022d452ad546182fd14310480c3f6f 0059-arm64-dts-rockchip-rk3399-pinephone-pro-Add-camera-f.patch
|
||||
ae643c26564a1fda4c5961cb755b05be54e8d04926647ec79fa0bb15923f67a4b60c7f52172e01f1263f4b985b13f05409faa42bf4597c3ce25f0cf585912347 0060-arm64-dts-rockchip-rk3399-pinephone-pro-Disable-inte.patch
|
||||
62214be563115225467f6129e845b75ba9775413f405df15d290acb81de6184eb206c72486286440a4ee3f7c921339670bb421405b9cde1b273e81076bb037b6 0061-Revert-usb-dwc3-Abort-suspend-on-soft-disconnect-fai.patch
|
||||
2ffebbf8a957a526e69f20483d73c4df69a7c7e75913e49d1969288cfc3e00f44ac07ad4157368acb4de9a56dc04f592bc93e4417203ec3b1fee7421f158c551 0062-phy-rockchip-inno-usb2-Add-support-for-RV1106-RV1103.patch
|
||||
ebc3f59f96caeab8f6dbf2356b96c5693af4caa906208d578bb18cb64f89b47c91a10be6b59825168014a2ab67b88a7864cb33713b083068e2751f36c51b1c42 0063-phy-rockchip-inno-usb2-Add-support-for-RK3506.patch
|
||||
01daf6dfbb680b2a30fb1309da6adda06b810458513381b934c6d5fe1e179431b1fa985605a4b37eed33a359f6ea1827008d6489d18bf3b882fb0767f367d2b1 0064-phy-rockchip-inno-usb2-Add-PHY-tuning-for-rk3566-rk3.patch
|
||||
a8e02a2528690ce0dabe5be811dba32b055c38da4656585a9879a1f33cdaff21b3e1315b39ca34d4148a63b43e502eff2e662c8d09db68e43c0bdd565be2b43c 0065-drm-rockchip-cdn-dp-Disable-CDN-DP-on-disconnect.patch
|
||||
92d64283d01c6709daecfaec8feac868d81a6e767bea3403d214192a3427ac7284cd9803571fb8ea7bc3bcea6d951fc2a6ed2a3ec50e54048990f468aee854a9 0066-phy-rockchip-inno-usb2-Decrease-delay-between-port-i.patch
|
||||
3e3a8d983041efef81f687ebf92cb7a78bb52a67a949136387c91bbb6fb24cf382b3c439cfee019ad3d928e960ea736e10201084b303b9c1ac56b18129c77a0c 0067-phy-rockchip-inno-usb2-More-robust-charger-detection.patch
|
||||
3155debeef4bd6357f6242cb371a62d23308b23028204a9767808c5efaf154b01e8af8804b8dd9699e19bdee8c6de5fff29351eaf58df82d1c4d103ca2bf0859 0068-usb-dwc3-Track-the-power-state-of-usb3_generic_phy.patch
|
||||
d61032c6cbe14a01e484feb77e969f1ce349a0be7657f26f8913087c94d755b090ee92a92a405bf320dedc399bcb0c30de5f380c8d3216d73995684a14ea44f6 0069-usb-dwc3-Always-disable-SUSPHY-when-entering-a-role.patch
|
||||
b84f8d93efb309395e75d0cc92a30856ab296d1026be948b4336a3f972d245f10e5a8724b17f84655ee79e2b81228c201a67bfd2e502512cbd3288f4ff803b4d 0070-usb-dwc3-Track-cable-connection-state-separately-fro.patch
|
||||
dfa0f68e8ccfef720908ae1980bcf7c9d20de2642b6fb35cb644cd340e491596d84e5084f4610420c94f6cec625892d28965d0bdf0cbf537c666b03e7caeb199 0071-usb-dwc3-Power-cycle-USB3-PHY-on-role-connection-cha.patch
|
||||
31edf0fa5982c27fea77b90233a3952ff8e47ba12eee1ad0947c6f5cc0197e326d31ca7474aed7908e087a4e6ecabc0f06ba95f35985e2a6e3fc2a01c2bf9992 0072-usb-dwc3-Register-the-role-even-when-no-cable-is-con.patch
|
||||
770720d8123862ffa2c574256566ef1576d5f103b58ab3239c7d2837d7e6dac8671a9813ccbde86ff66009e1f7dcec60c898125e9da63add3f12098990f3a6b9 0073-phy-rockchip-inno-usb2-Set-up-charger-detection-mode.patch
|
||||
ab95b686403023563a99deef3f11bb8749dee2981b2333cdcc771f78504682e427b5471344e1c0e69643d8fda93e64d5cfdc229d3564a55400d244bfdf9f6ec2 0074-usb-dwc3-Do-not-re-register-the-gadget-on-cable-even.patch
|
||||
d33ee67d8340e7883e147f36579c7b62fc70729430d078a79bad763c9a14f4dad566b6c57691846c1de5423c2c20980f4b2c0defe2549c0511f490d2b1c4354e 0075-phy-rockchip-typec-Support-a-Type-C-orientation-swit.patch
|
||||
ec191971aa105c29259f21f4eff218443652ad43da4b41d09b7341121335ea65f0c2da7fcd5f6f3f2a97d8fe1dd6a8d0e59112dd75ffb5dae466eee0a6cff9ac 0076-phy-rockchip-typec-Support-a-Type-C-mode-mux.patch
|
||||
180c1ba0fe432ddc6897b127400db1577c4abec8088a16f91d18c1445b582fc0f049ec9359373d7b7f3901b44c1c0976634184261d17f590ef618a865ed88603 0077-phy-rockchip-typec-Publish-the-DP-lane-count.patch
|
||||
bd5746a1a46800ad4f2c87b956d5679ab0c0a1921be543afec8dc329f64ca01f56f84e53b9162e0837e56c24099ca179c2fce8247f84ba7e1061a396390a0bff 0078-drm-rockchip-cdn-dp-Support-ports-driven-by-a-Type-C.patch
|
||||
9bd1fe71e606528c679807b9be6df5406bf3762fe1d8f7cc8b648f06ebab8d1a7e774fd642aabd5016124780f3f6999ce04b5d63b897311b04404f11040b7957 0079-phy-rockchip-inno-usb2-Learn-the-host-role-from-phy_.patch
|
||||
0215e3c74d92868902522adb131a107b31bac794b1aeec2851d730102cac60f835daaad4eec466d06c0f7a6883d42bf30a410f8e3e4a46bf68c74060b424a034 0080-usb-dwc3-Tell-the-UDC-core-when-there-is-no-cable.patch
|
||||
01b2f9cf641d86a9a9bbb7ae08c3d852427330ac871e69cd091b817eedf95e2d41c7f3d79b3b9113fa703a1e9e3fb786e0d39b3239c2fae1e6621de9325de017 0081-phy-rockchip-inno-usb2-Do-not-run-charger-detection-.patch
|
||||
95c8adcfdad1b3d0be2dc288e65354ad6b44ea60517b26ddc6b3f5146e9e8233f7bd82449af95b7c2a29c3532c9787d00f7a805aa04a9587ba1813425a58221f 0082-usb-dwc3-Set-the-PHY-mode-before-starting-the-host.patch
|
||||
32452045d7c52fe0b19c2817777ff361f05c866e8282c500f9169fd76dbef363b0d2fdb9ea5c35031e808dc92cd9bda55e12d473e5383a1eda103a89dcfbe41d 0083-usb-dwc3-Do-not-connect-the-gadget-while-no-cable-is.patch
|
||||
4ad1747e1f284a2ed17dfa77704e45e010bfc48645e09a338241cbe2d95732f16d69052bb58489f481388a06abf0030f033501be8e367f2b6f31fb8378aa164b 0084-phy-rockchip-inno-usb2-Power-the-PHY-up-before-the-h.patch
|
||||
204f75e640d56deb76f0207d5fc7320236191b47d07d4f80676aa058a72d6f5643b5df8af825a8c3b14ee7852a6e0272d8fe9726c9beefaac7f285052a8bbe6c 0085-usb-dwc3-Require-MPS-aligned-OUT-buffers.patch
|
||||
743c3b218c2463af359e5d5371b8db7cde7f4e520ce278168dbfda8afe1461329eb07f6680b5254cfded962359425217e97b3e31a1991c0b5b7edb20fd6c3231 0086-usb-typec-displayport-Update-the-mux-before-signalli.patch
|
||||
b9c3e073e1f7c7dbcc5e71c4c2004d2f45b825026ec130b72e530a3a5faf3e243c8dbe169f3f9cbf4c9cf5d2f6955fbe8d406fec43ac94e0942d388a0bee2088 0087-mtd-spi-nor-gigadevice-Add-support-for-gd25lq128e.patch
|
||||
452411c91daea100f66cc389d507a6774c31fd152e57ba9d73eec5e1a244ab989da6de6f159c412cf0c30fa8c7564854bd1cefdf9532b6398804ba1267fd217d 0088-clk-rk3399-Export-SCLK_CIF_OUT_SRC-to-device-tree.patch
|
||||
10a63a4335e05993f9bc30e60e9fdf0423f613abbede63bee52b9677e936a84cc6036961d28af60d582541847d86ec1e662717222d16fdc1e3e46c634d9f8e44 0089-clk-rockchip-rk3399-Don-t-allow-to-reparent-dclk_vop.patch
|
||||
a0953345a14bd46197c44dcba70a490da66afbe667e17be6c6b7c97f29d06360fd05a52a98e1467fef068c7bb688a5a45369f5ed9a63e34fd3cd63373c542ac8 0001-arm64-dts-rk3399-pinephone-pro-Keep-modem-regulators.patch
|
||||
"
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
From b23705e6afb6ac4ae6d220dcb35975698667dd76 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Llamas <cmllamas@google.com>
|
||||
Date: Sat, 23 May 2026 16:27:21 +0000
|
||||
Subject: [PATCH] libbpf: Fix UAF in strset__add_str()
|
||||
|
||||
strset_add_str_mem() might reallocate the strset data buffer in order to
|
||||
accommodate the provided string 's'. However, if 's' points to a string
|
||||
already present in the buffer, it becomes dangling after the realloc.
|
||||
This leads to a use-after-free when attempting to memcpy() the string
|
||||
into the new buffer.
|
||||
|
||||
One scenario that triggers this problematic path is when resolve_btfids
|
||||
attempts to patch kfunc prototypes using existing BTF parameter names:
|
||||
|
||||
| resolve_btfids: function bpf_list_push_back_impl already exists in BTF
|
||||
| Segmentation fault (core dumped)
|
||||
|
||||
Compiling resolve_btfids with fsanitize=address generates a detailed
|
||||
report of the UAF:
|
||||
|
||||
| =================================================================
|
||||
| ERROR: AddressSanitizer: heap-use-after-free on address 0x7f4c4a500bd4
|
||||
| ==1507892==ERROR: AddressSanitizer: heap-use-after-free on address 0x7f4c4a500bd4 at pc 0x55d25155a2a8 bp 0x7ffcef879060 sp 0x7ffcef878818
|
||||
| READ of size 5 at 0x7f4c4a500bd4 thread T0
|
||||
| #0 0x55d25155a2a7 in memcpy (tools/bpf/resolve_btfids/resolve_btfids+0xcf2a7)
|
||||
| #1 0x55d2515d708e in strset__add_str tools/lib/bpf/strset.c:162:2
|
||||
| #2 0x55d2515c730b in btf__add_str tools/lib/bpf/btf.c:2109:8
|
||||
| #3 0x55d2515c9020 in btf__add_func_param tools/lib/bpf/btf.c:3108:14
|
||||
| #4 0x55d25159f0b5 in process_kfunc_with_implicit_args tools/bpf/resolve_btfids/main.c:1196:9
|
||||
| #5 0x55d25159e004 in btf2btf tools/bpf/resolve_btfids/main.c:1229:9
|
||||
| #6 0x55d25159cee7 in main tools/bpf/resolve_btfids/main.c:1535:6
|
||||
| #7 0x7f4c78e29f76 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
|
||||
| #8 0x7f4c78e2a026 in __libc_start_main csu/../csu/libc-start.c:360:3
|
||||
| #9 0x55d2514bb860 in _start (tools/bpf/resolve_btfids/resolve_btfids+0x30860)
|
||||
|
|
||||
| 0x7f4c4a500bd4 is located 13268 bytes inside of 2829000-byte region [0x7f4c4a4fd800,0x7f4c4a7b02c8)
|
||||
| freed by thread T0 here:
|
||||
| #0 0x55d25155b700 in realloc (tools/bpf/resolve_btfids/resolve_btfids+0xd0700)
|
||||
| #1 0x55d2515c426c in libbpf_reallocarray tools/lib/bpf/./libbpf_internal.h:220:9
|
||||
| #2 0x55d2515c426c in libbpf_add_mem tools/lib/bpf/btf.c:224:13
|
||||
|
|
||||
| previously allocated by thread T0 here:
|
||||
| #0 0x55d25155b2e3 in malloc (tools/bpf/resolve_btfids/resolve_btfids+0xd02e3)
|
||||
| #1 0x55d2515d6e7d in strset__new tools/lib/bpf/strset.c:58:20
|
||||
|
||||
While resolve_btfids could be refactored to avoid this call path, let's
|
||||
instead fix this issue at the source in strset__add_str() and avoid
|
||||
similar scenarios.
|
||||
|
||||
Let's check if set->strs_data was reallocated and whether 's' points to
|
||||
an internal string within the old strset buffer. In such case, 's' is
|
||||
reconstructed to point to the new buffer.
|
||||
|
||||
While already here, also fix strset__find_str() which suffers from the
|
||||
same problem by factoring out the common operations into a new helper
|
||||
function strset_str_append().
|
||||
|
||||
Fixes: 90d76d3ececc ("libbpf: Extract internal set-of-strings datastructure APIs")
|
||||
Suggested-by: Andrii Nakryiko <andrii@kernel.org>
|
||||
Suggested-by: Mykyta Yatsenko <yatsenko@meta.com>
|
||||
Signed-off-by: Carlos Llamas <cmllamas@google.com>
|
||||
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
|
||||
Link: https://lore.kernel.org/bpf/20260523162722.2718940-1-cmllamas@google.com
|
||||
---
|
||||
tools/lib/bpf/strset.c | 62 ++++++++++++++++++++++++++++--------------
|
||||
1 file changed, 41 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/tools/lib/bpf/strset.c b/tools/lib/bpf/strset.c
|
||||
index 2464bcbd04e037..ace73c6b3d62b4 100644
|
||||
--- a/tools/lib/bpf/strset.c
|
||||
+++ b/tools/lib/bpf/strset.c
|
||||
@@ -107,6 +107,41 @@ static void *strset_add_str_mem(struct strset *set, size_t add_sz)
|
||||
set->strs_data_len, set->strs_data_max_len, add_sz);
|
||||
}
|
||||
|
||||
+static long strset_str_append(struct strset *set, const char *s)
|
||||
+{
|
||||
+ uintptr_t old_data = (uintptr_t)set->strs_data;
|
||||
+ size_t old_data_len = set->strs_data_len;
|
||||
+ uintptr_t old_s = (uintptr_t)s;
|
||||
+ long len = strlen(s) + 1;
|
||||
+ void *p;
|
||||
+
|
||||
+ /*
|
||||
+ * Hashmap keys are always offsets within set->strs_data, so to even
|
||||
+ * look up some string from the "outside", we need to first append it
|
||||
+ * at the end, so that it can be addressed with an offset. Luckily,
|
||||
+ * until set->strs_data_len is incremented, that string is just a piece
|
||||
+ * of garbage for the rest of the code, so no harm, no foul. On the
|
||||
+ * other hand, if the string is unique, it's already appended and
|
||||
+ * ready to be used, only a simple set->strs_data_len increment away.
|
||||
+ */
|
||||
+ p = strset_add_str_mem(set, len);
|
||||
+ if (!p)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ /*
|
||||
+ * The set->strs_data might have reallocated and if 's' pointed
|
||||
+ * to an internal string within the old buffer, then it became
|
||||
+ * dangling and needs to be reconstructed before the copy.
|
||||
+ */
|
||||
+ if (old_data && old_data != (uintptr_t)set->strs_data &&
|
||||
+ old_s >= old_data && old_s < old_data + old_data_len)
|
||||
+ s = set->strs_data + (old_s - old_data);
|
||||
+
|
||||
+ memcpy(p, s, len);
|
||||
+
|
||||
+ return len;
|
||||
+}
|
||||
+
|
||||
/* Find string offset that corresponds to a given string *s*.
|
||||
* Returns:
|
||||
* - >0 offset into string data, if string is found;
|
||||
@@ -116,16 +151,12 @@ static void *strset_add_str_mem(struct strset *set, size_t add_sz)
|
||||
int strset__find_str(struct strset *set, const char *s)
|
||||
{
|
||||
long old_off, new_off, len;
|
||||
- void *p;
|
||||
|
||||
- /* see strset__add_str() for why we do this */
|
||||
- len = strlen(s) + 1;
|
||||
- p = strset_add_str_mem(set, len);
|
||||
- if (!p)
|
||||
- return -ENOMEM;
|
||||
+ len = strset_str_append(set, s);
|
||||
+ if (len < 0)
|
||||
+ return len;
|
||||
|
||||
new_off = set->strs_data_len;
|
||||
- memcpy(p, s, len);
|
||||
|
||||
if (hashmap__find(set->strs_hash, new_off, &old_off))
|
||||
return old_off;
|
||||
@@ -142,24 +173,13 @@ int strset__find_str(struct strset *set, const char *s)
|
||||
int strset__add_str(struct strset *set, const char *s)
|
||||
{
|
||||
long old_off, new_off, len;
|
||||
- void *p;
|
||||
int err;
|
||||
|
||||
- /* Hashmap keys are always offsets within set->strs_data, so to even
|
||||
- * look up some string from the "outside", we need to first append it
|
||||
- * at the end, so that it can be addressed with an offset. Luckily,
|
||||
- * until set->strs_data_len is incremented, that string is just a piece
|
||||
- * of garbage for the rest of the code, so no harm, no foul. On the
|
||||
- * other hand, if the string is unique, it's already appended and
|
||||
- * ready to be used, only a simple set->strs_data_len increment away.
|
||||
- */
|
||||
- len = strlen(s) + 1;
|
||||
- p = strset_add_str_mem(set, len);
|
||||
- if (!p)
|
||||
- return -ENOMEM;
|
||||
+ len = strset_str_append(set, s);
|
||||
+ if (len < 0)
|
||||
+ return len;
|
||||
|
||||
new_off = set->strs_data_len;
|
||||
- memcpy(p, s, len);
|
||||
|
||||
/* Now attempt to add the string, but only if the string with the same
|
||||
* contents doesn't exist already (HASHMAP_ADD strategy). If such
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 7.1.0 Kernel Configuration
|
||||
# Linux/arm64 7.2.0 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="Alpine clang version 22.1.8"
|
||||
CONFIG_GCC_VERSION=0
|
||||
@@ -22,6 +22,7 @@ CONFIG_CC_HAS_ASSUME=y
|
||||
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
|
||||
CONFIG_CC_HAS_COUNTED_BY=y
|
||||
CONFIG_CC_HAS_COUNTED_BY_PTR=y
|
||||
CONFIG_CC_HAS_ALLOC_TOKEN=y
|
||||
CONFIG_CC_HAS_MULTIDIMENSIONAL_NONSTRING=y
|
||||
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
|
||||
CONFIG_PAHOLE_VERSION=131
|
||||
@@ -76,7 +77,6 @@ CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_GENERIC_IRQ_KEXEC_CLEAR_VM_FORWARD=y
|
||||
# end of IRQ subsystem
|
||||
|
||||
CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_ARCH_HAS_TICK_BROADCAST=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
||||
@@ -196,6 +196,7 @@ CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
|
||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_SCHED_CACHE=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_SLAB_OBJ_EXT=y
|
||||
CONFIG_CGROUPS=y
|
||||
@@ -316,6 +317,12 @@ CONFIG_VMCORE_INFO=y
|
||||
# CONFIG_KEXEC is not set
|
||||
# CONFIG_KEXEC_FILE is not set
|
||||
# end of Kexec and crash features
|
||||
|
||||
#
|
||||
# Live Update and Kexec HandOver
|
||||
#
|
||||
# CONFIG_KEXEC_HANDOVER is not set
|
||||
# end of Live Update and Kexec HandOver
|
||||
# end of General setup
|
||||
|
||||
CONFIG_ARM64=y
|
||||
@@ -354,6 +361,7 @@ CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
|
||||
# CONFIG_ARCH_SUNXI is not set
|
||||
# CONFIG_ARCH_ALPINE is not set
|
||||
# CONFIG_ARCH_APPLE is not set
|
||||
# CONFIG_ARCH_ASPEED is not set
|
||||
# CONFIG_ARCH_AXIADO is not set
|
||||
# CONFIG_ARCH_BCM is not set
|
||||
# CONFIG_ARCH_BERLIN is not set
|
||||
@@ -439,6 +447,7 @@ CONFIG_ARM64_ERRATUM_3117295=y
|
||||
CONFIG_ARM64_ERRATUM_3194386=y
|
||||
CONFIG_ARM64_ERRATUM_4311569=y
|
||||
CONFIG_ARM64_ERRATUM_4193714=y
|
||||
CONFIG_ARM64_ERRATUM_4118414=y
|
||||
# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_23144 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||
@@ -448,10 +457,12 @@ CONFIG_ARM64_ERRATUM_4193714=y
|
||||
# CONFIG_FUJITSU_ERRATUM_010001 is not set
|
||||
# CONFIG_HISILICON_ERRATUM_161600802 is not set
|
||||
CONFIG_HISILICON_ERRATUM_162100801=y
|
||||
CONFIG_HISILICON_ERRATUM_162100125=y
|
||||
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
|
||||
# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set
|
||||
# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
|
||||
# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set
|
||||
CONFIG_ARM64_WORKAROUND_DISABLE_CNP=y
|
||||
# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set
|
||||
CONFIG_ROCKCHIP_ERRATUM_3568002=y
|
||||
CONFIG_ROCKCHIP_ERRATUM_3588001=y
|
||||
@@ -578,6 +589,7 @@ CONFIG_ARM64_LSUI=y
|
||||
# end of ARMv9.6 architectural features
|
||||
|
||||
CONFIG_ARM64_SVE=y
|
||||
CONFIG_AS_HAS_SME=y
|
||||
CONFIG_ARM64_SME=y
|
||||
# CONFIG_ARM64_PSEUDO_NMI is not set
|
||||
CONFIG_RELOCATABLE=y
|
||||
@@ -808,6 +820,9 @@ CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
|
||||
CONFIG_HAS_LTO_CLANG=y
|
||||
CONFIG_LTO_NONE=y
|
||||
# CONFIG_LTO_CLANG_THIN is not set
|
||||
# CONFIG_LTO_CLANG_THIN_DIST is not set
|
||||
# CONFIG_AUTOFDO_CLANG is not set
|
||||
# CONFIG_PROPELLER_CLANG is not set
|
||||
CONFIG_ARCH_SUPPORTS_CFI=y
|
||||
CONFIG_CFI=y
|
||||
CONFIG_CFI_ICALL_NORMALIZE_INTEGERS=y
|
||||
@@ -967,6 +982,7 @@ CONFIG_EFI_PARTITION=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_BLOCK_HOLDER_DEPRECATED=y
|
||||
CONFIG_BLK_MQ_STACKING=y
|
||||
# CONFIG_BLK_ERROR_INJECTION is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
@@ -1047,7 +1063,7 @@ CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
CONFIG_SLAB_FREELIST_HARDENED=y
|
||||
CONFIG_SLAB_BUCKETS=y
|
||||
# CONFIG_SLUB_STATS is not set
|
||||
# CONFIG_RANDOM_KMALLOC_CACHES is not set
|
||||
# CONFIG_KMALLOC_PARTITION_CACHES is not set
|
||||
# end of Slab allocator options
|
||||
|
||||
# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
|
||||
@@ -1104,7 +1120,6 @@ CONFIG_TRANSPARENT_HUGEPAGE_TMPFS_HUGE_NEVER=y
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE_TMPFS_HUGE_WITHIN_SIZE is not set
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE_TMPFS_HUGE_ADVISE is not set
|
||||
CONFIG_THP_SWAP=y
|
||||
# CONFIG_READ_ONLY_THP_FOR_FS is not set
|
||||
# CONFIG_NO_PAGE_MAPCOUNT is not set
|
||||
CONFIG_PAGE_MAPCOUNT=y
|
||||
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
|
||||
@@ -1628,7 +1643,6 @@ CONFIG_VLAN_8021Q=m
|
||||
# CONFIG_VLAN_8021Q_MVRP is not set
|
||||
CONFIG_LLC=m
|
||||
CONFIG_LLC2=m
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_PHONET is not set
|
||||
@@ -1986,6 +2000,7 @@ CONFIG_ARM_SCPI_PROTOCOL=m
|
||||
CONFIG_FIRMWARE_MEMMAP=y
|
||||
CONFIG_DMIID=y
|
||||
# CONFIG_DMI_SYSFS is not set
|
||||
# CONFIG_RASPBERRYPI_FIRMWARE is not set
|
||||
# CONFIG_SYSFB_SIMPLEFB is not set
|
||||
# CONFIG_TH1520_AON_PROTOCOL is not set
|
||||
# CONFIG_TURRIS_MOX_RWTM is not set
|
||||
@@ -2014,6 +2029,7 @@ CONFIG_EFI_EARLYCON=y
|
||||
# CONFIG_EFI_DISABLE_RUNTIME is not set
|
||||
# CONFIG_EFI_COCO_SECRET is not set
|
||||
# CONFIG_OVMF_DEBUG_LOG is not set
|
||||
CONFIG_EFI_SBAT_FILE=""
|
||||
# end of EFI (Extensible Firmware Interface) Support
|
||||
|
||||
# CONFIG_IMX_SCMI_CPU_DRV is not set
|
||||
@@ -2100,7 +2116,6 @@ CONFIG_MTD_CFI_I2=y
|
||||
# Mapping drivers for chip access
|
||||
#
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
# CONFIG_MTD_TS5500 is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
# end of Mapping drivers for chip access
|
||||
|
||||
@@ -2173,6 +2188,7 @@ CONFIG_OF_NUMA=y
|
||||
# CONFIG_PARPORT is not set
|
||||
CONFIG_BLK_DEV=y
|
||||
CONFIG_BLK_DEV_NULL_BLK=m
|
||||
CONFIG_CDROM=m
|
||||
CONFIG_ZRAM=y
|
||||
CONFIG_ZRAM_BACKEND_LZ4=y
|
||||
CONFIG_ZRAM_BACKEND_LZ4HC=y
|
||||
@@ -2235,7 +2251,6 @@ CONFIG_SENSORS_LIS3LV02D=m
|
||||
# CONFIG_ISL29020 is not set
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_SENSORS_BH1770 is not set
|
||||
# CONFIG_SENSORS_APDS990X is not set
|
||||
# CONFIG_HMC6352 is not set
|
||||
# CONFIG_DS1682 is not set
|
||||
# CONFIG_LATTICE_ECP3_CONFIG is not set
|
||||
@@ -2286,7 +2301,7 @@ CONFIG_SCSI_DMA=y
|
||||
#
|
||||
CONFIG_BLK_DEV_SD=m
|
||||
# CONFIG_CHR_DEV_ST is not set
|
||||
# CONFIG_BLK_DEV_SR is not set
|
||||
CONFIG_BLK_DEV_SR=m
|
||||
CONFIG_CHR_DEV_SG=m
|
||||
CONFIG_BLK_DEV_BSG=y
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
@@ -2416,6 +2431,7 @@ CONFIG_ETHERNET=y
|
||||
# CONFIG_NET_VENDOR_ACTIONS is not set
|
||||
# CONFIG_NET_VENDOR_AIROHA is not set
|
||||
# CONFIG_NET_VENDOR_ALACRITECH is not set
|
||||
CONFIG_NET_VENDOR_ALIBABA=y
|
||||
# CONFIG_ALTERA_TSE is not set
|
||||
# CONFIG_NET_VENDOR_AMAZON is not set
|
||||
# CONFIG_NET_VENDOR_AMD is not set
|
||||
@@ -2504,6 +2520,7 @@ CONFIG_FIXED_PHY=y
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_AS21XXX_PHY is not set
|
||||
# CONFIG_AIR_AN8801_PHY is not set
|
||||
# CONFIG_AIR_EN8811H_PHY is not set
|
||||
# CONFIG_AMD_PHY is not set
|
||||
# CONFIG_MESON_GXL_PHY is not set
|
||||
@@ -2608,6 +2625,7 @@ CONFIG_PPP_DEFLATE=m
|
||||
CONFIG_PPP_FILTER=y
|
||||
CONFIG_PPP_MPPE=m
|
||||
CONFIG_PPP_MULTILINK=y
|
||||
CONFIG_PPPOX=m
|
||||
CONFIG_PPPOE=m
|
||||
# CONFIG_PPPOE_HASH_BITS_1 is not set
|
||||
# CONFIG_PPPOE_HASH_BITS_2 is not set
|
||||
@@ -2850,6 +2868,7 @@ CONFIG_TOUCHSCREEN_GOODIX=m
|
||||
# CONFIG_TOUCHSCREEN_ELO is not set
|
||||
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
|
||||
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
|
||||
# CONFIG_TOUCHSCREEN_WACOM_W9000 is not set
|
||||
# CONFIG_TOUCHSCREEN_MAX11801 is not set
|
||||
# CONFIG_TOUCHSCREEN_MMS114 is not set
|
||||
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
|
||||
@@ -3140,6 +3159,7 @@ CONFIG_HW_RANDOM_KEYSTONE=m
|
||||
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
|
||||
# CONFIG_HW_RANDOM_JH7110 is not set
|
||||
CONFIG_HW_RANDOM_ROCKCHIP=m
|
||||
# CONFIG_HW_RANDOM_XILINX is not set
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_DEVPORT=y
|
||||
CONFIG_TCG_TPM=y
|
||||
@@ -3224,6 +3244,7 @@ CONFIG_I2C_GPIO=m
|
||||
# CONFIG_I2C_KEBA is not set
|
||||
# CONFIG_I2C_LPC2K is not set
|
||||
# CONFIG_I2C_LS2X is not set
|
||||
# CONFIG_I2C_LS2X_V2 is not set
|
||||
# CONFIG_I2C_MESON is not set
|
||||
# CONFIG_I2C_MICROCHIP_CORE is not set
|
||||
# CONFIG_I2C_MT65XX is not set
|
||||
@@ -3386,6 +3407,7 @@ CONFIG_SPI_ROCKCHIP=y
|
||||
# CONFIG_SPI_SIFIVE is not set
|
||||
# CONFIG_SPI_SN_F_OSPI is not set
|
||||
# CONFIG_SPI_SG2044_NOR is not set
|
||||
# CONFIG_SPI_SPACEMIT_K1 is not set
|
||||
# CONFIG_SPI_SPRD is not set
|
||||
# CONFIG_SPI_SPRD_ADI is not set
|
||||
# CONFIG_SPI_STM32 is not set
|
||||
@@ -3485,6 +3507,7 @@ CONFIG_GENERIC_PINCONF=y
|
||||
# CONFIG_PINCTRL_EIC7700 is not set
|
||||
# CONFIG_PINCTRL_EQUILIBRIUM is not set
|
||||
# CONFIG_PINCTRL_EYEQ5 is not set
|
||||
# CONFIG_PINCTRL_GENERIC_MUX is not set
|
||||
# CONFIG_PINCTRL_INGENIC is not set
|
||||
# CONFIG_PINCTRL_K210 is not set
|
||||
# CONFIG_PINCTRL_K230 is not set
|
||||
@@ -3507,9 +3530,18 @@ CONFIG_PINCTRL_SINGLE=y
|
||||
# CONFIG_PINCTRL_ZYNQ is not set
|
||||
# CONFIG_PINCTRL_MLXBF3 is not set
|
||||
# CONFIG_PINCTRL_OWL is not set
|
||||
|
||||
#
|
||||
# Airoha pinctrl drivers
|
||||
#
|
||||
# CONFIG_PINCTRL_AIROHA is not set
|
||||
# end of Airoha pinctrl drivers
|
||||
|
||||
# CONFIG_PINCTRL_ASPEED_G4 is not set
|
||||
# CONFIG_PINCTRL_ASPEED_G5 is not set
|
||||
# CONFIG_PINCTRL_ASPEED_G6 is not set
|
||||
# CONFIG_PINCTRL_ASPEED_G7_SOC0 is not set
|
||||
# CONFIG_PINCTRL_ASPEED_G7_SOC1 is not set
|
||||
# CONFIG_PINCTRL_BCM281XX is not set
|
||||
# CONFIG_PINCTRL_BCM2835 is not set
|
||||
# CONFIG_PINCTRL_BCM4908 is not set
|
||||
@@ -3593,7 +3625,6 @@ CONFIG_PINCTRL_SINGLE=y
|
||||
# CONFIG_PINCTRL_MT7629 is not set
|
||||
# CONFIG_PINCTRL_MT8135 is not set
|
||||
# CONFIG_PINCTRL_MT8127 is not set
|
||||
# CONFIG_PINCTRL_AIROHA is not set
|
||||
# CONFIG_PINCTRL_MT2712 is not set
|
||||
# CONFIG_PINCTRL_MT6765 is not set
|
||||
# CONFIG_PINCTRL_MT6779 is not set
|
||||
@@ -3633,6 +3664,7 @@ CONFIG_PINCTRL_SINGLE=y
|
||||
# CONFIG_PINCTRL_QCOM_SPMI_PMIC is not set
|
||||
# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
|
||||
# CONFIG_PINCTRL_LPASS_LPI is not set
|
||||
# CONFIG_PINCTRL_RTD is not set
|
||||
|
||||
#
|
||||
# Renesas pinctrl drivers
|
||||
@@ -3712,9 +3744,27 @@ CONFIG_PINCTRL_SINGLE=y
|
||||
# CONFIG_PINCTRL_STM32MP157 is not set
|
||||
# CONFIG_PINCTRL_STM32MP257 is not set
|
||||
# CONFIG_PINCTRL_STM32_HDP is not set
|
||||
# CONFIG_PINCTRL_TEGRA is not set
|
||||
# CONFIG_PINCTRL_TEGRA20 is not set
|
||||
# CONFIG_PINCTRL_TEGRA30 is not set
|
||||
# CONFIG_PINCTRL_TEGRA114 is not set
|
||||
# CONFIG_PINCTRL_TEGRA124 is not set
|
||||
# CONFIG_PINCTRL_TEGRA210 is not set
|
||||
# CONFIG_PINCTRL_TEGRA186 is not set
|
||||
# CONFIG_PINCTRL_TEGRA194 is not set
|
||||
# CONFIG_PINCTRL_TEGRA234 is not set
|
||||
# CONFIG_PINCTRL_TEGRA238 is not set
|
||||
# CONFIG_PINCTRL_TEGRA264 is not set
|
||||
# CONFIG_PINCTRL_TEGRA_XUSB is not set
|
||||
# CONFIG_PINCTRL_TI_IODELAY is not set
|
||||
# CONFIG_PINCTRL_ULTRARISC_DP1000 is not set
|
||||
# CONFIG_PINCTRL_UNIPHIER is not set
|
||||
# CONFIG_PINCTRL_TMPV7700 is not set
|
||||
# CONFIG_PINCTRL_VT8500 is not set
|
||||
# CONFIG_PINCTRL_WM8505 is not set
|
||||
# CONFIG_PINCTRL_WM8650 is not set
|
||||
# CONFIG_PINCTRL_WM8750 is not set
|
||||
# CONFIG_PINCTRL_WM8850 is not set
|
||||
CONFIG_GPIOLIB_LEGACY=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
|
||||
@@ -3748,6 +3798,7 @@ CONFIG_GPIO_GENERIC=y
|
||||
# CONFIG_GPIO_DWAPB is not set
|
||||
# CONFIG_GPIO_EIC_SPRD is not set
|
||||
# CONFIG_GPIO_EM is not set
|
||||
# CONFIG_GPIO_EN7523 is not set
|
||||
CONFIG_GPIO_EP93XX=y
|
||||
# CONFIG_GPIO_GE_FPGA is not set
|
||||
# CONFIG_GPIO_FTGPIO010 is not set
|
||||
@@ -3783,6 +3834,7 @@ CONFIG_GPIO_RTD=y
|
||||
# CONFIG_GPIO_SIFIVE is not set
|
||||
# CONFIG_GPIO_SNPS_CREG is not set
|
||||
# CONFIG_GPIO_SPACEMIT_K1 is not set
|
||||
# CONFIG_GPIO_SPEAR_SPICS is not set
|
||||
# CONFIG_GPIO_SPRD is not set
|
||||
# CONFIG_GPIO_STP_XWAY is not set
|
||||
# CONFIG_GPIO_SYSCON is not set
|
||||
@@ -3793,10 +3845,12 @@ CONFIG_GPIO_RTD=y
|
||||
# CONFIG_GPIO_UNIPHIER is not set
|
||||
# CONFIG_GPIO_VF610 is not set
|
||||
# CONFIG_GPIO_VISCONTI is not set
|
||||
# CONFIG_GPIO_WAVESHARE_DSI_TOUCH is not set
|
||||
# CONFIG_GPIO_XGENE is not set
|
||||
# CONFIG_GPIO_XGENE_SB is not set
|
||||
# CONFIG_GPIO_XILINX is not set
|
||||
# CONFIG_GPIO_XLP is not set
|
||||
# CONFIG_GPIO_ZEVIO is not set
|
||||
# CONFIG_GPIO_ZYNQ is not set
|
||||
# CONFIG_GPIO_ZYNQMP_MODEPIN is not set
|
||||
# CONFIG_GPIO_LOONGSON1 is not set
|
||||
@@ -3831,6 +3885,11 @@ CONFIG_GPIO_RTD=y
|
||||
# CONFIG_GPIO_TN48M_CPLD is not set
|
||||
# end of MFD GPIO expanders
|
||||
|
||||
#
|
||||
# Auxiliary Bus GPIO drivers
|
||||
#
|
||||
# end of Auxiliary Bus GPIO drivers
|
||||
|
||||
#
|
||||
# SPI GPIO expanders
|
||||
#
|
||||
@@ -3952,6 +4011,7 @@ CONFIG_CHARGER_GPIO=y
|
||||
# CONFIG_CHARGER_UCS1002 is not set
|
||||
# CONFIG_CHARGER_BD99954 is not set
|
||||
# CONFIG_BATTERY_UG3105 is not set
|
||||
# CONFIG_BATTERY_CHARGER_SURFACE_RT is not set
|
||||
# CONFIG_FUEL_GAUGE_MM8013 is not set
|
||||
CONFIG_CHARGER_RK818=y
|
||||
CONFIG_HWMON=y
|
||||
@@ -3983,6 +4043,7 @@ CONFIG_HWMON=y
|
||||
# CONFIG_SENSORS_ASC7621 is not set
|
||||
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
|
||||
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
|
||||
# CONFIG_SENSORS_ARCTIC_FAN_CONTROLLER is not set
|
||||
CONFIG_SENSORS_ARM_SCMI=y
|
||||
CONFIG_SENSORS_ARM_SCPI=m
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
@@ -4031,6 +4092,7 @@ CONFIG_SENSORS_JC42=m
|
||||
# CONFIG_SENSORS_LTC4260 is not set
|
||||
# CONFIG_SENSORS_LTC4261 is not set
|
||||
# CONFIG_SENSORS_LTC4282 is not set
|
||||
# CONFIG_SENSORS_LTC4283 is not set
|
||||
# CONFIG_SENSORS_MAX1111 is not set
|
||||
# CONFIG_SENSORS_MAX127 is not set
|
||||
# CONFIG_SENSORS_MAX16065 is not set
|
||||
@@ -4099,6 +4161,7 @@ CONFIG_SENSORS_NTC_THERMISTOR=m
|
||||
# CONFIG_SENSORS_SHTC1 is not set
|
||||
# CONFIG_SENSORS_DME1737 is not set
|
||||
# CONFIG_SENSORS_EMC1403 is not set
|
||||
# CONFIG_SENSORS_EMC1812 is not set
|
||||
# CONFIG_SENSORS_EMC2103 is not set
|
||||
# CONFIG_SENSORS_EMC2305 is not set
|
||||
# CONFIG_SENSORS_EMC6W201 is not set
|
||||
@@ -4221,6 +4284,12 @@ CONFIG_ROCKCHIP_THERMAL=y
|
||||
# CONFIG_RZG2L_THERMAL is not set
|
||||
# CONFIG_RZG3E_THERMAL is not set
|
||||
|
||||
#
|
||||
# SpacemiT thermal drivers
|
||||
#
|
||||
# CONFIG_SPACEMIT_K1_TSENSOR is not set
|
||||
# end of SpacemiT thermal drivers
|
||||
|
||||
#
|
||||
# NVIDIA Tegra thermal drivers
|
||||
#
|
||||
@@ -4339,7 +4408,6 @@ CONFIG_ARM_SMC_WATCHDOG=y
|
||||
# CONFIG_EBC_C384_WDT is not set
|
||||
# CONFIG_EXAR_WDT is not set
|
||||
# CONFIG_F71808E_WDT is not set
|
||||
# CONFIG_SC520_WDT is not set
|
||||
# CONFIG_SBC_FITPC2_WATCHDOG is not set
|
||||
# CONFIG_EUROTECH_WDT is not set
|
||||
# CONFIG_IB700_WDT is not set
|
||||
@@ -4356,7 +4424,6 @@ CONFIG_ARM_SMC_WATCHDOG=y
|
||||
# CONFIG_W83627HF_WDT is not set
|
||||
# CONFIG_W83877F_WDT is not set
|
||||
# CONFIG_W83977F_WDT is not set
|
||||
# CONFIG_MACHZ_WDT is not set
|
||||
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
|
||||
# CONFIG_NIC7018_WDT is not set
|
||||
# CONFIG_BCM47XX_WDT is not set
|
||||
@@ -4370,8 +4437,11 @@ CONFIG_ARM_SMC_WATCHDOG=y
|
||||
# CONFIG_LOONGSON1_WDT is not set
|
||||
# CONFIG_GXP_WATCHDOG is not set
|
||||
# CONFIG_MT7621_WDT is not set
|
||||
# CONFIG_PIC32_WDT is not set
|
||||
# CONFIG_PIC32_DMT is not set
|
||||
# CONFIG_MPC5200_WDT is not set
|
||||
# CONFIG_MEN_A21_WDT is not set
|
||||
# CONFIG_ATCWDT200_WATCHDOG is not set
|
||||
# CONFIG_STARFIVE_WATCHDOG is not set
|
||||
# CONFIG_UML_WATCHDOG is not set
|
||||
|
||||
@@ -4380,6 +4450,7 @@ CONFIG_ARM_SMC_WATCHDOG=y
|
||||
#
|
||||
# CONFIG_USBPCWATCHDOG is not set
|
||||
# CONFIG_KEEMBAY_WATCHDOG is not set
|
||||
# CONFIG_GUNYAH_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
# CONFIG_SSB is not set
|
||||
CONFIG_BCMA_POSSIBLE=y
|
||||
@@ -4458,7 +4529,6 @@ CONFIG_MFD_CORE=y
|
||||
# CONFIG_MFD_MENF21BMC is not set
|
||||
# CONFIG_MFD_NCT6694 is not set
|
||||
# CONFIG_MFD_OCELOT is not set
|
||||
# CONFIG_EZX_PCAP is not set
|
||||
# CONFIG_MFD_CPCAP is not set
|
||||
# CONFIG_MFD_VIPERBOARD is not set
|
||||
# CONFIG_MFD_NTXEC is not set
|
||||
@@ -4635,6 +4705,7 @@ CONFIG_REGULATOR_RK808=y
|
||||
# CONFIG_REGULATOR_S2MPS11 is not set
|
||||
# CONFIG_REGULATOR_S5M8767 is not set
|
||||
# CONFIG_REGULATOR_SC2731 is not set
|
||||
# CONFIG_REGULATOR_SGM3804 is not set
|
||||
# CONFIG_REGULATOR_SLG51000 is not set
|
||||
# CONFIG_REGULATOR_SPACEMIT_P1 is not set
|
||||
# CONFIG_REGULATOR_STM32_BOOSTER is not set
|
||||
@@ -5364,10 +5435,12 @@ CONFIG_DRM_PANEL=y
|
||||
# CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A is not set
|
||||
# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
|
||||
# CONFIG_DRM_PANEL_BOE_TV101WUM_LL2 is not set
|
||||
# CONFIG_DRM_PANEL_CHIPWEALTH_CH13726A is not set
|
||||
# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
|
||||
# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
|
||||
# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
|
||||
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
|
||||
# CONFIG_DRM_PANEL_FOCALTECH_OTA7290B is not set
|
||||
# CONFIG_DRM_PANEL_DSI_CM is not set
|
||||
# CONFIG_DRM_PANEL_LVDS is not set
|
||||
# CONFIG_DRM_PANEL_HIMAX_HX8279 is not set
|
||||
@@ -5407,6 +5480,7 @@ CONFIG_DRM_PANEL_HIMAX_HX8394=y
|
||||
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
|
||||
# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT35532 is not set
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
|
||||
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
|
||||
@@ -5546,6 +5620,7 @@ CONFIG_DRM_UDL=m
|
||||
# CONFIG_DRM_VERISILICON_DC is not set
|
||||
CONFIG_DRM_VGEM=m
|
||||
# CONFIG_DRM_VKMS is not set
|
||||
# CONFIG_DRM_ZYNQMP_DPSUB is not set
|
||||
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
||||
|
||||
#
|
||||
@@ -5617,6 +5692,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_KTZ8866 is not set
|
||||
# CONFIG_BACKLIGHT_OMAP1 is not set
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
# CONFIG_BACKLIGHT_MAX25014 is not set
|
||||
# CONFIG_BACKLIGHT_APPLE_DWI is not set
|
||||
# CONFIG_BACKLIGHT_QCOM_WLED is not set
|
||||
# CONFIG_BACKLIGHT_ADP8860 is not set
|
||||
@@ -6089,6 +6165,7 @@ CONFIG_SND_SOC_BT_SCO=m
|
||||
# CONFIG_SND_SOC_CS4270 is not set
|
||||
# CONFIG_SND_SOC_CS4271_I2C is not set
|
||||
# CONFIG_SND_SOC_CS4271_SPI is not set
|
||||
# CONFIG_SND_SOC_CS42XX8_SPI is not set
|
||||
# CONFIG_SND_SOC_CS42XX8_I2C is not set
|
||||
# CONFIG_SND_SOC_CS43130 is not set
|
||||
# CONFIG_SND_SOC_CS4341 is not set
|
||||
@@ -6160,6 +6237,7 @@ CONFIG_SND_SOC_RL6231=m
|
||||
# CONFIG_SND_SOC_RT5616 is not set
|
||||
# CONFIG_SND_SOC_RT5631 is not set
|
||||
CONFIG_SND_SOC_RT5640=m
|
||||
# CONFIG_SND_SOC_RT5645 is not set
|
||||
# CONFIG_SND_SOC_RT5659 is not set
|
||||
# CONFIG_SND_SOC_RT9120 is not set
|
||||
# CONFIG_SND_SOC_RT9123 is not set
|
||||
@@ -6193,6 +6271,7 @@ CONFIG_SND_SOC_SPDIF=m
|
||||
# CONFIG_SND_SOC_TAS5720 is not set
|
||||
# CONFIG_SND_SOC_TAS5805M is not set
|
||||
# CONFIG_SND_SOC_TAS6424 is not set
|
||||
# CONFIG_SND_SOC_TAS675X is not set
|
||||
# CONFIG_SND_SOC_TDA7419 is not set
|
||||
# CONFIG_SND_SOC_TFA9879 is not set
|
||||
# CONFIG_SND_SOC_TFA989X is not set
|
||||
@@ -6354,6 +6433,7 @@ CONFIG_HID_MAGICMOUSE=m
|
||||
CONFIG_HID_MALTRON=m
|
||||
CONFIG_HID_MAYFLASH=m
|
||||
CONFIG_HID_MEGAWORLD_FF=m
|
||||
# CONFIG_HID_RAKK is not set
|
||||
CONFIG_HID_REDRAGON=m
|
||||
CONFIG_HID_MICROSOFT=m
|
||||
CONFIG_HID_MONTEREY=m
|
||||
@@ -6365,6 +6445,7 @@ CONFIG_HID_NTRIG=m
|
||||
CONFIG_HID_NVIDIA_SHIELD=m
|
||||
# CONFIG_NVIDIA_SHIELD_FF is not set
|
||||
CONFIG_HID_ORTEK=m
|
||||
# CONFIG_HID_OXP is not set
|
||||
CONFIG_HID_PANTHERLORD=m
|
||||
CONFIG_PANTHERLORD_FF=y
|
||||
CONFIG_HID_PENMOUNT=m
|
||||
@@ -7016,6 +7097,8 @@ CONFIG_LEDS_SGM3140=m
|
||||
CONFIG_LEDS_GROUP_MULTICOLOR=m
|
||||
# CONFIG_LEDS_KTD202X is not set
|
||||
# CONFIG_LEDS_LP5812 is not set
|
||||
# CONFIG_LEDS_LP5860_CORE is not set
|
||||
# CONFIG_LEDS_LP5860_SPI is not set
|
||||
# CONFIG_LEDS_NCP5623 is not set
|
||||
# CONFIG_LEDS_PWM_MULTICOLOR is not set
|
||||
# CONFIG_LEDS_QCOM_LPG is not set
|
||||
@@ -7333,9 +7416,9 @@ CONFIG_SYNC_FILE=y
|
||||
# CONFIG_SW_SYNC is not set
|
||||
CONFIG_UDMABUF=y
|
||||
# CONFIG_DMABUF_DEBUG is not set
|
||||
# CONFIG_DMABUF_SELFTESTS is not set
|
||||
CONFIG_DMABUF_HEAPS=y
|
||||
CONFIG_DMABUF_HEAPS_SYSTEM=y
|
||||
# CONFIG_DMABUF_HEAPS_SYSTEM_CC_SHARED is not set
|
||||
CONFIG_DMABUF_HEAPS_CMA=y
|
||||
# end of DMABUF options
|
||||
|
||||
@@ -7422,6 +7505,7 @@ CONFIG_ARM64_PLATFORM_DEVICES=y
|
||||
# CONFIG_EC_HUAWEI_GAOKUN is not set
|
||||
# CONFIG_EC_LENOVO_YOGA_C630 is not set
|
||||
# CONFIG_EC_LENOVO_THINKPAD_T14S is not set
|
||||
# CONFIG_EC_QCOM_HAMOA is not set
|
||||
CONFIG_BCM_VIDEOCORE=y
|
||||
# CONFIG_BCM2835_VCHIQ is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
@@ -7477,6 +7561,7 @@ CONFIG_COMMON_CLK_PWM=y
|
||||
# CONFIG_COMMON_CLK_VC7 is not set
|
||||
# CONFIG_COMMON_CLK_MMP2_AUDIO is not set
|
||||
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
|
||||
# CONFIG_COMMON_CLK_K230 is not set
|
||||
# CONFIG_COMMON_CLK_SP7021 is not set
|
||||
# CONFIG_COMMON_CLK_RPMI is not set
|
||||
# CONFIG_CLK_ACTIONS is not set
|
||||
@@ -7612,7 +7697,6 @@ CONFIG_CLK_RK3562=y
|
||||
CONFIG_CLK_RK3576=y
|
||||
CONFIG_CLK_RK3588=y
|
||||
# CONFIG_COMMON_CLK_SAMSUNG is not set
|
||||
# CONFIG_EXYNOS_ACPM_CLK is not set
|
||||
# CONFIG_CLK_SIFIVE is not set
|
||||
# CONFIG_CLK_INTEL_SOCFPGA is not set
|
||||
# CONFIG_CLK_SOPHGO_CV1800 is not set
|
||||
@@ -7802,6 +7886,7 @@ CONFIG_ROCKCHIP_IOMMU=y
|
||||
# CONFIG_MTK_IOMMU_V1 is not set
|
||||
# CONFIG_VIRTIO_IOMMU is not set
|
||||
# CONFIG_SPRD_IOMMU is not set
|
||||
# CONFIG_VSI_IOMMU is not set
|
||||
# CONFIG_GENERIC_PT is not set
|
||||
|
||||
#
|
||||
@@ -8159,6 +8244,7 @@ CONFIG_HID_SENSOR_ACCEL_3D=m
|
||||
# CONFIG_AD4130 is not set
|
||||
# CONFIG_AD4134 is not set
|
||||
# CONFIG_AD4170_4 is not set
|
||||
# CONFIG_AD4691 is not set
|
||||
# CONFIG_AD4695 is not set
|
||||
# CONFIG_AD4851 is not set
|
||||
# CONFIG_AD7091R5 is not set
|
||||
@@ -8379,6 +8465,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
|
||||
# CONFIG_AD5593R is not set
|
||||
# CONFIG_AD5504 is not set
|
||||
# CONFIG_AD5624R_SPI is not set
|
||||
# CONFIG_AD5706R is not set
|
||||
# CONFIG_AD9739A is not set
|
||||
# CONFIG_ADI_AXI_DAC is not set
|
||||
# CONFIG_LTC2688 is not set
|
||||
@@ -8548,6 +8635,7 @@ CONFIG_INV_MPU6050_I2C=m
|
||||
# CONFIG_APDS9300 is not set
|
||||
# CONFIG_APDS9306 is not set
|
||||
# CONFIG_APDS9960 is not set
|
||||
# CONFIG_APDS9999 is not set
|
||||
# CONFIG_AS73211 is not set
|
||||
# CONFIG_BH1745 is not set
|
||||
# CONFIG_BH1750 is not set
|
||||
@@ -8595,6 +8683,7 @@ CONFIG_STK3310=m
|
||||
# CONFIG_VCNL4000 is not set
|
||||
# CONFIG_VCNL4035 is not set
|
||||
# CONFIG_VEML3235 is not set
|
||||
# CONFIG_VEML3328 is not set
|
||||
# CONFIG_VEML6030 is not set
|
||||
# CONFIG_VEML6040 is not set
|
||||
# CONFIG_VEML6046X00 is not set
|
||||
@@ -8618,6 +8707,7 @@ CONFIG_AK09911=m
|
||||
CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
|
||||
# CONFIG_MMC35240 is not set
|
||||
# CONFIG_MMC5633 is not set
|
||||
# CONFIG_MMC5983 is not set
|
||||
CONFIG_IIO_ST_MAGN_3AXIS=m
|
||||
CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
|
||||
CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
|
||||
@@ -8648,7 +8738,6 @@ CONFIG_HID_SENSOR_DEVICE_ROTATION=m
|
||||
# Triggers - standalone
|
||||
#
|
||||
CONFIG_IIO_HRTIMER_TRIGGER=m
|
||||
CONFIG_IIO_INTERRUPT_TRIGGER=m
|
||||
# CONFIG_IIO_STM32_LPTIMER_TRIGGER is not set
|
||||
# CONFIG_IIO_STM32_TIMER_TRIGGER is not set
|
||||
CONFIG_IIO_TIGHTLOOP_TRIGGER=m
|
||||
@@ -8797,6 +8886,7 @@ CONFIG_PWM=y
|
||||
# CONFIG_PWM_IMX27 is not set
|
||||
# CONFIG_PWM_IMX_TPM is not set
|
||||
# CONFIG_PWM_INTEL_LGM is not set
|
||||
# CONFIG_PWM_IPQ is not set
|
||||
# CONFIG_PWM_IQS620A is not set
|
||||
# CONFIG_PWM_JZ4740 is not set
|
||||
# CONFIG_PWM_KEEMBAY is not set
|
||||
@@ -8848,6 +8938,7 @@ CONFIG_ARM_GIC_V3_ITS=y
|
||||
CONFIG_ARM_GIC_V5=y
|
||||
CONFIG_IRQ_MSI_LIB=y
|
||||
# CONFIG_AL_FIC is not set
|
||||
# CONFIG_ASPEED_AST2700_INTC is not set
|
||||
# CONFIG_BCM2712_MIP is not set
|
||||
# CONFIG_BCM7038_L1_IRQ is not set
|
||||
# CONFIG_BCM7120_L2_IRQ is not set
|
||||
@@ -8871,7 +8962,7 @@ CONFIG_PIC32_EVIC=y
|
||||
# CONFIG_IMX_IRQSTEER is not set
|
||||
# CONFIG_IMX_INTMUX is not set
|
||||
# CONFIG_IMX_MU_MSI is not set
|
||||
# CONFIG_STARFIVE_JH8100_INTC is not set
|
||||
# CONFIG_STARFIVE_JHB100_INTC is not set
|
||||
# CONFIG_EXYNOS_IRQ_COMBINER is not set
|
||||
# CONFIG_MST_IRQ is not set
|
||||
# CONFIG_APPLE_AIC is not set
|
||||
@@ -8949,10 +9040,13 @@ CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_PHY_AIROHA_PCIE is not set
|
||||
# CONFIG_PHY_CAN_TRANSCEIVER is not set
|
||||
# CONFIG_PHY_EYEQ5_ETH is not set
|
||||
# CONFIG_PHY_ECONET_PCIE is not set
|
||||
# CONFIG_PHY_GOOGLE_USB is not set
|
||||
# CONFIG_USB_LGM_PHY is not set
|
||||
# CONFIG_PHY_LPC18XX_USB_OTG is not set
|
||||
# CONFIG_PHY_NXP_PTN3222 is not set
|
||||
# CONFIG_PHY_NXP_TJA1145 is not set
|
||||
# CONFIG_PHY_PISTACHIO_USB is not set
|
||||
# CONFIG_PHY_SNPS_EUSB2 is not set
|
||||
# CONFIG_PHY_XGENE is not set
|
||||
@@ -8970,6 +9064,7 @@ CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG is not set
|
||||
# CONFIG_PHY_MESON_AXG_MIPI_DPHY is not set
|
||||
# CONFIG_PHY_APPLE_ATC is not set
|
||||
# CONFIG_PHY_AX3000_EMMC is not set
|
||||
|
||||
#
|
||||
# PHY drivers for Broadcom platforms
|
||||
@@ -9000,6 +9095,7 @@ CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_PHY_FSL_IMX8M_PCIE is not set
|
||||
# CONFIG_PHY_FSL_IMX8QM_HSIO is not set
|
||||
# CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY is not set
|
||||
# CONFIG_PHY_FSL_LYNX_10G is not set
|
||||
# CONFIG_PHY_FSL_LYNX_28G is not set
|
||||
# CONFIG_PHY_HI6220_USB is not set
|
||||
# CONFIG_PHY_HI3660_USB is not set
|
||||
@@ -9093,6 +9189,7 @@ CONFIG_PHY_ROCKCHIP_USB=y
|
||||
# CONFIG_PHY_SOPHGO_CV1800_USB2 is not set
|
||||
# CONFIG_PHY_SPACEMIT_K1_PCIE is not set
|
||||
# CONFIG_PHY_SPACEMIT_K1_USB2 is not set
|
||||
# CONFIG_PHY_MIPHY28LP is not set
|
||||
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
|
||||
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
|
||||
# CONFIG_PHY_STIH407_USB is not set
|
||||
@@ -9104,14 +9201,15 @@ CONFIG_PHY_ROCKCHIP_USB=y
|
||||
# CONFIG_PHY_STARFIVE_JH7110_USB is not set
|
||||
# CONFIG_PHY_SUNPLUS_USB is not set
|
||||
# CONFIG_PHY_TEGRA194_P2U is not set
|
||||
# CONFIG_PHY_DA8XX_USB is not set
|
||||
# CONFIG_PHY_DM816X_USB is not set
|
||||
# CONFIG_PHY_AM654_SERDES is not set
|
||||
# CONFIG_PHY_J721E_WIZ is not set
|
||||
# CONFIG_OMAP_CONTROL_PHY is not set
|
||||
# CONFIG_OMAP_USB2 is not set
|
||||
# CONFIG_TI_PIPE3 is not set
|
||||
# CONFIG_PHY_AM654_SERDES is not set
|
||||
# CONFIG_PHY_DA8XX_USB is not set
|
||||
# CONFIG_PHY_DM816X_USB is not set
|
||||
# CONFIG_PHY_J721E_WIZ is not set
|
||||
# CONFIG_PHY_TI_DS125DF111 is not set
|
||||
# CONFIG_PHY_TUSB1210 is not set
|
||||
# CONFIG_TI_PIPE3 is not set
|
||||
# CONFIG_PHY_XILINX_ZYNQMP is not set
|
||||
# end of PHY Subsystem
|
||||
|
||||
@@ -9444,10 +9542,10 @@ CONFIG_EROFS_FS_SECURITY=y
|
||||
CONFIG_EROFS_FS_BACKED_BY_FILE=y
|
||||
CONFIG_EROFS_FS_ZIP=y
|
||||
CONFIG_EROFS_FS_ZIP_LZMA=y
|
||||
CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS=16
|
||||
CONFIG_EROFS_FS_ZIP_DEFLATE=y
|
||||
CONFIG_EROFS_FS_ZIP_ZSTD=y
|
||||
# CONFIG_EROFS_FS_ZIP_ACCEL is not set
|
||||
# CONFIG_EROFS_FS_ONDEMAND is not set
|
||||
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
|
||||
# CONFIG_EROFS_FS_PAGE_CACHE_SHARE is not set
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
@@ -9493,9 +9591,6 @@ CONFIG_SUNRPC=m
|
||||
CONFIG_SUNRPC_GSS=m
|
||||
CONFIG_SUNRPC_BACKCHANNEL=y
|
||||
CONFIG_RPCSEC_GSS_KRB5=m
|
||||
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
|
||||
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y
|
||||
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
|
||||
# CONFIG_SUNRPC_DEBUG is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
CONFIG_CIFS=m
|
||||
@@ -9719,7 +9814,6 @@ CONFIG_CRYPTO_CAST_COMMON=m
|
||||
CONFIG_CRYPTO_CAST5=m
|
||||
CONFIG_CRYPTO_CAST6=m
|
||||
CONFIG_CRYPTO_DES=m
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
CONFIG_CRYPTO_SERPENT=m
|
||||
CONFIG_CRYPTO_SM4=y
|
||||
# CONFIG_CRYPTO_SM4_GENERIC is not set
|
||||
@@ -9738,7 +9832,6 @@ CONFIG_CRYPTO_CTS=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
# CONFIG_CRYPTO_HCTR2 is not set
|
||||
CONFIG_CRYPTO_LRW=m
|
||||
# CONFIG_CRYPTO_PCBC is not set
|
||||
CONFIG_CRYPTO_XTS=y
|
||||
# end of Length-preserving ciphers and modes
|
||||
|
||||
@@ -9789,7 +9882,7 @@ CONFIG_CRYPTO_CRC32=y
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
# CONFIG_CRYPTO_842 is not set
|
||||
CONFIG_CRYPTO_LZ4=m
|
||||
CONFIG_CRYPTO_LZ4=y
|
||||
CONFIG_CRYPTO_LZ4HC=y
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
# end of Compression
|
||||
@@ -9797,21 +9890,16 @@ CONFIG_CRYPTO_ZSTD=y
|
||||
#
|
||||
# Random number generation
|
||||
#
|
||||
CONFIG_CRYPTO_DRBG_MENU=y
|
||||
CONFIG_CRYPTO_DRBG_HMAC=y
|
||||
CONFIG_CRYPTO_DRBG_HASH=y
|
||||
CONFIG_CRYPTO_DRBG_CTR=y
|
||||
CONFIG_CRYPTO_DRBG=y
|
||||
CONFIG_CRYPTO_JITTERENTROPY=y
|
||||
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
|
||||
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
|
||||
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
|
||||
CONFIG_CRYPTO_KDF800108_CTR=y
|
||||
CONFIG_CRYPTO_DF80090A=y
|
||||
# end of Random number generation
|
||||
|
||||
#
|
||||
# Userspace interface
|
||||
# Userspace interface (deprecated)
|
||||
#
|
||||
CONFIG_CRYPTO_USER_API=m
|
||||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
@@ -9820,7 +9908,7 @@ CONFIG_CRYPTO_USER_API_RNG=m
|
||||
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
|
||||
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||
# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set
|
||||
# end of Userspace interface
|
||||
# end of Userspace interface (deprecated)
|
||||
|
||||
#
|
||||
# Accelerated Cryptographic Algorithms for CPU (arm64)
|
||||
@@ -9841,7 +9929,7 @@ CONFIG_CRYPTO_HW=y
|
||||
# CONFIG_CRYPTO_DEV_ALLWINNER is not set
|
||||
# CONFIG_CRYPTO_DEV_SL3516 is not set
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
|
||||
# CONFIG_CRYPTO_DEV_EXYNOS_RNG is not set
|
||||
# CONFIG_CRYPTO_DEV_OMAP is not set
|
||||
# CONFIG_CRYPTO_DEV_S5P is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_AES is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set
|
||||
@@ -9857,7 +9945,6 @@ CONFIG_CRYPTO_HW=y
|
||||
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
|
||||
# CONFIG_CRYPTO_DEV_IMGTEC_HASH is not set
|
||||
# CONFIG_CRYPTO_DEV_ROCKCHIP is not set
|
||||
# CONFIG_CRYPTO_DEV_XILINX_TRNG is not set
|
||||
# CONFIG_CRYPTO_DEV_ZYNQMP_AES is not set
|
||||
# CONFIG_CRYPTO_DEV_ZYNQMP_SHA3 is not set
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
@@ -9907,8 +9994,6 @@ CONFIG_BINARY_PRINTF=y
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_RAID6_PQ=y
|
||||
# CONFIG_RAID6_PQ_BENCHMARK is not set
|
||||
CONFIG_LINEAR_RANGES=y
|
||||
# CONFIG_PACKING is not set
|
||||
CONFIG_BITREVERSE=y
|
||||
@@ -9968,6 +10053,9 @@ CONFIG_CRYPTO_LIB_SHA3=y
|
||||
CONFIG_CRYPTO_LIB_SHA3_ARCH=y
|
||||
CONFIG_XOR_BLOCKS=y
|
||||
CONFIG_XOR_BLOCKS_ARCH=y
|
||||
CONFIG_RAID6_PQ=y
|
||||
CONFIG_RAID6_PQ_ARCH=y
|
||||
# CONFIG_RAID6_PQ_BENCHMARK is not set
|
||||
CONFIG_XXHASH=y
|
||||
CONFIG_AUDIT_GENERIC=y
|
||||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
@@ -10150,7 +10238,6 @@ CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
||||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_VMLINUX_MAP is not set
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
CONFIG_WARN_CONTEXT_ANALYSIS=y
|
||||
# end of Compile-time checks and compiler options
|
||||
|
||||
#
|
||||
@@ -10376,6 +10463,7 @@ CONFIG_SYNTH_EVENTS=y
|
||||
# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
|
||||
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
|
||||
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
|
||||
# CONFIG_RING_BUFFER_PERSISTENT_INJECT is not set
|
||||
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
|
||||
# CONFIG_SYNTH_EVENT_GEN_TEST is not set
|
||||
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 5774ba8941ddb45470bfa9cc903d63e52a678b90 Mon Sep 17 00:00:00 2001
|
||||
From 17c723a2fae07f0c863db891c8dea023ea13654f Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 22 May 2022 03:25:06 +0200
|
||||
Subject: [PATCH 07/84] media: imx258: Add i2c supply
|
||||
Subject: [PATCH 01/90] media: imx258: Add i2c supply
|
||||
|
||||
Sensor depends on I2C bus to be powered up to work.
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From faeafc9db9ac2d7f191c09fe3edfa9891a7ddc2f Mon Sep 17 00:00:00 2001
|
||||
From 3cf19a88ab0104cbb71efbd2a841f06d933eb38d Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 9 Sep 2024 16:49:41 +0200
|
||||
Subject: [PATCH 08/84] media: imx258: Add reset gpio
|
||||
Subject: [PATCH 02/90] media: imx258: Add reset gpio
|
||||
|
||||
IMX258 features a reset input that needs to be controlled when powering
|
||||
up the chip.
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 9b48bbc02eb1a3ef4a734f64a95c1e843b1192d1 Mon Sep 17 00:00:00 2001
|
||||
From e6a595ada31c36293478963a8d4655bdc7b57ae0 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 15 Sep 2024 23:41:50 +0200
|
||||
Subject: [PATCH 09/84] media: imx258: Drop interface speed to 1224 mbps
|
||||
Subject: [PATCH 03/90] media: imx258: Drop interface speed to 1224 mbps
|
||||
|
||||
Pinephone Pro can't do 1272 mbps. This is just a hack to make the new
|
||||
upstream driver work quickly with the phone.
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From a14e1b917fd223d3b5063a48c98bd92df1a97c09 Mon Sep 17 00:00:00 2001
|
||||
From 6db32e3e7e73983f58719f5f20377391c4f2c2eb Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Thu, 9 Jun 2022 01:04:18 +0200
|
||||
Subject: [PATCH 10/84] [DEBUG] media: imx258: Add debug register access
|
||||
Subject: [PATCH 04/90] media: imx258: Add debug register access
|
||||
|
||||
This is useful during development.
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
From 0a07c82cce09160952c41a53f94acb084b8b6a3b Mon Sep 17 00:00:00 2001
|
||||
From 40d935a811301fc935a6a57556cff241944b7348 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 19 Aug 2022 22:01:23 +0200
|
||||
Subject: [PATCH 01/84] ASoC: codecs: rt5640: Fix output mixer input channel
|
||||
Subject: [PATCH 05/90] ASoC: codecs: rt5640: Fix output mixer input channel
|
||||
list
|
||||
|
||||
It did not match the RT5640 datasheet. Now it does.
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
2 files changed, 13 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
|
||||
index f6c6294e1588..e3a90be5294b 100644
|
||||
index 74fd05176eff..2c94c81b5b59 100644
|
||||
--- a/sound/soc/codecs/rt5640.c
|
||||
+++ b/sound/soc/codecs/rt5640.c
|
||||
@@ -651,8 +651,8 @@ static const struct snd_kcontrol_new rt5640_spk_r_mix[] = {
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
From 06cc977b69459292246e9b08dfe433fc43e5d5f3 Mon Sep 17 00:00:00 2001
|
||||
From 4c6a567c9db84dbff9c0edbe4fb1fd5e78661367 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 20 Aug 2022 20:32:07 +0200
|
||||
Subject: [PATCH 02/84] ASoC: codecs: rt5640: Fix hpout restore when lout is
|
||||
Subject: [PATCH 06/90] ASoC: codecs: rt5640: Fix hpout restore when lout is
|
||||
enabled
|
||||
|
||||
When line out and heaphones are enabled, rt5640_lout_event will cause
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
|
||||
index e3a90be5294b..5376206e308b 100644
|
||||
index 2c94c81b5b59..bbe83619d940 100644
|
||||
--- a/sound/soc/codecs/rt5640.c
|
||||
+++ b/sound/soc/codecs/rt5640.c
|
||||
@@ -995,7 +995,8 @@ static int rt5640_lout_event(struct snd_soc_dapm_widget *w,
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
From 07c3af029c04522de7b35646a6374b8241fdc28c Mon Sep 17 00:00:00 2001
|
||||
From c895605443f2db8864604b771a568aced2252bec Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 14 Apr 2023 22:35:37 +0200
|
||||
Subject: [PATCH 03/84] ASoC: codecs: rt5640: Add input mixer input volume
|
||||
Subject: [PATCH 07/90] ASoC: codecs: rt5640: Add input mixer input volume
|
||||
controls
|
||||
|
||||
These are useful to attenuate strong signals from analog inputs.
|
||||
@@ -12,7 +12,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
|
||||
index 5376206e308b..03d8196d218c 100644
|
||||
index bbe83619d940..af7395831f89 100644
|
||||
--- a/sound/soc/codecs/rt5640.c
|
||||
+++ b/sound/soc/codecs/rt5640.c
|
||||
@@ -342,6 +342,7 @@ static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0);
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
From 68b5fa757087e8fdf3fe6c7bad67c200503946f8 Mon Sep 17 00:00:00 2001
|
||||
From cda7bcf085a8869ceb6be8928a286e03cd3ee4b6 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 14 Apr 2023 22:37:02 +0200
|
||||
Subject: [PATCH 04/84] ASoC: codecs: rt5640: Allow to control
|
||||
Subject: [PATCH 08/90] ASoC: codecs: rt5640: Allow to control
|
||||
single-ended/differential mode
|
||||
|
||||
Not for upstream. This is useful for debugging, trying things without
|
||||
@@ -13,7 +13,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
|
||||
index 03d8196d218c..1553a0b1f936 100644
|
||||
index af7395831f89..12943724f653 100644
|
||||
--- a/sound/soc/codecs/rt5640.c
|
||||
+++ b/sound/soc/codecs/rt5640.c
|
||||
@@ -427,6 +427,10 @@ static const struct snd_kcontrol_new rt5640_snd_controls[] = {
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
From 801e51af0f5dc01654220afd90a8844c8a7c0a3f Mon Sep 17 00:00:00 2001
|
||||
From e479324c6b5d92bfc5b6946226f829af562c2d26 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 29 Jul 2023 17:33:24 +0200
|
||||
Subject: [PATCH 05/84] ASoC: codecs: rt5640: Keep the codec enabled when idle
|
||||
Subject: [PATCH 09/90] ASoC: codecs: rt5640: Keep the codec enabled when idle
|
||||
|
||||
This makes analog audio work even without any i2s streams being enabled.
|
||||
|
||||
@@ -11,10 +11,10 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
|
||||
index 1553a0b1f936..d6859a079538 100644
|
||||
index 12943724f653..d48eafb3c243 100644
|
||||
--- a/sound/soc/codecs/rt5640.c
|
||||
+++ b/sound/soc/codecs/rt5640.c
|
||||
@@ -2954,6 +2954,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5640 = {
|
||||
@@ -2957,6 +2957,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5640 = {
|
||||
.num_dapm_widgets = ARRAY_SIZE(rt5640_dapm_widgets),
|
||||
.dapm_routes = rt5640_dapm_routes,
|
||||
.num_dapm_routes = ARRAY_SIZE(rt5640_dapm_routes),
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
From fc33dcc63c708630afafbc6c0b8541680113c95a Mon Sep 17 00:00:00 2001
|
||||
From dac0859ccdddd2b911655774739bdcb7a147cfc0 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Thu, 7 Sep 2023 22:58:22 +0200
|
||||
Subject: [PATCH 06/84] ASoC: codecs: rt5640: Add support for power supplies
|
||||
Subject: [PATCH 10/90] ASoC: codecs: rt5640: Add support for power supplies
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
@@ -9,7 +9,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
|
||||
index d6859a079538..7d7dad5ed884 100644
|
||||
index d48eafb3c243..8c2444e709d6 100644
|
||||
--- a/sound/soc/codecs/rt5640.c
|
||||
+++ b/sound/soc/codecs/rt5640.c
|
||||
@@ -17,6 +17,7 @@
|
||||
@@ -34,7 +34,7 @@ index d6859a079538..7d7dad5ed884 100644
|
||||
static const struct regmap_range_cfg rt5640_ranges[] = {
|
||||
{ .name = "PR", .range_min = RT5640_PR_BASE,
|
||||
.range_max = RT5640_PR_BASE + 0xb4,
|
||||
@@ -3031,6 +3039,14 @@ static int rt5640_i2c_probe(struct i2c_client *i2c)
|
||||
@@ -3034,6 +3042,14 @@ static int rt5640_i2c_probe(struct i2c_client *i2c)
|
||||
msleep(400);
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
From 2cfdbc171b7b0d0d03edd78fae516fa1310fcf17 Mon Sep 17 00:00:00 2001
|
||||
From d071ab724dd96ea8c84f72d0b56c4477fcae6248 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 15 Aug 2022 02:23:37 +0200
|
||||
Subject: [PATCH 11/84] ASoC: rockchip: Fix doubling of playback speed after
|
||||
Subject: [PATCH 11/90] ASoC: rockchip: Fix doubling of playback speed after
|
||||
system sleep
|
||||
|
||||
There is some issue with CRU on RK3399 that can be reproduced by:
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
|
||||
index 0a0a95b4f520..6dce1db85427 100644
|
||||
index 64c90316fa02..8f4ead7a297d 100644
|
||||
--- a/sound/soc/rockchip/rockchip_i2s.c
|
||||
+++ b/sound/soc/rockchip/rockchip_i2s.c
|
||||
@@ -114,6 +114,13 @@ static int i2s_runtime_resume(struct device *dev)
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 2b6b4c84b9ee0ad52817dac708e52962033028bb Mon Sep 17 00:00:00 2001
|
||||
From 276d979f4e3524c970fa89361a49cc0f0956cbfe Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Mon, 22 Jun 2020 02:28:01 +0200
|
||||
Subject: [PATCH 20/84] power: supply: Add support for USB_BC_ENABLED and
|
||||
Subject: [PATCH 12/90] power: supply: Add support for USB_BC_ENABLED and
|
||||
USB_DCP_INPUT_CURRENT_LIMIT
|
||||
|
||||
- USB_BC_ENABLED - enabling/disabling BC 1.2 USB type detection
|
||||
+8
-4
@@ -1,14 +1,18 @@
|
||||
From 33fe1a73fcef2b401a5b2bae0dc15809836d3604 Mon Sep 17 00:00:00 2001
|
||||
From b10973c0e6b3c2fdc6fb0b26c6938762812d750e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu>
|
||||
Date: Mon, 4 Jan 2021 17:57:49 +0100
|
||||
Subject: [PATCH 21/84] mfd: rk8xx: Enable rk808-clkout2 function
|
||||
Subject: [PATCH 13/90] mfd: rk8xx: Enable rk808-clkout2 function
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
???
|
||||
The CLK32KOUT2 pin is shared between the 32 kHz clock output and another
|
||||
function, selected by bit 1 of CLK32OUT. Select the clock function on
|
||||
RK818 during pre-init, so that the rk808-clkout2 clock reaches whatever
|
||||
consumes it. The gate itself is left to the clock driver.
|
||||
|
||||
Signed-of-by: Kamil Trzciński <ayufan@ayufan.eu>
|
||||
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/mfd/rk8xx-core.c | 1 +
|
||||
include/linux/mfd/rk808.h | 2 ++
|
||||
+7
-10
@@ -1,16 +1,13 @@
|
||||
From 5e2319782b4fdf05161d264dde23ac10dc1b8949 Mon Sep 17 00:00:00 2001
|
||||
From b8835b540888a8db30800b0df179ee6b332d8b38 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 11 Jun 2023 18:29:24 +0200
|
||||
Subject: [PATCH 22/84] power: supply: rk818_battery: Add battery charger
|
||||
Subject: [PATCH 14/90] power: supply: rk818_battery: Add battery charger
|
||||
driver for RK818
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
RK818 is a PMIC used on Pinephone. This is a battery charger driver
|
||||
for it.
|
||||
|
||||
Signed-of-by: Ondřej Jirman <megi@xff.cz>
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/mfd/rk8xx-core.c | 1 +
|
||||
drivers/mfd/rk8xx-i2c.c | 38 +-
|
||||
@@ -88,10 +85,10 @@ index 2951b2911a37..1f5b291e127c 100644
|
||||
|
||||
static const struct regmap_config rk801_regmap_config = {
|
||||
diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig
|
||||
index 83392ed6a8da..9a8401fc76fa 100644
|
||||
index f0ede1cecb6a..fcceed206673 100644
|
||||
--- a/drivers/power/supply/Kconfig
|
||||
+++ b/drivers/power/supply/Kconfig
|
||||
@@ -1165,4 +1165,12 @@ config MACSMC_POWER
|
||||
@@ -1186,4 +1186,12 @@ config MACSMC_POWER
|
||||
|
||||
Say Y or M here if you have an Apple Silicon based Mac.
|
||||
|
||||
@@ -105,10 +102,10 @@ index 83392ed6a8da..9a8401fc76fa 100644
|
||||
+
|
||||
endif # POWER_SUPPLY
|
||||
diff --git a/drivers/power/supply/Makefile b/drivers/power/supply/Makefile
|
||||
index 7ee839dca7f3..087d75a200de 100644
|
||||
index 31fe4a145929..dbf07c4a962c 100644
|
||||
--- a/drivers/power/supply/Makefile
|
||||
+++ b/drivers/power/supply/Makefile
|
||||
@@ -131,3 +131,4 @@ obj-$(CONFIG_CHARGER_QCOM_SMB2) += qcom_smbx.o
|
||||
@@ -133,3 +133,4 @@ obj-$(CONFIG_CHARGER_QCOM_SMB2) += qcom_smbx.o
|
||||
obj-$(CONFIG_FUEL_GAUGE_MM8013) += mm8013.o
|
||||
obj-$(CONFIG_MACSMC_POWER) += macsmc-power.o
|
||||
obj-$(CONFIG_CHARGER_MAX77759) += max77759_charger.o
|
||||
+3
-6
@@ -1,13 +1,10 @@
|
||||
From 4d1a2cabfffeed3f41c697d6712941adbc74f6b6 Mon Sep 17 00:00:00 2001
|
||||
From 8678f78f2d44ecac1b0000e0ecef81254428d087 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 11 Apr 2026 16:38:03 +0200
|
||||
Subject: [PATCH 23/84] power: supply: rk818_battery: Add code/docs for the HW
|
||||
Subject: [PATCH 15/90] power: supply: rk818_battery: Add code/docs for the HW
|
||||
reverse engineering
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-of-by: Ondřej Jirman <megi@xff.cz>
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/power/supply/rk818_battery.c | 246 +++++++++++++++++++++++++++
|
||||
1 file changed, 246 insertions(+)
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
From 48a9b0b4a9024a32112883e1ff481c92b80fc528 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 25 Jul 2026 11:57:17 +0200
|
||||
Subject: [PATCH 16/90] power: supply: rk818_battery: Don't override configured
|
||||
charger limits in probe
|
||||
|
||||
Probe was overwriting CHRG_CTRL_REG1 with hardcoded 1.2A/4.3V limits
|
||||
right after rk818_configure_charger() applied the limits from battery
|
||||
info, so constant-charge-current-max-microamp from DT never took
|
||||
effect. Just enable the charger without touching the limit fields.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/power/supply/rk818_battery.c | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/supply/rk818_battery.c b/drivers/power/supply/rk818_battery.c
|
||||
index a4af2631d3bf..27da0b1d52e8 100644
|
||||
--- a/drivers/power/supply/rk818_battery.c
|
||||
+++ b/drivers/power/supply/rk818_battery.c
|
||||
@@ -2538,11 +2538,10 @@ static int rk818_battery_probe(struct platform_device *pdev)
|
||||
if (ret)
|
||||
dev_warn(di->dev, "failed to enable analog control loop (%d)\n", ret);
|
||||
|
||||
- /* enable charger and set some reasonable limits on each boot */
|
||||
- ret = regmap_write(di->regmap, RK818_CHRG_CTRL_REG1,
|
||||
- RK818_CHRG_CTRL_REG1_CHRG_EN
|
||||
- | (1) /* 1.2A */
|
||||
- | (5 << 4) /* 4.3V */);
|
||||
+ /* enable charger (limits are set up by rk818_configure_charger) */
|
||||
+ ret = regmap_update_bits(di->regmap, RK818_CHRG_CTRL_REG1,
|
||||
+ RK818_CHRG_CTRL_REG1_CHRG_EN,
|
||||
+ RK818_CHRG_CTRL_REG1_CHRG_EN);
|
||||
if (ret)
|
||||
dev_warn(di->dev, "failed to enable charger (%d)\n", ret);
|
||||
|
||||
--
|
||||
2.55.0
|
||||
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
From 78c1af9af2666ef3e819ab384bbea8d369448a38 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 25 Jul 2026 11:44:47 +0200
|
||||
Subject: [PATCH 17/90] power: supply: rk818_battery: Scale charge current by
|
||||
the sense resistor value
|
||||
|
||||
CHRG_CUR_SEL steps are nominal values for the reference 20 mOhm sense
|
||||
resistor design. The CC loop regulates the voltage drop across
|
||||
SNSP/SNSN, so with the 10 mOhm resistor used on Pinephone Pro the
|
||||
actual charging current is 2x the nominal value. Confirmed by
|
||||
measurement on PPP against a lab PSU - 1.76A battery current with the
|
||||
register set to the 1A step. Vendor BSP scales by the same factor.
|
||||
|
||||
Scale the requested and reported constant charge current by the sense
|
||||
resistor value and warn when the requested limit is below the hardware
|
||||
minimum (2A actual on 10 mOhm boards).
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/power/supply/rk818_battery.c | 31 ++++++++++++++++++++++++----
|
||||
1 file changed, 27 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/supply/rk818_battery.c b/drivers/power/supply/rk818_battery.c
|
||||
index 27da0b1d52e8..bc6d92890405 100644
|
||||
--- a/drivers/power/supply/rk818_battery.c
|
||||
+++ b/drivers/power/supply/rk818_battery.c
|
||||
@@ -1764,17 +1764,40 @@ static const struct power_supply_desc rk818_usb_desc = {
|
||||
* Charger / battery supply
|
||||
* ========================================================================= */
|
||||
|
||||
+/*
|
||||
+ * CHRG_CUR_SEL and CHRG_TERM_SEL step values assume the reference 20 mOhm
|
||||
+ * sense resistor design. The charger regulates the voltage drop across
|
||||
+ * SNSP/SNSN, so on boards with a different sense resistor the actual
|
||||
+ * current is scaled by 20 mOhm / R_sense (2x on the 10 mOhm Pinephone Pro
|
||||
+ * design).
|
||||
+ */
|
||||
+static int rk818_charger_current_to_nominal(struct rk818_battery *di, int val)
|
||||
+{
|
||||
+ return val * (int)di->sense_resist_mohm / 20;
|
||||
+}
|
||||
+
|
||||
+static int rk818_charger_nominal_to_current(struct rk818_battery *di, int val)
|
||||
+{
|
||||
+ return val * 20 / (int)di->sense_resist_mohm;
|
||||
+}
|
||||
+
|
||||
static int rk818_charger_set_current_max(struct rk818_battery *di, int val)
|
||||
{
|
||||
unsigned reg;
|
||||
int ret;
|
||||
|
||||
- if (val < 1000000)
|
||||
+ val = rk818_charger_current_to_nominal(di, val);
|
||||
+
|
||||
+ if (val < 1000000) {
|
||||
+ dev_warn(di->dev,
|
||||
+ "Requested charge current is below the hardware minimum of %d uA\n",
|
||||
+ rk818_charger_nominal_to_current(di, 1000000));
|
||||
reg = 0;
|
||||
- else if (val < 3000000)
|
||||
+ } else if (val < 3000000) {
|
||||
reg = (val - 1000000) / 200000;
|
||||
- else
|
||||
+ } else {
|
||||
reg = 10;
|
||||
+ }
|
||||
|
||||
ret = regmap_update_bits(di->regmap, RK818_CHRG_CTRL_REG1,
|
||||
RK818_CHRG_CTRL_REG1_CHRG_CUR_SEL_MASK,
|
||||
@@ -1801,7 +1824,7 @@ static int rk818_charger_get_current_max(struct rk818_battery *di, int *val)
|
||||
reg &= RK818_CHRG_CTRL_REG1_CHRG_CUR_SEL_MASK;
|
||||
reg >>= RK818_CHRG_CTRL_REG1_CHRG_CUR_SEL_OFFSET;
|
||||
|
||||
- *val = 1000000 + reg * 200000;
|
||||
+ *val = rk818_charger_nominal_to_current(di, 1000000 + reg * 200000);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.55.0
|
||||
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
From ccc1a807db3c6d8945f1770df8e1f5e1b4ad7218 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 25 Jul 2026 11:45:56 +0200
|
||||
Subject: [PATCH 18/90] power: supply: rk818_battery: Scale termination current
|
||||
by the sense resistor value
|
||||
|
||||
CHRG_TERM_SEL steps are nominal values for the reference 20 mOhm sense
|
||||
resistor design, like the CC current steps. On the 10 mOhm Pinephone
|
||||
Pro design the 150 mA setting from DT terminated charging at ~300 mA
|
||||
of actual current, ending the CV phase early and leaving the battery
|
||||
visibly below the CV setpoint. This matches the vendor BSP, which
|
||||
forces the lowest termination step on 10 mOhm boards.
|
||||
|
||||
Encode the termination current scaled by the sense resistor and report
|
||||
the actual value. Drop the 10 mOhm special case from the fallback -
|
||||
the scaling now covers it with the same resulting register values.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/power/supply/rk818_battery.c | 16 +++++++++-------
|
||||
1 file changed, 9 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/supply/rk818_battery.c b/drivers/power/supply/rk818_battery.c
|
||||
index bc6d92890405..d9b62d45f114 100644
|
||||
--- a/drivers/power/supply/rk818_battery.c
|
||||
+++ b/drivers/power/supply/rk818_battery.c
|
||||
@@ -334,6 +334,7 @@ static void rk818_clrsetbits(struct rk818_battery *di, u8 reg, u8 mask, u8 val)
|
||||
/* Forward declarations for helpers used before their definition. */
|
||||
static int rk818_charger_set_current_max(struct rk818_battery *di, int val);
|
||||
static int rk818_charger_set_voltage_max(struct rk818_battery *di, int val);
|
||||
+static int rk818_charger_current_to_nominal(struct rk818_battery *di, int val);
|
||||
|
||||
/*
|
||||
* Read a big-endian 16-bit register pair and apply linear voltage calibration.
|
||||
@@ -838,14 +839,13 @@ static void rk818_configure_charger(struct rk818_battery *di)
|
||||
|
||||
/*
|
||||
* Termination current: prefer charge_term_current_ua from the DT;
|
||||
- * fall back to ~C/30 of FCC scaled by sense resistor, then encode
|
||||
- * to the nearest supported FINISH_*MA step.
|
||||
+ * fall back to ~C/30 of FCC. The FINISH_*MA steps are nominal
|
||||
+ * values for a 20 mOhm sense resistor, so encode the value scaled
|
||||
+ * by the actual sense resistor.
|
||||
*/
|
||||
term_ua = di->info->charge_term_current_ua;
|
||||
if (term_ua <= 0) {
|
||||
- if (di->sense_resist_mohm == 10)
|
||||
- term_ua = 100000;
|
||||
- else if (di->fcc_mah >= 5000)
|
||||
+ if (di->fcc_mah >= 5000)
|
||||
term_ua = 250000;
|
||||
else if (di->fcc_mah >= 4000)
|
||||
term_ua = 200000;
|
||||
@@ -854,7 +854,8 @@ static void rk818_configure_charger(struct rk818_battery *di)
|
||||
else
|
||||
term_ua = 100000;
|
||||
}
|
||||
- finish_ma = rk818_encode_finish_current(term_ua);
|
||||
+ finish_ma = rk818_encode_finish_current(
|
||||
+ rk818_charger_current_to_nominal(di, term_ua));
|
||||
|
||||
usb_ctrl = rk818_read(di, RK818_USB_CTRL_REG);
|
||||
chrg2 = rk818_read(di, RK818_CHRG_CTRL_REG2);
|
||||
@@ -1947,7 +1948,8 @@ static int rk818_charger_get_property(struct power_supply *psy,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- val->intval = 100000 + ((reg >> 6) & 3) * 50000;
|
||||
+ val->intval = rk818_charger_nominal_to_current(di,
|
||||
+ 100000 + ((reg >> 6) & 3) * 50000);
|
||||
break;
|
||||
|
||||
case POWER_SUPPLY_PROP_HEALTH:
|
||||
--
|
||||
2.55.0
|
||||
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
From 3195910b3a45a0642b2119a623ddf1e3a79e3921 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 25 Jul 2026 11:58:18 +0200
|
||||
Subject: [PATCH 19/90] power: supply: rk818_battery: Compensate for IR drop
|
||||
when detecting an empty battery
|
||||
|
||||
The gauge forced dsoc to 0 as soon as the average terminal voltage
|
||||
dropped below voltage-min-design. Under high load the terminal voltage
|
||||
of a battery with plenty of charge left dips below that threshold
|
||||
(e.g. OCV 3.7V with a ~300mV drop at 2A), making userspace shut the
|
||||
system down prematurely.
|
||||
|
||||
Estimate OCV by compensating the terminal voltage for the drop on the
|
||||
battery internal resistance, like the coulomb counter underflow path
|
||||
already does, and require the estimate to stay below the threshold for
|
||||
several monitor cycles before reporting the battery as empty.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/power/supply/rk818_battery.c | 45 +++++++++++++++++++++-------
|
||||
1 file changed, 34 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/supply/rk818_battery.c b/drivers/power/supply/rk818_battery.c
|
||||
index d9b62d45f114..35eb8f2098af 100644
|
||||
--- a/drivers/power/supply/rk818_battery.c
|
||||
+++ b/drivers/power/supply/rk818_battery.c
|
||||
@@ -156,6 +156,8 @@
|
||||
|
||||
/* SoC / capacity */
|
||||
#define MIN_FCC 500 /* mAh */
|
||||
+/* Monitor cycles the OCV estimate must stay below vmin to report empty */
|
||||
+#define VMIN_EMPTY_CYCLES 3
|
||||
|
||||
/*
|
||||
* Coulomb counter LSB denominator.
|
||||
@@ -267,6 +269,8 @@ struct rk818_battery {
|
||||
int fcc_mah;
|
||||
int rsoc;
|
||||
int dsoc;
|
||||
+ /* Monitor cycles with the OCV estimate below the design minimum */
|
||||
+ int vmin_cycles;
|
||||
|
||||
int chrg_status;
|
||||
bool is_charging;
|
||||
@@ -1034,6 +1038,17 @@ static void rk818_periodic_calib(struct rk818_battery *di)
|
||||
* Main monitor work
|
||||
* ------------------------------------------------------------------------- */
|
||||
|
||||
+/*
|
||||
+ * Estimate OCV from the average terminal voltage by compensating for the
|
||||
+ * drop on the battery internal resistance (discharge current is negative).
|
||||
+ */
|
||||
+static int rk818_est_ocv(struct rk818_battery *di)
|
||||
+{
|
||||
+ return di->voltage_avg_mv -
|
||||
+ (di->info->factory_internal_resistance_uohm / 1000) *
|
||||
+ di->current_avg_ma / 1000;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* rk818_update_soc - recompute rsoc from the coulomb counter and step dsoc
|
||||
* toward it by at most DSOC_DELTA_MAX per call.
|
||||
@@ -1041,7 +1056,7 @@ static void rk818_periodic_calib(struct rk818_battery *di)
|
||||
* Special cases:
|
||||
* - RK818_CHG_STS_TERMINATED: snap remain_cap to fcc so rsoc hits 100 cleanly.
|
||||
* - Valid relaxed voltage: re-anchor the coulomb counter to the OCV cap.
|
||||
- * - Voltage below shutdown threshold: force dsoc to 0.
|
||||
+ * - OCV estimate below shutdown threshold: force dsoc to 0.
|
||||
*/
|
||||
static void rk818_update_soc(struct rk818_battery *di)
|
||||
{
|
||||
@@ -1070,12 +1085,23 @@ static void rk818_update_soc(struct rk818_battery *di)
|
||||
di->remain_cap_mah = rk818_get_coulomb_cap(di);
|
||||
di->rsoc = clamp(di->remain_cap_mah * 100 / DIV(di->fcc_mah), 0, 100);
|
||||
|
||||
- if (di->voltage_avg_mv < di->info->voltage_min_design_uv / 1000) {
|
||||
- dev_dbg(di->dev,
|
||||
- "voltage %d mV below shutdown threshold %u mV\n",
|
||||
- di->voltage_avg_mv, di->info->voltage_min_design_uv / 1000);
|
||||
- di->dsoc = 0;
|
||||
- return;
|
||||
+ /*
|
||||
+ * Report an empty battery only when the IR compensated OCV estimate
|
||||
+ * stays below the design minimum for several monitor cycles. Bare
|
||||
+ * terminal voltage dips below the threshold under high load with
|
||||
+ * plenty of charge left in the battery.
|
||||
+ */
|
||||
+ if (rk818_est_ocv(di) < di->info->voltage_min_design_uv / 1000) {
|
||||
+ if (++di->vmin_cycles >= VMIN_EMPTY_CYCLES) {
|
||||
+ dev_dbg(di->dev,
|
||||
+ "OCV estimate %d mV below shutdown threshold %u mV\n",
|
||||
+ rk818_est_ocv(di),
|
||||
+ di->info->voltage_min_design_uv / 1000);
|
||||
+ di->dsoc = 0;
|
||||
+ return;
|
||||
+ }
|
||||
+ } else {
|
||||
+ di->vmin_cycles = 0;
|
||||
}
|
||||
|
||||
di->dsoc = clamp(di->dsoc +
|
||||
@@ -1350,10 +1376,7 @@ static void rk818_battery_work(struct work_struct *work)
|
||||
* Estimate from terminal voltage when the counter underflows.
|
||||
* Subtract the resistive drop to get a rough OCV.
|
||||
*/
|
||||
- int est_vol = di->voltage_avg_mv -
|
||||
- (di->info->factory_internal_resistance_uohm / 1000) *
|
||||
- di->current_avg_ma / 1000;
|
||||
- int est_cap = max(0, vol_to_cap(di, est_vol));
|
||||
+ int est_cap = max(0, vol_to_cap(di, rk818_est_ocv(di)));
|
||||
|
||||
dev_info(di->dev,
|
||||
"counter underflow, voltage estimate: %d mAh\n",
|
||||
--
|
||||
2.55.0
|
||||
|
||||
+163
@@ -0,0 +1,163 @@
|
||||
From 4495677dd25726e204a3c89a577d31bca7115e57 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 25 Jul 2026 11:59:50 +0200
|
||||
Subject: [PATCH 20/90] power: supply: rk818_battery: Rework the low voltage
|
||||
monitor setup
|
||||
|
||||
The VBAT low voltage monitor was armed at 3.4V in interrupt mode with
|
||||
the interrupt unmasked at all times. The monitor watches Vsys behind
|
||||
the internal battery switch with only 2ms of debouncing, so it fired
|
||||
on transient load dips long before the battery was empty, causing
|
||||
spurious interrupts at runtime and spurious wakeups from suspend.
|
||||
|
||||
While the system runs, park the monitor at 3.0V with the interrupt
|
||||
masked - empty battery reporting is done by the fuel gauge and the
|
||||
fixed 2.7V UVLO remains as the hardware backstop. Re-arm the monitor
|
||||
at 3.4V as an unmasked wakeup source only when entering suspend, so
|
||||
the system wakes up and can shut down cleanly before the battery runs
|
||||
out. The vendor BSP arms the 3.4V wakeup only for suspend, too.
|
||||
|
||||
On the wakeup, refresh the gauge state and notify userspace right
|
||||
away instead of just logging. The handler now uses the monitor work,
|
||||
so set the workqueue up before requesting the interrupt in probe.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/power/supply/rk818_battery.c | 61 +++++++++++++++++++---------
|
||||
1 file changed, 42 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/supply/rk818_battery.c b/drivers/power/supply/rk818_battery.c
|
||||
index 35eb8f2098af..eee0ef08a3a3 100644
|
||||
--- a/drivers/power/supply/rk818_battery.c
|
||||
+++ b/drivers/power/supply/rk818_battery.c
|
||||
@@ -88,6 +88,7 @@
|
||||
|
||||
/* RK818_VB_MON_REG */
|
||||
#define PLUG_IN_STS BIT(6)
|
||||
+#define RK818_VBAT_LOW_3V0 0x02
|
||||
#define RK818_VBAT_LOW_3V4 0x06
|
||||
|
||||
/* RK818_MISC_MARK_REG */
|
||||
@@ -748,19 +749,26 @@ static void rk818_configure_relax_thresholds(struct rk818_battery *di)
|
||||
}
|
||||
|
||||
/*
|
||||
- * Set the VBAT low-voltage monitor to 3.4 V in IRQ (not hard-shutdown) mode
|
||||
- * so the system receives a wakeup event when the battery is nearly empty.
|
||||
- * Unmask the corresponding interrupt so it is actually delivered.
|
||||
+ * Configure the VBAT low-voltage monitor. The monitor watches Vsys (behind
|
||||
+ * the internal battery switch) with only 2 ms of debouncing, so a 3.4 V
|
||||
+ * threshold trips on transient load dips long before the battery is empty.
|
||||
+ * While the system runs, park the monitor at 3.0 V in interrupt mode with
|
||||
+ * the interrupt masked - empty battery reporting is done by the fuel gauge
|
||||
+ * and the fixed 2.7 V UVLO remains as the hardware backstop. For suspend,
|
||||
+ * re-arm it at 3.4 V as an unmasked wakeup source so the system can wake
|
||||
+ * up and shut down cleanly before the battery runs out.
|
||||
*/
|
||||
-static void rk818_set_low_voltage_irq(struct rk818_battery *di)
|
||||
+static void rk818_set_low_voltage_irq(struct rk818_battery *di, bool wakeup)
|
||||
{
|
||||
u8 val = rk818_read(di, RK818_VB_MON_REG);
|
||||
|
||||
- val = (val & ~(VBAT_LOW_VOL_MASK | VBAT_LOW_ACT_MASK)) |
|
||||
- RK818_VBAT_LOW_3V4 | EN_VBAT_LOW_IRQ;
|
||||
+ val &= ~(VBAT_LOW_VOL_MASK | VBAT_LOW_ACT_MASK);
|
||||
+ val |= EN_VBAT_LOW_IRQ;
|
||||
+ val |= wakeup ? RK818_VBAT_LOW_3V4 : RK818_VBAT_LOW_3V0;
|
||||
rk818_write(di, RK818_VB_MON_REG, val);
|
||||
- /* Clear the mask bit to enable the interrupt */
|
||||
- rk818_clrsetbits(di, RK818_INT_STS_MSK_REG1, VB_LOW_INT_EN, 0);
|
||||
+
|
||||
+ rk818_clrsetbits(di, RK818_INT_STS_MSK_REG1, VB_LOW_INT_EN,
|
||||
+ wakeup ? 0 : VB_LOW_INT_EN);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1490,7 +1498,7 @@ static int rk818_battery_suspend(struct platform_device *pdev,
|
||||
|
||||
rk818_save_dsoc(di);
|
||||
rk818_save_remain_cap(di);
|
||||
- rk818_set_low_voltage_irq(di);
|
||||
+ rk818_set_low_voltage_irq(di, true);
|
||||
|
||||
dev_info(di->dev,
|
||||
"suspend: dsoc=%d rsoc=%d i=%d mA v=%d mV cap=%d mAh chrg=%d\n",
|
||||
@@ -1531,7 +1539,7 @@ static int rk818_battery_resume(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
rk818_save_dsoc(di);
|
||||
- rk818_set_low_voltage_irq(di);
|
||||
+ rk818_set_low_voltage_irq(di, false);
|
||||
|
||||
dev_info(di->dev,
|
||||
"resume: dsoc=%d rsoc=%d i=%d mA v=%d mV cap=%d mAh\n",
|
||||
@@ -1553,6 +1561,15 @@ static irqreturn_t rk818_vb_low_irq(int irq, void *data)
|
||||
|
||||
dev_warn(di->dev, "low battery IRQ: v=%d mV dsoc=%d%%\n",
|
||||
di->voltage_avg_mv, di->dsoc);
|
||||
+
|
||||
+ /*
|
||||
+ * The interrupt is only unmasked as a suspend wakeup source. Refresh
|
||||
+ * the gauge state and notify userspace right away, so that it can
|
||||
+ * react to the nearly empty battery after the wakeup.
|
||||
+ */
|
||||
+ mod_delayed_work(di->wq, &di->work, 0);
|
||||
+ power_supply_changed(di->charger_psy);
|
||||
+
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@@ -2570,7 +2587,7 @@ static int rk818_battery_probe(struct platform_device *pdev)
|
||||
rk818_init_soc(di);
|
||||
rk818_configure_charger(di);
|
||||
rk818_init_ts1_detect(di);
|
||||
- rk818_set_low_voltage_irq(di);
|
||||
+ rk818_set_low_voltage_irq(di, false);
|
||||
|
||||
/* disable voltage limit and enable input current limit */
|
||||
ret = regmap_update_bits(di->regmap, RK818_SUP_STS_REG,
|
||||
@@ -2595,27 +2612,33 @@ static int rk818_battery_probe(struct platform_device *pdev)
|
||||
|
||||
rk818_usb_power_external_power_changed(di->usb_psy);
|
||||
|
||||
+ /* The vb_lo IRQ handler uses the work, set it up first. */
|
||||
+ di->wq = alloc_ordered_workqueue("rk818-bat",
|
||||
+ WQ_MEM_RECLAIM | WQ_FREEZABLE);
|
||||
+ if (!di->wq)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ INIT_DELAYED_WORK(&di->work, rk818_battery_work);
|
||||
+
|
||||
vb_lo_irq = regmap_irq_get_virq(rk818->irq_data, RK818_IRQ_VB_LO);
|
||||
- if (vb_lo_irq < 0)
|
||||
+ if (vb_lo_irq < 0) {
|
||||
+ destroy_workqueue(di->wq);
|
||||
return dev_err_probe(di->dev, vb_lo_irq,
|
||||
"cannot get vb_lo virq\n");
|
||||
+ }
|
||||
|
||||
ret = devm_request_threaded_irq(di->dev, vb_lo_irq, NULL,
|
||||
rk818_vb_low_irq,
|
||||
IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
|
||||
"rk818_vb_low", di);
|
||||
- if (ret)
|
||||
+ if (ret) {
|
||||
+ destroy_workqueue(di->wq);
|
||||
return dev_err_probe(di->dev, ret,
|
||||
"failed to request vb_lo IRQ\n");
|
||||
+ }
|
||||
|
||||
enable_irq_wake(vb_lo_irq);
|
||||
|
||||
- di->wq = alloc_ordered_workqueue("rk818-bat",
|
||||
- WQ_MEM_RECLAIM | WQ_FREEZABLE);
|
||||
- if (!di->wq)
|
||||
- return -ENOMEM;
|
||||
-
|
||||
- INIT_DELAYED_WORK(&di->work, rk818_battery_work);
|
||||
queue_delayed_work(di->wq, &di->work, msecs_to_jiffies(di->monitor_ms));
|
||||
|
||||
dev_info(di->dev, "ready: dsoc=%d%% fcc=%d mAh sense=%u mOhm\n",
|
||||
--
|
||||
2.55.0
|
||||
|
||||
+6
-7
@@ -1,21 +1,20 @@
|
||||
From 89a656eae098b2a5089daba98f522eb3afadfcc2 Mon Sep 17 00:00:00 2001
|
||||
From 298511d788e00b23a1ec29a29656be20d95c4dcf Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 7 May 2024 18:39:12 +0200
|
||||
Subject: [PATCH 24/84] Revert "usb: typec: tcpm: unregister existing source
|
||||
Subject: [PATCH 21/90] Revert "usb: typec: tcpm: unregister existing source
|
||||
caps before re-registration"
|
||||
|
||||
This reverts commit 230ecdf71a644c9c73e0e6735b33173074ae3f94.
|
||||
|
||||
(cherry picked from commit c64dcf8a8fb966ba3c537fd9722875a6fd1dd9ad)
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/usb/typec/tcpm/tcpm.c | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index 7ef746a90a17..d839c72fa8ee 100644
|
||||
index 89eec20a2064..d684058cfb2e 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -3306,7 +3306,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
@@ -3311,7 +3311,7 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
{
|
||||
struct usb_power_delivery_desc desc = { port->negotiated_rev };
|
||||
struct usb_power_delivery_capabilities_desc caps = { };
|
||||
@@ -24,7 +23,7 @@ index 7ef746a90a17..d839c72fa8ee 100644
|
||||
|
||||
if (!port->partner_pd)
|
||||
port->partner_pd = usb_power_delivery_register(NULL, &desc);
|
||||
@@ -3316,11 +3316,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
@@ -3321,11 +3321,6 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
memcpy(caps.pdo, port->source_caps, sizeof(u32) * port->nr_source_caps);
|
||||
caps.role = TYPEC_SOURCE;
|
||||
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From e2139511dc9de1531aba8bed11bc20c4be3ea80a Mon Sep 17 00:00:00 2001
|
||||
From 2653125a00122f0cbd9fbfad0ce7e235efa063de Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 5 Sep 2022 00:56:07 +0200
|
||||
Subject: [PATCH 25/84] usb: typec: altmodes: displayport: Respect
|
||||
Subject: [PATCH 22/90] usb: typec: altmodes: displayport: Respect
|
||||
DP_CAP_RECEPTACLE bit
|
||||
|
||||
DP_CAP_RECEPTACLE swaps the meaning of pin assignments. So eg.
|
||||
@@ -14,7 +14,6 @@ USB-C dock doesn't have working Alt-DP mode, in case the dock returns
|
||||
wrong VDO.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 24fc74e1651b5ad8c83ac073b4327b09e09ca5a5)
|
||||
---
|
||||
drivers/usb/typec/altmodes/displayport.c | 54 +++++++++++++++++++++---
|
||||
1 file changed, 48 insertions(+), 6 deletions(-)
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
From 75ba5f3d7e740107b5e471f23e06015c8ae552e3 Mon Sep 17 00:00:00 2001
|
||||
From 17cce65d7feb8af435268908330adc08fb40fd78 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 14 Aug 2022 16:23:28 +0200
|
||||
Subject: [PATCH 26/84] usb: typec: tcpm: Unregister altmodes before
|
||||
Subject: [PATCH 23/90] usb: typec: tcpm: Unregister altmodes before
|
||||
registering new ones
|
||||
|
||||
Just in case there are already altmodes registered. Otherwise the
|
||||
@@ -30,16 +30,15 @@ kernel will fail with:
|
||||
[50554.467528] typec port0-partner: failed to register alternate mode (-17)
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 30d0f1a4e665f05a1b3a455c84be97ae9011285f)
|
||||
---
|
||||
drivers/usb/typec/tcpm/tcpm.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index d839c72fa8ee..d30d7a0a4ac3 100644
|
||||
index d684058cfb2e..31c556ee2897 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -2030,6 +2030,9 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
||||
@@ -2035,6 +2035,9 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
||||
return;
|
||||
|
||||
for (i = 0; i < modep->altmodes; i++) {
|
||||
+6
-7
@@ -1,7 +1,7 @@
|
||||
From dc4a3a79432f9cadd1e384806150ee0c50caac40 Mon Sep 17 00:00:00 2001
|
||||
From 3c8c4d0a120155eb4caf1674485bb1efd429a892 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 18 Feb 2023 00:38:44 +0100
|
||||
Subject: [PATCH 27/84] usb: typec: tcpm: Fix PD devices/capabilities
|
||||
Subject: [PATCH 24/90] usb: typec: tcpm: Fix PD devices/capabilities
|
||||
registration
|
||||
|
||||
Unregister caps before registering them. Store NULL to the struct
|
||||
@@ -11,16 +11,15 @@ Fixes "sysfs: cannot create duplicate filename
|
||||
'/devices/virtual/usb_power_delivery/pd1/source-capabilities'" error.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 49530effc5b55eaee992aca23ef4302c64543e6d)
|
||||
---
|
||||
drivers/usb/typec/tcpm/tcpm.c | 37 +++++++++++++++++++++++++++--------
|
||||
1 file changed, 29 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
|
||||
index d30d7a0a4ac3..3ba7511a2785 100644
|
||||
index 31c556ee2897..313204394b32 100644
|
||||
--- a/drivers/usb/typec/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/typec/tcpm/tcpm.c
|
||||
@@ -3310,15 +3310,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
@@ -3315,15 +3315,22 @@ static int tcpm_register_source_caps(struct tcpm_port *port)
|
||||
struct usb_power_delivery_desc desc = { port->negotiated_rev };
|
||||
struct usb_power_delivery_capabilities_desc caps = { };
|
||||
struct usb_power_delivery_capabilities *cap;
|
||||
@@ -47,7 +46,7 @@ index d30d7a0a4ac3..3ba7511a2785 100644
|
||||
cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps);
|
||||
if (IS_ERR(cap))
|
||||
return PTR_ERR(cap);
|
||||
@@ -3333,15 +3340,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port)
|
||||
@@ -3338,15 +3345,22 @@ static int tcpm_register_sink_caps(struct tcpm_port *port)
|
||||
struct usb_power_delivery_desc desc = { port->negotiated_rev };
|
||||
struct usb_power_delivery_capabilities_desc caps = { };
|
||||
struct usb_power_delivery_capabilities *cap;
|
||||
@@ -74,7 +73,7 @@ index d30d7a0a4ac3..3ba7511a2785 100644
|
||||
cap = usb_power_delivery_register_capabilities(port->partner_pd, &caps);
|
||||
if (IS_ERR(cap))
|
||||
return PTR_ERR(cap);
|
||||
@@ -7746,10 +7760,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port)
|
||||
@@ -7751,10 +7765,17 @@ static int tcpm_port_register_pd(struct tcpm_port *port)
|
||||
port->pds[i] = usb_power_delivery_register(port->dev, &desc);
|
||||
if (IS_ERR(port->pds[i])) {
|
||||
ret = PTR_ERR(port->pds[i]);
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From 00a769f5a26e2aad92648a76fbe243224701322f Mon Sep 17 00:00:00 2001
|
||||
From 0d237b9154ab2b92b3e114a292ad61a2e3e68e05 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 30 Jan 2022 23:46:37 +0100
|
||||
Subject: [PATCH 28/84] usb: typec: fusb302: Slightly increase wait time for
|
||||
Subject: [PATCH 25/90] usb: typec: fusb302: Slightly increase wait time for
|
||||
BC1.2 result
|
||||
|
||||
This is not strictly necessary, but it should not hurt. Looking at
|
||||
@@ -9,13 +9,12 @@ kernel log timing, the BC1.2 detection completion time and this
|
||||
timeout are quite tight. This adds some headspace just in case.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit f374eae3ca1bf1b0b2fdced9bb6eb475e92110c0)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index 9ab1277b7ed1..7ccdb9df7dde 100644
|
||||
index 3319f6a2b0c9..aeebc650766d 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -448,9 +448,9 @@ static int tcpm_get_current_limit(struct tcpc_dev *dev)
|
||||
+3
-4
@@ -1,20 +1,19 @@
|
||||
From 52f27d4d137c4a1d5743618d8c4e5eb4b9fec2d3 Mon Sep 17 00:00:00 2001
|
||||
From 96f42d339f4425be888d2cf67100ef59637a7e1c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 7 Nov 2021 19:28:27 +0100
|
||||
Subject: [PATCH 29/84] usb: typec: fusb302: Set the current before enabling
|
||||
Subject: [PATCH 26/90] usb: typec: fusb302: Set the current before enabling
|
||||
pullups
|
||||
|
||||
This seems more reasonable and should avoid short period of incorrect
|
||||
current setting being applied to CC pin.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 7c245e878d2f39174a142921dcb14bcd6fd71878)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index 7ccdb9df7dde..a0382b550e3f 100644
|
||||
index aeebc650766d..b2606ab58f0f 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -638,6 +638,14 @@ static int tcpm_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc)
|
||||
+3
-4
@@ -1,20 +1,19 @@
|
||||
From c4f121b253c37de7cc2aee59bff8dd523dfa562d Mon Sep 17 00:00:00 2001
|
||||
From 55586a7e4748a59dff1132da3aa9321bfc9dad00 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 23 Nov 2021 17:53:27 +0100
|
||||
Subject: [PATCH 30/84] usb: typec: fusb302: Retry reading of CC pins status if
|
||||
Subject: [PATCH 27/90] usb: typec: fusb302: Retry reading of CC pins status if
|
||||
activity is detected
|
||||
|
||||
This is just for testing, to see if this ever happens. It should
|
||||
also help when this happens.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 48646c9a3afd88fb7cf7f1941bc3666fc23deea6)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 34 ++++++++++++++++++++++++++++++--
|
||||
1 file changed, 32 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index a0382b550e3f..0de0dc561c8f 100644
|
||||
index b2606ab58f0f..08d3f0663857 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -1248,6 +1248,36 @@ static int fusb302_handle_togdone_snk(struct fusb302_chip *chip,
|
||||
+3
-4
@@ -1,19 +1,18 @@
|
||||
From 91a432b505c84f9552e2d048b1cc4c863a84497f Mon Sep 17 00:00:00 2001
|
||||
From b5c5fd36b94b1b7faa461e5e8754f2e40b7a98a4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Tue, 23 Nov 2021 17:57:06 +0100
|
||||
Subject: [PATCH 31/84] usb: typec: fusb302: Update VBUS state even if VBUS
|
||||
Subject: [PATCH 28/90] usb: typec: fusb302: Update VBUS state even if VBUS
|
||||
interrupt is not triggered
|
||||
|
||||
This seems to improve robustness.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 5097f6ffab505803eae7fb02a411f0c0d9be2732)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index 0de0dc561c8f..20c9790a4fad 100644
|
||||
index 08d3f0663857..69f2bacec4da 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -1567,14 +1567,16 @@ static void fusb302_irq_work(struct work_struct *work)
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From aec8f45667160d719b2e938ae6f48b641a4a1a6c Mon Sep 17 00:00:00 2001
|
||||
From 27bdf849a02dd4f438ab42c472a7caa2bd704051 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 14 Nov 2021 01:14:25 +0100
|
||||
Subject: [PATCH 32/84] usb: typec: fusb302: Add OF extcon support
|
||||
Subject: [PATCH 29/90] usb: typec: fusb302: Add OF extcon support
|
||||
|
||||
Look the extcon provider up by phandle, so a device tree can point at the
|
||||
USB2 PHY that runs BC1.2 charger detection. Until now it could only be
|
||||
@@ -14,13 +14,12 @@ behind a driver that waits on this one and resolving it during probe would
|
||||
close that cycle.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit fe3483dca7f8cdc09397019ba583c345177f27c0)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index 20c9790a4fad..756582f551be 100644
|
||||
index 69f2bacec4da..9c46d1e53e98 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -443,6 +443,16 @@ static int tcpm_get_current_limit(struct tcpc_dev *dev)
|
||||
+2
-3
@@ -1,12 +1,11 @@
|
||||
From 007feb7fc3b91608df648b7e88a734907213c35a Mon Sep 17 00:00:00 2001
|
||||
From cba45f15d21ee9400961ca0c37c972f7d5ac781e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 20 Nov 2021 14:33:58 +0100
|
||||
Subject: [PATCH 33/84] usb: typec: fusb302: Fix register definitions
|
||||
Subject: [PATCH 30/90] usb: typec: fusb302: Fix register definitions
|
||||
|
||||
MEASURE_VBUS bit is at position 6. MDAC bits are also wrong.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 3d44e93f55bb27844753bb8b142d61ff80347f3a)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302_reg.h | 16 +++++++---------
|
||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||
+3
-4
@@ -1,19 +1,18 @@
|
||||
From 415988faed2eca45c77ae549d9a5ee67df31bf7c Mon Sep 17 00:00:00 2001
|
||||
From 1ebad4fc5a5243e054ae4271fd6817c52b7e9146 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 20 Nov 2021 14:35:10 +0100
|
||||
Subject: [PATCH 34/84] usb: typec: fusb302: Clear interrupts before we start
|
||||
Subject: [PATCH 31/90] usb: typec: fusb302: Clear interrupts before we start
|
||||
toggling
|
||||
|
||||
This is recommended by the datasheet.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 58df0404dd80e7fff7fe3e7c2e4dc1f61614153c)
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index 756582f551be..fe5ac6ec954a 100644
|
||||
index 9c46d1e53e98..c0bbce42f251 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -511,6 +511,7 @@ static int fusb302_set_toggling(struct fusb302_chip *chip,
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
From 6190b644bd853b35f7908a27e17f30aa7b09a785 Mon Sep 17 00:00:00 2001
|
||||
From c9ab262ca21224c9b390f637c7029d92763bbd13 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 08:45:42 +0200
|
||||
Subject: [PATCH 35/84] usb: typec: fusb302: Turn off VBUS and VCONN on
|
||||
Subject: [PATCH 32/90] usb: typec: fusb302: Turn off VBUS and VCONN on
|
||||
shutdown
|
||||
|
||||
Nothing turns the port off on the way down, so a source keeps VBUS and
|
||||
@@ -11,14 +11,13 @@ known and leaves the Type-C state machine attaching to a port it never
|
||||
saw come up.
|
||||
|
||||
Drop both in a shutdown handler so a reboot looks like a cold boot.
|
||||
|
||||
(cherry picked from commit 4109d433711e9873a50152640c5a89cf0c91cbe2)
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/usb/typec/tcpm/fusb302.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
|
||||
index fe5ac6ec954a..ba886c949e47 100644
|
||||
index c0bbce42f251..64e3e3ee0b22 100644
|
||||
--- a/drivers/usb/typec/tcpm/fusb302.c
|
||||
+++ b/drivers/usb/typec/tcpm/fusb302.c
|
||||
@@ -1839,6 +1839,24 @@ static int fusb302_probe(struct i2c_client *client)
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 0b2ffa2ff9972608365e3f7395e2b0320e49b216 Mon Sep 17 00:00:00 2001
|
||||
From 6047f1425824ceda6d2da746bab0b5c3daea8611 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 25 Jun 2024 00:00:14 +0200
|
||||
Subject: [PATCH 13/84] thermal: rockchip: Add support for RV1106 SoC
|
||||
Subject: [PATCH 33/90] thermal: rockchip: Add support for RV1106 SoC
|
||||
|
||||
This SoC includes a thermal sensor, which can be supported by this
|
||||
driver. Add support for it.
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 3f80fd5e6f79dc72d866cb1869a493e1e12e350d Mon Sep 17 00:00:00 2001
|
||||
From e5ba61cb3067bc2610dc8513b74b121fb69b5ce7 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 24 Jun 2024 23:59:19 +0200
|
||||
Subject: [PATCH 14/84] soc: rockchip: Add support for power monitoring driver
|
||||
Subject: [PATCH 34/90] soc: rockchip: Add support for power monitoring driver
|
||||
|
||||
This driver reports brownouts into kernel log, so that the user
|
||||
can debug causes of SoC instability.
|
||||
+5
-5
@@ -1,7 +1,7 @@
|
||||
From eea2b3dbea7c25240cd594f028c5a33d92cf70df Mon Sep 17 00:00:00 2001
|
||||
From ec4b1ff6725adf82506ef96b17b0f7c5ed37f499 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 25 Jun 2024 00:01:40 +0200
|
||||
Subject: [PATCH 15/84] rtc: rockchip: Add support for RTC present in RV1106
|
||||
Subject: [PATCH 35/90] rtc: rockchip: Add support for RTC present in RV1106
|
||||
SoC
|
||||
|
||||
This driver adds support for RTC present in Rockchip RV1106 SoC.
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
create mode 100644 drivers/rtc/rtc-rockchip.c
|
||||
|
||||
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
|
||||
index 364afc73f8ab..bc755773a31d 100644
|
||||
index 01def8231873..1b5534d25740 100644
|
||||
--- a/drivers/rtc/Kconfig
|
||||
+++ b/drivers/rtc/Kconfig
|
||||
@@ -456,6 +456,16 @@ config RTC_DRV_RK808
|
||||
@@ -36,10 +36,10 @@ index 364afc73f8ab..bc755773a31d 100644
|
||||
tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A"
|
||||
help
|
||||
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
|
||||
index 6cf7e066314e..7428e7f6274f 100644
|
||||
index 0347645b021f..2cac22454eb9 100644
|
||||
--- a/drivers/rtc/Makefile
|
||||
+++ b/drivers/rtc/Makefile
|
||||
@@ -148,6 +148,7 @@ obj-$(CONFIG_RTC_DRV_R9701) += rtc-r9701.o
|
||||
@@ -147,6 +147,7 @@ obj-$(CONFIG_RTC_DRV_R9701) += rtc-r9701.o
|
||||
obj-$(CONFIG_RTC_DRV_RC5T583) += rtc-rc5t583.o
|
||||
obj-$(CONFIG_RTC_DRV_RC5T619) += rtc-rc5t619.o
|
||||
obj-$(CONFIG_RTC_DRV_RK808) += rtc-rk808.o
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From b4c96d43b18506728a339871188209fb52fda313 Mon Sep 17 00:00:00 2001
|
||||
From a41274a1947c33779421e5f2877152f04e1b2204 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 6 Apr 2025 01:59:17 +0200
|
||||
Subject: [PATCH 16/84] thermal: rockchip: Add support for RK3506
|
||||
Subject: [PATCH 36/90] thermal: rockchip: Add support for RK3506
|
||||
|
||||
Adapted from BSP.
|
||||
|
||||
+2
-3
@@ -1,12 +1,11 @@
|
||||
From c82f7cbc063dbc0867e635ac66b0a3b255c03340 Mon Sep 17 00:00:00 2001
|
||||
From 63fd8ceec28c63a352eb6787a0dd88832389ae29 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 4 Sep 2022 22:34:56 +0200
|
||||
Subject: [PATCH 61/84] arm64: dts: rockchip: rk3399: Disable debug nodes
|
||||
Subject: [PATCH 37/90] arm64: dts: rockchip: rk3399: Disable debug nodes
|
||||
|
||||
They hang boot with older levinboot, due to levinboot not enabling their PD.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 809a83d59f3cf8a98ff00640c0f2fdca5bde4d54)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
+2
-3
@@ -1,14 +1,13 @@
|
||||
From d8e9516106835ed6c44c8feae5ea65e2f51f8803 Mon Sep 17 00:00:00 2001
|
||||
From fbe390aae4a35657ead09eef7aa361365164274d Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 4 Sep 2022 22:49:46 +0200
|
||||
Subject: [PATCH 62/84] arm64: dts: rockchip: rk3399: Add reboot mode driver
|
||||
Subject: [PATCH 38/90] arm64: dts: rockchip: rk3399: Add reboot mode driver
|
||||
|
||||
U-Boot uses value 0xef08a53c to jump back to USB loader maskrom
|
||||
mode instead of normal boot. Add support for reboot to maskrom
|
||||
from the kernel.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 5c4b81ba4f37d81edd20000581625a76e724a205)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 7eb7d7f09537f33afa30863269dc72460f20420f Mon Sep 17 00:00:00 2001
|
||||
From 2b99f67873b1ad56f3ff3ce94f17500610a10049 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 17:53:56 +0200
|
||||
Subject: [PATCH 63/84] arm64: dts: rockchip: rk3399: Power cycle the USB3 PHY
|
||||
Subject: [PATCH 39/90] arm64: dts: rockchip: rk3399: Power cycle the USB3 PHY
|
||||
on role change
|
||||
|
||||
The Type-C PHY on RK3399 latches the plug orientation while it is being
|
||||
@@ -13,7 +13,6 @@ either an extcon or a usb-role-switch to report the cable state, so it
|
||||
can be set at the SoC level.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit f1061493a904add60e12c268d8efa2fefd57a421)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
+2
-3
@@ -1,12 +1,11 @@
|
||||
From 38b6000236d688997fa789a32006dee308870488 Mon Sep 17 00:00:00 2001
|
||||
From 388c338bc827982760c31a4fbc1b269849c15294 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 22 Nov 2024 23:41:48 +0100
|
||||
Subject: [PATCH 64/84] arm64: dts: rockchip: rk3399: Add dmc_opp_table
|
||||
Subject: [PATCH 40/90] arm64: dts: rockchip: rk3399: Add dmc_opp_table
|
||||
|
||||
This was removed in v6.12. Re-add it with original values.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit df46950af61c404d9b0251f674015e35f03471bd)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 29 ++++++++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
+2
-3
@@ -1,12 +1,11 @@
|
||||
From 92232266830ad5fddeb4cc74cef6eb9df7997df8 Mon Sep 17 00:00:00 2001
|
||||
From 9097c67a0e3b33dbe82bb2520fcc8a725db964aa Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Thu, 28 Nov 2024 11:16:31 +0100
|
||||
Subject: [PATCH 65/84] arm64: dts: rockchip: rk3399-s: Add DMC table
|
||||
Subject: [PATCH 41/90] arm64: dts: rockchip: rk3399-s: Add DMC table
|
||||
|
||||
This is used by Pinephone Pro.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 456dec0546a630cdf298b9931912c03a33bce84c)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-s.dtsi | 29 ++++++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 2aa1ea8136426e790aa954ceacfb02e7fabcc52b Mon Sep 17 00:00:00 2001
|
||||
From ec6dcb2882a29bbaa8b0f714709fe957d5274ac1 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 22:43:47 +0200
|
||||
Subject: [PATCH 66/84] arm64: dts: rockchip: rk3399: Number the CDN DP ports
|
||||
Subject: [PATCH 42/90] arm64: dts: rockchip: rk3399: Number the CDN DP ports
|
||||
|
||||
Number the input port and add the output port. The binding requires both
|
||||
port@0 (VOP input) and port@1 (output), but the node had only a single
|
||||
@@ -16,7 +16,6 @@ numbering inside the input port is unchanged and nothing looks the ports
|
||||
up by name, so boards that already enable the DP are unaffected.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit de379c02ca5cbb6763e47fd63b2b9c3e6e9053e3)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From b1c760223654de5c5a6233382a58c69b484fb003 Mon Sep 17 00:00:00 2001
|
||||
From fc8b5b148fd41ba3e30ef4a0b7b36ee4de9f973f Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 19:20:33 +0200
|
||||
Subject: [PATCH 67/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add Type-C
|
||||
Subject: [PATCH 43/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add Type-C
|
||||
port support
|
||||
|
||||
Pinephone Pro has:
|
||||
@@ -16,7 +16,6 @@ It is also the port the phone charges from.
|
||||
Let's enable it.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 4671fc6d1131e0030f6789c6b4c8ca3662d71f93)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 196 ++++++++++++++++++
|
||||
1 file changed, 196 insertions(+)
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
From 02ced21a4dee8dcb0ecd639e940c19b32162fffe Mon Sep 17 00:00:00 2001
|
||||
From 484f48fab71e0872daa36902a84cb856a472d359 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 4 Sep 2022 23:11:02 +0200
|
||||
Subject: [PATCH 68/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
Subject: [PATCH 44/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
internal display support
|
||||
|
||||
Touch screen improvememtns in suspend.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit f9f2c2082f1c935a147456f2f111b0427b4fd2b3)
|
||||
---
|
||||
.../boot/dts/rockchip/rk3399-pinephone-pro.dts | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 49d86cb04330d0fa36e3d6762022f9dbe9f0fcab Mon Sep 17 00:00:00 2001
|
||||
From 2a57888d05d26398d7621d28841c4b21e72ca4fa Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 19:20:54 +0200
|
||||
Subject: [PATCH 69/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add battery
|
||||
Subject: [PATCH 45/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add battery
|
||||
charger support
|
||||
|
||||
Describe Pinephone battery and battery charger. Battery has internal
|
||||
@@ -12,7 +12,6 @@ The input current limit comes from the Type-C port controller, so the
|
||||
charger takes fusb302 as its power supply.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 7bb2b9094fda320593c8f9eecb961b1758fea928)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 138 ++++++++++++++++++
|
||||
1 file changed, 138 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From af417cc22fa4dcefc192cb0390b287380e7c0d55 Mon Sep 17 00:00:00 2001
|
||||
From a48365bc84ff755212c1e88bd8b9973e0c428e4f Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 4 Sep 2022 23:25:19 +0200
|
||||
Subject: [PATCH 70/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add sound
|
||||
Subject: [PATCH 46/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add sound
|
||||
support
|
||||
|
||||
Add support for Pinephone Pro sound card and codec.
|
||||
@@ -12,7 +12,6 @@ creates a new set of ADC keys for handling headset buttons.
|
||||
Co-developed-by: Arnaud Ferraris <arnaud.ferraris@gmail.com>
|
||||
Signed-off-by: Arnaud Ferraris <arnaud.ferraris@gmail.com>
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 77c8d97a95e0e4c12ea6e32fe82f1d8eab8997d2)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 117 ++++++++++++++++++
|
||||
1 file changed, 117 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 9e0e6397372096009e4c9c0b10447ab31c54f741 Mon Sep 17 00:00:00 2001
|
||||
From 9b39821ccac12cb7112cc6f627800b60aefd122a Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 9 Sep 2022 16:39:58 +0200
|
||||
Subject: [PATCH 71/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add modem
|
||||
Subject: [PATCH 47/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add modem
|
||||
support
|
||||
|
||||
- Host USB for the modem
|
||||
@@ -9,7 +9,6 @@ Subject: [PATCH 71/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add modem
|
||||
- Power controller driver
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 88e10241f189011429c9587ac44eea465244b8c3)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 93 +++++++++++++++++++
|
||||
1 file changed, 93 insertions(+)
|
||||
+2
-3
@@ -1,11 +1,10 @@
|
||||
From bebc6b2cffeb6ab469434cb45aa631d38784ba0e Mon Sep 17 00:00:00 2001
|
||||
From b211463851086a9e946f7a0139d04e2f2cef8ee9 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 20 Feb 2024 18:31:33 +0100
|
||||
Subject: [PATCH 72/84] arm64: dts: rockchip: rk3399-pinephone-pro: Change
|
||||
Subject: [PATCH 48/90] arm64: dts: rockchip: rk3399-pinephone-pro: Change
|
||||
modem codec samplerate to 16kHz
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit b31904967a902b2dfea20b2b333c579ddd64c026)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
From 97d822b3e75c5652824bb46d18d2e1f69f795586 Mon Sep 17 00:00:00 2001
|
||||
From b7e98e6e8ec9b37334b4313a86c5daf20caae450 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 11 Jun 2023 19:39:10 +0200
|
||||
Subject: [PATCH 73/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
Subject: [PATCH 49/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
light/proximity sensor support
|
||||
|
||||
Pinephone Pro uses STK3311
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit e7f1d9ee0452df59f4a2f7c201db6798c39b9945)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
+2
-3
@@ -1,14 +1,13 @@
|
||||
From e423b662f45bf3be22e5f4b2e4602d01bbc45a66 Mon Sep 17 00:00:00 2001
|
||||
From 88b434cb18dc9b65605481f72e3fe85761d332af Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 11 Jun 2023 19:39:57 +0200
|
||||
Subject: [PATCH 74/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add I2C
|
||||
Subject: [PATCH 50/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add I2C
|
||||
supply to stk3311
|
||||
|
||||
It is needed to communicate with the device, when other users of
|
||||
vcc3v0_touch shut down the regulator.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 658fe4ad25378e4e8c030623e7bbe11eed74498f)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
From 15b7efa2d0b5c2f75542d5d91c2b914c3131cbbe Mon Sep 17 00:00:00 2001
|
||||
From fed20db6eb180246f1d871afc04127173ed8ad38 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 9 Sep 2022 16:42:07 +0200
|
||||
Subject: [PATCH 75/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
Subject: [PATCH 51/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
magnetometer sensor support
|
||||
|
||||
Pinephone Pro uses AF8133J.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 6aa4fc189489549c065a1474b42f52ab3ca9f034)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
From 666714d7bfbf33f54beb6e263d4f40a6bf6c1eee Mon Sep 17 00:00:00 2001
|
||||
From 34d9a490373017a54a9f652d0f742254f946579c Mon Sep 17 00:00:00 2001
|
||||
From: "Leonardo G. Trombetta" <lgtrombetta@gmx.com>
|
||||
Date: Mon, 13 Mar 2023 17:45:19 +0100
|
||||
Subject: [PATCH 76/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
Subject: [PATCH 52/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
mount-matrix for magnetometer
|
||||
|
||||
After experimenting with the magnetometer on the Pinephone Pro I found out the
|
||||
@@ -11,8 +11,8 @@ currently no `mount-matrix` info and that's why the driver reports a trivial
|
||||
answer. As far as I can tell from my tests, a 90 degree clockwise rotation in
|
||||
the XY plane would align it properly.
|
||||
|
||||
Signed-of-by: Leonardo G. Trombetta <lgtrombetta@gmx.com>
|
||||
(cherry picked from commit 16abfccfc65a9022c7478e75f35d69869eae076f)
|
||||
Signed-off-by: Leonardo G. Trombetta <lgtrombetta@gmx.com>
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
From 58499e1fac35c15529a15c7ebcd10234b50f612f Mon Sep 17 00:00:00 2001
|
||||
From 33a144fcd05231eefeca9c792eb170f3b114ac3f Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 9 Sep 2022 16:42:51 +0200
|
||||
Subject: [PATCH 77/84] arm64: dts: rockchip: rk3399-pinephone-pro: Enable POGO
|
||||
Subject: [PATCH 53/90] arm64: dts: rockchip: rk3399-pinephone-pro: Enable POGO
|
||||
pins I2C
|
||||
|
||||
So that userspace apps can use it.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit a91c41c0dbfacd256b8beeafe28c0bfaa3202166)
|
||||
---
|
||||
.../boot/dts/rockchip/rk3399-pinephone-pro.dts | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
From 74636887a5f0870ddd82a7e4608e131bab8b85e6 Mon Sep 17 00:00:00 2001
|
||||
From 81882037b850a62f7274c808a5afaa3502eb2089 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 9 Sep 2022 16:43:39 +0200
|
||||
Subject: [PATCH 78/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
Subject: [PATCH 54/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add
|
||||
pinephone keyboard support
|
||||
|
||||
Keyboard can be connected over I2C.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit a1e59835ded8ecf3ac45f1bfd2f46420ab96d6e9)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 145 ++++++++++++++++++
|
||||
1 file changed, 145 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From f8b352c3ea9ab947c39843aa8613f37eff53f2d0 Mon Sep 17 00:00:00 2001
|
||||
From f15af05ba8921040bd9c0c94263f486897e97caa Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Thu, 30 Mar 2023 13:45:08 +0200
|
||||
Subject: [PATCH 79/84] arm64: dts: rockchip: rk3399-pinephone-pro: Switch LED
|
||||
Subject: [PATCH 55/90] arm64: dts: rockchip: rk3399-pinephone-pro: Switch LED
|
||||
backlight PWM from 1kHz to 20kHz
|
||||
|
||||
This gets rid of measurable backlight flicker, because LED driver's feedback
|
||||
@@ -13,7 +13,6 @@ satisfies requirement to have duty cycle at least 250ns. Backlight LED
|
||||
driver doesn't react to smaller pulses on the EN/PWM pin.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 42222d8aab5e43e8240985cb4724f503715a1054)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 640b4b539e3e667d3ef50026eaddf090afda0541 Mon Sep 17 00:00:00 2001
|
||||
From c330fdde7bbed8addc08350c28638d885f5fed2f Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 21 May 2023 01:42:25 +0200
|
||||
Subject: [PATCH 80/84] arm64: dts: rockchip: rk3399-pinephone-pro:
|
||||
Subject: [PATCH 56/90] arm64: dts: rockchip: rk3399-pinephone-pro:
|
||||
Pre-configure DMC
|
||||
|
||||
This enables dynamic DRAM reclocking. The node needs to be okayed
|
||||
@@ -9,7 +9,6 @@ by U-Boot/firmware combo known to support it. Do not enable &dmc
|
||||
by default.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit fbae8f31862e79cec310206acba287343d372d50)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 33 +++++++++++++++++++
|
||||
arch/arm64/boot/dts/rockchip/rk3399-t.dtsi | 29 ++++++++++++++++
|
||||
+2
-3
@@ -1,13 +1,12 @@
|
||||
From 22256b60a41f614c7491cda57f62622af230ec4b Mon Sep 17 00:00:00 2001
|
||||
From f20d0a69b2d03cd75a7be7c2b79da1d11a72556d Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Thu, 29 Jun 2023 16:28:08 +0200
|
||||
Subject: [PATCH 81/84] arm64: dts: rockchip: rk3399-pinephone-pro: Improve SPI
|
||||
Subject: [PATCH 57/90] arm64: dts: rockchip: rk3399-pinephone-pro: Improve SPI
|
||||
access speed
|
||||
|
||||
From 300 KiB/s to 2MiB/s.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 9f2f299bd46901a703d16f39fca9b219dcc8b09c)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
+2
-3
@@ -1,11 +1,10 @@
|
||||
From 3e56a1d0de12219b746d8959a84259c65d070d0b Mon Sep 17 00:00:00 2001
|
||||
From 648be4d7f9b41b0300e1ca4e17a9f91815a4408a Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 9 Sep 2025 08:31:21 +0200
|
||||
Subject: [PATCH 82/84] arm64: dts: rockchip: rk3399-pinephone-pro: Assign
|
||||
Subject: [PATCH 58/90] arm64: dts: rockchip: rk3399-pinephone-pro: Assign
|
||||
power supplies to audio codec
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 4400cddfa923adb0183b157603581172137f6790)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 6f77254d3715eec8649b422c06758be6965bc907 Mon Sep 17 00:00:00 2001
|
||||
From c9f5ef5845e528a55ca936af042f4a82df5cb80d Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 9 Sep 2025 10:17:32 +0200
|
||||
Subject: [PATCH 83/84] arm64: dts: rockchip: rk3399-pinephone-pro: Add camera
|
||||
Subject: [PATCH 59/90] arm64: dts: rockchip: rk3399-pinephone-pro: Add camera
|
||||
flash controller
|
||||
|
||||
This exact controller is not present on the board, and the real control
|
||||
@@ -10,7 +10,6 @@ interface is slightly different. Don't upstream this.
|
||||
It's good enough for experiments/basic lighting.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 56488ecd7be24b83bf8775c6ba5f01c9c061b42a)
|
||||
---
|
||||
.../dts/rockchip/rk3399-pinephone-pro.dts | 23 +++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 8e72c70536c1349eea588a8ddf1f7f9cd383112f Mon Sep 17 00:00:00 2001
|
||||
From 5f2e9bea61d1dc7afa9e72bd2d29fa9dc9e68b31 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 4 Jan 2026 23:54:58 +0100
|
||||
Subject: [PATCH 84/84] arm64: dts: rockchip: rk3399-pinephone-pro: Disable
|
||||
Subject: [PATCH 60/90] arm64: dts: rockchip: rk3399-pinephone-pro: Disable
|
||||
interrupt GPIO for WiFi for the Pinephone Pro
|
||||
|
||||
This breaks at least dev version of Pinephone Pro. Or use of Pinephone
|
||||
@@ -9,7 +9,6 @@ Pro
|
||||
with firmware configurations that don't use OOB interrupts.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 99623d100af024386f2ca07a55b9f0148e444bfd)
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
+28
-33
@@ -1,20 +1,21 @@
|
||||
From db566db3b72a281b3e941c1070cfb30688207950 Mon Sep 17 00:00:00 2001
|
||||
From 87e32bd983f5393b5d2a85c8fa5e60e4617389d4 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sat, 9 Aug 2025 10:10:42 +0200
|
||||
Subject: [PATCH 12/84] Revert "usb: dwc3: Abort suspend on soft disconnect
|
||||
Subject: [PATCH 61/90] Revert "usb: dwc3: Abort suspend on soft disconnect
|
||||
failure"
|
||||
|
||||
This reverts commit 630a1dec3b0eba2a695b9063f1c205d585cbfec9.
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 9 ++-------
|
||||
drivers/usb/dwc3/gadget.c | 22 +++++++++++++---------
|
||||
2 files changed, 15 insertions(+), 16 deletions(-)
|
||||
drivers/usb/dwc3/gadget.c | 16 ++++++++++------
|
||||
2 files changed, 12 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 65213896de99..9d4293f02c9a 100644
|
||||
index ceb49f2f8004..ad52e203563b 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -2476,7 +2476,6 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
|
||||
@@ -2472,7 +2472,6 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
|
||||
{
|
||||
u32 reg;
|
||||
int i;
|
||||
@@ -22,7 +23,7 @@ index 65213896de99..9d4293f02c9a 100644
|
||||
|
||||
if (!pm_runtime_suspended(dwc->dev) && !PMSG_IS_AUTO(msg)) {
|
||||
dwc->susphy_state = (dwc3_readl(dwc, DWC3_GUSB2PHYCFG(0)) &
|
||||
@@ -2495,9 +2494,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
|
||||
@@ -2491,9 +2490,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
|
||||
case DWC3_GCTL_PRTCAP_DEVICE:
|
||||
if (pm_runtime_suspended(dwc->dev))
|
||||
break;
|
||||
@@ -33,7 +34,7 @@ index 65213896de99..9d4293f02c9a 100644
|
||||
synchronize_irq(dwc->irq_gadget);
|
||||
dwc3_core_exit(dwc);
|
||||
break;
|
||||
@@ -2533,9 +2530,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
|
||||
@@ -2529,9 +2526,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
|
||||
break;
|
||||
|
||||
if (dwc->current_otg_role == DWC3_OTG_ROLE_DEVICE) {
|
||||
@@ -45,41 +46,35 @@ index 65213896de99..9d4293f02c9a 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
|
||||
index 3d4ca68e584c..519a1dd23a30 100644
|
||||
index 1082e9c9afaa..45b468b4c9b5 100644
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -4842,15 +4842,8 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
|
||||
@@ -4874,19 +4874,23 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
|
||||
int ret;
|
||||
|
||||
ret = dwc3_gadget_soft_disconnect(dwc);
|
||||
- /*
|
||||
- * Attempt to reset the controller's state. Likely no
|
||||
- * communication can be established until the host
|
||||
- * performs a port reset.
|
||||
- */
|
||||
- if (ret && dwc->softconnect) {
|
||||
- dwc3_gadget_soft_connect(dwc);
|
||||
- return -EAGAIN;
|
||||
- }
|
||||
+ if (ret)
|
||||
+ goto err;
|
||||
|
||||
spin_lock_irqsave(&dwc->lock, flags);
|
||||
if (dwc->gadget_driver)
|
||||
@@ -4858,6 +4851,17 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
|
||||
spin_unlock_irqrestore(&dwc->lock, flags);
|
||||
|
||||
return 0;
|
||||
+
|
||||
+ dwc3_disconnect_gadget_sleepable(dwc);
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+err:
|
||||
+ /*
|
||||
+ * Attempt to reset the controller's state. Likely no
|
||||
+ * communication can be established until the host
|
||||
+ * performs a port reset.
|
||||
+ */
|
||||
/*
|
||||
* Attempt to reset the controller's state. Likely no
|
||||
* communication can be established until the host
|
||||
* performs a port reset.
|
||||
*/
|
||||
- if (ret && dwc->softconnect) {
|
||||
+ if (dwc->softconnect)
|
||||
+ dwc3_gadget_soft_connect(dwc);
|
||||
+
|
||||
dwc3_gadget_soft_connect(dwc);
|
||||
- return -EAGAIN;
|
||||
- }
|
||||
-
|
||||
- dwc3_disconnect_gadget_sleepable(dwc);
|
||||
|
||||
- return 0;
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
+23
-69
@@ -1,18 +1,17 @@
|
||||
From 8188ebbecf26e4e5666b5e306da6d3b675451a0c Mon Sep 17 00:00:00 2001
|
||||
From 1f8ae7f533822f0195a942b255bb5107b414a615 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Fri, 21 Jun 2024 01:42:38 +0200
|
||||
Subject: [PATCH 36/84] phy: rockchip-inno-usb2: Add support for RV1106/RV1103
|
||||
Subject: [PATCH 62/90] phy: rockchip-inno-usb2: Add support for RV1106/RV1103
|
||||
|
||||
Ported from BSP driver.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 9ce7df89d6d1a4408de349a80e51dceb49d95227)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 133 ++++++++++++++++++
|
||||
1 file changed, 133 insertions(+)
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 102 ++++++++++++++++++
|
||||
1 file changed, 102 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index 8f4c08e599aa..4ef42d9affb3 100644
|
||||
index 7d8a533f24ae..7831e2993b9f 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -143,6 +143,7 @@ struct rockchip_usb2phy_port_cfg {
|
||||
@@ -23,23 +22,15 @@ index 8f4c08e599aa..4ef42d9affb3 100644
|
||||
struct usb2phy_reg disfall_en;
|
||||
struct usb2phy_reg disfall_st;
|
||||
struct usb2phy_reg disfall_clr;
|
||||
@@ -248,6 +249,7 @@ struct rockchip_usb2phy {
|
||||
struct regmap *grf;
|
||||
struct regmap *usbgrf;
|
||||
struct clk_bulk_data *clks;
|
||||
+ void __iomem *phy_base;
|
||||
struct clk *clk480m;
|
||||
struct clk_hw clk480m_hw;
|
||||
int num_clks;
|
||||
@@ -1284,6 +1286,7 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
|
||||
@@ -1291,6 +1292,7 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
|
||||
struct rockchip_usb2phy_port *rport,
|
||||
struct device_node *child_np)
|
||||
{
|
||||
+ struct regmap *base = get_reg_base(rphy);
|
||||
+ struct regmap *base = rphy->grf;
|
||||
int ret, id;
|
||||
|
||||
rport->port_id = USB2PHY_PORT_OTG;
|
||||
@@ -1317,6 +1320,23 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
|
||||
@@ -1324,6 +1326,23 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -63,85 +54,48 @@ index 8f4c08e599aa..4ef42d9affb3 100644
|
||||
if (!IS_ERR(rphy->edev)) {
|
||||
rport->event_nb.notifier_call = rockchip_otg_event;
|
||||
|
||||
@@ -1388,6 +1408,13 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
+ if (of_device_is_compatible(np, "rockchip,rv1106-usb2phy")) {
|
||||
+ rphy->phy_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
|
||||
+ if (IS_ERR(rphy->phy_base))
|
||||
+ return dev_err_probe(dev, PTR_ERR(rphy->phy_base),
|
||||
+ "missing memory resource\n");
|
||||
+ }
|
||||
+
|
||||
rphy->dev = dev;
|
||||
phy_cfgs = device_get_match_data(dev);
|
||||
rphy->chg_state = USB_CHG_STATE_UNDEFINED;
|
||||
@@ -1506,6 +1533,63 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
||||
@@ -1504,6 +1523,40 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static inline void phy_clear_bits(void __iomem *reg, u32 bits)
|
||||
+{
|
||||
+ u32 tmp = readl(reg);
|
||||
+
|
||||
+ tmp &= ~bits;
|
||||
+ writel(tmp, reg);
|
||||
+}
|
||||
+
|
||||
+static inline void phy_set_bits(void __iomem *reg, u32 bits)
|
||||
+{
|
||||
+ u32 tmp = readl(reg);
|
||||
+
|
||||
+ tmp |= bits;
|
||||
+ writel(tmp, reg);
|
||||
+}
|
||||
+
|
||||
+static inline void phy_update_bits(void __iomem *reg, u32 mask, u32 val)
|
||||
+{
|
||||
+ u32 tmp = readl(reg);
|
||||
+
|
||||
+ tmp &= ~mask;
|
||||
+ tmp |= val & mask;
|
||||
+ writel(tmp, reg);
|
||||
+}
|
||||
+
|
||||
+static int rv1106_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ /* Always enable pre-emphasis in SOF & EOP & chirp & non-chirp state */
|
||||
+ phy_update_bits(rphy->phy_base + 0x30, GENMASK(2, 0), 0x07);
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x30, GENMASK(2, 0), 0x07);
|
||||
+
|
||||
+// if (rockchip_get_cpu_version()) {
|
||||
+// /* Set Tx HS pre_emphasize strength to 3'b001 */
|
||||
+// phy_update_bits(rphy->phy_base + 0x40, GENMASK(5, 3), (0x01 << 3));
|
||||
+// ret |= regmap_update_bits(rphy->phy_base, 0x40, GENMASK(5, 3), (0x01 << 3));
|
||||
+// } else {
|
||||
+ /* Set Tx HS pre_emphasize strength to 3'b011 */
|
||||
+ phy_update_bits(rphy->phy_base + 0x40, GENMASK(5, 3), (0x03 << 3));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x40, GENMASK(5, 3), (0x03 << 3));
|
||||
+// }
|
||||
+
|
||||
+ /* Set RX Squelch trigger point configure to 4'b0000(112.5 mV) */
|
||||
+ phy_update_bits(rphy->phy_base + 0x64, GENMASK(6, 3), (0x00 << 3));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x64, GENMASK(6, 3), (0x00 << 3));
|
||||
+
|
||||
+ /* Turn off differential receiver by default to save power */
|
||||
+ phy_clear_bits(rphy->phy_base + 0x100, BIT(6));
|
||||
+ ret |= regmap_clear_bits(rphy->phy_base, 0x100, BIT(6));
|
||||
+
|
||||
+ /* Set 45ohm HS ODT value to 5'b10111 to increase driver strength */
|
||||
+ phy_update_bits(rphy->phy_base + 0x11c, GENMASK(4, 0), 0x17);
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x11c, GENMASK(4, 0), 0x17);
|
||||
+
|
||||
+ /* Set Tx HS eye height tuning to 3'b011(462 mV)*/
|
||||
+ phy_update_bits(rphy->phy_base + 0x124, GENMASK(4, 2), (0x03 << 2));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x124, GENMASK(4, 2), (0x03 << 2));
|
||||
+
|
||||
+ /* Bypass Squelch detector calibration */
|
||||
+ phy_update_bits(rphy->phy_base + 0x1a4, GENMASK(7, 4), (0x01 << 4));
|
||||
+ phy_update_bits(rphy->phy_base + 0x1b4, GENMASK(7, 4), (0x01 << 4));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x1a4, GENMASK(7, 4), (0x01 << 4));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x1b4, GENMASK(7, 4), (0x01 << 4));
|
||||
+
|
||||
+ return 0;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static int rk3128_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
/* Turn off differential receiver in suspend mode */
|
||||
@@ -2243,6 +2327,54 @@ static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
|
||||
@@ -2324,6 +2377,54 @@ static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
@@ -196,7 +150,7 @@ index 8f4c08e599aa..4ef42d9affb3 100644
|
||||
static const struct rockchip_usb2phy_cfg rv1108_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0x100,
|
||||
@@ -2299,6 +2431,7 @@ static const struct of_device_id rockchip_usb2phy_dt_match[] = {
|
||||
@@ -2381,6 +2482,7 @@ static const struct of_device_id rockchip_usb2phy_dt_match[] = {
|
||||
{ .compatible = "rockchip,rk3576-usb2phy", .data = &rk3576_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3588-usb2phy", .data = &rk3588_phy_cfgs },
|
||||
{ .compatible = "rockchip,rv1108-usb2phy", .data = &rv1108_phy_cfgs },
|
||||
+14
-15
@@ -1,22 +1,21 @@
|
||||
From 6b13b8431d4bb87a6186a4855f4855470e0c9191 Mon Sep 17 00:00:00 2001
|
||||
From 7e1c947f181da3ce01aaca7c59bda2764d28135b Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 6 Apr 2025 02:00:19 +0200
|
||||
Subject: [PATCH 37/84] phy: rockchip-inno-usb2: Add support for RK3506
|
||||
Subject: [PATCH 63/90] phy: rockchip-inno-usb2: Add support for RK3506
|
||||
|
||||
Adapted from BSP.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 370adcd5cf6464363b7ceb30ebd43243b11dded1)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 115 ++++++++++++++++++
|
||||
1 file changed, 115 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index 4ef42d9affb3..ffc0a7112b6e 100644
|
||||
index 7831e2993b9f..30a907bc5c3b 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -1598,6 +1598,31 @@ static int rk3128_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
|
||||
@@ -1597,6 +1597,31 @@ static int rk3528_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int rk3506_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
@@ -24,22 +23,22 @@ index 4ef42d9affb3..ffc0a7112b6e 100644
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ /* Turn off otg0 port differential receiver in suspend mode */
|
||||
+ phy_clear_bits(rphy->phy_base + 0x30, BIT(2));
|
||||
+ ret |= regmap_clear_bits(rphy->phy_base, 0x30, BIT(2));
|
||||
+
|
||||
+ /* Turn off otg1 port differential receiver in suspend mode */
|
||||
+ phy_clear_bits(rphy->phy_base + 0x430, BIT(2));
|
||||
+ ret |= regmap_clear_bits(rphy->phy_base, 0x430, BIT(2));
|
||||
+
|
||||
+ /* Set otg0 port HS eye height to 425mv(default is 450mv) */
|
||||
+ phy_update_bits(rphy->phy_base + 0x30, GENMASK(6, 4), (0x05 << 4));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x30, GENMASK(6, 4), (0x05 << 4));
|
||||
+
|
||||
+ /* Set otg1 port HS eye height to 425mv(default is 450mv) */
|
||||
+ phy_update_bits(rphy->phy_base + 0x430, GENMASK(6, 4), (0x05 << 4));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x430, GENMASK(6, 4), (0x05 << 4));
|
||||
+
|
||||
+ /* Choose the Tx fs/ls data as linestate from TX driver for otg0 port */
|
||||
+ phy_update_bits(rphy->phy_base + 0x94, GENMASK(6, 3), (0x03 << 3));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x94, GENMASK(6, 3), (0x03 << 3));
|
||||
+
|
||||
+ /* Choose the Tx fs/ls data as linestate from TX driver for otg1 port */
|
||||
+ phy_update_bits(rphy->phy_base + 0x494, GENMASK(6, 3), (0x03 << 3));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x494, GENMASK(6, 3), (0x03 << 3));
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
@@ -47,7 +46,7 @@ index 4ef42d9affb3..ffc0a7112b6e 100644
|
||||
static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
int ret;
|
||||
@@ -2059,6 +2084,95 @@ static const struct rockchip_usb2phy_cfg rk3562_phy_cfgs[] = {
|
||||
@@ -2109,6 +2134,95 @@ static const struct rockchip_usb2phy_cfg rk3562_phy_cfgs[] = {
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
@@ -143,14 +142,14 @@ index 4ef42d9affb3..ffc0a7112b6e 100644
|
||||
static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0xfe8a0000,
|
||||
@@ -2426,6 +2540,7 @@ static const struct of_device_id rockchip_usb2phy_dt_match[] = {
|
||||
@@ -2476,6 +2590,7 @@ static const struct of_device_id rockchip_usb2phy_dt_match[] = {
|
||||
{ .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
|
||||
+ { .compatible = "rockchip,rk3506-usb2phy", .data = &rk3506_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3528-usb2phy", .data = &rk3528_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3562-usb2phy", .data = &rk3562_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3576-usb2phy", .data = &rk3576_phy_cfgs },
|
||||
--
|
||||
2.55.0
|
||||
|
||||
+12
-23
@@ -1,7 +1,7 @@
|
||||
From 60b2f6a212c936c221b23c6051d89c23a8799d01 Mon Sep 17 00:00:00 2001
|
||||
From e692226fcaac9df6f0719aa6b89d0cd67a3fa644 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Sun, 19 Jul 2026 16:21:40 +0200
|
||||
Subject: [PATCH 38/84] phy: rockchip-inno-usb2: Add PHY tuning for
|
||||
Subject: [PATCH 64/90] phy: rockchip-inno-usb2: Add PHY tuning for
|
||||
rk3566/rk3568
|
||||
|
||||
Add a phy_tuning callback for the rk3566/rk3568 USB2 PHY and map its
|
||||
@@ -15,13 +15,12 @@ mode works, peripheral mode fails to enumerate on the connected host.
|
||||
This is visible on the PineTab2 v2.0 bottom USB-C port.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 47213f62f6eda5aca1f18251f9d4e3edd2f2712a)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 35 ++++++++++++++++++-
|
||||
1 file changed, 34 insertions(+), 1 deletion(-)
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 32 +++++++++++++++++++
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index ffc0a7112b6e..d9d14cc8cf79 100644
|
||||
index 30a907bc5c3b..faffdef6589d 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -31,6 +31,9 @@
|
||||
@@ -34,17 +33,7 @@ index ffc0a7112b6e..d9d14cc8cf79 100644
|
||||
struct rockchip_usb2phy;
|
||||
|
||||
enum rockchip_usb2phy_port_id {
|
||||
@@ -1408,7 +1411,8 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev)
|
||||
}
|
||||
}
|
||||
|
||||
- if (of_device_is_compatible(np, "rockchip,rv1106-usb2phy")) {
|
||||
+ if (of_device_is_compatible(np, "rockchip,rv1106-usb2phy") ||
|
||||
+ of_device_is_compatible(np, "rockchip,rk3568-usb2phy")) {
|
||||
rphy->phy_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
|
||||
if (IS_ERR(rphy->phy_base))
|
||||
return dev_err_probe(dev, PTR_ERR(rphy->phy_base),
|
||||
@@ -1623,6 +1627,33 @@ static int rk3506_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
@@ -1622,6 +1625,33 @@ static int rk3506_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -53,17 +42,17 @@ index ffc0a7112b6e..d9d14cc8cf79 100644
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ /* Turn off differential receiver by default to save power */
|
||||
+ phy_clear_bits(rphy->phy_base + 0x30, BIT(2));
|
||||
+ ret |= regmap_clear_bits(rphy->phy_base, 0x30, BIT(2));
|
||||
+
|
||||
+ /* Enable otg port pre-emphasis during non-chirp phase */
|
||||
+ phy_update_bits(rphy->phy_base, GENMASK(2, 0), 0x04);
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x0000, GENMASK(2, 0), 0x04);
|
||||
+
|
||||
+ /* Enable host port pre-emphasis during non-chirp phase */
|
||||
+ phy_update_bits(rphy->phy_base + 0x0400, GENMASK(2, 0), 0x04);
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x0400, GENMASK(2, 0), 0x04);
|
||||
+
|
||||
+ if (rphy->phy_cfg->reg == 0xfe8a0000) {
|
||||
+ /* Set otg port HS eye height to 437.5mv (default is 400mv) */
|
||||
+ phy_update_bits(rphy->phy_base + 0x30, GENMASK(6, 4), (0x06 << 4));
|
||||
+ ret |= regmap_update_bits(rphy->phy_base, 0x30, GENMASK(6, 4), (0x06 << 4));
|
||||
+
|
||||
+ /* Set the bvalid filter time to 10ms */
|
||||
+ ret |= regmap_write(rphy->grf, 0x0048, FILTER_COUNTER);
|
||||
@@ -78,7 +67,7 @@ index ffc0a7112b6e..d9d14cc8cf79 100644
|
||||
static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
|
||||
{
|
||||
int ret;
|
||||
@@ -2177,6 +2208,7 @@ static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
@@ -2227,6 +2257,7 @@ static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0xfe8a0000,
|
||||
.num_ports = 2,
|
||||
@@ -86,7 +75,7 @@ index ffc0a7112b6e..d9d14cc8cf79 100644
|
||||
.clkout_ctl = { 0x0008, 4, 4, 1, 0 },
|
||||
.port_cfgs = {
|
||||
[USB2PHY_PORT_OTG] = {
|
||||
@@ -2220,6 +2252,7 @@ static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
@@ -2270,6 +2301,7 @@ static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0xfe8b0000,
|
||||
.num_ports = 2,
|
||||
+3
-4
@@ -1,18 +1,17 @@
|
||||
From 6eb3bfc132cc355363c40a8f7d17ad9469c03307 Mon Sep 17 00:00:00 2001
|
||||
From 05b158fe14f15ce3eae0481972fdbaccf89489a1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sat, 20 Nov 2021 14:35:52 +0100
|
||||
Subject: [PATCH 39/84] drm/rockchip: cdn-dp: Disable CDN DP on disconnect
|
||||
Subject: [PATCH 65/90] drm/rockchip: cdn-dp: Disable CDN DP on disconnect
|
||||
|
||||
Why not?
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit bf7cc5c78bcfcf8017573bbd21d69f955e47276e)
|
||||
---
|
||||
drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
index 177e30445ee8..13b83fe8feed 100644
|
||||
index 190cce9530c8..0c46224c0491 100644
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -898,6 +898,7 @@ static void cdn_dp_pd_event_work(struct work_struct *work)
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
From 6b34febb9343481e8b855a6f540cb9353a8ab2f6 Mon Sep 17 00:00:00 2001
|
||||
From 21c92c3cb19be4e3a3f1cf6cf97ae2b5c01189e5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Sun, 30 Jan 2022 23:44:42 +0100
|
||||
Subject: [PATCH 40/84] phy: rockchip-inno-usb2: Decrease delay between port
|
||||
Subject: [PATCH 66/90] phy: rockchip-inno-usb2: Decrease delay between port
|
||||
init and charger detection
|
||||
|
||||
When used on systems with TCPM, the charger detection via USB2.0 PHY
|
||||
@@ -18,16 +18,15 @@ TCPM to be able to use its result when Rp=default is detected
|
||||
via CC pins.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 41ad83ccb484296caec829ca3bc871e181a589cb)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index d9d14cc8cf79..1a01169817de 100644
|
||||
index faffdef6589d..5ca155334dad 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -541,7 +541,7 @@ static int rockchip_usb2phy_init(struct phy *phy)
|
||||
@@ -556,7 +556,7 @@ static int rockchip_usb2phy_init(struct phy *phy)
|
||||
goto out;
|
||||
|
||||
schedule_delayed_work(&rport->otg_sm_work,
|
||||
+7
-8
@@ -1,7 +1,7 @@
|
||||
From e42f271b4064adc4f2bd77d27842da5ce29712eb Mon Sep 17 00:00:00 2001
|
||||
From 63c227cef08c31542844f769c509978760756f2a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Fri, 4 Feb 2022 02:25:34 +0100
|
||||
Subject: [PATCH 41/84] phy: rockchip-inno-usb2: More robust charger detection
|
||||
Subject: [PATCH 67/90] phy: rockchip-inno-usb2: More robust charger detection
|
||||
extcon updates
|
||||
|
||||
Make sure we always clear the charger detection results. Allow to
|
||||
@@ -10,16 +10,15 @@ The previous method was smart, but assumed !vbus_branch would
|
||||
always be called.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 3b27a37fbd058db8a780e2ad364728a4d4e5fd1a)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 39 +++++++++++--------
|
||||
1 file changed, 23 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index 1a01169817de..ef9f7a45c122 100644
|
||||
index 5ca155334dad..5b65aabd10e4 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -661,21 +661,27 @@ static const struct phy_ops rockchip_usb2phy_ops = {
|
||||
@@ -674,21 +674,27 @@ static const struct phy_ops rockchip_usb2phy_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
@@ -50,7 +49,7 @@ index 1a01169817de..ef9f7a45c122 100644
|
||||
delay = OTG_SCHEDULE_DELAY;
|
||||
dev_dbg(&rport->phy->dev, "%s otg sm work\n",
|
||||
usb_otg_state_string(rport->state));
|
||||
@@ -704,14 +710,12 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
@@ -717,14 +723,12 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
dev_dbg(&rport->phy->dev, "sdp cable is connected\n");
|
||||
rockchip_usb2phy_power_on(rport->phy);
|
||||
rport->state = OTG_STATE_B_PERIPHERAL;
|
||||
@@ -65,7 +64,7 @@ index 1a01169817de..ef9f7a45c122 100644
|
||||
sch_work = true;
|
||||
cable = EXTCON_CHG_USB_DCP;
|
||||
break;
|
||||
@@ -719,7 +723,6 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
@@ -732,7 +736,6 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
dev_dbg(&rport->phy->dev, "cdp cable is connected\n");
|
||||
rockchip_usb2phy_power_on(rport->phy);
|
||||
rport->state = OTG_STATE_B_PERIPHERAL;
|
||||
@@ -73,7 +72,7 @@ index 1a01169817de..ef9f7a45c122 100644
|
||||
sch_work = true;
|
||||
cable = EXTCON_CHG_USB_CDP;
|
||||
break;
|
||||
@@ -731,22 +734,26 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
@@ -744,22 +747,26 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
+5
-6
@@ -1,7 +1,7 @@
|
||||
From ce3115635dc842403bad5d6287a765802741ae74 Mon Sep 17 00:00:00 2001
|
||||
From 05c668aa82789f46b2f48ac642eb822b546faf22 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 17:46:22 +0200
|
||||
Subject: [PATCH 42/84] usb: dwc3: Track the power state of usb3_generic_phy
|
||||
Subject: [PATCH 68/90] usb: dwc3: Track the power state of usb3_generic_phy
|
||||
|
||||
The USB3 PHYs will need to be powered off and on again from within the
|
||||
set_mode work, independently of the rest of the controller. There is no
|
||||
@@ -10,17 +10,16 @@ actually powered to keep the phy_power_on()/phy_power_off() calls
|
||||
balanced.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit bc1f2513d49d2a23ac923380f72a5ca2729122e8)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 10 ++++++++--
|
||||
drivers/usb/dwc3/core.h | 6 ++++++
|
||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 9d4293f02c9a..9c6bd173798c 100644
|
||||
index ad52e203563b..3d669323b40d 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -919,6 +919,8 @@ static int dwc3_phy_power_on(struct dwc3 *dwc)
|
||||
@@ -915,6 +915,8 @@ static int dwc3_phy_power_on(struct dwc3 *dwc)
|
||||
goto err_power_off_usb3_phy;
|
||||
}
|
||||
|
||||
@@ -29,7 +28,7 @@ index 9d4293f02c9a..9c6bd173798c 100644
|
||||
return 0;
|
||||
|
||||
err_power_off_usb3_phy:
|
||||
@@ -939,8 +941,12 @@ static void dwc3_phy_power_off(struct dwc3 *dwc)
|
||||
@@ -935,8 +937,12 @@ static void dwc3_phy_power_off(struct dwc3 *dwc)
|
||||
{
|
||||
int i;
|
||||
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From c11a7d364f9ae037e9c0f9e13ec9eefcd9f526cf Mon Sep 17 00:00:00 2001
|
||||
From 35ef66660a34a7f2e566f1ada9d03e7536a72607 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 22:09:48 +0200
|
||||
Subject: [PATCH 43/84] usb: dwc3: Always disable SUSPHY when entering a role
|
||||
Subject: [PATCH 69/90] usb: dwc3: Always disable SUSPHY when entering a role
|
||||
|
||||
__dwc3_set_mode() leaves the old role, which enables SUSPHY, and then
|
||||
re-initializes the new one, which requires SUSPHY to be disabled. The
|
||||
@@ -16,13 +16,12 @@ Disable it in __dwc3_set_mode() directly, so entering a role does not
|
||||
depend on what the register happened to hold.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 01e90addf2c0380dc29c550fa565e71127217c18)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 9c6bd173798c..86ddf91ae454 100644
|
||||
index 3d669323b40d..cf12ab17ccb4 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -235,7 +235,15 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
From 23e9a265cd549dbd99cf1109ad706f8a25337e42 Mon Sep 17 00:00:00 2001
|
||||
From 2ef8e0cf61ae74aa2984a9b0c811b66e4d88a0e2 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 17:48:45 +0200
|
||||
Subject: [PATCH 44/84] usb: dwc3: Track cable connection state separately from
|
||||
Subject: [PATCH 70/90] usb: dwc3: Track cable connection state separately from
|
||||
dr_role
|
||||
|
||||
A Type-C port can be unplugged and replugged into the same kind of port
|
||||
@@ -22,14 +22,13 @@ cable from no cable use dwc3_set_mode_connected().
|
||||
No functional change.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit e862414522584a466af62c055fe7e17a504c9bcd)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 20 ++++++++++++++++++--
|
||||
drivers/usb/dwc3/core.h | 9 +++++++++
|
||||
2 files changed, 27 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 86ddf91ae454..a4416759fac8 100644
|
||||
index cf12ab17ccb4..3d2ea52d9648 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -169,11 +169,13 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
@@ -91,7 +90,7 @@ index 86ddf91ae454..a4416759fac8 100644
|
||||
u32 dwc3_core_fifo_space(struct dwc3_ep *dep, u8 type)
|
||||
{
|
||||
struct dwc3 *dwc = dep->dwc;
|
||||
@@ -1669,6 +1679,12 @@ static int dwc3_core_init_mode(struct dwc3 *dwc)
|
||||
@@ -1665,6 +1675,12 @@ static int dwc3_core_init_mode(struct dwc3 *dwc)
|
||||
break;
|
||||
case USB_DR_MODE_OTG:
|
||||
INIT_WORK(&dwc->drd_work, __dwc3_set_mode);
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
From e69fe48a25b340f8f46e8144a76a04e80fb1d4fc Mon Sep 17 00:00:00 2001
|
||||
From 411f3f6342130a9ad82b25c02f914d2661b33fec Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 17:52:42 +0200
|
||||
Subject: [PATCH 45/84] usb: dwc3: Power cycle USB3 PHY on role/connection
|
||||
Subject: [PATCH 71/90] usb: dwc3: Power cycle USB3 PHY on role/connection
|
||||
change
|
||||
|
||||
The RK3399 Type-C PHY latches the plug orientation while it is being
|
||||
@@ -38,7 +38,6 @@ fails to enable ep0out and then takes seconds to tear down again, all
|
||||
of it under dwc->mutex.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 1579c94e43edea5ade9beb012a224d7a68e10774)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 51 ++++++++++++++++++++++++--
|
||||
drivers/usb/dwc3/core.h | 7 ++++
|
||||
@@ -46,7 +45,7 @@ Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
3 files changed, 116 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index a4416759fac8..21554e8d3ffa 100644
|
||||
index 3d2ea52d9648..383c741eee96 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -193,7 +193,11 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
@@ -123,7 +122,7 @@ index a4416759fac8..21554e8d3ffa 100644
|
||||
case DWC3_GCTL_PRTCAP_HOST:
|
||||
ret = dwc3_host_init(dwc);
|
||||
if (ret) {
|
||||
@@ -1908,6 +1950,9 @@ static void dwc3_get_properties(struct dwc3 *dwc)
|
||||
@@ -1904,6 +1946,9 @@ static void dwc3_get_properties(struct dwc3 *dwc)
|
||||
dwc->dis_split_quirk = device_property_read_bool(dev,
|
||||
"snps,dis-split-quirk");
|
||||
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From 364a17c0e659ea1a6a2727bdbf9936218b7d0583 Mon Sep 17 00:00:00 2001
|
||||
From 0003866828edccc37cb433e28e24c8f93c8eae19 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 22:42:25 +0200
|
||||
Subject: [PATCH 46/84] usb: dwc3: Register the role even when no cable is
|
||||
Subject: [PATCH 72/90] usb: dwc3: Register the role even when no cable is
|
||||
connected
|
||||
|
||||
Gating the role init on the connection state went too far. Entering a
|
||||
@@ -18,13 +18,12 @@ top of a powered off USB3 PHY, which is what the gating was for.
|
||||
Fixup for "usb: dwc3: Power cycle USB3 PHY on role/connection change".
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 790a415b4c5d14ae379946381f8ff40ba7c23a1f)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 21554e8d3ffa..0e20e70b9163 100644
|
||||
index 383c741eee96..88ae18073eb8 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -170,6 +170,7 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
+16
-25
@@ -1,7 +1,7 @@
|
||||
From 45981a4220fe965b0dabd39870943e3da097e26c Mon Sep 17 00:00:00 2001
|
||||
From 43079543d0c30d35e5890a1df312beb60dce644d Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 22:59:13 +0200
|
||||
Subject: [PATCH 47/84] phy: rockchip-inno-usb2: Set up charger detection mode
|
||||
Subject: [PATCH 73/90] phy: rockchip-inno-usb2: Set up charger detection mode
|
||||
on RK3399
|
||||
|
||||
BC1.2 detection has to run with the transceiver held off the bus, or the
|
||||
@@ -31,13 +31,12 @@ the VBUS condition from commit 7d8f725b79e3 ("phy: rockchip: inno-usb2:
|
||||
fix communication disruption in gadget mode"), so they are unaffected.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit b92d132cafcf20c5cf7413f14bae79bd44e3ca84)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 81 +++++++++++++++++--
|
||||
1 file changed, 73 insertions(+), 8 deletions(-)
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 80 +++++++++++++++++--
|
||||
1 file changed, 73 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index ef9f7a45c122..a138417f0b2e 100644
|
||||
index 5b65aabd10e4..5b62cc4cb607 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -100,6 +100,8 @@ struct usb2phy_reg {
|
||||
@@ -57,7 +56,7 @@ index ef9f7a45c122..a138417f0b2e 100644
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -246,6 +249,8 @@ struct rockchip_usb2phy_port {
|
||||
@@ -248,6 +251,8 @@ struct rockchip_usb2phy_port {
|
||||
* @irq: muxed interrupt for single irq configuration
|
||||
* @phy_cfg: phy register configuration, assigned by driver data.
|
||||
* @ports: phy port instance.
|
||||
@@ -66,7 +65,7 @@ index ef9f7a45c122..a138417f0b2e 100644
|
||||
*/
|
||||
struct rockchip_usb2phy {
|
||||
struct device *dev;
|
||||
@@ -260,6 +265,7 @@ struct rockchip_usb2phy {
|
||||
@@ -261,6 +266,7 @@ struct rockchip_usb2phy {
|
||||
enum usb_chg_state chg_state;
|
||||
enum power_supply_type chg_type;
|
||||
u8 dcd_retries;
|
||||
@@ -74,8 +73,8 @@ index ef9f7a45c122..a138417f0b2e 100644
|
||||
struct extcon_dev *edev;
|
||||
int irq;
|
||||
const struct rockchip_usb2phy_cfg *phy_cfg;
|
||||
@@ -823,6 +829,68 @@ static void rockchip_chg_enable_secondary_det(struct rockchip_usb2phy *rphy,
|
||||
property_enable(base, &rphy->phy_cfg->chg_det.idp_sink_en, en);
|
||||
@@ -830,6 +836,68 @@ static void rockchip_chg_enable_secondary_det(struct rockchip_usb2phy *rphy,
|
||||
property_enable(rphy->grf, &rphy->phy_cfg->chg_det.idp_sink_en, en);
|
||||
}
|
||||
|
||||
+/*
|
||||
@@ -101,7 +100,7 @@ index ef9f7a45c122..a138417f0b2e 100644
|
||||
+ bool vbus_attach)
|
||||
+{
|
||||
+ const struct usb2phy_reg *chg_mode = &rphy->phy_cfg->chg_det.chg_mode;
|
||||
+ struct regmap *base = get_reg_base(rphy);
|
||||
+ struct regmap *base = rphy->grf;
|
||||
+
|
||||
+ if (!rockchip_chg_has_chg_mode(rphy)) {
|
||||
+ if (!vbus_attach)
|
||||
@@ -125,7 +124,7 @@ index ef9f7a45c122..a138417f0b2e 100644
|
||||
+ bool vbus_attach)
|
||||
+{
|
||||
+ const struct usb2phy_reg *chg_mode = &rphy->phy_cfg->chg_det.chg_mode;
|
||||
+ struct regmap *base = get_reg_base(rphy);
|
||||
+ struct regmap *base = rphy->grf;
|
||||
+ unsigned int mask;
|
||||
+
|
||||
+ if (!rockchip_chg_has_chg_mode(rphy)) {
|
||||
@@ -143,39 +142,31 @@ index ef9f7a45c122..a138417f0b2e 100644
|
||||
#define CHG_DCD_POLL_TIME (100 * HZ / 1000)
|
||||
#define CHG_DCD_MAX_RETRIES 6
|
||||
#define CHG_PRIMARY_DET_TIME (40 * HZ / 1000)
|
||||
@@ -832,7 +900,6 @@ static void rockchip_chg_detect_work(struct work_struct *work)
|
||||
struct rockchip_usb2phy_port *rport =
|
||||
container_of(work, struct rockchip_usb2phy_port, chg_work.work);
|
||||
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
|
||||
- struct regmap *base = get_reg_base(rphy);
|
||||
bool is_dcd, tmout, vout, vbus_attach;
|
||||
unsigned long delay;
|
||||
|
||||
@@ -844,9 +911,8 @@ static void rockchip_chg_detect_work(struct work_struct *work)
|
||||
@@ -850,9 +918,8 @@ static void rockchip_chg_detect_work(struct work_struct *work)
|
||||
case USB_CHG_STATE_UNDEFINED:
|
||||
if (!rport->suspended && !vbus_attach)
|
||||
rockchip_usb2phy_power_off(rport->phy);
|
||||
- /* put the controller in non-driving mode */
|
||||
- if (!vbus_attach)
|
||||
- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
|
||||
- property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
|
||||
+ /* put the controller in charger detection mode */
|
||||
+ rockchip_chg_enter_mode(rphy, rport, vbus_attach);
|
||||
/* Start DCD processing stage 1 */
|
||||
rockchip_chg_enable_dcd(rphy, true);
|
||||
rphy->chg_state = USB_CHG_STATE_WAIT_FOR_DCD;
|
||||
@@ -908,9 +974,8 @@ static void rockchip_chg_detect_work(struct work_struct *work)
|
||||
@@ -914,9 +981,8 @@ static void rockchip_chg_detect_work(struct work_struct *work)
|
||||
rphy->chg_state = USB_CHG_STATE_DETECTED;
|
||||
fallthrough;
|
||||
case USB_CHG_STATE_DETECTED:
|
||||
- /* put the controller in normal mode */
|
||||
- if (!vbus_attach)
|
||||
- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
|
||||
- property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
|
||||
+ /* put the controller back in normal mode */
|
||||
+ rockchip_chg_leave_mode(rphy, rport, vbus_attach);
|
||||
rockchip_usb2phy_otg_sm_work(&rport->otg_sm_work.work);
|
||||
dev_dbg(&rport->phy->dev, "charger = %s\n",
|
||||
chg_to_string(rphy->chg_type));
|
||||
@@ -2029,7 +2094,7 @@ static const struct rockchip_usb2phy_cfg rk3399_phy_cfgs[] = {
|
||||
@@ -2027,7 +2093,7 @@ static const struct rockchip_usb2phy_cfg rk3399_phy_cfgs[] = {
|
||||
}
|
||||
},
|
||||
.chg_det = {
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From 9d5233641333d58478d65d40101e36fdf2c8bbac Mon Sep 17 00:00:00 2001
|
||||
From 652933eb6956adb5491cfce54d687606a56fbba7 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 23:15:39 +0200
|
||||
Subject: [PATCH 48/84] usb: dwc3: Do not re-register the gadget on cable
|
||||
Subject: [PATCH 74/90] usb: dwc3: Do not re-register the gadget on cable
|
||||
events
|
||||
|
||||
The role init and exit ended up with different conditions: init ran for
|
||||
@@ -30,13 +30,12 @@ Fixup for "usb: dwc3: Register the role even when no cable is
|
||||
connected".
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit d0b96cd58562bb50012a08ab1bd44389abfd8c28)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 40 +++++++++++++++++++++++++++-------------
|
||||
1 file changed, 27 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 0e20e70b9163..18d50856d3b6 100644
|
||||
index 88ae18073eb8..b1e6178cec7b 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -197,10 +197,19 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From bedb89fb5c6876434dad80435ede0a71f55f446a Mon Sep 17 00:00:00 2001
|
||||
From 202d000ca349e0b89d686acb6b783c3a741f8503 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 23:39:05 +0200
|
||||
Subject: [PATCH 49/84] phy: rockchip-typec: Support a Type-C orientation
|
||||
Subject: [PATCH 75/90] phy: rockchip-typec: Support a Type-C orientation
|
||||
switch
|
||||
|
||||
Register a typec_switch when the DT node is marked as one, and take the
|
||||
@@ -18,7 +18,6 @@ cable is gone: the PHY is powered off through phy_power_off() then, so
|
||||
there is no reason to clear it to a value nothing should read.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit ba3d9cfa99e2ba9a5543aaef821faa82187c1ac8)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-typec.c | 80 +++++++++++++++++++++--
|
||||
1 file changed, 73 insertions(+), 7 deletions(-)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From 0690ea7581e1b3d7a07d92f291874d423d7b5e5b Mon Sep 17 00:00:00 2001
|
||||
From b4a8b4cde3e868ffa4a988a6e1a8c56d2903a7d8 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 20 Jul 2026 23:50:24 +0200
|
||||
Subject: [PATCH 50/84] phy: rockchip-typec: Support a Type-C mode mux
|
||||
Subject: [PATCH 76/90] phy: rockchip-typec: Support a Type-C mode mux
|
||||
|
||||
Register a typec_mux when the DT node is marked as one, and take what the
|
||||
lanes carry from it. Map TYPEC_STATE_USB, TYPEC_DP_STATE_C/E and
|
||||
@@ -18,7 +18,6 @@ it: MODE_UFP_USB and MODE_DFP_USB are only ever tested together, so
|
||||
report USB as MODE_DFP_USB throughout.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit f7dfd3a3fec221817aa35d3ec00130fe5dd5b998)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-typec.c | 145 +++++++++++++++++-----
|
||||
1 file changed, 117 insertions(+), 28 deletions(-)
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
From c5d1fecc501008af68641d44c93b8bb81cceca5f Mon Sep 17 00:00:00 2001
|
||||
From 579865b00acc1987a998c47e83dd0bf9fd8adc00 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 23:15:20 +0200
|
||||
Subject: [PATCH 51/84] phy: rockchip-typec: Publish the DP lane count
|
||||
Subject: [PATCH 77/90] phy: rockchip-typec: Publish the DP lane count
|
||||
|
||||
Publish the negotiated lane count from the mode mux with
|
||||
phy_set_bus_width(): four lanes for DP alone, two when it shares the
|
||||
@@ -15,7 +15,6 @@ drive", sparing it from telling "no alternate mode" from "alternate mode
|
||||
without a sink".
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 23febe23e8959ed5219186aa6892d8b42268fd18)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-typec.c | 28 ++++++++++++++++++++++-
|
||||
1 file changed, 27 insertions(+), 1 deletion(-)
|
||||
+6
-7
@@ -1,7 +1,7 @@
|
||||
From dde8b3728ec4e6844e479e989e6492cbda1074c1 Mon Sep 17 00:00:00 2001
|
||||
From 4716c2344c86367d08fd0eba84a107785f3bdd64 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 23:17:37 +0200
|
||||
Subject: [PATCH 52/84] drm/rockchip: cdn-dp: Support ports driven by a Type-C
|
||||
Subject: [PATCH 78/90] drm/rockchip: cdn-dp: Support ports driven by a Type-C
|
||||
PHY
|
||||
|
||||
Support a Type-C port whose lanes reach the connector through a Type-C
|
||||
@@ -20,13 +20,12 @@ A port now needs a PHY and nothing else. Ports that have an extcon keep
|
||||
reading all of it from there.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit a0dfa262516e05183118110165ce9744e07ab95f)
|
||||
---
|
||||
drivers/gpu/drm/rockchip/cdn-dp-core.c | 69 ++++++++++++++++++++++----
|
||||
1 file changed, 60 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
index 13b83fe8feed..08257a3d1dbd 100644
|
||||
index 0c46224c0491..f58e3f579d86 100644
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -157,6 +157,15 @@ static int cdn_dp_get_port_lanes(struct cdn_dp_port *port)
|
||||
@@ -130,7 +129,7 @@ index 13b83fe8feed..08257a3d1dbd 100644
|
||||
.edid_read = cdn_dp_bridge_edid_read,
|
||||
.atomic_enable = cdn_dp_bridge_atomic_enable,
|
||||
.atomic_disable = cdn_dp_bridge_atomic_disable,
|
||||
@@ -1030,6 +1074,9 @@ static int cdn_dp_bind(struct device *dev, struct device *master, void *data)
|
||||
@@ -1028,6 +1072,9 @@ static int cdn_dp_bind(struct device *dev, struct device *master, void *data)
|
||||
for (i = 0; i < dp->ports; i++) {
|
||||
port = dp->port[i];
|
||||
|
||||
@@ -140,7 +139,7 @@ index 13b83fe8feed..08257a3d1dbd 100644
|
||||
port->event_nb.notifier_call = cdn_dp_pd_event;
|
||||
ret = devm_extcon_register_notifier(dp->dev, port->extcon,
|
||||
EXTCON_DISP_DP,
|
||||
@@ -1122,9 +1169,13 @@ static int cdn_dp_probe(struct platform_device *pdev)
|
||||
@@ -1120,9 +1167,13 @@ static int cdn_dp_probe(struct platform_device *pdev)
|
||||
PTR_ERR(phy) == -EPROBE_DEFER)
|
||||
return -EPROBE_DEFER;
|
||||
|
||||
@@ -155,7 +154,7 @@ index 13b83fe8feed..08257a3d1dbd 100644
|
||||
port = devm_kzalloc(dev, sizeof(*port), GFP_KERNEL);
|
||||
if (!port)
|
||||
return -ENOMEM;
|
||||
@@ -1137,7 +1188,7 @@ static int cdn_dp_probe(struct platform_device *pdev)
|
||||
@@ -1135,7 +1186,7 @@ static int cdn_dp_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
if (!dp->ports) {
|
||||
+9
-10
@@ -1,7 +1,7 @@
|
||||
From 642e715b3a43fe3a73dfb1f4a01e28f57916e72f Mon Sep 17 00:00:00 2001
|
||||
From c9215a902f9ebf54e465e72243dec21d712a1276 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 00:20:41 +0200
|
||||
Subject: [PATCH 53/84] phy: rockchip-inno-usb2: Learn the host role from
|
||||
Subject: [PATCH 79/90] phy: rockchip-inno-usb2: Learn the host role from
|
||||
phy_set_mode()
|
||||
|
||||
The OTG state machine finds out whether the port is acting as a host by
|
||||
@@ -21,16 +21,15 @@ EXTCON_USB_HOST this driver published to its own extcon device, so the
|
||||
ID pin never reached the controller there to begin with.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 9d26be6b0bb1456a25fc39aa91dcaaa072c8bbad)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 59 ++++++++++++++++++-
|
||||
1 file changed, 57 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index a138417f0b2e..63acee6a4310 100644
|
||||
index 5b62cc4cb607..bbb119f34a88 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -229,6 +229,7 @@ struct rockchip_usb2phy_port {
|
||||
@@ -231,6 +231,7 @@ struct rockchip_usb2phy_port {
|
||||
struct notifier_block event_nb;
|
||||
enum usb_otg_state state;
|
||||
enum usb_dr_mode mode;
|
||||
@@ -38,7 +37,7 @@ index a138417f0b2e..63acee6a4310 100644
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -267,6 +268,8 @@ struct rockchip_usb2phy {
|
||||
@@ -268,6 +269,8 @@ struct rockchip_usb2phy {
|
||||
u8 dcd_retries;
|
||||
unsigned int chg_mode_cfg;
|
||||
struct extcon_dev *edev;
|
||||
@@ -47,7 +46,7 @@ index a138417f0b2e..63acee6a4310 100644
|
||||
int irq;
|
||||
const struct rockchip_usb2phy_cfg *phy_cfg;
|
||||
struct rockchip_usb2phy_port ports[USB2PHY_NUM_PORTS];
|
||||
@@ -456,6 +459,7 @@ static int rockchip_usb2phy_extcon_register(struct rockchip_usb2phy *rphy)
|
||||
@@ -471,6 +474,7 @@ static int rockchip_usb2phy_extcon_register(struct rockchip_usb2phy *rphy)
|
||||
if (IS_ERR(edev))
|
||||
return dev_err_probe(rphy->dev, PTR_ERR(edev),
|
||||
"invalid or missing extcon\n");
|
||||
@@ -55,7 +54,7 @@ index a138417f0b2e..63acee6a4310 100644
|
||||
} else {
|
||||
/* Initialize extcon device */
|
||||
edev = devm_extcon_dev_allocate(rphy->dev,
|
||||
@@ -659,11 +663,62 @@ static int rockchip_usb2phy_exit(struct phy *phy)
|
||||
@@ -672,11 +676,62 @@ static int rockchip_usb2phy_exit(struct phy *phy)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -118,7 +117,7 @@ index a138417f0b2e..63acee6a4310 100644
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
@@ -699,7 +754,7 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
@@ -712,7 +767,7 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
rockchip_usb2phy_power_off(rport->phy);
|
||||
fallthrough;
|
||||
case OTG_STATE_B_IDLE:
|
||||
@@ -127,7 +126,7 @@ index a138417f0b2e..63acee6a4310 100644
|
||||
dev_dbg(&rport->phy->dev, "usb otg host connect\n");
|
||||
rport->state = OTG_STATE_A_HOST;
|
||||
rockchip_usb2phy_power_on(rport->phy);
|
||||
@@ -774,7 +829,7 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
@@ -787,7 +842,7 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
sch_work = true;
|
||||
break;
|
||||
case OTG_STATE_A_HOST:
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From 8a289a732202204e0c19c6f38da071d3b4e96f7a Mon Sep 17 00:00:00 2001
|
||||
From e258587f64983849231feaa678727911e079a6f5 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 07:22:48 +0200
|
||||
Subject: [PATCH 54/84] usb: dwc3: Tell the UDC core when there is no cable
|
||||
Subject: [PATCH 80/90] usb: dwc3: Tell the UDC core when there is no cable
|
||||
|
||||
The USB3 PHY is powered off while no cable is connected, so anything
|
||||
that touches the endpoints in that state fails. Binding a gadget driver
|
||||
@@ -39,13 +39,12 @@ the UDC connect lock, so a quick unplug also waits for an in-flight
|
||||
connect instead of resetting the core under it.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 406dea5dc6471bc2d8809df426f32445ed1d39a1)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 35 ++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 32 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 18d50856d3b6..2c1cada5d637 100644
|
||||
index b1e6178cec7b..7e86dce3d317 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -204,8 +204,20 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
+7
-8
@@ -1,7 +1,7 @@
|
||||
From b715f77b5a03b5ff3f5ec9d315424478e933a445 Mon Sep 17 00:00:00 2001
|
||||
From eb64fd87d66b565b4448a0527c257edbf392fdd5 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 07:35:49 +0200
|
||||
Subject: [PATCH 55/84] phy: rockchip-inno-usb2: Do not run charger detection
|
||||
Subject: [PATCH 81/90] phy: rockchip-inno-usb2: Do not run charger detection
|
||||
as a host
|
||||
|
||||
VBUS comes up before anything says which way round the port is: the
|
||||
@@ -32,16 +32,15 @@ window between VBUS and the role being known, but nothing acts on
|
||||
detection until it finishes, and it no longer finishes.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit b4a35830d0c92b801c7878f1f2f1984516d53a5e)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 40 +++++++++++++++++++
|
||||
1 file changed, 40 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index 63acee6a4310..49994c2390b7 100644
|
||||
index bbb119f34a88..96d0042027a4 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -680,6 +680,9 @@ static bool rockchip_usb2phy_host_mode(struct rockchip_usb2phy *rphy,
|
||||
@@ -693,6 +693,9 @@ static bool rockchip_usb2phy_host_mode(struct rockchip_usb2phy *rphy,
|
||||
return extcon_get_state(rphy->edev, EXTCON_USB_HOST) > 0;
|
||||
}
|
||||
|
||||
@@ -51,7 +50,7 @@ index 63acee6a4310..49994c2390b7 100644
|
||||
static int rockchip_usb2phy_set_mode(struct phy *phy, enum phy_mode mode,
|
||||
int submode)
|
||||
{
|
||||
@@ -707,6 +710,14 @@ static int rockchip_usb2phy_set_mode(struct phy *phy, enum phy_mode mode,
|
||||
@@ -720,6 +723,14 @@ static int rockchip_usb2phy_set_mode(struct phy *phy, enum phy_mode mode,
|
||||
dev_err(&rport->phy->dev, "U2PHY set_mode: host=%d\n", host_mode);
|
||||
rport->host_mode = host_mode;
|
||||
|
||||
@@ -66,7 +65,7 @@ index 63acee6a4310..49994c2390b7 100644
|
||||
/* let the state machine act on the new role */
|
||||
mod_delayed_work(system_wq, &rport->otg_sm_work, 0);
|
||||
|
||||
@@ -832,6 +843,12 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
@@ -845,6 +856,12 @@ static void rockchip_usb2phy_otg_sm_work(struct work_struct *work)
|
||||
if (!rockchip_usb2phy_host_mode(rphy, rport)) {
|
||||
dev_dbg(&rport->phy->dev, "usb otg host disconnect\n");
|
||||
rport->state = OTG_STATE_B_IDLE;
|
||||
@@ -79,7 +78,7 @@ index 63acee6a4310..49994c2390b7 100644
|
||||
rockchip_usb2phy_power_off(rport->phy);
|
||||
}
|
||||
break;
|
||||
@@ -946,6 +963,29 @@ static void rockchip_chg_leave_mode(struct rockchip_usb2phy *rphy,
|
||||
@@ -953,6 +970,29 @@ static void rockchip_chg_leave_mode(struct rockchip_usb2phy *rphy,
|
||||
rphy->chg_mode_cfg | (mask << BIT_WRITEABLE_SHIFT));
|
||||
}
|
||||
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From 7ac552f6eeb21d5d1782a07530f0a87d7d7b4022 Mon Sep 17 00:00:00 2001
|
||||
From 4b4a12e0628238d945c214f8d324801d710aa704 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 07:43:34 +0200
|
||||
Subject: [PATCH 56/84] usb: dwc3: Set the PHY mode before starting the host
|
||||
Subject: [PATCH 82/90] usb: dwc3: Set the PHY mode before starting the host
|
||||
|
||||
The device case tells the PHYs the role before dwc3_gadget_init(), but
|
||||
the host case tells them only after dwc3_host_init() has returned.
|
||||
@@ -26,13 +26,12 @@ Move the mode setting ahead of dwc3_host_init(), which also makes the
|
||||
two cases consistent.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 82f8bbb2eadcff8cf5840c016745165130b1761f)
|
||||
---
|
||||
drivers/usb/dwc3/core.c | 22 ++++++++++++++--------
|
||||
1 file changed, 14 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
|
||||
index 2c1cada5d637..fa961b84d2b5 100644
|
||||
index 7e86dce3d317..3ff55af69018 100644
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -314,18 +314,24 @@ static void __dwc3_set_mode(struct work_struct *work)
|
||||
+3
-4
@@ -1,7 +1,7 @@
|
||||
From df015e8b9599ef975a1a90429f64bf1990dba73d Mon Sep 17 00:00:00 2001
|
||||
From 5252286b5961c10c749dfa16d48d71cfe8d6aa2a Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 07:43:49 +0200
|
||||
Subject: [PATCH 57/84] usb: dwc3: Do not connect the gadget while no cable is
|
||||
Subject: [PATCH 83/90] usb: dwc3: Do not connect the gadget while no cable is
|
||||
present
|
||||
|
||||
usb_add_gadget() starts out assuming VBUS is present and binds any
|
||||
@@ -25,13 +25,12 @@ state, which __dwc3_set_mode() already reports through
|
||||
usb_udc_vbus_handler().
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 2ef635fb2667eb4e12fe0260152c261a25c414d6)
|
||||
---
|
||||
drivers/usb/dwc3/gadget.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
|
||||
index 519a1dd23a30..4fbcad5bb2b2 100644
|
||||
index 45b468b4c9b5..88792b22efc1 100644
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -2797,6 +2797,20 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
|
||||
+4
-5
@@ -1,7 +1,7 @@
|
||||
From bc44b71cbbaec180d07ac4961c99e7b82e5f086a Mon Sep 17 00:00:00 2001
|
||||
From 1f1ae5cc394194aa46053c3fdad3845592e13676 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 07:52:19 +0200
|
||||
Subject: [PATCH 58/84] phy: rockchip-inno-usb2: Power the PHY up before the
|
||||
Subject: [PATCH 84/90] phy: rockchip-inno-usb2: Power the PHY up before the
|
||||
host starts
|
||||
|
||||
Switching to host mode only queued the OTG state machine, so the PHY was
|
||||
@@ -25,16 +25,15 @@ through the state machine, which has to work out what the port is facing
|
||||
before it can do anything anyway.
|
||||
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
(cherry picked from commit 04db52e4ec332802c34c202252c37f9e37d414c1)
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
index 49994c2390b7..22ef0e8dd117 100644
|
||||
index 96d0042027a4..ffbe80342189 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
|
||||
@@ -718,7 +718,20 @@ static int rockchip_usb2phy_set_mode(struct phy *phy, enum phy_mode mode,
|
||||
@@ -731,7 +731,20 @@ static int rockchip_usb2phy_set_mode(struct phy *phy, enum phy_mode mode,
|
||||
*/
|
||||
rockchip_chg_detect_cancel(rphy, rport);
|
||||
|
||||
+5
-6
@@ -1,7 +1,7 @@
|
||||
From 2575cfc3439b3a876b35644780657e87cb5739cd Mon Sep 17 00:00:00 2001
|
||||
From c8861d8968cc9da016f5c55385956a2757068e0b Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Tue, 21 Jul 2026 10:22:14 +0200
|
||||
Subject: [PATCH 59/84] usb: dwc3: Require MPS-aligned OUT buffers
|
||||
Subject: [PATCH 85/90] usb: dwc3: Require MPS-aligned OUT buffers
|
||||
|
||||
An OUT request whose length is not a multiple of the maximum packet size
|
||||
gets an extra TRB pointing at a shared bounce buffer, so that a final
|
||||
@@ -12,17 +12,16 @@ byte stream.
|
||||
|
||||
Set quirk_ep_out_aligned_size so the framework rounds OUT buffers up to
|
||||
the maximum packet size and the overflow cannot happen.
|
||||
|
||||
(cherry picked from commit 7b6bedf1b7096d2ce9dd3d9d0006508e1852e816)
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/usb/dwc3/gadget.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
|
||||
index 4fbcad5bb2b2..c5f5efda2185 100644
|
||||
index 88792b22efc1..d92f91eac235 100644
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -4782,6 +4782,16 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
@@ -4815,6 +4815,16 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
dwc->revision);
|
||||
|
||||
dwc->gadget->max_speed = dwc->maximum_speed;
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From c0b9ffa7d04334b0ba1a136f4cda14ac725eb929 Mon Sep 17 00:00:00 2001
|
||||
From 57d46058ad83cc0f7dd5a2930c7b3f6052ff1cd0 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Wed, 22 Jul 2026 14:03:03 +0200
|
||||
Subject: [PATCH 60/84] usb: typec: displayport: Update the mux before
|
||||
Subject: [PATCH 86/90] usb: typec: displayport: Update the mux before
|
||||
signalling hotplug
|
||||
|
||||
On HPD changes the DP alt mode driver signalled the DRM side first and
|
||||
+3
-2
@@ -1,12 +1,13 @@
|
||||
From c526256757f45b4afd820f4703e85156a5f4d37e Mon Sep 17 00:00:00 2001
|
||||
From afae5311c52393eaaf9d5e048bcf4ac66eef251f Mon Sep 17 00:00:00 2001
|
||||
From: Martijn Braam <martijn@brixit.nl>
|
||||
Date: Sat, 29 Jan 2022 23:06:29 +0100
|
||||
Subject: [PATCH 17/84] mtd: spi-nor: gigadevice: Add support for gd25lq128e
|
||||
Subject: [PATCH 87/90] mtd: spi-nor: gigadevice: Add support for gd25lq128e
|
||||
|
||||
The GD25LQ128EWIGR reports an JEDEC id with a different vendor,
|
||||
otherwise it seems to fit neatly in the gigadevice list.
|
||||
|
||||
Signed-off-by: Martijn Braam <martijn@brixit.nl>
|
||||
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
||||
---
|
||||
drivers/mtd/spi-nor/gigadevice.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 9383b1fc0830fc3a27d82fe538fb1e594525e9c2 Mon Sep 17 00:00:00 2001
|
||||
From db5d0ba63a6a7b2580936179f583818aa51b310a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
|
||||
Date: Fri, 22 Oct 2021 18:09:09 +0200
|
||||
Subject: [PATCH 18/84] clk: rk3399: Export SCLK_CIF_OUT_SRC to device tree
|
||||
Subject: [PATCH 88/90] clk: rk3399: Export SCLK_CIF_OUT_SRC to device tree
|
||||
|
||||
So that it can be used in assigned-clock-parents.
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 6f8589b9204a397d5deaa8edd475322b9ec72759 Mon Sep 17 00:00:00 2001
|
||||
From 729242c9e6ba6d4c3b8734c2435ee9fc921d39ab Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megi@xff.cz>
|
||||
Date: Mon, 24 Oct 2022 03:17:57 +0200
|
||||
Subject: [PATCH 19/84] clk: rockchip: rk3399: Don't allow to reparent
|
||||
Subject: [PATCH 89/90] clk: rockchip: rk3399: Don't allow to reparent
|
||||
dclk_vop0 to frac clock
|
||||
|
||||
frac clock requires 20x difference between intput and output, and kernel
|
||||
Reference in New Issue
Block a user