Skip to content

Add experimental iPhone 6 hardware support - #26

Closed
shaynelegault wants to merge 1 commit into
OrchardLinux:mainfrom
shaynelegault:codex/iphone6-hardware
Closed

shaynelegault wants to merge 1 commit into
OrchardLinux:mainfrom
shaynelegault:codex/iphone6-hardware

Conversation

@shaynelegault

@shaynelegault shaynelegault commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Adds experimental iPhone 6 (N61AP / iPhone7,2) support on the shared apple-4k platform. The contribution adds the T7000 SPI and touchscreen power sequence, Gen1 Apple Z2 support, a private firmware recipe, calibration forwarding, and an experimental USB/NFS RAM handoff. Installation remains disabled.

The companion CLI supplies the Gen1 firmware converter and host link. Firmware and device-specific inputs stay in private builds.

Validation

  • The submission package passed 129 hardware tests on Python 3.9, 3.12 and 3.14. The wheel and source archive passed the 438-resource audit.
  • The submission applied all 283 kernel patches and 50 loader patches in order. N61 additions passed Git whitespace checks. The earlier reconciled candidate compiled the shared J71b touch driver and device tree.
  • A physical N61 reached the desktop twice with distinct boot IDs using hardware 853659d, CLI 8fed88e and Omarchy A f316b4d. Touch worked on both boots. The first recorded 25 contacts and releases, y=26..1322 on a 0..1333 axis, and on-screen keyboard entry. Both boots reported zero failed system units.
  • The tested RAM payload SHA-256 is b2d49d60b3771947e11efcee4d1d7f91d126a333d7373bae02b4d1f341f6ec78.

This submission incorporates newer upstream recovery changes and support-record updates after those physical tests. A fresh paired build and device test are still needed for this exact submission revision.

Current limits

The host supplies the USB/NFS root throughout the session. The experimental gadget identifies its root and boot, while live ECID binding and the pinned Orchard recovery protocol remain future work. Wi-Fi, Bluetooth, internal storage and installation remain unqualified. Separate ANS1 storage research is excluded from this branch.

Companion drafts

@henrikklee

Copy link
Copy Markdown
Contributor

Thanks a lot for this. Getting the iPhone 6 to a desktop with working touch is great, and the bring-up notes are really useful. Here's what we'd like changed, with the reasons, since some of it isn't obvious from outside. The general rules are now in CONTRIBUTING.md.

Please split this PR into:

  1. The iPhone 6 itself: devices/n61, the firmware recipe, the kernel and m1n1 patches, the apple-4k config changes, and the docs and bring-up notes.
    • Patch locations: driver changes go in kernel/patches/drivers/<subsystem>/. Only the device tree stays in kernel/patches/devices/t7000/. A patch under devices/ reads as device-only. But 0001 (SPI), 0003 (Z2) and the clock and regulator part of 0004 also change the drivers the iPad 6 (J71b) uses, so they belong under drivers/, and we'll test them on the J71b before merging. Number them with the next free number in each directory.
    • Overlay: the overlay module (kernel/modules/n61/of-overlay) and kernel/devicetree/n61/spi2-development.dts were needed for bring-up. Now that the final N61 device tree is in the series, please keep them on your fork.
    • Config: apple-4k also builds the iPad Air 2 kernel, so every option that changes there changes that kernel too. In the commit message, please say why each group of options changes. In particular: why turn off USB_G_MULTI and USB mass storage, and why build FUSE in instead of as a module?
  2. The NFS boot (boot/initramfs/nfs). It's a valuable addition, and we'd like to review it on its own.
  3. Receipts, the m1n1 resume check and the build-modules checks, one small PR each, with the problem it solves. They change the build for every device.
  4. CI: we'd leave out the N61 kernel job for now, since no device has its own CI job yet. The package audit can come as its own PR.

cli#12 and omarchy-a#16 follow after the hardware parts, split the same way.

Please test the exact revision of the first PR on the phone, for example with examples/minimal-boot, and say in the PR how you tested it.

If anything is unclear or you'd like help with the split, just ask. We can also do the split and keep you as author on every patch.

@shaynelegault

Copy link
Copy Markdown
Contributor Author

restructuring PRs to follow https://github.com/OrchardLinux/hardware/blob/main/CONTRIBUTING.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants