Motorola Moto G 2013 (motorola-falcon)

== Contributors ==
* rymate1234
* StandaSK
* Alexdmrk
== Users owning this device ==
== Installing ==
There appears to be no special process to flashing the device, as long as the bootloader is unlocked first.
Once you're in fastboot by holding down , flashing it is as follows:
$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher boot
$ pmbootstrap flasher flash_kernel 
It's highly recommended to flash kernel, otherwise the device won't boot PM: it will boot in Android firmware. Note: charger screen will be broken!
Installation from recovery zip via TWRP doesn't work
== Hardware Status (downstream) ==
CURRENTLY BROKEN!
$ sudo hwtest gives:
Category 	Model 	Path 	Status 	Value
framebuffer	mdssfb_80000 	/sys/class/graphics/fb0	Working	U:720x1280p-54
input 	gpio-keys 	/dev/input/event5 	Working	
input 	qpnp_pon 	/dev/input/event4 	Working	
input 	light-prox 	/dev/input/event3 	Working	
input 	synaptics_dsx_i2c	/dev/input/event2 	Working	
input 	accelerometer 	/dev/input/event1 	Working	
input 	compass 	/dev/input/event0 	Working	
Note: XT1031 shows as MSM8x26 in /proc/cpuinfo:
Hardware	 : Qualcomm MSM8626
Revision	 : 83c0
Device		 : falcon
Radio		 : 3
MSM Hardware	: MSM8626 CS
=== Battery ===
charging-sdl is not supported, but charging works during usb networking. Battery/charging properties are exposed at /sys/class/power_supply/battery/.
Charger versus power key boot shows these differences in /proc/cmdline:
androidboot.mode=mot-charger | androidboot.mode=normal
androidboot.powerup_reason=0x00000100 | androidboot.powerup_reason=0x00000080
bootreason=charger | bootreason=power_key_press
=== USB-OTG ===
Based on dmesg content (only), usb-otg connect/disconnect is recognized.
=== LED ===
Similar to the Moto G 2014, the LED can be controlled:
$ echo 255 > /sys/devices/leds-qpnp-rgb-e1dba000/leds/white/brightness
RGB LED documentation
== Hardware Status (mainline) ==
Component 	Part number / Driver	Works?	Notes
eMMC 	 	Y 	
Touchscreen 	 	N 	
Button 	pm8226_resin 	Y 	Volume Down
Button 	gpio-keys 	Y 	Volume Up
Button 	pm8226_pwrkey 	Y 	Power
WiFi, Bluetooth 	 	N 	
Display (SimpleFB) 	 	Y 	
Display (DRM panel) 	? 	N 	
Backlight 	pm8226? 	P 	Setup by bootloader, not currently configurable.
Front camera 	onsemi MT9M114 	N 	
Rear camera 	onsemi AR0543 	N 	
Rear camera flash 	pm8226? 	N 	
Notification LED 	pm8226 	N 	Connected to MPP 6, can be controlled with gpio-led, but should support LPG (PWM) as well.
Hall effect sensor 	ROHM BU52017HFV 	Y 	Controlled with gpio-keys
Vibrator 	pm8226_vib 	Y 	
Accelerometer 	ST LIS3DH 	Y 	
Magnetometer 	Asahi Kasei AK8963 	Y 	
Temperature sensor 	TI TMP108 	P 	Works and DTS is complete, but the mainline driver doesn't support the ALERT interrupt signal.
Proximity / Ambient light sensor	AMS/TAOS CT406 	N 	Seems similar to AMS/TAOS TSL277x series, which is already supported in mainline.
== UART ==
On phone schematics, there is a block called UART OVER HEADSET, that includes the chips u4950, u4951 and u4952, but they are very likely missing in production boards (DNI means Do Not Include?), as found on a picture of the board available on the web.
Therefore the remaining option is try to get serial output from MSM_UART_TX/RX on JTAG:MINI, which was reported elsewhere on this wiki for Motorola devices.
== lk2nd ==
lk2nd supports falcon starting with version 0.15.0 from September 2023. Follow the installation instructions in the git repo.
== Links ==
* Close to mainline kernel repository
* android_kernel_motorola_msm8226 (downstream kernel)
* falcon_defconfig (downstream defconfig)
* 
* (downstream)
* (near-mainline)
* Merge request adding initial near-mainline support
* Mainline device tree