Skip to content
lp0 edited this page May 21, 2012 · 68 revisions

Table of Contents

Overview

  • mmc doesn't work in 3.4 for some reason
  • dma is required for mmc
  • implementing dma will allow the mmc changes to be less complex
  • once mmc is supported by dma then the device tree branch can be pushed upstream and mmc, usb, ethernet mac, audio, vchiq and vc-mem can be added on in a local branch for now so that everything is still working

Warning

  • The bcm_dma_* exports are going to go away - the kernel already has a DMA API

Blocking

  • Issue #24
  • The supplied usb driver has broken locking and writes beyond the areas it mallocs

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 (currently both devices are always on)
  • pinctrl
  • pinmux
  • gpio
  • ok-led
  • gpio irq

Branches

Current

TODO

  • clk/clkdev (when it gains dt support)
  • 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)
  • dma irq (aka dmaman)
  • mmc/emmc (aka sdhci, needs dma, uses bcm-vc-power)
  • pinconf (for pull high/low)
  • audio
  • spi
  • spi irq
  • spi dma
  • i2c
  • i2c irq
  • i2c dma
  • pwm
  • gpio clock (needs pinmux, the clk subsystem can be used to turn these on/off and configure them)
  • csi

Impractical

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

Unsuitable

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