Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Update 20181004: You can find the old patches here (applied to linux-next 20180315 ba5add06b563a492a599fd55074327c66261fa58)
- USB OTG
- Display / GPU (no iommu, clocks not properly configured for full performance)
- Sensors (except proximity+light)
- Status LEDs
- Volume/power buttons
- Hardware video encode / decode
- Modem (tested GPS only, I don't have a SIM card)
- Camera (only front camera, raw only, missing sensor controls, no ois)
- Audio (headphone output is possible)
- Fuel gage (minimal/incomplete driver)
- Flash LED (no driver)
- NFC (no driver + I can't test this)
- HDMI (I don't have the cable, but should be easy to get working?)
- Wireless charging (I can't test it, but it might work already?)
- Hardware JPEG compression
- IOMMUs (used with GPU/audio/camera/venus)
- anything else?
Tested on a hammerhead-rev-11, all revisions except rev-f should work with this kernel (rev-f needs different panel/touch config).
test image (somewhat large because it includes all firmware files)
fastboot boot test.img
After ~10 seconds the screen should display the linux framebuffer console, and the device should appear as a USB network device. Test image sets the device to 10.0.0.2 and runs telnetd.
ip link set usb0 up && ip address add 10.0.0.1/16 dev usb0 telnet 10.0.0.2
Testing is straightforward in most cases (sysfs for sensors, charger, LEDs, wpa_supplicant for wifi, hciconfig/hcitool for bluetooth).
GPU / Touch
killall -9 refresh # first kill the framebuffer refresher MESA_GL_VERSION_OVERRIDE="3.3" MESA_GLSL_VERSION_OVERRIDE="330" test_shell
Hardware accelerated demo program with touch feedback.
media-ctl -V '"msm_csiphy0":0[fmt:SBGGR10/3280x2464]' media-ctl -V '"msm_csid0":0[fmt:SBGGR10/3280x2464]' media-ctl -V '"msm_ispif0":0[fmt:SBGGR10/3280x2464]' media-ctl -V '"msm_vfe0_rdi0":0[fmt:SBGGR10/3280x2464]' media-ctl -l '"msm_csiphy0":1->"msm_csid0":0' media-ctl -l '"msm_csid0":1->"msm_ispif0":0' media-ctl -l '"msm_ispif0":1->"msm_vfe0_rdi0":0' test_camera /dev/video2
picture.raw with a frame from camera, format
Hardware decode / encode
v4l2-encode -d /dev/video1 -c h264 -w 1280 -h 720 -f ./
encoded.h264 with encoded frames from a test pattern
*Missing decode test
mixer set 'CLASS_H_DSM MUX' DSM_HPHL_RX1 mixer set 'HPHL DAC Switch' 1 mixer set 'RX1 MIX1 INP1' RX1 mixer set 'RX2 MIX1 INP1' RX2 mixer set 'SLIM RX1 MUX' AIF1_PB mixer set 'SLIM RX2 MUX' AIF1_PB mixer set 'SLIMBUS_0_RX Audio Mixer MultiMedia1' 1 pcm_test /dev/snd/pcmC0D0p 1024 0
Plays a sine wave in headphones. Doesn't always work.
Dumps NMEA strings from modem. Might take a while to find satellites and give an accurate position since rmtfs is initialized to zero.