Skip to content

Instantly share code, notes, and snippets.

View calebccff's full-sized avatar
🏳️‍🌈

Caleb Connolly calebccff

🏳️‍🌈
View GitHub Profile
@calebccff
calebccff / qcom_sound_notes.md
Last active May 15, 2022 16:33
Qualcomm sound architecture notes

Qcom (sdm845) audio

db410c notes

From 96boards docsdragonboard/dragonboard410c/guides/enable-ls-i2s.md.html

  • Primary MI2S - Supports only playback
  • Secondary MI2S - Supports only playback
  • Tertiary MI2S - Supports only capture
@calebccff
calebccff / SHIFT6mq-smb2-dump.log
Created May 11, 2022 15:59
OP6 charger register dump compared to SHIFT6mq
SMB2 DEBUG: (addr = CHGR_BASE, val = 0x00)
SMB2 DEBUG: (addr = 0x1001, val = 0x00)
SMB2 DEBUG: (addr = 0x1002, val = 0x00)
SMB2 DEBUG: (addr = 0x1003, val = 0x00)
SMB2 DEBUG: (addr = 0x1004, val = 0x02)
SMB2 DEBUG: (addr = 0x1005, val = 0x61)
SMB2 DEBUG: (addr = BATTERY_CHARGER_STATUS_1_REG, val = 0x03)
SMB2 DEBUG: (addr = BATTERY_CHARGER_STATUS_2_REG, val = INPUT_CURRENT_LIMITED_BIT)
SMB2 DEBUG: (addr = CHG_OPTION_REG, val = 0x00)
SMB2 DEBUG: (addr = BATTERY_CHARGER_STATUS_3_REG, val = FV_POST_JEITA_MASK=0x7a)
@calebccff
calebccff / bisect-test.sh
Created April 5, 2022 13:34
Caleb's hacky bisect script
#!/bin/bash
# sudo uhubctl -a off -p 2 -n 2109:2812 && printf "%b" "\0x01" > /dev/ttyACM0 && sleep 15 && sudo uhubctl -a on -p 2 -n 2109:2812
export TOOLSDIR=$HOME/pmos/tools
. $HOME/pmos/tools/pmenv
. $HOME/pmos/tools/automation.sh
. ~/pmos/pmbootstrap/helpers/envkernel.sh
@calebccff
calebccff / ril.md
Last active February 18, 2022 19:22
Writing a RIL HAL for AOSP / mainline
@calebccff
calebccff / waydroid-net-pmos.sh
Created December 8, 2021 16:09
Script to fix waydroid networking on postmarketOS
#!/bin/ash
# You may need to disable nftables for this to work, it's probably a bad idea to do so
sysctl net.ipv4.ip_forward=1
iptables -P FORWARD ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.250.0/24
echo "ip route add default via 192.168.250.1 dev eth0; setprop net.dns1 1.1.1.1" | waydroid shell
#!/usr/bin/python3
import argparse
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from scipy.stats import linregress
pmics = ["pmi8998", "pm660"]
fabs = ["gf", "tsmc", "smic", "mgna"]
@calebccff
calebccff / copykernel.source
Created November 1, 2021 16:47
Bash function to copy kernel artifacts to AOSP device project
#!/bin/bash
##############
## WARNING: This script uses `rm -rf` with variables, make sure you know what it's doing before running it
## and don't hold me accountable if you accidentally delete important stuff.
## Whilst I have tested it, your setup will be different and you should edit this to match.
## See more details at the bottom.
ANDROID_MAINLINE_DIR="/PATH/TO/AOSP/SOURCE"
@calebccff
calebccff / edid_parser.c
Created September 21, 2021 13:30
Very basic edid parse to check for audio support
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#define HDMI_EDID_PATH "edid.bin"
#define ALOGE(...) (printf(__VA_ARGS__))
struct edid_extension {
unsigned char tag;
@calebccff
calebccff / bisect-test.sh
Created September 16, 2021 15:07
Very hacky script for automatically bisecting kernel regressions on devices like the OnePlus 6
#!/bin/bash
# basically what at-to_bootloader_hard does, turns off the USB port the phone is connected to so that
# VBUS is low and the device won't go to EDL (yay oneplus)
# then sends a byte to the arduino to tell it to perform a hard reboot by pressing volume up and power
# finally turn the usb port back on
# sudo uhubctl -a off -p 2 -n 2109:2812 && printf "%b" "\0x01" > /dev/ttyACM0 && sleep 15 && sudo uhubctl -a on -p 2 -n 2109:2812
export TOOLSDIR=$HOME/pmos/tools
#!/bin/bash
exec &> /var/log/sdm845-modem-prepare.log
AID=$(qmicli -d qrtr://0 -p --uim-get-card-status | grep -E "([A-Z0-9]{2}:){15}[A-Z0-9]{2}" | xargs)
while [ -z "$AID" ]; do
sleep 2
AID=$(qmicli -d qrtr://0 -p --uim-get-card-status | grep -E "([A-Z0-9]{2}:){15}[A-Z0-9]{2}" | xargs)
done