Skip to content

How to boot using device tree

lp0 edited this page Jun 16, 2012 · 9 revisions

Table of Contents

Bootloader Configuration

  • Use these config.txt parameters:
 device_tree=bcm2835.dtb
 device_tree_address=0x100
 kernel_address=0x8000
 disable_commandline_tags=1
 init_uart_baud=115200
 init_uart_clock=3000000
 init_emmc_clock=50000000

Kernel

  • Build a kernel from lp0/rpi-linear
  • Copy arch/arm/boot/zImage to kernel.img
  • Run make dtbs

Configuration

 Device Drivers
  Character devices
   Serial drivers
    ARM AMBA PL011 serial port support
     Support for console on AMBA serial port
  I2C support
   I2C Hardware Bus support
    BCM2708 BSC
  SPI support
   BCM2708 SPI controller driver (SPI0)
  GPIO Support
   Broadcom VideoCore Doorbell Support
  Watchdog Timer Support
   BCM2708 Watchdog
  Voltage and Current Regulator Support
   Broadcom VideoCore regulator
  Graphics support
   Support for frame buffer devices
    BCM2708 framebuffer support
   Bootup logo
    224-color Raspberry Pi logo
  DMA Engine support
   BCM2708 DMA support
  MMC/SD/SDIO card support
   SDHCI platform and OF driver helper
    Broadcom BCM2708 SDHCI support
     DMA support on BCM2708 SDHCI

Device Tree

  • Until Issue #24 is completed you need to manually configure the device tree file
    • Using ftdput from git://git.jdl.com/software/dtc.git:
 fdtput arch/arm/boot/bcm2835-rpi-b.dtb /system revision 2
 fdtput -t x arch/arm/boot/bcm2835-rpi-b.dtb /system serial 0 0
 fdtput -t hhx arch/arm/boot/bcm2835-rpi-b.dtb /axi/usb/hub/ethernet mac-address 02 00 00 00 00 00
 fdtput arch/arm/boot/bcm2835-rpi-b.dtb /display broadcom,width 1920
 fdtput arch/arm/boot/bcm2835-rpi-b.dtb /display broadcom,height 1200
 fdtput arch/arm/boot/bcm2835-rpi-b.dtb /display broadcom,depth 16
 fdtput -t x arch/arm/boot/bcm2835-rpi-b.dtb /axi/dma broadcom,channels 783c
    • If you want to use 192MB instead of the default 128MB:
 (echo -ne "\x00\x00\x00\x00\x0c\x00\x00\x00"; echo -e "\x00\x00\x00\x00\x04\x00\x00\x00") \
 | dd conv=notrunc bs=8 count=2 seek=5 of=arch/arm/boot/bcm2835-rpi-b.dtb
  • Copy arch/arm/boot/bcm2835-rpi-b.dtb to bcm2835.dtb
Clone this wiki locally