Motorola Moto G9 Play (motorola-guamp)
Appearance
| 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. Status: display driver sent to LKML, DTS to follow |
|
u-boot showing ufetch | |
| Manufacturer | Motorola |
|---|---|
| Name |
Moto G9 Play Moto G9 Lenovo K12 Note |
| Codename | motorola-guamp |
| Model | XT2083-x |
| Released | 2020 |
| Type | handset |
| Hardware | |
| Chipset | Qualcomm Snapdragon 662 (SM6115) |
| CPU |
Octa-core (4x2.0 GHz Kryo 260 Gold 4x1.8 GHz Kryo 260 Silver) |
| GPU | Adreno 610 |
| Display | 720 x 1600 IPS LCD, 6.5" |
| Storage | 64/128 GB |
| Memory | 4 GB |
| Architecture | aarch64 |
| Software | |
Original software The software and version the device was shipped with. |
Android 10 |
Extended version The most recent supported version from the manufacturer. |
Android 11 |
| FOSS bootloader | partial |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
no |
Flashing Whether it is possible to flash the device with pmbootstrap flasher. |
Works
|
|---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Internal storage eMMC, SD cards, UFS... |
Works
|
SD card Also includes other external storage cards. |
Works
|
Battery Whether charging and battery level reporting work. |
Works
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Broken
|
| Multimedia | |
3D Acceleration |
Works
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
Camera Flash |
Broken
|
| Connectivity | |
WiFi |
Works
|
Bluetooth |
Works
|
GPS |
Untested
|
| Modem | |
Calls |
Untested
|
SMS |
Untested
|
Mobile data |
Untested
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Untested
|
USB OTG USB On-The-Go or USB-C Role switching. |
Works
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Broken
|
Magnetometer Sensor to measure the Earth's magnetism |
Broken
|
Ambient Light Measures the light level; used for automatic screen dimming in many interfaces. |
Broken
|
Proximity |
Broken
|
Haptics |
Works
|
Secondary Bootloader Whether it is possible to chainload U-Boot from stock bootloader. |
Works
|
|---|---|
Mainline Whether latest upstream versions of U-Boot are not broken and it is possible to use them. |
Works
|
Internal Storage Whether it is possible to boot from internal storage (e.g. eMMC or UFS). |
Works
|
SD card Whether it is possible to boot from SD card. |
Works
|
USB Peripheral Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode. |
Works
|
Display |
Works
|
Buttons Whether it is possible to navigate in boot menu or grub with volume and power buttons. |
Partial
|
| This device is based on the Snapdragon 662. See the SoC page for common tips, guides and troubleshooting steps |
A close cousin of Motorola Moto G30 (motorola-caprip) (ref.).
Contributors
Users owning this device
- ValPackett (Notes: Current upstreaming target)
How to enter flash mode
- Turn off the device.
- Press and hold the power button and volume down button.
- Release the buttons when the fastboot menu shows.
Installation
WARNING: Don't do anything yet if you are not a developer. For now, these steps are only for getting to development
The boot loader on this device is very protective of important partitions (and fastboot flashing unlock_critical is not supported), and fastbootd is even more useless, so we need to go through a slightly annoying, recovery-based procedure to prepare the device for mainline Linux and U-Boot:
- OEM unlock the bootloader (typical Motorola process)
- Download the TWRP recovery .img
- Download or create a "blank" vbmeta.img
- Boot into TWRP recovery, connect via ADB
- From recovery adb shell, nuke dtbo and flash blank vbmeta (for ONE slot, let's pick
bhere) - Now keep in mind that the slot we picked will only boot custom non-Android images, it won't even boot TWRP anymore and you'll have to
fastboot set_active ato boot TWRP
fastboot boot ~/Downloads/twrp-3.7.1_12-0-guamp.img adb push vbmeta.img /vbmeta.img adb shell dd if=/dev/zero of=/dev/block/by-name/dtbo_b dd if=/vbmeta.img of=/dev/block/by-name/vbmeta_b
Table of hardware
| Component | Model | Status | Notes |
|---|---|---|---|
| SoC | Qualcomm Snapdragon 662 (SM6115) | Y | Well supported upstream |
| Main PMIC | Qualcomm PM6125 | Y | |
| Display | Holitech HTF065H045 (Himax HX83102-D) | Y | We know the model from a leaked spec doc. It's shared with astro et al. Entries for a few others are included in downstream DTS but this one is the default. DSI driver sent to upstream. |
| Touchscreen | N | SPI interface, so far returning zeroes / nonsense and not what drivers expect >_< | |
| Wi-Fi/BT | Qualcomm WCN3990 | Y | It just works |
| USB Type-C | Qualcomm PMI632 | Y | Dual role, USB2 only |
| Haptics | Y | ||
| Camera flash | N | Probably just adding the flash block to pmi632.dtsi | |
| Charging LED | Y | Tiny tiny dot at the top | |
| Charger | P | Requires out-of-tree WIP SMB5 driver | |
| Fuel gauge | P | Requires out-of-tree WIP qgauge driver (overreacts to voltage swings because WIP) | |
| Speaker amp | Awinic AW88258 | N | Should work with the AW88261 driver but the "firmware" bin file seems to be a different format? |
| Headset/Mic amp | Qualcomm WCD9370 | U | AMIC1 is main mic, AMIC2 is headset mic, AMIC3 is sub mic, HPH is headset audio (duh), EAR is phone speaker |
| Camera PMIC | Qualcomm PM8008 | Y | LDO1: CAM2,3 DVDD 1.2V; LDO2: CAM1,4 DVDD 1.05V; LDO3: CAM2 AVDD 2.8V; LDO4: CAM1 AVDD 2.8V; LDO5: CAM1,2 AF_VDD 2.8V; LDO6: CAM3,4 AVDD 2.8V; LDO7: CAM1-4 DOVDD 1.8V |
| Camera | Smasnug S5K3P9 | N | CAM1, Rear Wide. Driver exists in fp3-6.16-camera |
| Smasnug S5K4H7 | N | CAM2, Rear Tele. Driver exists in fp3-6.16-camera | |
| Smasnug S5K5E9 | N | CAM3, Rear RTB (?). Driver exists in sm7125-mainline | |
| Sony IMX476 | N | CAM4, Front. There are imx477 drivers floating around, is it similar? | |
| Gyro/Accelerometer (IMU) | LSM6DS0ETR3 or ICM-42605, STK8321 or SC7A20 | N | Use the sensor hub support.. |
| Compass | QMC6308 or AKM09918 | N | |
| Proximity sensor (ALS/PS) | MN59406D or VCN36832A | N | Dedicated PL_I2C bus, probably still connected to ADSP sensorspd |
| Fingerprint sensor | FPC1520A or Goodix GF3658 | N | |
| NFC | NXP NQ310A1EV/C101Y | U | Only present on European models or something |