Jump to content

Google Pixel 4a (google-sunfish): Difference between revisions

From postmarketOS Wiki
Created page with "{{Infobox device | manufacturer = Google | name = Pixel 4a | codename = google-sunfish | image = File:CHANGE_ME_TO_DEVICE_CODENAME.jpg | imagecaption = CHANGE_ME | releaseyear..."
 
JIaxyga (talk | contribs)
uboot
 
(25 intermediate revisions by 7 users not shown)
Line 3: Line 3:
| name = Pixel 4a
| name = Pixel 4a
| codename = google-sunfish
| codename = google-sunfish
| image = File:CHANGE_ME_TO_DEVICE_CODENAME.jpg
| image = File:Pixel4aSunfish.jpg
| imagecaption = CHANGE_ME
| imagecaption = Pixel 4a
| releaseyear = 2020
| releaseyear = 2020
| originalsoftware = Android 10
| originalsoftware = Android
| chipset = Qualcomm Snapdragon 730G SM7150-AB
| originalversion = 10
| chipset = Qualcomm Snapdragon 730G (SM7150-AB)
| cpu = Kryo 470
| cpu = Kryo 470
| gpu = Adreno 618
| gpu = Adreno 618
Line 14: Line 15:
| memory = 6 GB
| memory = 6 GB
| architecture = aarch64
| architecture = aarch64
| type = handset
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
| status_usbnet = <!-- USB networking does work? then put Y here and delete this comment -->
| status_usbnet = Y
| status_flashing = <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. -->
| status_flashing = Y
| status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. -->
| status_touch = N
| status_screen = <!-- The display is working? -->
| status_screen = Y
| status_wifi = <!-- Wireless network works? -->
| status_wifi = Y
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_xwayland = Y
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_fde = P
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_emmc = Y
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_mainline = Y
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_battery = P
| status_3d = Y
| status_audio = <!-- Using the device's speakers/headphone jack works -->
| status_audio = <!-- Using the device's speakers/headphone jack works -->
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
| status_bluetooth = Y
| status_camera = <!-- Taking photos and videos works. -->
| status_camera = <!-- Taking photos and videos works. -->
| status_gps = <!-- The Global Positioning System sensor works.  -->
| status_gps = <!-- The Global Positioning System sensor works.  -->
| status_mobiledata = <!-- Connecting to the Internet via cellular network. -->
| status_mobiledata = Y
| status_sms = <!-- Sending and receiving short messages works as intended. -->
| status_sms = Y
| status_calls = <!-- Talking to other people over the cellular network. -->
| status_calls = Y
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_otg = Y
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_usba = <!-- Full-sized USB-A port works (Usually applicable to SBCs and laptops) -->
| status_usba = -
| status_hdmidp = <!-- Video and audio output with HDMI or DisplayPort works -->
| status_sdcard = -
| status_keyboard = <!-- Keyboard works (Mark "-" if device doesn't have a keyboard) -->
| status_hdmidp = -
| status_touchpad = <!-- Touchpad works (Usually applicable to laptops) -->
| status_keyboard = -
| status_irtx = <!-- Infrared (IR) port works -->
| status_touchpad = -
| status_trustzone = <!-- TrustZone works -->
| status_irtx = -
| status_irrx = -
| status_stylus = -
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_magnet = <!-- Magnetometer works -->
| status_magnet = <!-- Magnetometer works -->
Line 48: Line 53:
| status_barometer = <!-- Barometer works -->
| status_barometer = <!-- Barometer works -->
| status_powersensor = <!-- Power sensor works -->
| status_powersensor = <!-- Power sensor works -->
| status_fossbootloader = <!-- Device has a free and open source bootloader -->
| status_ethernet = -
| booting = no <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
| status_fossbootloader = P
 
| status_uboot = Y
<!-- you can also use these lines if you need to:
| status_uboot_primary = -
if the device haven't originally ran Android OS, e.g. Nokia N900
| status_uboot_secondary = Y
| n-android =
| status_uboot_mainline = Y
Version of the kernel that pmos is running
| status_uboot_internalstorage = Y
| pmoskernel = 3.x.x
| status_uboot_sd = -
see Unixbench page on wiki
| status_uboot_usbhost =
| whet_dhry = 0.0
| status_uboot_usbperipheral = Y
-->
| status_uboot_screen = Y
}}
| status_uboot_keyboard = -
| status_uboot_buttons = Y
| booting = yes
| packaged = no
}}{{Based on SoC|Qualcomm_Snapdragon_730/730G/732G_(SM7150) |Snapdragon 730G}}


== Contributors ==
== Contributors ==
* AceOfSpadesProduc100
* [[User:JIaxyga|JIaxyga]]
* Smaybius (AceOfSpadesProduc100)


== Users owning this device ==
== Users owning this device ==
{{Device owners}}
{{Device owners}}
<!-- autogenerated, use {{Owns device|devicepage|notes}} on your profile page -->
<!-- use _ instead of spaces in device page name, e.g. {{Owns device|HTC_Desire_(htc-bravo)|custom notes}}-->
<!-- you may need to purge page cache to see changes (more->purge cache)-->
<!-- you can use {{My devices}} on your profile page to show table with all your devices -->


== How to enter flash mode ==
== How to enter flash mode ==
With developer mode, OEM unlocking, and USB debugging enabled, connect the phone to your PC and enter `adb reboot bootloader` in your command line and it'll enter fastboot mode.
With developer mode, OEM unlocking, and USB debugging enabled, connect the phone to your PC and enter `adb reboot bootloader` in your command line and it'll enter fastboot mode.
== Mainline ==
A work in progress mainline kernel is being developed [https://github.com/sm7150-mainline/linux here].
=== Mainline status ===
Feature table for [[Qualcomm_Snapdragon_730/730G/732G_(SM7150)#Mainline|SM7150]] </br>
Device feature table:
{|class="wikitable feature-colors"
! Component !! Model !! Status !! Notes
|-
| Display || Samsung sofef00 or sofef01 || ? ||
|-
| Touchscreen || fts || N || Connected via i2c7 @49 (0xa84000)
|-
| Charging || USE PMIC || ? || slg51000-regulator, connected via i2c9 @75 (0xa8c000)
|-
| Accelerometer and gyroscope || STMicro LSM6DSR || ? ||
|-
| Ambient light and proximity sensor || AMS TCS3701 || ? ||
|-
| Magnetometer || STMicro LIS2MDL || ?
|-
| Haptics/Vibrator || Texas Instruments drv2624 || ? || i2c9 @5a (0xa8c000)
|-
| Barometer || Bosch BMP380 || ? ||
|-
| rowspan = 4 | Sound || Cirrus cs35l41 || ? || i2c9 @40 (0xa8c000)
|-
| cs35l41 || ? || i2c9 @41 (0xa8c000)
|-
| rt5514 || ? || i2c2 @57 (@0x888000)
|-
| rt5514 || ? || spi0.0 (0x880000)
|-
| rowspan = 3 | Camera || Sony IMX355_s5 || ? || Front camera
|-
| Sony IMX363_s5 || ? || Rear camera
|-
| Qualcomm SOC connections || ? || qcom,a5@ac00000
|-
| NFC || st21nfc || ? || Connected via i2c2 @08 (0x888000)
|-
| Fingerprint || fp_fpc1020 || ? ||
|-
| rowspan = 5 | Other || at24 || ? || i2c 2-0050
|-
| drv2624 || ? || i2c9 @5a (@0xa8c000)
|-
| dummy || ? || i2c 2-0051
|-
| dummy || ? || i2c 2-0052
|-
| dummy || ? || i2c 2-0053
|}


== Installation ==
== Installation ==
Line 78: Line 138:


== See also ==
== See also ==
<!--
* [https://www.gsmarena.com/google_pixel_4a-10123.php GSMArena page]
Link to related GitLab issues or merge requests like the following (replace CHANGEME with the ID, e.g. 1234):
* {{MR|CHANGEME|pmaports}} Initial merge request
* {{issue|CHANGEME|pmaports}} Some related issue
You can also add normal web links:
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 Replicant wiki page]
-->
<!--
If you manage to get your device packages merged, uncomment links below and change DEVICE_CODENAME with the actual one.
* {{Device package|DEVICE_CODENAME}}
* {{Kernel package|DEVICE_CODENAME}}
-->

Latest revision as of 17:45, 4 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.
Google Pixel 4a
Pixel 4a
Pixel 4a
Manufacturer Google
Name Pixel 4a
Codename google-sunfish
Released 2020
Type handset
Hardware
Chipset Qualcomm Snapdragon 730G (SM7150-AB)
CPU Kryo 470
GPU Adreno 618
Display 5.81 inch 2340x1080 AMOLED
Storage 128 GB
Memory 6 GB
Architecture aarch64
Software
Original software Android
Original version 10
FOSS bootloader partial
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
Battery
Partial
Screen
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Works
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Works
GPS
No data
NFC
No data
Modem
Calls
Works
SMS
Works
Mobile data
Works
Miscellaneous
FDE
Partial
USB OTG
Works
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data
Power Sensor
No data
U-Boot
Secondary Bootloader
Works
Mainline
Works
Internal Storage
Works
USB Host
No data
USB Peripheral
Works
Display
Works
Buttons
Works

Contributors

  • JIaxyga
  • Smaybius (AceOfSpadesProduc100)

Users owning this device


How to enter flash mode

With developer mode, OEM unlocking, and USB debugging enabled, connect the phone to your PC and enter `adb reboot bootloader` in your command line and it'll enter fastboot mode.

Mainline

A work in progress mainline kernel is being developed here.

Mainline status

Feature table for SM7150
Device feature table:

Component Model Status Notes
Display Samsung sofef00 or sofef01 ?
Touchscreen fts N Connected via i2c7 @49 (0xa84000)
Charging USE PMIC ? slg51000-regulator, connected via i2c9 @75 (0xa8c000)
Accelerometer and gyroscope STMicro LSM6DSR ?
Ambient light and proximity sensor AMS TCS3701 ?
Magnetometer STMicro LIS2MDL ?
Haptics/Vibrator Texas Instruments drv2624 ? i2c9 @5a (0xa8c000)
Barometer Bosch BMP380 ?
Sound Cirrus cs35l41 ? i2c9 @40 (0xa8c000)
cs35l41 ? i2c9 @41 (0xa8c000)
rt5514 ? i2c2 @57 (@0x888000)
rt5514 ? spi0.0 (0x880000)
Camera Sony IMX355_s5 ? Front camera
Sony IMX363_s5 ? Rear camera
Qualcomm SOC connections ? qcom,a5@ac00000
NFC st21nfc ? Connected via i2c2 @08 (0x888000)
Fingerprint fp_fpc1020 ?
Other at24 ? i2c 2-0050
drv2624 ? i2c9 @5a (@0xa8c000)
dummy ? i2c 2-0051
dummy ? i2c 2-0052
dummy ? i2c 2-0053

Installation

See also