nyuuzyou/wikis huggingface dataset:
Qualcomm Snapdragon 600 (APQ8064)

== Devices ==
=== Snapdragon 600 (APQ8064[-AB]) ===
== Status ==
* 4.11 kernel in best shape, since it's not LTS, doesn't have security patches
* ..IOMMU and DMA got broken since 4.12-rc1 
* 4.14 somehow work +- reliably 
* 4.19 some issues with wifi scanning, GPU sometimes work 
* 5.4 seems to be working, has to be enabled manually Wi-Fi which kills usb
* 5.10 working thou there are issues with USB (must be connected at boot to get connection, when WiFi connects got lost, when connected WiFi is lost and usb still don't work)
* 5.13+ kernel with APQ8064 you must pass to cmdline fw_devlink=permissive
* -next working! needs 5.13+ hack and currently framebuffer freeze after while
Note:
* for getting GPU to work you'll need firmware.
* for WiFi you need also firmware and you can enable WiFi by running echo start > /sys/class/remoteproc/remoteproc0/state
== Mainlining ==
Development
* https://github.com/apq8064-mainline/linux/tree/qcom-apq8064-next
LTS
* https://github.com/apq8064-mainline/linux/tree/qcom-apq8064-v5.10 (can be replaced in LTS range v4.14 - v5.10)
I'm trying to ensure that all relevant changes get backported at least to the latest LTS (at moment of writing 5.10).
If you have device DTS which works with any of these kernels, feel free to send MR!
== To-do list for mainline ==
* Check if drm/msm/adreno/a3xx is in line with latest downstream (this seems like a good reference)
* Test, test test :)
== Block Diagram ==
== Documentation ==
* APQ8064
** APQ8064 datasheet
** APQ8064 Hardware Register description
** APQ8064 GPIO pin assignment
** APQ8064E Recommended memory controller and device settings
** APQ8064E DSI programming guide (downstream)
** WCD9311 Audio Codec
* PMM892x
** Power Management Module specification (PMM8920)
** PM8xxx API specification (downstream)
Qualcomm Snapdragon 650/652/653 (MSM8956/MSM8976)

SDM650/SDM652/SDM653 are Qualcomm SoCs released in 2016.
== Devices ==
=== MSM8956 ===
=== MSM8976 ===
== CPU ==
8 cores are up and running with frequency scaling, not all possible frequencies are enabled due to missing power managment components.
== Global clock controller (GCC) ==
Patch on mailing list:commit
== GPU ==
It works just fine.
== Audio ==
ADSP remoteproc wake up with MSM8953 pil adsp settings however attempt on bringing QDSP6 ends with -110 error following by watchdog kicking in and rebooting device.
== WIFI/BT ==
Works fine with pronto-v3.
== Camera ==
Platform data needs to be added.
Out of tree commit:
https://github.com/konradybcio/linux/commit/157b757e2cf6115fc0dc6b001a2d117a00525211 
== Venus ==
Platform data needs to be added.
Out of tree commit:
https://github.com/konradybcio/linux/commit/073879f8d732bdc92ee970c46b44945e07637be4
= Needed workarounds =
IOMMU: GPU secure contexts cannot be re-programmed so touching secure context ends with device panic and reboot.
Pinctrl: Definition for WCSS pins needs to be updated as base platform for porting(Loire) didn't use wcnss but Broadcom chip: commit
Regulators: Needed fix: commit
Power Domains: Voltage floor level regulators needs to be changed from RWSC/RWSM to SMPA type according to downstream DTS.
Also max_state should be changed from RPM_SMD_LEVEL_TURBO_HIGH to RPM_SMD_LEVEL_TURBO as during iris probe calling for highest state reset device.
Qualcomm Snapdragon 680 (SM6225)

SM6225 (Snapdragon 680) is a mid-range Qualcomm SoC released in 2019. Internal msm codename for platform is khaje.
== Devices ==
=== SM6225 (Snapdragon 680) ===
== Help with Development! ==
If you own a Snapdragon 680 based device and want to help with postmarketOS & mainline development, head over to the postmarketOS mainline channel for SM6225.
Feel free to ping @TQMatvey:matrix.org.
Or message me on Telegram
Qualcomm Snapdragon 690 5G/750G (SM6350/SM7225)

SM6350 (Snapdragon 690 5G) and SM7225 (Snapdragon 750G) are mid-range ARMv8.2-A (64-bit) Qualcomm SoCs released in 2020. Internal msm codename for platform is lagoon.
== Devices ==
=== Snapdragon 690 5G ===
=== Snapdragon 750G ===
Qualcomm Snapdragon 710 (SDM710)

The Snapdragon 710 is a mid-range Qualcomm Soc released in 2018.
== Mainline ==
Currently mainline refuses to boot (testing on Realme 3 Pro).
== Devices ==
== Notes ==
* It appears to be very similar to the sdm670
* It is built on a better manufacturing node (TSMC vs Samsung), which accounts for slightly bumped clocks.
* It has a bumped GPU name adreno 616, however they appear very similar.
* There is a modem update from x12 to x15.
* Apart from this they share mostly the same things, and a diff on the outputted dtc files shows above differences plus some audio and pin changes.
* All downstream sdm710 kernels inherit from sdm670.dtsi and friends.
* It might be better to base a mainline attempt off sdm670 based kernel / inherit from upstream sdm670.dtsi?
Qualcomm Snapdragon 720G (SM7125)

SM7125 (Snapdragon 720G) is a premium mid-range Qualcomm SoC released in 2020. Internal msm codename for this platform is rennell and atoll for the family. The Snapdragon 720G is software-wise very similar to the Snapdragon 7c with minor differences in clock speeds and uses Kryo 465 cores instead of Kryo 468 cores.
== Devices ==
== Mainline ==
The upstream kernel has support for SM7125
== Join us ==
Feel free to join us at #sm7150-mainline:matrix.org on Matrix. This chatroom is for SM7125 and SM7150.
Qualcomm Snapdragon 778G/778G+/782G (SM7325)

Snapdragon 778G (SM7325), Snapdragon 778G+ (SM7325-AE) and Snapdragon 782G (SM7325-AF) are premium mid-range Qualcomm SoCs released in 2021 and 2022.
Additionally the IoT variants QCM5430 and QCM6490, and a compute variant Snapdragon 7c+ Gen 3 (SC7280) exist.
It is part of the Kodiak family of Qualcomm chips and has the codename Yupik.
== Devices ==
=== Snapdragon 778G (SM7325) ===
=== Snapdragon 778G+ (SM7325-AE) ===
=== Snapdragon 782G (SM7325-AF) ===
=== QCM6490 ===
== See also ==
* Mainline kernel with SM7325 device trees
* Another mainline kernel with SM7325 device trees
__NOTOC__
Qualcomm Snapdragon 7c (SC7180)

SC7180 (or Snapdragon 7c) is an entry-level Qualcomm SoC announced in 2019 and released in 2020. A second version of the Snapdragon 7c was released a year and a half later with slightly higher CPU clock speeds, known as the Qualcomm Snapdragon 7c Gen 2.
== Devices ==
=== Snapdragon 7c (SC7180) ===
=== Snapdragon 7c Gen 2 (SC7180P) ===
Qualcomm Snapdragon 800/801 (MSM8974)

MSM8274/MSM8674/APQ8074/MSM8974AA (or Snapdragon 800) is a Qualcomm SoC released in 2013, with decent mainline support. There is also a slightly higher clocked MSM8974Pro-AB and a final, supposedly less hot MSM8974v3/MSM8974Pro-AC also known as Snapdragon 801. The early (MSM8974v1) versions seem to not have been used in production devices. Shipped with either PM8841+PM8941 or PM8084+PM8941 (Pro-AC variants) (or PMA8084 + MAX77826 in samsung-klte).
The combination of (most?) vendors not using msm-id & board-id and little-differing naming scheme of various revisions of this SoC can be highly misleading and lead to misunderstandings. For a simple (and inconclusive) demonstration of this, see xiaomi-cancro.
== Devices ==
=== Snapdragon 800 (MSM8x74v2.x[-AA]) ===
=== Snapdragon 801 (MSM8x74Pro-AB) ===
=== Snapdragon 801 "Final" (MSM8x74Pro-AC) ===
=== Snapdragon 800 (APQ8074v2.x[-AA]) (WiFi-only) ===
=== Snapdragon 801 (APQ8074Pro-AB) (WiFi-only) ===
=== Snapdragon 801 "Final" (APQ8074Pro-AC) (WiFi-only) ===
== To-do list for mainline ==
* Fix up and resubmit this IOMMU series
* Fix up and resubmit this BMS series
* Write and submit a driver for audio codec(s?) partially in flto's tree
* Check if drm/msm/adreno/a3xx is in line with latest downstream (this seems like a good reference)
* Fix up mesa by comparing kgsl and freedreno RD dumps like is described here
* Add DVFS for various components
* Clean up the device tree
* Clean up and submit various drivers (like camss) from flto's tree
* Test, test test :)
Qualcomm Snapdragon 808/810 (MSM8992/MSM8994)

MSM8992 and 
MSM8994 are Qualcomm SoCs released in 2015. The Snapdragon 808 is identical to the Snapdragon 810 with only two Cortex-A57 cores instead of four.https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/qcom/msm8992.dtsi#L8
== Devices ==
=== MSM8992 (Snapdragon 808) ===
=== MSM8994 (Snapdragon 810) ===
=== Mainline ===
There is limited functionality in msm8994.dtsi and msm8992.dtsi, phones varies with using this support. Some of the phones allows to use mainline kernel package linux-postmarketos-qcom-msm8994 in postmarketOS.
== References ==
Qualcomm Snapdragon 820/821 (MSM8996)

MSM8996/APQ8096 (or Snapdragon 820) is a Qualcomm SoC released in 2016, with great mainline support orginally added for the Dragonboard 820c. There is also a slightly higher clocked (and supposedly less problematic architecture-wise) MSM8996Pro also known as Snapdragon 821.
== Devices ==
=== APQ8096(SG) (Snapdragon 820E, WiFi-only) ===
=== MSM8996 (Snapdragon 820) ===
=== MSM8996Pro (Snapdragon 821) ===
== Porting to a new device ==
Getting mainline to boot on MSM8996 devices is generally a straightforward process. Check the mainlining guide to get started:
== Booting ==
On at least the Xiaomi Mi Note 2, some IOMMU hacks (1, 2) are needed to let it to boot properly. Otherwise it would crash and reboot as soon as the MDP SMMU is probed.
== USB ==
Enabling usb3 or usb2 depending on which one the USB port is connected to should be enough to make USB work, although forcing it to peripheral mode might be needed before adding support for extcon:
MSM8996 USB peripheral mode configuration
 &usb3 {
 	...
 
 	dwc3@6a00000 {
 	 	dr_mode = "peripheral";
 	 	...
 	};
 };
Some devices have a USB 2.0 port wired to usb3. In this case it must be limited to high-speed and have usb3phy removed from it:
MSM8996 USB 2.0 configuration
 &usb3 {
 	/* Disable USB3 pipe_clk requirement */
 	qcom,select-utmi-as-pipe-clk;
 	...
 
 	dwc3@6a00000 {
 		/* usb3-phy is not used on this device */
 		phys = <&hsusb_phy1>;
 		phy-names = "usb2-phy";
 
 		/* Limit USB to high-speed */
 		maximum-speed = "high-speed";
 		...
 	};
 };
== Haptics ==
Haptics are supported, see Haptics for more details.
== See also ==
* msm8996-mainline/linux a common near-mainline kernel tree for MSM8996 devices.
* Xiaomi_Mi_Note_2_(xiaomi-scorpio)#Mainline
== Who's working on it ==
* User:Tooniis (@tooniis on Matrix)
* User:WolfLink115 (@WolfLink115 on Telegram, @wolflink115 on Discord)
Qualcomm Snapdragon 855 (SM8150)

SM8150 (or Snapdragon 855) is a high-end Qualcomm SoC released in 2019 with mainline support originally added for the MTP (proven reference design) board towards the end of 2019. Internal msm codename for platform is hana (HLOS codename msmnile).
== Devices ==
=== Snapdragon 855 (SM8150) ===
=== Snapdragon 860 (SM8150-AC) ===
== UFS internal storage ==
== See also == 
sm8150-mainline a close-to mainline kernel tree for SM8150 devices.
 Initial pmOS package for the sm8150 kernel tree
== Who's working on it ==
* User:Caleb (@caleb:postmarketos.org on Matrix)
* User:Uclydde (@uclydde on Matrix)
* User:Adomerle (@adomerle:matrix.org on Matrix)
* User:Omnidapps (@omnidapps:matrix.org on Matrix)
== Join us ==
Feel free to join us at #sm8150-mainline:matrix.org on Matrix.
Qualcomm Snapdragon 865/865+/870 (SM8250)

== Devices ==
=== Snapdragon 865 ===
=== Snapdragon 865+ ===
=== Snapdragon 870 ===
== UFS internal storage ==
== Join us ==
Feel free to join us at #sm8250-mainline:matrix.org on Matrix or #sm8250-mainline on OFTC.
== See also ==
* Linaro mainline status
Qualcomm Snapdragon 8 Elite (SM8750)

The Qualcomm Snapdragon 8 Elite is a high-end mobile SoC used in flagship devices. It was announced on 21. October 2024https://www.qualcomm.com/news/releases/2024/10/qualcomm-unveils-snapdragon-8-elite-with-the-world-s-fastest-mob.
== Devices ==
== Notes ==
Qualcomm Snapdragon 8 Gen 3 (SM8650)

The Qualcomm Snapdragon 8 Gen 3 is a high-end mobile SoC used in flagship devices. It was announced on 24. October 2023 and has the codename lanai and is part of the pineapple family. Mainline support has been added by Neil Armstrong in v6.6https://www.linaro.org/blog/upstream-linux-support-now-available-for-the-the-qualcomm-snapdragon-8-gen-3-mobile-platform/.
* Mainline status
== Devices ==
== Notes ==
Qualcomm Snapdragon S1

There are multiple SoCs with the Qualcomm Snapdragon S1 name:
Model 	CPU 	GPU 	Notes
MSM7225/MSM7625 	1x528MHz ARM11 (ARMv6) 	Software rendered	The earliest S1 chips; missing a hardware floating point, thus unable to run postmarketOS (see Unsupported Devices).
MSM7227/MSM7627 	1x800MHz ARM11 (ARMv6) 	Adreno 200 	Later ARMv6 S1 chips; unlike their predecessors, these do have a hardware floating point.
MSM7225A/MSM7625AMSM7227A/MSM7627AMSM7225AB	1x800MHz/1x1GHz Cortex-A5 (ARMv7)	Adreno 200 	ARMv7-based Snapdragon S1 chips.
QSD8250/QSD8650 	1x1GHz Scorpion (ARMv7) 	Adreno 200 	
== Devices ==
Qualcomm Snapdragon S1 (QSD8250)

The Qualcomm Snapdragon S1 QSD8250 is one of the first Snapdragon SoCs for Smartphones and Tablets. It features a Scorpion CPU Core, an Adreno 200 GPU and a GSM/UMTS Modem
== Devices with a Snapdragon S1 QSD8250 Chipset ==
Qualcomm Snapdragon S4

There are multiple chips from the Qualcomm Snapdragon S4 family:
Model 	CPU 	GPU 	Notes
Snapdragon S4 PlayMSM8225/MSM8625 	2x1.2GHz Cortex-A5 	Adreno 203 (320MHz) 	
Snapdragon S4 Plus/Snapdragon 400MSM8227/MSM8930 	2x1GHz/1.2GHz Krait	Adreno 305 (320/400MHz)	
Snapdragon S4 PlusMSM8960 	2x1.5GHz Krait 	Adreno 225 (400MHz) 	
Snapdragon S4 Pro/Snapdragon 600APQ8064 	4x1.5GHz Krait 	Adreno 320 (400MHz) 	
Qualcomm Snapdragon S4 ProMSM8960T/MSM8960AB/MSM8960DT	2x1.7GHz Krait 	Adreno 320 (400MHz) 	
== Devices ==
Qualcomm Snapdragon S4 Plus/400 (MSM8227/MSM8930)

Other Qualcomm chips from the S4 series; similar to the Qualcomm Snapdragon S4 Plus (MSM8960) and Qualcomm Snapdragon 600 (APQ8064).
The MSM8225/MSM8625 (Snapdragon S4 Play) appears to be more similar to the Snapdragon S1 (MSM7627A).
== Devices ==
=== Snapdragon S4 Plus (MSM8227) ===
=== Snapdragon S4 Plus (MSM8230/MSM8630) ===
=== Snapdragon 400 (MSM8930) ===
== See also ==
* MSM8227 Mainlining
Qualcomm Snapdragon S4 Plus (MSM8960)

The Qualcomm MSM8960 (Snapdragon S4 series) is a high-end smartphone SoC in 2012. It contains two Krait (ARMv7) CPU cores at 1.5 - 1.7 GHz, an Adreno 225 GPU (400 MHz), a LPDDR2 memory controller (up to 500 MHz) and radio elements including LTE. The chip is produced in 28nm LP (low power process) at TSMC.
== Devices ==
=== Snapdragon S4 Plus (MSM8960) ===
=== Others ===
There are other SoC models part of the S4 Plus series:
* APQ8064
* APQ8060A
* MSM8660A
* MSM8260A
* APQ8030
* MSM8930
* MSM8630
* MSM8230
* MSM8627
* MSM8227
* MSM8625
* MSM8225
Source: https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/documents/SD_Product_Brief.pdf
== Mainline ==
At this moment, work is mostly done in https://github.com/apq8064-mainline/linux git tree.
== Mainline Tips ==
=== DTS ===
This chipset should be supported inside the mainline kernel, yet first devices trees (DT) based on arch/arm/boot/dts/qcom-msm8960-cdp.dts file are to be expected. Another starting point for MSM8960 devices: https://github.com/andersson/kernel/blob/41e99cea7c35e82d74862b0293a24a1930c322c4/arch/arm/boot/dts/sony-blue-mint.dts (beware, very old, 2015). Some other MSM8960 dts files are listed here: https://github.com/apq8064-mainline/linux/tree/qcom-apq8064-next/arch/arm/boot/dts
==== UART ====
This is all you need to get UART on your device (hopefully):
// SPDX-License-Identifier: GPL-2.0-only
#include 
#include "qcom-msm8960.dtsi"
/ {
	model = "<device name>";
	compatible = "<vendor>,<codename>", "qcom,msm8960";
	aliases {
		serial0 = &gsbi5_serial;
	};
	chosen {
		stdout-path = "serial0:115200n8";
	};
	
	soc {
		gsbi@16400000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C_UART>;
			serial@16440000 {
				status = "okay";
			};
		};
	};
};
=== Initrd Error ===
If you get something like this:
[ 3.068176] Trying to unpack rootfs image as initramfs...
[ 3.070859] rootfs image is not initramfs (invalid magic at start of compressed archive); looks like an initrd
It's most likely the kernel overwriting parts of postmarketOS's initramfs. You need to do one of the following:
* In device-<vendor>-<codename>/deviceinfo, increase the value in deviceinfo_flash_offset_ramdisk. Make sure it doesn't overlap with another region.
* Decrease your kernel size by editing your CONFIGs. Some suggestions:
** In https://github.com/apq8064-mainline/linux, do make qcom_apq8064_defconfig and use that as your new config-<vendor>-<codename>.armv7 in aports/device/testing/linux-<vendor>-<codename>. Make sure you source pmbootstrap/helpers/envkernel.sh first!
** Set CONFIG_CC_OPTIMIZE_FOR_SIZE=y
** Remove the entire networking stack (for now)
== See also ==
* MSM8960 Mainlining
* Very similar to the Qualcomm Snapdragon 600 (APQ8064). The biggest difference is the number of cores and GPU. Most of pin and memory mapping is compatible, though, there are some caveats (e.g. different numbers of GSBIs).
* Qualcomm Snapdragon S4 Plus/400 (MSM8227/MSM8930)
Qualcomm Snapdragon Sensor Core

Qualcomm SoCs such as MSM8998, SDM845, etc. contain a DSP to handle all sensors.
This DSP is called 'Qualcomm Snapdragon Sensor Core' (SSC) or Sensor Low Power Island (SLPI).
It is responsible for interfacing with all sensors of a phone such as proximity sensor, light sensor, accelerometer, gyroscope, and many many more.
The SoC hypervisor prohibits accessing the sensors directly, so we have to interface with this component in order to get the sensors to work on these SoCs.
2 generations of SSC exist:
* MSM8998 & co.: QMI-only "Sensor Manager" based SSC.
** Support was being worked on in pmaports!4118 (closed)
** With this generation it is often possible to access the sensors directly anyway by bit-banging i2c
* SDM845 and newer: Protobuf-based SSC encapsulated in QMI.
** Support was merged in pmaports!4050 \o/
== Development details ==
=== Generation 1: MSM8998 ===
==== DTS ====
SLPI is just a regular DSP, existing drivers in the mainline kernel can be re-used to boot it.
Details: https://emainline.gitlab.io/2021/10/06/Unlocking_SSC_P1.html
==== Communication ====
All communication with the host happens with QMI messages.
The SLPI pops up as a QMI service which you can list with qrtr-lookup
 $ qrtr-lookup
 Service Version Instance Node Port
 66 1 20 9 4 Service registry notification service
Several messages exist to retrieve sensors, their values, configure them, etc.
Sensors must be initialized first before they give out data.
Details: https://emainline.gitlab.io/2022/04/08/Unlocking_SSC_P2.html
=== Generation 2: SDM845 or later ===
==== DTS ====
SLPI is just a regular DSP, existing drivers in the mainline kernel can be re-used to boot it.
==== Communication ====
While generation 1 uses only QMI, generation 2 uses Google's ProtoBuf for communicating.
ProtoBuf messages are encapsulated into QMI messages.
The SLPI pops up as a QMI service which you can list with qrtr-lookup
 $ qrtr-lookup
 Service Version Instance Node Port
 400 X XX X X Unknown
Since ProtoBuf messages are binary encoded, we cannot really see the content easily like with QMI's Type-Length-Value (TLV) scheme.
Fortunately, some reverse engineering tools exist to decode ProtoBuf message such as ProtoBuf Inspector.
You may also find the ProtoBuf message definitions in Android builds as they are sometimes supplied with it, look for *.proto files.
== Links ==
* https://emainline.gitlab.io/2021/10/06/Unlocking_SSC_P1.html
* https://emainline.gitlab.io/2022/04/08/Unlocking_SSC_P2.html
* https://github.com/mildsunrise/protobuf-inspector
* https://codeberg.org/DylanVanAssche/libssc/src/branch/main/docs/Qualcomm-Sensorcore-Docs.md
RCA Voyager III (sofiaboard)

== Contributors ==
* SnappedAll (put your username here!)
== Users owning this device ==
== How to enter flash mode ==
== Installation ==
Use pmbootstrap to build your own installation image of another x86_64 device, as we have to use a prebuilt kernel on this one.
$ pmbootstrap init
$ pmbootstrap install --sdcard=/dev/sdX
(we use sdcard as internal storage is slow, buggy and dm-verity is acting strangely)
== Notes ==
This x86 tablet has a Mali GPU, which is quite a weird combination. The Lima driver has not yet been tested on x86.
It uses the Simple Firmware Interface for discovering system timers and non-enumerable buses, but other stuff can be found using PCI. SFI has been dropped from mainline, so unless that is merged back the best thing is close-to-mainline on a fork of kernel version 5.10 which was the last kernel that supported it or use second stage bootloader Petitboot to boot newer kernels with devicetree.(See Motorola RAZR i (XT890) (motorola-smi)'s device package).
Considering that regular UEFI is supported in Linux, porting EDK-II might be an interesting option for getting mainline Linux to boot .
=== Downstream kernel ===
For working 3D graphics, mainline would be required, but having a port with downstream could be used in the meantime.
== See also ==
* Asus ZenPad 7 (asus-p01z)
* Intel MID
RDA Microelectronics RDA8810PL

RDA8810PL is an SoC (system-on-chip) released in 2014 by RDA Microelectronics and used in some low-end smartphones.
The SoC supports triple-SIM which is unheard of in today's smartphones. Due to the modem being 2G-only, it may not be possible to use it as a phone in some countries due to 2G being phased out.
According to downstream source code, there's also RDA8810E and RDA8810H but there hasn't been any known devices in the wild.
== Devices ==
Rabbit R1 (rabbit-r1)

The Rabbit R1 is a thin client with a Helio P35 (MT6765) which runs Rabbit OS, a fork of AOSP, more specifically the MediaTek AOSP BSP. It supports LTE, Wi-Fi, and Bluetooth for connectivity.
The hardware was designed by Teenage Engineering.
During the first few months after launch Rabbit didn't provide the GPL sources to end users, but they have since released the kernel source tree here.
== Contributors ==
== Users owning this device ==
== How to enter flash mode ==
== See also ==
* The Wikipedia page for the Rabbit R1
* kernel sources
Radxa Zero (radxa-zero)

== Maintainer(s) ==
* exkc
== Contributors ==
* Medusa
== Users owning this device ==
== How to enter flash mode ==
hold down usb-boot button on back of pcb
== How to use the boot rom ==
see Amlogic
==Expose embedded eMMC as a USB Mass Storage device==
Fellow https://wiki.radxa.com/Zero/dev/maskrom#Enable_maskrom
== Installation ==
1. Follow the steps on Installation_guide#Initialization
2. Choose the radxa-zero device
3. Start the build process and install the completed image to a sdcard
$ pmbootstrap install --sdcard /dev/sdX
(replace /dev/sdX with the device for your sdcard or the emmc of it)
4. If you install pm os on sdcard , then Place the sdcard into the Radxa Zero and boot it. If not unplug the usb cable.
==Boot process==
If emmc is bootable :
bootrom ==> emmc ==> uboot ==> postmarketOS
Else if sdcard is bootable :
bootrom ==> emmc ==> uboot ==> postmarketOS
Else :
bootrom ==> flashmode
==Wifi==
Depend on your Radxa Zero, it might be had one of those Wi-Fi modules : AW-CM256SM(some of the Radxa Zero v1.5 had this),AP6256(Radxa Zero 2/4/8GB had this),AP6212(Radxa Zero 1024/512MB had this) so the wifi of your Radxa Zero might not work due to the wifi modules on your Radxa Zero isnt supported by the kernel or the firmware that is in the pm os.
As of now , the only Wi-Fi modules that seem to supported by the kernel and the firmware is AP6256.
== See also ==
* Initial merge request (First Attempt)
* Initial merge request (Second Attempt)
Raspberry Pi

Raspberry-Pi-Zero-1-1755x1080.jpg|link=Raspberry_Pi_Zero |Raspberry Pi Zero
Raspberry-Pi-Model-B-1-1619x1080.jpg|link=Raspberry_Pi_1_/_2_(raspberry-pi) |Raspberry Pi 1 & 2
Raspberry-Pi-3-hero-1-1571x1080.jpg|link=Raspberry_Pi_3 |Raspberry Pi 3
1280px-Raspberry Pi 4 Model B - Side.jpg|link=Raspberry_Pi_4 |Raspberry Pi 4
Category:Devices