Jump to content

Nothing Phone 1 (nothing-spacewar): Difference between revisions

From postmarketOS Wiki
JIaxyga (talk | contribs)
ak7377 is feature-partial (uses ak7377a driver which has lower bit depth of focusing data)
JIaxyga (talk | contribs)
update uboot status
Line 66: Line 66:
| status_uboot_primary = -
| status_uboot_primary = -
| status_uboot_secondary = Y
| status_uboot_secondary = Y
| status_uboot_mainline = P
| status_uboot_mainline = Y
| status_uboot_internalstorage = N
| status_uboot_internalstorage = N
| status_uboot_sd = -
| status_uboot_sd = -
| status_uboot_usbhost = N
| status_uboot_usbhost =
| status_uboot_usbperipheral = P
| status_uboot_usbperipheral = Y
| status_uboot_screen = Y
| status_uboot_screen = Y
| status_uboot_keyboard = -
| status_uboot_keyboard = -
| status_uboot_buttons = P
| status_uboot_buttons = Y


| booting = yes
| booting = yes

Revision as of 06:12, 12 March 2025

This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories.
This means that it cannot be selected in pmbootstrap.
Nothing Phone 1
Nothing Phone 1
Nothing Phone 1
Manufacturer Nothing
Name Phone 1
Codename nothing-spacewar
Released 2022
Type handset
Hardware
Chipset Qualcomm Snapdragon 778G+ (SM7325-AE)
CPU Octa-core (1x2.5 GHz Cortex-A78 & 3x2.4 GHz Cortex-A78 & 4x1.9 GHz Cortex-A55)
GPU Adreno 642L
Display 2400 x 1080 (120Hz 6.55" AMOLED)
Storage 128/256 GB
Memory 8/12 GB
Architecture aarch64
Software
Original software Android
Original version 12
Extended version 15
FOSS bootloader partial
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Partial
Camera
Partial
Camera Flash
Works
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
NFC
Works
Modem
Calls
Works
SMS
Works
Mobile data
Works
Miscellaneous
FDE
Works
USB OTG
Works
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Works
Proximity
Works
Haptics
Broken
U-Boot
Secondary Bootloader
Works
Mainline
Works
Internal Storage
Broken
USB Host
No data
USB Peripheral
Works
Display
Works
Buttons
Works

Users owning this device

  • Deviled (Notes: 256/8, now "bricked" (WiFi subsystem issues causing CRASDUMP MODE and BT is completely dead))
  • JIaxyga
  • Keith. (Notes: daily driver, 256GB in black)
  • Logg
  • Shubhamvis98 (Notes: Dual-booted with Debian Phosh)
  • Taxmanindustries (Notes: Calls and texts are FUBAR on pmos :()


Contributors

How to enter flash mode

  • Bootloader: Power on the device with both Power and Volume Down buttons.
  • Recovery: Power on the device with both Power and Volume Up buttons.
  • Fastbootd: Reboot into bootloader mode first and then run fastboot reboot fastboot from a computer.

How to unlock bootloader

Unlocking the bootloader is similar to Google Pixel, use the official guide from Google.

Installation

Note Note: The device has not yet been merged into pmaports. Use manual installation.

PostmarketOS Installation guide.

Status

Features
Component Model Notes
Screen visionox,rm692e5 60/90/120Hz are supported
Battery qcom,pm8350bh Managed by ADSP-remoteproc via GLink battmgr
Requires signed ADSP firmware
southchip,sc8551a
Internal
storage
jedec,ufs-2.0
qcom,sc7280-qmp-ufs-phy
qcom,inline-crypto-engine
KMJIA001RM
Touchscreen focaltech,ft3680 @ 0x0 Connected via spi13, ported from downstream
Requires vendor firmware
GPU qcom,adreno-635 Requires a660 (unsigned) & a660-zap (signed) firmware
SBA-MUX fcs,fsa4480 @ 0x42 Connected via i2c1
Flash LED qcom,spmi-flash-led Connected via pm8350c spmi
Glyph LED awinic,aw21018 @ 0x20 Connected via i2c1
WiFi qcom,wcn6750 Requires ath11k (unsigned) firmware
Bluetooth Requires qca (unsigned) firmware
NFC nxp,55701 @ 0x28 Connected via i2c9
Modem qcom,sc7280-mpss-pas
qcom,sc7280-wpss-pas
qcom,sc7280-ipa
Managed by MPSS-remoteproc
Requires signed MPSS & WPSS & IPA firmware
USB OTG usb-c-connector Switches by ADSP-remoteproc via GLink
Requires signed ADSP firmware
Sensors hexagonrpcd
libSSC
Managed by ADSP-remoteproc
Requires signed ADSP firmware
Haptics qcom,pmi632-vib Custom modes required (see downstream dts)
Camera sensors
Type Sensor EEPROM Actuator Bus
Wide C-Phy sony,imx766 @ 0x10 giantec,gt24p128e @ 0x50 asahi-kasei,ak7377 @ 0xc cci1_i2c1
Ultra Wide D-Phy samsung,s5kjn1 @ 0x2d giantec,gt24p128e @ 0x51 dongwoon,dw9800w @ 0xc cci1_i2c0
Front D-Phy sony,imx471 @ 0x1a puya,p24c64f @ 0x52 - cci0_i2c0

Note:

  • EEPROMs work, but sensor drivers can't work with EEPROMs yet. Libcamera doesn't support it either?
  • Wide camera doesn't work because C-PHY is not supported by "close-to-mainline" kernel.
Audio
Codec Appointments Bus Notes
nxp,tfa9873 EAR Speaker i2c2 @ 0x34 Rewritten, but still not a version for upstream
Main Speaker i2c2 @ 0x35
qcom,wcd9385-codec Chassis microphones x3
Analog I/O audio port

Known issues

* Glink doesn't switch the usb to the peripheral mode
By default, device tree defines otg mode. During system boot, usb automatically switches to peripheral mode. However, this doesn't happen when the system is already booted. Switching to otg mode works as expected.
Fsa-switcher also works, but switching to peripheral mode may "stick". To exit this mode, hold down the power button and wait until the system reboots 3-5 times. Then the bootloader will switch usb to peripheral mode.
* Both speakers work only in the left channel

See also