Scroll down for file with more information
C C++ Assembly Makefile Perl Objective-C
#6 Compare This branch is 527 commits ahead, 13139 commits behind torvalds:master.
Latest commit a4e5978 Jan 15, 2017 Ondrej Jirman Merge remote-tracking branch 'stable/linux-4.9.y' into orange-pi-4.9
* stable/linux-4.9.y: (60 commits)
  Linux 4.9.4
  rtlwifi: rtl_usb: Fix missing entry in USB driver's private data
  rtlwifi: Fix enter/exit power_save
  drm/i915/gen9: Fix PCODE polling during CDCLK change notification
  ALSA: usb-audio: Add a quirk for Plantronics BT600
  spi: mvebu: fix baudrate calculation for armada variant
  ARM: omap2+: am437x: rollback to use omap3_gptimer_timer_init()
  ARM: 8631/1: clkdev: Detect errors in clk_hw_register_clkdev() for mass registration
  ARM: OMAP4+: Fix bad fallthrough for cpuidle
  ARM: OMAP5: Fix build for PM code
  ARM: OMAP5: Fix mpuss_early_init
  bus: arm-ccn: Prevent hotplug callback leak
  svcrdma: Clear xpt_bc_xps in xprt_setup_rdma_bc() error exit arm
  ARM: qcom_defconfig: Fix MDM9515 LCC and GCC config
  ARM: zynq: Reserve correct amount of non-DMA RAM
  ARM: pxa: fix pxa25x interrupt init
  ARM64: dts: bcm2835: Fix bcm2837 compatible string
  ARM64: dts: bcm2837-rpi-3-b: remove incorrect pwr LED
  arm64: dts: mt8173: Fix auxadc node
  tools/virtio: fix READ_ONCE()
Failed to load latest commit information.
Documentation drm: sun8i: add HDMI video support to A83T and H3 Jan 14, 2017
arch Merge remote-tracking branch 'stable/linux-4.9.y' into orange-pi-4.9 Jan 15, 2017
block sg_write()/bsg_write() is not fit to be called under KERNEL_DS Jan 9, 2017
certs certs: Add a secondary system keyring that can be added to dynamically Apr 11, 2016
crypto Merge branch 'linus' of git://… Dec 10, 2016
drivers Merge remote-tracking branch 'stable/linux-4.9.y' into orange-pi-4.9 Jan 15, 2017
firmware WHENCE: use for LinuxTV URLs Dec 4, 2015
fs xfs: fix max_retries _show and _store functions Jan 12, 2017
include Merge remote-tracking branch 'stable/linux-4.9.y' into orange-pi-4.9 Jan 15, 2017
init Re-enable CONFIG_MODVERSIONS in a slightly weaker form Nov 30, 2016
ipc ipc: account for kmem usage on mqueue and msg Oct 28, 2016
kernel tick/broadcast: Prevent NULL pointer dereference Jan 12, 2017
lib Revert "radix tree test suite: fix compilation" Dec 9, 2016
mm mm, compaction: fix NR_ISOLATED_* stats for pfn based migration Jan 12, 2017
net svcrdma: Clear xpt_bc_xps in xprt_setup_rdma_bc() error exit arm Jan 15, 2017
samples bpf/samples: Fix PT_REGS_IP on s390x and use it Nov 28, 2016
scripts gcc-plugins: update gcc-common.h for gcc-7 Jan 12, 2017
security ima: fix memory leak in ima_release_policy Jan 12, 2017
sound ALSA: usb-audio: Add a quirk for Plantronics BT600 Jan 15, 2017
tools tools/virtio: fix READ_ONCE() Jan 15, 2017
usr usr/Kconfig: make initrd compression algorithm selection not expert Dec 13, 2014
virt KVM: use after free in kvm_ioctl_create_device() Dec 1, 2016
.cocciconfig scripts: add Linux .cocciconfig for coccinelle Jul 22, 2016
.get_maintainer.ignore Add hch to .get_maintainer.ignore Aug 21, 2015
.gitattributes .gitattributes: set git diff driver for C source code files Oct 8, 2016
.gitignore Merge branch 'misc' of git://… Aug 2, 2016
.mailmap Merge branch 'upstream' of git://… Oct 15, 2016
0001-sunxi-h3-Fix-PLL1-setup-to-never-use-dividers.patch Add readme with some information Jan 14, 2017
COPYING [PATCH] update FSF address in COPYING Sep 10, 2005
CREDITS Fix up a couple of field names in the CREDITS file Dec 2, 2016
Kbuild scripts/gdb: provide linux constants May 24, 2016
Kconfig kbuild: migrate all arch to the kconfig mainmenu upgrade Sep 20, 2010
MAINTAINERS MAINTAINERS: Add myself as maintainer of sun8i-emac Jan 12, 2017
Makefile Linux 4.9.4 Jan 15, 2017
README README: Delete obsolete i386 info + update arch/i386/ paths Aug 14, 2016 Add readme with some information Jan 14, 2017
REPORTING-BUGS Docs: fix missing word in REPORTING-BUGS Feb 15, 2016

Mainline linux kernel for Orange Pi PC/Plus/One

This kernel tree is meant for Onrage Pi PC, Orange Pi Plus and Orange Pi One.

(You can easily port it to other similar H3 based SBCs by modifying the appropriate board DTS files. Usually these boards are either like Orange Pi One, or like Orange Pi PC, or they don't have CPUX voltage regulation at all, so it should be simple.)

Features in addition to mainline:

  • CPU frequency and voltage scaling (cpufreq)
  • Thermal regulation (if CPU heats above certain temperature, it will try to cool itself down by reducing CPU freqency)
  • Ethernet driver v5 from montjoie
  • Working HDMI driver (v6 patches from moinejf ported to sunxi-ng clk driver)
  • USB OTG (you can create USB gadgets using Orange Pi)


  • Audio support
  • Video decoding support

Have fun!

Kernel lockup issues

If you're getting lockups on boot or later during thermal regulation, you're missing an u-boot patch.

These lockups are caused by improper NKMP clock factors selection in u-boot for PLL_CPUX. (M divider should not be used. P divider should be used only for frequencies below 240MHz.)

This patch fixes it:


Kernel side is already fixed in this kernel tree.