4458 Commits
Author SHA1 Message Date
snlavaiseandClaude Opus 5.5 55cc4b7703 linux-postmarketos-qcom-sm8550: nt37705: support 48/90/120/165 Hz
Expose the five timings of the vendor CSOT panel (48, 60, 90, 120 and
165 Hz, 60 preferred). All of them share porches, PHY timings and the
DSI clock; only the timing-switch commands differ (2f XX and e0 YY on
page 08), so prepare() picks them from the refresh rate of the CRTC
mode. Changing the rate is a full modeset (panel power cycle).

Tested on hardware: all rates selectable from GNOME display settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 01:50:25 -03:00
snlavaiseandClaude Opus 5.5 98b3104e94 device-motorola-rtwo: package the dashboard and the 5 GHz WiFi workaround
Both lived only in the rootfs (/usr/local, /etc). Move them into the
device package:

- rtwo-dashboard: sway always runs with the system dashboard on the panel
  (DSI-1); the launcher follows the DP-1 HPD and opens a login console on
  the external monitor while one is connected. The console runs login as
  a session leader (setsid -c) and reopens the tty on every loop, since
  login's vhangup() otherwise leaves the loop with dead fds. Files go to
  /usr/libexec and /usr/share/rtwo-dashboard.
- rtwo-wifi-5ghz-scan: unsticks wpa_supplicant after boot (ath12k). The
  network now comes from NetworkManager (first WiFi connection) or from
  /etc/default/rtwo-wifi-5ghz-scan instead of a hardcoded SSID.

Both services are enabled through multi-user.target.wants, like
rtwo-panel-revive. New dependencies: sway, foot, seatd-launch, python3,
font-jetbrains-mono-nerd, font-noto-emoji, iw, networkmanager-cli.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DnHwDU5yL8L6qgPEN5CV5m
2026-09-26 20:36:18 -03:00
snlavaiseandClaude Opus 5.5 c028f63183 device-motorola-rtwo: initramfs debug shell, panel revive, power key
- deviceinfo / modules-initfs: boot through the U-Boot chainload, modules
  needed in the initramfs for the display, USB and the DSPs.
- initfs hooks: dropbear/telnet debug shell over USB networking.
- rtwo-panel-revive.service: blank/unblank the NT37705 if it comes up
  dead from the ABL handoff.
- logind-power-key.conf: ignore the power key (handled by the dashboard).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DnHwDU5yL8L6qgPEN5CV5m
2026-09-26 20:02:56 -03:00
snlavaiseandClaude Opus 5.5 8a87204d48 linux-postmarketos-qcom-sm8550: motorola-rtwo display, DP, WiFi, audio DSPs
Bring-up of the Moto Edge 40 Pro (rtwo) on the SM8550 kernel:

- dts: NT37705 DSI panel with DSC, Goodix GT9916P touch, ADSP/CDSP with
  pmic-glink (battery, UCSI), Adreno 740, WiFi (WCN7850/ath12k), physical
  keys, and USB-C DisplayPort (pmic-glink altmode -> PS5169 redriver ->
  FSA4480 -> QMP combo PHY -> mdss_dp0) following the sm8550-qrd layout.
- DP link capped at HBR (link-frequencies on &mdss_dp0_out): the DP->HDMI
  converter of a common USB-C hub trains fine at HBR2 but its HDMI output
  flickers and drops HPD; HBR x2 still covers 1080p60.
- new drivers: typec-mux-ps5169.c (Parade PS5169 redriver as typec
  switch/retimer), panel-novatek-nt37705.c.
- patches: msm DP invalid LTTPR caps + no push_idle with the link down
  (hardware reset on unplug), msm DSI keeps the panel DSC config, ath12k
  regd fixes and MHI keep-awake, ICC keepalive for the MDP fetch path.
- rtwo.config / config-motorola-rtwo.aarch64: options for all of the above.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DnHwDU5yL8L6qgPEN5CV5m
2026-09-26 20:02:55 -03:00
snlavaiseandClaude Sonnet 5 f3fac3a449 motorola-rtwo: TLMM gpio-reserved-ranges, UTMI pipe-clk, LZ4 initramfs
Exhaustive comparison with the mainline Samsung Galaxy Tab S9 (SM8550)
port's development log turned up the concrete cause of the "<2s reboot,
no console" (TZBSP_ERR_FATAL_NOC_ERROR) and the reason USB would not
have come up afterwards:

1. gpio-reserved-ranges: the stock DT hands 17 TLMM pins to the
   hypervisor / secure VMs (qcom,tlmm-vm-gpio-list: 13, 24-25, 44-48,
   56-59, 86-87, 91, 133, 137). The mainline sm8550-tlmm probe walks
   every GPIO's config registers; reading a hyp-owned one faults the
   NoC -> TrustZone resets the SoC with no console. On the Samsung port
   this was THE trigger and gpio-reserved-ranges was the fix.

2. qcom,select-utmi-as-pipe-clk on &usb_1: mandatory once the SuperSpeed
   QMP PHY is removed from the dwc3 node - otherwise the core never
   releases DCTL.CSFTRST (-ETIMEDOUT) and no usb0 appears. Confirmed by
   the Qualcomm dwc3 glue binding and the Samsung port (its v0.15).

3. deviceinfo_initfs_compression=lz4:legacy: stock LineageOS packs both
   Android-v4 ramdisks with LZ4 legacy (verified: init_boot magic
   02214c18). A gzip stream concatenated after an LZ4-legacy one makes
   the kernel unpacker fail with "invalid magic" -> panic
   unknown-block(0,0).

Also: stock eUSB2 repeater peripheral-mode tuning (qcom,param-override-seq).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 01:52:15 -03:00
snlavaiseandClaude Sonnet 5 14ae05a5c2 motorola-rtwo: add SM8550 ABL + hypervisor requirements to the .dts
Deeper comparison of our mainline DTB against the live LineageOS DTB and
the mainline Samsung Galaxy Tab S9 (SM8550) port turned up several
things the Motorola SM8550 firmware needs that mainline sm8550.dtsi does
not provide and the ABL does not reconstruct:

1. reserved-memory: chipinfo @ 0x81cf4000 and llcc_lpi @ 0xff800000 are
   no-map in the stock DT but absent from mainline. Both fall inside a
   HLOS DRAM bank, so Linux maps and uses firmware/hardware-owned memory
   -> external abort -> SoC resets with no console (the <2s reboot). The
   Samsung port hit the exact same "NoC error" from missing chipinfo /
   LLCC carveouts.

2. __symbols__: build the DTB with dtc -@ (DTC_FLAGS_sm8550-motorola-rtwo
   in the qcom Makefile). The SM8550 ABL runs libufdt against the base
   DTB; without symbols it drops to the bootloader menu.

3. qcom_tzlog + arch_timer labels: same ABL dtbo-apply path requires
   these two labels to exist (LKML "arm64: dts: qcom: sm8550: Fix DTBO
   boot failure").

4. compatible: keep qcom,kalama-mtp / qcom,kalama / qcom,mtp next to
   qcom,sm8550 - the ABL matches the board on these strings plus
   qcom,board-id before launching the kernel.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 01:36:30 -03:00
snlavaiseandClaude Sonnet 5 832651c2ca device-motorola-rtwo: fix eUSB2 PHY module name in initramfs
modules-initfs listed 'phy-qcom-snps-eusb2', which does not exist in
kernel 7.2 - the SNPS eUSB2 PHY driver is 'phy-snps-eusb2'
(CONFIG_PHY_SNPS_EUSB2=m). pmbootstrap silently skipped the unknown
name, so the built initramfs shipped only phy-qcom-eusb2-repeater.

Without phy-snps-eusb2, phy@88e3000 (qcom,sm8550-snps-eusb2-phy) never
probes -> the built-in dwc3 at usb@a600000 stays on -EPROBE_DEFER ->
no UDC -> the initramfs can't bring up the USB gadget -> no telnet on
172.16.42.1. Not a panic, but it blocks the whole USB-networking goal.

dwc3 and dwc3-qcom are built-in (modules.builtin), pstore/ramoops too
(rtwo.config's CONFIG_PSTORE_RAM=y stuck).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 01:21:37 -03:00
snlavaiseandClaude Sonnet 5 caac069a36 motorola-rtwo: add qcom,msm-id + qcom,board-id + ramoops to the .dts
The Sony-modelled minimal DT was electrically correct (verified node by
node against the DTB LineageOS 23.2 actually boots: debug UART SE7,
eUSB2 phy+repeater, hsphy supplies pm8550vs_2_l1/l3 all match exactly)
but missing two things the stock firmware relies on:

 - qcom,msm-id = <0x218 0x20000 0x207 0x20000 0x207 0x10000 0x218 0x10000>
   qcom,board-id = <0x241 0xb1b0>
   The Motorola ABL selects a DTB out of a multi-FDT vendor_boot; without
   a matching SoC/board table it may reject our blob (-> no DT -> instant
   reset, which matches the <2s black-screen loop).

 - ramoops @ 0xae000000 (0x40000 console + 0x20000 record), copied from
   the stock DT. rtwo.config already builds CONFIG_PSTORE_RAM; with the
   node in place a failed boot's console can be read back from a later
   pmOS boot. No 'no-map' (arm64 ramoops needs the linear map).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 01:09:17 -03:00
snlavaiseandClaude Sonnet 5 187b52aa12 motorola-rtwo: back to GKI v4, replace every ramdisk source with pmOS
rtwo is Android 13: the generic first-stage ramdisk lives in init_boot,
not boot.img, and the bootloader always assembles the initramfs from
init_boot + vendor_boot regardless of what boot.img contains. So the
dubai-style monolithic v2 boot.img cannot work here - keep header v4 and
replace boot (kernel), vendor_boot (dtb+cmdline+initramfs) and init_boot
(generic ramdisk) all with pmOS content.

Combine everything learned:
 - header v4, append_dtb off (dtb in vendor_boot)
 - earlycon on the cmdline (Motorola ABL requirement, from dubai)
 - raw Image kernel (stock LineageOS rtwo evidence)
 - base 0 + explicit offsets + os_version/os_patch_level
 - 24 MB zero dtbo (dubai trick)
 - the Sony-Xperia-1-V-modelled minimal .dts (no /memory, no msm-id, no
   speculative regulators)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 00:45:30 -03:00
snlavaiseandClaude Sonnet 5 c9eadef4d5 motorola-rtwo: switch to the device-motorola-dubai boot recipe
device-motorola-dubai (Motorola Edge 30, SM7325) is the closest working
Motorola mainline pmOS port. Match it:
 - header_version 2 + append_dtb=true: one monolithic boot.img with the
   DTB glued to the kernel, flashed to 'boot'. No vendor_boot / init_boot
   / GKI ramdisk layering.
 - 'earlycon' back on the cmdline - dubai's kernel-cmdline.conf says the
   Motorola ABL reboots the phone immediately WITHOUT it. This matches
   our exact <2s symptom; removing it earlier was the wrong call.
 - explicit flash_offset_* (base 0, dtb 0x1f00000, ...) and
   --os_patch_level, as dubai sets them.
 - dtbo.img = 24 MB of zeros (full partition), dubai's trick to make the
   bootloader skip overlay application.
 - kernel: gzip'd Image again (dubai uses gz, not raw).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 00:41:35 -03:00
snlavaiseandClaude Sonnet 5 35df152310 motorola-rtwo: rewrite .dts modelled on mainline Sony Xperia 1 V
Same SoC, working mainline port. Strip everything speculative:
 - no /memory node (Sony relies on the bootloader to inject it)
 - no qcom,msm-id / qcom,board-id (Sony's Qualcomm bootloader doesn't
   need them)
 - no reserved-memory / ramoops / framebuffer overrides
 - regulator tree copied verbatim from Sony, including the rails it
   deliberately omits with 'the board seems to crash on access' - our
   MTP-derived tree (with vdd-*-supply chains + bob2 + L4) may have been
   voting an RPMh rail that resets the SoC early.
Only the debug UART and USB HS-peripheral are enabled - enough for the
initramfs + USB networking. cmdline: console=ttyMSM0 (no earlycon).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 00:35:59 -03:00
snlavaiseandClaude Sonnet 5 988dd10251 motorola-rtwo: no earlycon, clean /chosen, framebuffer at root
New hypotheses from re-comparing with the stock boot:
- 'earlycon' (bare) brings up uart7 in setup_arch(), before the clock
  framework. Stock uses console=null and almost certainly leaves the
  QUP0 clock gated -> touching uart7 MMIO faults before any console.
  Drop earlycon + the serial console; keep console=tty0 only.
- Also drop clk_ignore_unused / pd_ignore_unused (can break qcom power
  domain init) and ignore_loglevel stays for the fb console.
- Move the simple-framebuffer out of /chosen and drop the
  #address-cells override there, so the bootloader's /memory + initrd
  patching into /chosen is not disturbed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-09 00:10:58 -03:00
snlavaiseandClaude Sonnet 5 aca8c5265e linux-postmarketos-qcom-sm8550: add a /memory node to the rtwo .dts
Framebuffer stays black on the <2s loop -> the kernel dies before any
console, i.e. in setup_arch(). Neither sm8550.dtsi nor our .dts has a
/memory node; if the Motorola ABL does not inject one for our DTB the
kernel has no RAM and panics immediately. Copy the stock bank layout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 23:45:33 -03:00
snlavaiseandClaude Sonnet 5 e5a8aba387 linux-postmarketos-qcom-sm8550: restore framebuffer + ramoops for diagnostics
We are past the bootloader (pmOS images boot, LineageOS ones abort to
fastboot) but the kernel panics in <2s with no output. Re-add the
simple-framebuffer (console=tty0 shows the panic on the panel) and a
ramoops region matching the stock layout (readable from stock Android
after a failed boot).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 23:23:14 -03:00
snlavaiseandClaude Sonnet 5 463278b53c device-motorola-rtwo: set os_version/os_patch_level on the boot.img
Our boot.img had os_version=0. The stock image is 16.0.0 / 2026-08 and
the Motorola bootloader does anti-rollback on the boot image security
patch level - a 0 value is below the stored minimum and gets rejected
(instant reboot). Match the stock values via bootimg_custom_args.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 22:42:33 -03:00
snlavaiseandClaude Sonnet 5 c8e58e90c6 device-motorola-rtwo: set vbmeta fastboot partition
So 'pmbootstrap flasher flash_vbmeta' generates + flashes a
verification-disabled vbmeta. Motorola bootloaders can still enforce AVB
on boot/dtbo/init_boot/vendor_boot even when unlocked, rebooting when the
flashed images don't match the stock vbmeta hashes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 22:23:30 -03:00
snlavaiseandClaude Sonnet 5 ce9763708c linux-postmarketos-qcom-sm8550: dtbo with a no-op overlay, not empty
A zero-entry DT table (32 bytes) fails Motorola's fastboot pre-flash
validation. Build a real no-op overlay with the kernel's dtc, wrap it in
a 1-entry DT table padded to 4 KB. Still applies nothing to the base DTB.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 22:13:55 -03:00
snlavaiseandClaude Sonnet 5 34600bc55e motorola-rtwo: raw Image + empty dtbo for the Motorola bootloader
From the stock LineageOS images:
- boot.img carries a raw uncompressed arm64 Image (MZ header), not
  Image.gz. Install arch/arm64/boot/Image as vmlinuz.
- dtbo.img is an 8-entry overlay table; the bootloader applies overlay
  #7 (androidboot.dtbo_idx=7, 87 fragments) onto the base DTB by
  phandle. Against our mainline DTB that produces a corrupt merged tree
  -> instant panic. Ship an empty dtbo (0 entries) to flash to dtbo_b,
  and set deviceinfo_flash_fastboot_partition_dtbo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 21:28:13 -03:00
snlavaiseandClaude Sonnet 5 7bbebae156 device-motorola-rtwo: drop deviceinfo_append_dtb for GKI
append_dtb=true makes boot-deploy concatenate the raw DTB onto the
gzip'd kernel Image inside boot.img. arm64 has no appended-DTB support;
the trailing bytes corrupt the kernel load -> instant panic. GKI v4
devices put the DTB only in vendor_boot (--dtb); the kernel stays plain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 21:04:21 -03:00
snlavaiseandClaude Sonnet 5 d0ed87994c device-motorola-rtwo: force base 0 in the vendor_boot header
pmbootstrap's boot-deploy calls mkbootimg for header v4 without --base or
any --*_offset, so it uses the mkbootimg default base 0x10000000: the DTB
lands at dtb_addr 0x11f00000, well outside RAM (starts at 0x80000000).
LineageOS/Motorola build with base 0. Pass the stock offsets via
deviceinfo_bootimg_custom_args.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 20:44:38 -03:00
snlavaiseandClaude Sonnet 5 9b1f909734 linux-postmarketos-qcom-sm8550: add qcom,msm-id + qcom,board-id to rtwo .dts
The Motorola bootloader does Qualcomm-style DTB selection: it matches
qcom,msm-id / qcom,board-id from each FDT in vendor_boot against the
detected SoC/board and passes only the match to the kernel. Mainline
qcom DTs dropped these props, so ours had none -> no match -> the ABL
hands the kernel no DTB -> instant panic, no console, <2s bootloop
(seen on every kernel version tried). Values from the stock live DT
(SM8550 = 0x218, board-id 0x241/0xb1b0). Mainline ignores them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 20:42:56 -03:00
snlavaiseandClaude Sonnet 5 2a8588f9e2 motorola-rtwo: strip .dts to the minimum for early-panic bisection
Full .dts + fixed 7.2 kernel still resets in <2s with no output. Cut the
.dts to SoC + regulators + debug UART + HS-peripheral USB only - no
reserved-memory, no simple-framebuffer, no touch/SD/UFS/keys. If this
reaches the initramfs the fault was in a removed node; if it also resets
the problem is the kernel/config/boot image.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 20:31:22 -03:00
snlavaiseandClaude Sonnet 5 cf417990f5 linux-postmarketos-qcom-sm8550: ship gzip Image, not EFI ZBOOT
The 7.2 build installed vmlinuz.efi (EFI ZBOOT self-decompressor) into
the Android boot.img; the Motorola bootloader can't execute it and
resets in <2s. Disable CONFIG_EFI_ZBOOT, install arch/arm64/boot/Image.gz
as vmlinuz, and drop pmb:kconfigcheck-uefi (which mandates ZBOOT and is
irrelevant for an Android-boot.img device).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 18:38:26 -03:00
snlavaiseandClaude Sonnet 5 72e33fa4bc device-motorola-rtwo: split initramfs (create_initfs_extra)
The full initramfs (12.8 MB) does not fit init_boot (8 MB), and stock
init_boot's /init overrides pmOS's in vendor_boot. Splitting produces a
small base initramfs that fits, so it can be flashed to init_boot too.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 18:22:54 -03:00
snlavaiseandClaude Sonnet 5 82fe64ed81 linux-postmarketos-qcom-sm8550: adapt rtwo .dts to the 7.2 USB nodes
7.2 flattened the qcom dwc3 nodes: no more usb_1_dwc3 label, usb_1 is the
dwc3 itself. Move dr_mode/maximum-speed onto &usb_1 and drop the
SuperSpeed phy + usb-role-switch so it comes up as a plain HS gadget
without pmic-glink.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 17:33:34 -03:00
snlavaiseandClaude Sonnet 5 769610cecc linux-postmarketos-qcom-sm8550: rebase onto mainline 7.2
The Dec-2024 sm8550 bring-up snapshot (6.13-rc3) black-screen bootloops
on rtwo with no output. Switch to plain upstream 7.2 (kernel.org, same
tarball as linux-postmarketos-mainline) which has ~18 months of SM8550
fixes (SPMI, watchdog node, USB, UFS, display, ...).

- config base is now config-mainline.aarch64 (copied as
  config-motorola-rtwo.aarch64) + the rtwo.config fragment appended.
- rtwo.config: disable RUST + DEBUG_INFO + non-Qualcomm ARCH_* to keep
  the build within disk; add SIMPLEDRM/SYSFB_SIMPLEFB alongside FB_SIMPLE.
- drop the hand-added APSS watchdog node from the .dts (upstream
  sm8550.dtsi has it since 6.8).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 17:25:03 -03:00
snlavaiseandClaude Sonnet 5 9a35ec867c linux-postmarketos-qcom-sm8550: slim the config to fit the build
The generic arm64 defconfig builds modules for every SoC family; the
build tree blew past the disk (SIGBUS in modfinal). Disable DEBUG_INFO
and every non-Qualcomm ARCH_* family in rtwo.config.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 15:22:46 -03:00
snlavaiseandClaude Sonnet 5 4bd61bd652 linux-postmarketos-qcom-sm8550: add APSS watchdog node for rtwo
'fastboot boot' hands off cleanly (OKAY / booting) and the device then
resets - classic unpetted APSS watchdog. sm8550.dtsi at 6.13-rc3 has no
watchdog node; add it for rtwo so qcom_wdt binds and keeps it fed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 15:10:26 -03:00
snlavaiseandClaude Sonnet 5 2b3bae0a49 motorola-rtwo: add framebuffer console + pstore for bring-up debugging
The device resets right after 'fastboot boot' with no output. Add tools
to see why:

- rtwo.config kernel fragment: PSTORE_RAM=y + PSTORE_CONSOLE=y (capture the
  kernel log in ramoops at 0xae000000, readable afterwards from stock
  Android or a later pmOS boot), QCOM_WDT=y (pet the APSS watchdog early
  in case the bootloader armed it), FB_SIMPLE/FRAMEBUFFER_CONSOLE on.
- .dts: simple-framebuffer at 0xb8000000 reworked (x8r8g8b8, 1080x2400) -
  reuses the bootloader framebuffer, no panel driver needed.
- deviceinfo cmdline: console=tty0 (framebuffer console), ignore_loglevel,
  clk_ignore_unused + pd_ignore_unused (keep the bootloader display path
  powered so the framebuffer does not freeze).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 15:05:50 -03:00
snlavaiseandClaude Sonnet 5 2cebfd11fb device-motorola-rtwo: pkgrel bump for android-tools dep change
Without the bump pmbootstrap reused the stale 1-r0 apk that still
pulled mkbootimg instead of android-tools.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 14:35:08 -03:00
snlavaiseandClaude Sonnet 5 7b13d04c35 device-motorola-rtwo: depend on android-tools, not mkbootimg
boot-deploy needs the AOSP mkbootimg (from android-tools) to build the
header v4 boot.img + vendor_boot.img pair; mkbootimg-osm0sis does not
handle GKI/vendor_boot. Matches the other header-v4 devices (Pixel 6).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 14:32:24 -03:00
snlavaiseandClaude Sonnet 5 5683af653a linux-postmarketos-qcom-sm8550: use rtwo-specific regulator ranges
The reference-design rail voltages that both sm8550-mtp and the rtwo
downstream share are unchanged, but three rails carry board-specific
ranges in the Motorola DT / device DTB dump:

  L11B (panel VDD):  1.20-1.50 V  ->  1.23-1.28 V
  L1E  (USB HS phy): fixed 0.88 V ->  0.88-0.912 V
  L1G  (UFS VCCQ):   fixed 1.20 V ->  1.144-1.256 V

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 14:16:34 -03:00
snlavaiseandClaude Sonnet 5 5cb1d71e3a device-motorola-rtwo: enrich device tree from Motorola downstream
Cross-referenced the LineageOS 23.2 sources (android_device_motorola_rtwo,
sm8550-common, sm8550-devicetrees) and the DTB dumped from the device:

- Fix debug UART: it is GENI SE7 under qupv3_id_0 (@ac0000), not qupv3_id_1.
- Add ramoops (0xae000000/0x60000) and a cont_splash reserved region
  (0xb8000000), both matching the stock reserved-memory map.
- Add a simple-framebuffer at 0xb8000000 (1080x2400) so there is an early
  console on the panel; deviceinfo screen size corrected to 1080x2400.
- Goodix GT9916 touchscreen on spi4 (SE4), reset TLMM24 / irq TLMM25,
  avdd = pm8550 L9B, vddio = pm8550 L10B (new rails L8B/L10B added).
- gpio-keys: volume-up on pm8550 GPIO6; enable PMIC pwrkey + resin
  (volume-down).
- SD card: real card-detect on pm8550 GPIO12, vqmmc = L8B.
- modules-initfs: add goodix-berlin + eusb2 phy modules.

Panel/DRM, GPU, modem, WiFi/BT (WCN7850), charger and camera are documented
as TODO in the .dts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 14:01:42 -03:00
snlavaiseandClaude Sonnet 5 a5ae1ad9b8 device-motorola-rtwo: new device (Motorola Moto Edge 40 Pro), WIP
Bring-up for the Motorola Moto Edge 40 Pro (codename "rtwo", SM8550 /
Snapdragon 8 Gen 2).

New linux-postmarketos-qcom-sm8550 aport:
 - Built from the postmarketOS soc/qcom-sm8550 tree (branch bringup,
   6.13-rc3, commit 22591bbc).
 - Kernel config is generated at build time from the in-tree upstream
   defconfig plus the repo's pmos.config and devices.config fragments.
 - Ships a WIP sm8550-motorola-rtwo.dts: SoC + PMICs + the sm8550-mtp
   regulator tree, UART7 debug console, USB in high-speed peripheral mode,
   UFS and SD card. Display panel, touchscreen, modem, WiFi/BT, GPU zap
   shader and reserved-memory carveouts still need to be described from
   Motorola's downstream sources.

device-motorola-rtwo:
 - deviceinfo completed from bootimg analysis of the stock boot.img:
   Android boot header v4, 4096-byte pages, no qcdt, fastboot flashing.
   Added screen geometry, UFS sector size and a serial getty; framebuffer
   disabled until the panel works.
 - Depends on the new kernel, soc-qcom and mkbootimg.

Both packages still need 'pmbootstrap checksum' for the kernel tarball and
a real boot test; see the TODO comments in the APKBUILDs and the .dts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
2026-09-08 13:35:56 -03:00
Achill Gilgenast 0fae70c044 *: remove dependencies on pd-mapper
Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/2936
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8772>
2026-09-06 22:10:06 +02:00
Achill Gilgenast 660824c915 *: remove dependencies on soc-qcom-pd-mapper
Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/2936
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8772>
2026-09-06 22:10:04 +02:00
Crosta04 699ec801da device-xiaomi-lancelot: add vbmeta handling and usage of sparse for flashing
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9204>
2026-09-05 17:25:51 +00:00
Aster Boese 4b3ffe78aa thundercomm-db845c: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4744

[ci:skip-vercheck]

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:35 -04:00
Aster Boese 1979057699 odroid-hc2: move to archived
The maintainer is okay with this device being archived due to
not having current device access nor time to work on this port.
 As such, this device is to be archived.

Closes pmaports#4725

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:33 -04:00
Aster Boese d399526b80 vivo-y21l: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4746

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:31 -04:00
Aster Boese cfff74196e samsung-rossa: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4741

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:29 -04:00
Aster Boese b26cc94283 samsung-j5: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4737

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:26 -04:00
Aster Boese 080bf37e80 samsung-grandmax: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4735

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:24 -04:00
Aster Boese f4fb3e6381 samsung-fortuna: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4733 pmaports#4754

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:22 -04:00
Aster Boese 71de4491df samsung-fortunaltezt: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4734

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:20 -04:00
Aster Boese d1c93b021b samsung-e7: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4732

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:15 -04:00
Aster Boese 5b45b220c7 amediatech-x96-mini: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4718

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:06:11 -04:00
Aster Boese 425a0eae52 samsung-j3ltetw: move to archived
The maintainer did not respond within two weeks of a maintainership issue
being made. As such, this device is to be archived.

Closes pmaports#4736

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9215>
2026-09-05 13:04:35 -04:00
Thomas Turner 3ef06e837f samsung-a21s: new device
Mainline 7.2 port for the Samsung Galaxy A21s, Exynos 850.

Working: display, touchscreen, Phosh with GPU acceleration.

Signed-off-by: Thomas Turner <tturner@lineageos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9467>
2026-09-01 19:38:17 +00:00
Neil Armstrong 8628ff6159 linux-ayaneo-pocket-s2: update to 7.2_git20260831
Update Ayaneo Pocket S2 patchset to Linux v7.2

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9466>
2026-09-01 08:50:23 +00:00