Skip to content
lp0 edited this page Jun 16, 2012 · 68 revisions

Table of Contents

Overview

  • The device tree branch can now be pushed upstream and usb, ethernet mac, audio, vchiq and vc-mem can be added on in a local branch for now so that everything is still working
  • How to Boot using Device Tree

Warning

  • The bcm_dma_* exports are gone - the kernel already has a DMA API

Blocking

  • Issue #24
  • The supplied usb driver has broken locking and writes beyond the areas it mallocs
  • The usb chip itself isn't very good

Implemented

  • irq handler
  • mmio clocksource
  • mmio clockevent (system timer)
  • sp804 (to detect and disable it)
  • uart0 (pl011)
  • watchdog
  • clk/clkdev (not dt)
  • bcm-mbox (aka vcio)
  • fb
  • video logo
  • bcm-bell
  • system_serial/system_rev/mac_address
  • bcm-vc-power
  • pinctrl
  • pinmux
  • gpio
  • ok-led
  • gpio irq
  • spi
  • i2c
  • dma
  • sdhci pio
  • sdhci dma

Branches

Current

Other

TODO

  • clk/clkdev (when it gains dt support)
  • pinconf (for pull high/low)
  • spi dma
  • i2c dma
  • usb (uses bcm-vc-power, hack in the current dwc_otg code until a proper driver is merged)
  • ethernet mac address (tricky, some way to absolutely identify that the usb device is the board's and not from somewhere else on the bus might help)
  • pcm/i2s
  • pwm
  • gpio clock (the clk subsystem can be used to turn these on/off and configure them)
  • audio (requires vchiq)

Impractical

  • vchiq (aka vc04/vcos, uses bcm-mbox, bcm-bell, requires a major rewrite without breaking the ABI)
  • csi (hidden) :(

Unsuitable

  • vc-mem (this will need to use sysfs not /proc)