This document discusses experiences with upstreaming kernel code for Allwinner SoCs. It provides an overview of the current status of various ARM SoC vendors' code in the mainline kernel, including Allwinner, Rockchip, and Mediatek. It offers tips for contributors, such as starting with small and simple code changes, reusing existing drivers when possible, and asking maintainers for feedback. It also outlines some challenges, like lack of documentation, porting outdated vendor code, and dealing with binary-only drivers and potential GPL violations.