SM8750 konkr pocket fit elite support - #3074
Conversation
|
Should probalby move the firmware to https://github.com/ROCKNIX/extra-firmware |
100% this, if it absolutely needs device specific firmware and can't re-use any of the existing ones Great first PR, please look at the check log and fix some of your commits. |
|
firmware pr done. will amend this when that is merged. |
| modules stop | ||
| quirks pre | ||
|
|
||
| # KONKR Pocket FIT Elite: hold a power-key inhibitor across the sleep. On |
There was a problem hiding this comment.
this file should not hold device specific code
add a quirk in /projects/ROCKNIX/packages/hardware/quirks/platforms/SM8750/sleep.d
There was a problem hiding this comment.
i don't understand what's happening here
There was a problem hiding this comment.
this looks like a Steam only fix
fixing Steam longpress power should be addressed differently
drop this
There was a problem hiding this comment.
this for Odin3, and might break it
if you need to diverge from it, either do in the konkr elite dts, but better I wouldn't inherit from ayn stuff for an ayaneo device
There was a problem hiding this comment.
instead of repatching your own file
just creates a plain .dts file in projects/ROCKNIX/devices/SM8750/linux/dts/qcom as Odin3 should have been
There was a problem hiding this comment.
this is probably a global concern, and should be addressed for all devices
should be moved in systemd package?
There was a problem hiding this comment.
that should got to the UCM profile
| # UCM. Pairs with the kernel USBSS 3-pole routing (wcd939x-usbss.c) and the | ||
| # MBHC bus-keepalive quirk (040-headphone-mbhc-wake). | ||
| # | ||
| # A proper fix would ship a KONKR-specific UCM in SYSTEM instead of |
| new file mode 100644 | ||
| index 0000000..f32d52dcf | ||
| --- /dev/null | ||
| +++ b/arch/arm64/boot/dts/qcom/sm8750-konkr-pf-elite.dts |
There was a problem hiding this comment.
make this it's own file in linux/dts/qcom
f5f86e3 to
acebd4d
Compare
|
i can do a point-by-point rebuttal if you want, but tl;dr: addressed. the firmware has been moved, i made a ton of small-ish changes, removed some patches (the sleep/standby stuff, wasn't needed anymore), and changed the controller from xbox 360 to ds5-edge (the two extra shoulder buttons on the device act as edge back buttons, gyro does not work with these patches, will be revisited in the future). i have rebuilt and tested this series, and everything seems to behave fine, including steam recognizing this controller. |
|
ah, damn, missed your feedback on specifically ds5 instead of ds5-edge.. should i change it now or is it fine? |
loki666
left a comment
There was a problem hiding this comment.
I one more small change and we are good
|
Can you rebase and fp please |
Pulls in SM8750/qcom/sm8750/konkr/pfe/ (ADSP/CDSP, battmgr, aw88261_acf) and SM8750-KONKR-tplg.bin, required by the KONKR PFE board support that follows. Also picks up the SM8250 Mangmi Pocket Max firmware added upstream in the same range; no existing file changes.
Board DTS ships as a plain file under devices/SM8750/linux/dts/qcom, which the linux package rsyncs into the kernel tree; the config.xml entry drives the dtb build target.
Both devices' pre_make_target copies GPU firmware out of the kernel-firmware build dir, but neither declared it as an unpack dependency, so a parallel build could re-unpack kernel-firmware while that copy was in flight.
SPI MCU gamepad: buttons/axes/triggers + FF rumble, threaded IRQ with a poll watchdog fallback, and suspend/resume PM ops.
Two AW88261 amps on QUAT MI2S with the vendor ACF calibration blob, and a KONKR ALSA UCM profile instead of reusing the Odin3 one -- that profile defines "Headphones" twice, the second time on the MI2S/speaker PCM, so the jack would play out of the speakers.
Integrated 3.5mm jack via the wcd939x USBSS analog switch, stale-MBHC-jack clear on mechanical removal, and HPH PCM (HiFi) playback mode. HPH PCM mode is driven from the UCM Headphones sequence, and qcom,pcm-ports-mask for the HIFI_PCM master port sits on the board's own &swr1 node rather than the shared AYN dtsi.
- Kernel serdev driver decodes the MCU UART framing for the 5 system buttons and drives the stick RGB; merged with the SPI gamepad into one virtual pad via InputPlumber. - LED-blank and TX-inhibit across suspend via a PM notifier (the geni UART TX wedges if written during the device-suspend window). - Board DTS gains the geni SE5 UART node and its serdev child. - Composite target is ds5-edge, matching the Odin 3 on this platform. The two extra shoulder buttons become the Edge's back-lever buttons; the remaining front buttons go to keyboard F1..F3.
pmk8550's RTC counter is write-protected, so rtc-pm8xxx persists a settable time via an offset nvmem cell. Add rtc_offset@bc in pmk8550_sdam_2 and point pmk8550_rtc at it — RTC_SET_TIME no longer returns -ENODEV and wall-clock survives cold boots. Wired from the board DTS rather than the shared pmk8550.dtsi, so the other SM8750 board that includes it is untouched.
The SoC's GPU zones are typed gpuss0..gpuss7 (no dash), so the gpuss-* pattern matched nothing and the fan curve tracked CPU temperature only.
Patch 0509: pmic_glink_altmode treats a NULL typec_mux/typec_switch as success, so when the connector's mode-switch supplier (wcd_usbss on I2C) has not registered yet the driver runs permanently without SBU/DP-AUX routing and USB-C DP output never comes up. Return -EPROBE_DEFER instead.
acebd4d to
51112fe
Compare
|
done and done. rebuilt and re-tested, retroarch and steam still work fine without that file and the rebase didnt introduce any issues. |
|
thanks |
|
good news to support konkr pocket fit elite |
Summary
add support for the konkr pocket fit elite device.
Testing
built full system image, then installed on my own device. it works fine off of the microsd card, and also off the internal ufs storage (i have done both, this is not hypothetical)
i can take a picture if you want? looks identical to the konkr pocket fit non-elite so not sure what this would show exactly. not sure how performance would apply, it runs fine. emulated games work (i have tested gbc, gba, nds) and steam also works (steam itself runs fine, i have tested a bunch of games and they perform alright. i have a small performance table if you want to see that).
Additional Context
this pr adds support for:
AI Usage
While ROCKNIX doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.
Did you use AI tools to help write this code? YES | PARTIALLY | NO
yes, i used claude a lot (e.g. claude-opus-4-6)