Upstreaming

Stefan Wahren edited this page Aug 28, 2018 · 52 revisions

This document tries to track the difference between downstream and mainline.

Another status page: http://elinux.org/RPi_Upstreaming

Mainline default configs

For Raspberry Pi 1 and Zero, use bcm2835_defconfig

For Raspberry Pi 2, use multi_v7_defconfig

For Raspberry Pi 3, use defconfig on arm64. Note that as of 4.8-rc1, the defconfig has not been updated to include Raspberry Pi support, so you'll need to include:

CONFIG_ARCH_BCM2835
CONFIG_SERIAL_8250_BCM2835AUX
CONFIG_I2C_BCM2835
CONFIG_BCM2835_WDT
CONFIG_SPI_BCM2835
CONFIG_SPI_BCM2835AUX
CONFIG_DRM_VC4
CONFIG_SND_BCM2835_SOC_I2S
CONFIG_USB_DWC2_HOST
CONFIG_DMA_BCM2835
CONFIG_BCM2835_MBOX
CONFIG_RASPBERRYPI_POWER
CONFIG_RASPBERRYPI_FIRMWARE

Downstream default configs

For Raspberry Pi 1, use bcmrpi_defconfig

For Raspberry Pi 2 and Pi 3, use bcm2709_defconfig

ARCH_BCM2835

Downstream is now using ARCH_BCM2835 and has dropped ARCH_BCM2708 and ARCH_BCM2709.

Device Trees

Mainline hierarchy (arm64?):

  bcm2835-rpi-*.dts     bcm2836-rpi-2-b.dts
             bcm2835-rpi.dtsi
    bcm2835.dtsi          bcm2836.dtsi
               bcm283x.dtsi

Downstream hierarchy:

  bcm2708-rpi*.dts    bcm2709-rpi*.dts    bcm2710-rpi*.dts
    bcm2708.dtsi        bcm2709.dtsi        bcm2710.dtsi
  bcm2708-rpi.dtsi    bcm2708-rpi.dtsi    bcm2708-rpi.dtsi
    bcm270x.dtsi        bcm270x.dtsi        bcm270x.dtsi
    bcm2835.dtsi        bcm2836.dtsi        bcm283x.dtsi
    bcm283x.dtsi        bcm283x.dtsi

The bootloader will choose 2835 dtb's if the kernel image is tagged in such a way using scripts/mkknlimg.

Downstream drivers

List of downstream drivers:

Downstream Pi1 optimization: Improve __copy_to_user and __copy_from_user performance

History

This is an attempt to list Mainline efforts (new drivers) to support Raspberry Pi combined with Downstream efforts to close in on mainline. Stable downstream versions are also listed.

2018

2017

2016

2015

2014

2013

2012

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.