0

In the BCM2835 datasheet, on page 51, it says that bits 20:16 in a DMA control block's Transfer Information word defines its PERMAP -

Indicates the peripheral number (1-31) whose ready signal shall be used to control the rate of the transfers, and whose panic signals will be output on the DMA AXI bus. Set to 0 for continuous un-paced transfer.

But nowhere in the datasheet can I find which value corresponds to which peripheral! The peripherals, by the way, are things like the SPI, PWM, and PCM modules. This is a pretty crucial bit of information that's lacking, and I can't seem to find it anywhere.

What is the peripheral numbering on the Raspberry Pi?

1 Answer 1

1

Turns out it is documented in that pdf. Page 61 shows the following table that maps peripheral number (PERMAP) to the peripheral:

DREQ | Peripheral
0    | This is always on so use this channel if no DREQ is required
1    | DSI
2    | PCM TX
3    | PCM RX
4    | SMI
5    | PWM
6    | SPI TX
7    | SPI RX
8    | BSC/SPI Slave TX
9    | BSC/SPI Slave RX
10   | unused
11   | e.MMC
12   | UART TX
13   | SD Host
14   | UART RX
15   | DSI
16   | SLIMBUS MCTX.
17   | HDMI
18   | SLIMBUS MCRX.
19   | SLIMBUS DC0
20   | SLIMBUS DC1
21   | SLIMBUS DC2
22   | SLIMBUS DC3
23   | SLIMBUS DC4
24   | Scaler FIFO 0 & SMI
25   | Scaler FIFO 1 & SMI
26   | Scaler FIFO 2 & SMI
27   | SLIMBUS DC5
28   | SLIMBUS DC6
29   | SLIMBUS DC7
30   | SLIMBUS DC8
31   | SLIMBUS DC9
1
  • I think it's only useful for the PCM and PWM peripherals. I'm not aware of DMA pacing being used on any other peripherals. I suppose SPI is a possibility.
    – joan
    Commented Aug 21, 2014 at 5:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.