kernel: update Samsung EA8074 panel driver - #129
Conversation
vamOS System ProfileChanges vs master
Added packages: MesaLib-devel-26.1.8_1, android-tools-36.0.1_2, autoconf-2.73_1, expat-2.8.3_1, expat-devel-2.8.3_1, gstreamer1-1.28.6_1, htop-3.5.3_1, hwids-0.410_1, iproute2-7.1.0_1, libXi-1.8.3_1, libXi-devel-1.8.3_1, libXinerama-1.1.6_1, libXinerama-devel-1.1.6_1, libXrandr-1.5.5_1, libXrandr-devel-1.5.5_1, libgbm-26.1.8_1, libgbm-devel-26.1.8_1, libgpg-error-1.61_1, libharfbuzz-14.3.1_1, libmbim-1.34.0_1, libmbim-devel-1.34.0_1, libprotobuf-35.1_1, libunbound-1.26.0_1, libz3-5.1.0_1, mesa-26.1.8_1, mesa-dri-26.1.8_1, mesa-libgallium-26.1.8_1, mesa-opencl-26.1.8_1, nano-9.2_1, openssh-10.5p1_1, perl-5.42.3_1, removed-packages-0.1.20260809_1, runit-void-20250212_4, wpa_supplicant-2.12_2 Removed packages: MesaLib-devel-26.1.6_1, android-tools-36.0.1_1, autoconf-2.72_1, expat-2.8.2_1, expat-devel-2.8.2_1, gstreamer1-1.28.5_1, htop-3.5.2_1, hwids-0.403_1, iproute2-6.19.0_1, libXi-1.8.2_2, libXi-devel-1.8.2_2, libXinerama-1.1.5_1, libXinerama-devel-1.1.5_1, libXrandr-1.5.4_1, libXrandr-devel-1.5.4_1, libgbm-26.1.6_1, libgbm-devel-26.1.6_1, libgpg-error-1.58_1, libharfbuzz-14.3.0_1, libmbim-1.32.0_1, libmbim-devel-1.32.0_1, libprotobuf-25.2_5, libunbound-1.25.2_1, libz3-4.16.0_1, mesa-26.1.6_1, mesa-dri-26.1.6_1, mesa-libgallium-26.1.6_1, mesa-opencl-26.1.6_1, nano-9.1_1, openssh-10.4p1_2, perl-5.42.2_1, removed-packages-0.1.20260702_1, runit-void-20250212_3, wpa_supplicant-2.11_4 Directory size changes (>1MB)
Top 10 Directories
Category Breakdown
Top 10 Packages by Size
|
| File | Size |
|---|---|
| /usr/lib/llvm/21/lib/libLLVM.so.21.1 | 124.3MB |
| /usr/lib/llvm/21/lib/libMLIR.so.21.1 | 89.7MB |
| /usr/lib/llvm/21/bin/mlir-transform-opt | 82.9MB |
| /usr/lib/llvm/21/lib/libclang-cpp.so.21.1 | 56MB |
| /usr/lib/llvm/21/bin/mlir-translate | 53.2MB |
| /usr/lib/llvm/21/bin/llvm-exegesis | 52MB |
| /usr/lib/llvm/21/bin/llvm-bolt-binary-analysis | 50.6MB |
| /usr/bin/uv | 47.5MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/gnat1 | 40.1MB |
| /usr/bin/gdb | 39.1MB |
| /usr/lib/libgallium-26.1.8.so | 37.7MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/cc1plus | 37.3MB |
| /usr/lib/libllvm-qcom.so | 35.2MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/cc1 | 35.2MB |
| /usr/lib/libRusticlOpenCL.so.1.0.0 | 34.4MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/lto1 | 33.9MB |
| /usr/bin/lto-dump | 33.9MB |
| /usr/local/venv/bin/ruff | 31.8MB |
| /usr/share/icu/78.3/icudt78l.dat | 31.5MB |
| /usr/lib/llvm/21/lib/libclang.so.21.1.7 | 30.2MB |
| /usr/lib/libz3.so | 28.8MB |
| /usr/lib/llvm/21/bin/c-index-test | 28.6MB |
| /usr/local/venv/lib/python3.12/site-packages/gcc_arm_none_eabi/toolchain/libexec/gcc/arm-none-eabi/13.2.1/cc1 | 28.2MB |
| /usr/bin/run | 26.7MB |
| /usr/local/venv/lib/python3.12/site-packages/numpy.libs/libscipy_openblas64_-71e1b124.so | 23.6MB |
| /usr/comma/updater | 23.5MB |
| /usr/comma/setup | 23.5MB |
| /usr/comma/reset | 23.5MB |
| /usr/local/uv/python/cpython-3.12.14-linux-aarch64-gnu/bin/python3.12 | 22.2MB |
| /usr/local/uv/python/cpython-3.12.14-linux-aarch64-gnu/lib/libpython3.12.so.1.0 | 22.2MB |
1ae8b47 to
1140243
Compare
Co-authored-by: David Heidelberg <david@ixit.cz>
1140243 to
26c5037
Compare
| regulator-max-microvolt = <3300000>; | ||
| gpio = <&pm8998_gpios 13 GPIO_ACTIVE_HIGH>; | ||
| regulator-boot-on; | ||
| regulator-always-on; |
There was a problem hiding this comment.
For mici this is not necessary, since the driver handles it. Is this elvdd-supply in the new driver?
There was a problem hiding this comment.
- moving always-on to tizi
- elvdd is in the new driver - is elvdd the same as lcd3v3 ? in this PR I didn’t set elvdd and elvss intentionally (so they become dummy regulators)
There was a problem hiding this comment.
regulator-always-on shouldn't be optimally anywhere. The 3.3V is likely something as VCI or something else, but elvdd and elvss should be around 4.6 - 6V (pos/negative). Schematics should tell :)
There was a problem hiding this comment.
downstream kernel on C3X has lcd3v3 always-on. as for schematics they are proprietary. my bet is LAB/IBB are not used since they’re not activated (?)
maybe @adeebshihadeh or @robbederks can give some hardware insights on how the C3X display voltage regulators are wired.
though I think downstream tells enough:
https://github.com/commaai/agnos-kernel-sdm845/blob/master/arch/arm64/boot/dts/qcom/comma_tizi.dts
There was a problem hiding this comment.
I'd suggest
vci-supply = <&panel_vci_3v3>;
see the https://codeberg.org/sdm845/linux/src/branch/sdm845-next/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi#L861 as an example
edit: but unpleasant part is without docs or schematics we don't know how it's wired.
There was a problem hiding this comment.
immediate intention is to merge this PR as it is now, so @robin-reckmann can merge #119 next
and the display driver should be updated in a separate PR once there's more info
There was a problem hiding this comment.
On the 3X we indeed don't use the pm8998's lab/ibb regulators, they're generated with an external regulator. iirc, this "regulator-fixed" thing in the dtsi was used to drive those regulator enable pins through GPIO
There was a problem hiding this comment.
ok, so no vci. I would connect it to the both elvdd and elvss, as that's most close how this is a wired. Keep a one line comment on the lcd3v3 regulator describing it provides both (so it's not considered a mistake as it may look when not knowing the details).
acb559c to
8e46edb
Compare
patch created from https://codeberg.org/sdm845/linux/commits/branch/b4/ea8074 credit to @okias
still needs a fix for the backlight, will come in a separate PR.