4 This directory contains Device Tree overlays. Device Tree makes it possible
5 to support many hardware configurations with a single kernel and without the
6 need to explicitly load or blacklist kernel modules. Note that this isn't a
7 "pure" Device Tree configuration (c.f. MACH_BCM2835) - some on-board devices
8 are still configured by the board support code, but the intention is to
9 eventually reach that goal.
11 On Raspberry Pi, Device Tree usage is controlled from /boot/config.txt. By
12 default, the Raspberry Pi kernel boots with device tree enabled. You can
13 completely disable DT usage (for now) by adding:
17 to your config.txt, which should cause your Pi to revert to the old way of
18 doing things after a reboot.
20 In /boot you will find a .dtb for each base platform. This describes the
21 hardware that is part of the Raspberry Pi board. The loader (start.elf and its
22 siblings) selects the .dtb file appropriate for the platform by name, and reads
23 it into memory. At this point, all of the optional interfaces (i2c, i2s, spi)
24 are disabled, but they can be enabled using Device Tree parameters:
26 dtparam=i2c=on,i2s=on,spi=on
28 However, this shouldn't be necessary in many use cases because loading an
29 overlay that requires one of those interfaces will cause it to be enabled
30 automatically, and it is advisable to only enable interfaces if they are
33 Configuring additional, optional hardware is done using Device Tree overlays
39 The Advanced Options section of the raspi-config utility can enable and disable
40 Device Tree use, as well as toggling the I2C and SPI interfaces. Note that it
41 is possible to both enable an interface and blacklist the driver, if for some
42 reason you should want to defer the loading.
47 As well as describing the hardware, Device Tree also gives enough information
48 to allow suitable driver modules to be located and loaded, with the corollary
49 that unneeded modules are not loaded. As a result it should be possible to
50 remove lines from /etc/modules, and /etc/modprobe.d/raspi-blacklist.conf can
51 have its contents deleted (or commented out).
56 Overlays are loaded using the "dtoverlay" directive. As an example, consider
57 the popular lirc-rpi module, the Linux Infrared Remote Control driver. In the
58 pre-DT world this would be loaded from /etc/modules, with an explicit
59 "modprobe lirc-rpi" command, or programmatically by lircd. With DT enabled,
60 this becomes a line in config.txt:
64 This causes the file /boot/overlays/lirc-rpi.dtbo to be loaded. By
65 default it will use GPIOs 17 (out) and 18 (in), but this can be modified using
68 dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=13
70 Parameters always have default values, although in some cases (e.g. "w1-gpio")
71 it is necessary to provided multiple overlays in order to get the desired
72 behaviour. See the list of overlays below for a description of the parameters
75 The Overlay and Parameter Reference
76 ===================================
78 N.B. When editing this file, please preserve the indentation levels to make it
79 simple to parse programmatically. NO HARD TABS.
83 Info: Configures the base Raspberry Pi hardware
84 Load: <loaded automatically>
86 audio Set to "on" to enable the onboard ALSA audio
87 interface (default "off")
89 i2c_arm Set to "on" to enable the ARM's i2c interface
92 i2c_vc Set to "on" to enable the i2c interface
93 usually reserved for the VideoCore processor
96 i2c An alias for i2c_arm
98 i2c_arm_baudrate Set the baudrate of the ARM's i2c interface
101 i2c_vc_baudrate Set the baudrate of the VideoCore i2c interface
104 i2c_baudrate An alias for i2c_arm_baudrate
106 i2s Set to "on" to enable the i2s interface
109 spi Set to "on" to enable the spi interfaces
112 random Set to "on" to enable the hardware random
113 number generator (default "on")
115 sd_overclock Clock (in MHz) to use when the MMC framework
118 sd_force_pio Disable DMA support for SD driver (default off)
120 sd_pio_limit Number of blocks above which to use DMA for
123 sd_debug Enable debug output from SD driver (default off)
125 uart0 Set to "off" to disable uart0 (default "on")
127 uart1 Set to "on" or "off" to enable or disable uart1
130 watchdog Set to "on" to enable the hardware watchdog
133 act_led_trigger Choose which activity the LED tracks.
134 Use "heartbeat" for a nice load indicator.
137 act_led_activelow Set to "on" to invert the sense of the LED
139 N.B. For Pi3 see pi3-act-led overlay.
141 act_led_gpio Set which GPIO to use for the activity LED
142 (in case you want to connect it to an external
144 (default "16" on a non-Plus board, "47" on a
146 N.B. For Pi3 see pi3-act-led overlay.
151 As for act_led_*, but using the PWR LED.
152 Not available on Model A/B boards.
154 N.B. It is recommended to only enable those interfaces that are needed.
155 Leaving all interfaces enabled can lead to unwanted behaviour (i2c_vc
156 interfering with Pi Camera, I2S and SPI hogging GPIO pins, etc.)
157 Note also that i2c, i2c_arm and i2c_vc are aliases for the physical
158 interfaces i2c0 and i2c1. Use of the numeric variants is still possible
159 but deprecated because the ARM/VC assignments differ between board
160 revisions. The same board-specific mapping applies to i2c_baudrate,
161 and the other i2c baudrate parameters.
165 Info: Overlay for activation of ADAU1977 ADC codec over I2C for control
167 Load: dtoverlay=adau1977-adc
172 Info: Overlay for activation of Texas Instruments ADS1015 ADC over I2C
173 Load: dtoverlay=ads1015,<param>=<val>
174 Params: addr I2C bus address of device. Set based on how the
175 addr pin is wired. (default=0x48 assumes addr
177 cha_enable Enable virtual channel a. (default=true)
178 cha_cfg Set the configuration for virtual channel a.
179 (default=4 configures this channel for the
180 voltage at A0 with respect to GND)
181 cha_datarate Set the datarate (samples/sec) for this channel.
182 (default=4 sets 1600 sps)
183 cha_gain Set the gain of the Programmable Gain
184 Amplifier for this channel. (default=2 sets the
185 full scale of the channel to 2.048 Volts)
187 Channel (ch) parameters can be set for each enabled channel.
188 A maximum of 4 channels can be enabled (letters a thru d).
189 For more information refer to the device datasheet at:
190 http://www.ti.com/lit/ds/symlink/ads1015.pdf
194 Info: ADS7846 Touch controller
195 Load: dtoverlay=ads7846,<param>=<val>
196 Params: cs SPI bus Chip Select (default 1)
197 speed SPI bus speed (default 2MHz, max 3.25MHz)
198 penirq GPIO used for PENIRQ. REQUIRED
199 penirq_pull Set GPIO pull (default 0=none, 2=pullup)
200 swapxy Swap x and y axis
201 xmin Minimum value on the X axis (default 0)
202 ymin Minimum value on the Y axis (default 0)
203 xmax Maximum value on the X axis (default 4095)
204 ymax Maximum value on the Y axis (default 4095)
205 pmin Minimum reported pressure value (default 0)
206 pmax Maximum reported pressure value (default 65535)
207 xohms Touchpanel sensitivity (X-plate resistance)
210 penirq is required and usually xohms (60-100) has to be set as well.
211 Apart from that, pmax (255) and swapxy are also common.
212 The rest of the calibration can be done with xinput-calibrator.
213 See: github.com/notro/fbtft/wiki/FBTFT-on-Raspian
214 Device Tree binding document:
215 www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
218 Name: akkordion-iqdacplus
219 Info: Configures the Digital Dreamtime Akkordion Music Player (based on the
220 OEM IQAudIO DAC+ or DAC Zero module).
221 Load: dtoverlay=akkordion-iqdacplus,<param>=<val>
222 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
223 Digital volume control. Enable with
224 dtoverlay=akkordion-iqdacplus,24db_digital_gain
225 (The default behaviour is that the Digital
226 volume control is limited to a maximum of
227 0dB. ie. it can attenuate but not provide
228 gain. For most users, this will be desired
229 as it will prevent clipping. By appending
230 the 24db_digital_gain parameter, the Digital
231 volume control will allow up to 24dB of
232 gain. If this parameter is enabled, it is the
233 responsibility of the user to ensure that
234 the Digital volume control is set to a value
235 that does not result in clipping/distortion!)
238 Name: allo-piano-dac-pcm512x-audio
239 Info: Configures the Allo Piano DAC (2.0/2.1) audio cards.
240 (NB. This initial support is for 2.0 channel audio ONLY! ie. stereo.
241 The subwoofer outputs on the Piano 2.1 are not currently supported!)
242 Load: dtoverlay=allo-piano-dac-pcm512x-audio,<param>
243 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
244 Digital volume control.
245 (The default behaviour is that the Digital
246 volume control is limited to a maximum of
247 0dB. ie. it can attenuate but not provide
248 gain. For most users, this will be desired
249 as it will prevent clipping. By appending
250 the 24db_digital_gain parameter, the Digital
251 volume control will allow up to 24dB of
252 gain. If this parameter is enabled, it is the
253 responsibility of the user to ensure that
254 the Digital volume control is set to a value
255 that does not result in clipping/distortion!)
259 Info: Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver,
261 Load: dtoverlay=at86rf233,<param>=<val>
262 Params: interrupt GPIO used for INT (default 23)
263 reset GPIO used for Reset (default 24)
264 sleep GPIO used for Sleep (default 25)
265 speed SPI bus speed in Hz (default 3000000)
266 trim Fine tuning of the internal capacitance
267 arrays (0=+0pF, 15=+4.5pF, default 15)
270 Name: audioinjector-wm8731-audio
271 Info: Configures the audioinjector.net audio add on soundcard
272 Load: dtoverlay=audioinjector-wm8731-audio
277 Info: Switches PWM sound output to pins 12 (Right) & 13 (Left)
278 Load: dtoverlay=audremap,<param>=<val>
279 Params: swap_lr Reverse the channel allocation, which will also
280 swap the audio jack outputs (default off)
281 enable_jack Don't switch off the audio jack output
285 Name: bmp085_i2c-sensor
286 Info: This overlay is now deprecated - see i2c-sensor
287 Load: dtoverlay=bmp085_i2c-sensor
292 Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
293 Also sometimes found with the part number(s) AM230x.
294 Load: dtoverlay=dht11,<param>=<val>
295 Params: gpiopin GPIO connected to the sensor's DATA output.
300 Info: Configures the Dion Audio LOCO DAC-AMP
301 Load: dtoverlay=dionaudio-loco
306 Info: Overlay for a generic 18-bit DPI display
307 This uses GPIOs 0-21 (so no I2C, uart etc.), and activates the output
308 2-3 seconds after the kernel has started.
309 Load: dtoverlay=dpi18
314 Info: Overlay for a generic 24-bit DPI display
315 This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output
316 2-3 seconds after the kernel has started.
317 Load: dtoverlay=dpi24
322 Info: Selects the dwc_otg USB controller driver which has fiq support. This
323 is the default on all except the Pi Zero which defaults to dwc2.
324 Load: dtoverlay=dwc-otg
329 Info: Selects the dwc2 USB controller driver
330 Load: dtoverlay=dwc2,<param>=<val>
331 Params: dr_mode Dual role mode: "host", "peripheral" or "otg"
333 g-rx-fifo-size Size of rx fifo size in gadget mode
335 g-np-tx-fifo-size Size of non-periodic tx fifo size in gadget
338 g-tx-fifo-size Size of periodic tx fifo per endpoint
339 (except ep0) in gadget mode
342 [ The ds1307-rtc overlay has been deleted. See i2c-rtc. ]
346 Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI0
347 Load: dtoverlay=enc28j60,<param>=<val>
348 Params: int_pin GPIO used for INT (default 25)
350 speed SPI bus speed (default 12000000)
354 Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI2
355 Load: dtoverlay=enc28j60-spi2,<param>=<val>
356 Params: int_pin GPIO used for INT (default 39)
358 speed SPI bus speed (default 12000000)
362 Info: Use GPIO pin as rc-core style infrared receiver input. The rc-core-
363 based gpio_ir_recv driver maps received keys directly to a
364 /dev/input/event* device, all decoding is done by the kernel - LIRC is
365 not required! The key mapping and other decoding parameters can be
366 configured by "ir-keytable" tool.
367 Load: dtoverlay=gpio-ir,<param>=<val>
368 Params: gpio_pin Input pin number. Default is 18.
370 gpio_pull Desired pull-up/down state (off, down, up)
373 rc-map-name Default rc keymap (can also be changed by
374 ir-keytable), defaults to "rc-rc6-mce"
378 Info: Drives a GPIO high or low on poweroff (including halt)
379 Load: dtoverlay=gpio-poweroff,<param>=<val>
380 Params: gpiopin GPIO for signalling (default 26)
382 active_low Set if the power control device requires a
383 high->low transition to trigger a power-down.
384 Note that this will require the support of a
385 custom dt-blob.bin to prevent a power-down
386 during the boot process, and that a reboot
387 will also cause the pin to go low.
391 Info: Configures the HifiBerry Amp and Amp+ audio cards
392 Load: dtoverlay=hifiberry-amp
397 Info: Configures the HifiBerry DAC audio card
398 Load: dtoverlay=hifiberry-dac
402 Name: hifiberry-dacplus
403 Info: Configures the HifiBerry DAC+ audio card
404 Load: dtoverlay=hifiberry-dacplus,<param>=<val>
405 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
406 Digital volume control. Enable with
407 "dtoverlay=hifiberry-dacplus,24db_digital_gain"
408 (The default behaviour is that the Digital
409 volume control is limited to a maximum of
410 0dB. ie. it can attenuate but not provide
411 gain. For most users, this will be desired
412 as it will prevent clipping. By appending
413 the 24dB_digital_gain parameter, the Digital
414 volume control will allow up to 24dB of
415 gain. If this parameter is enabled, it is the
416 responsibility of the user to ensure that
417 the Digital volume control is set to a value
418 that does not result in clipping/distortion!)
419 slave Force DAC+ Pro into slave mode, using Pi as
420 master for bit clock and frame clock.
424 Info: Configures the HifiBerry Digi and Digi+ audio card
425 Load: dtoverlay=hifiberry-digi
429 Name: hifiberry-digi-pro
430 Info: Configures the HifiBerry Digi+ Pro audio card
431 Load: dtoverlay=hifiberry-digi-pro
436 Info: HY28A - 2.8" TFT LCD Display Module by HAOYU Electronics
437 Default values match Texy's display shield
438 Load: dtoverlay=hy28a,<param>=<val>
439 Params: speed Display SPI bus speed
441 rotate Display rotation {0,90,180,270}
443 fps Delay between frame updates
445 debug Debug output level {0-7}
447 xohms Touchpanel sensitivity (X-plate resistance)
449 resetgpio GPIO used to reset controller
451 ledgpio GPIO used to control backlight
455 Info: HY28B - 2.8" TFT LCD Display Module by HAOYU Electronics
456 Default values match Texy's display shield
457 Load: dtoverlay=hy28b,<param>=<val>
458 Params: speed Display SPI bus speed
460 rotate Display rotation {0,90,180,270}
462 fps Delay between frame updates
464 debug Debug output level {0-7}
466 xohms Touchpanel sensitivity (X-plate resistance)
468 resetgpio GPIO used to reset controller
470 ledgpio GPIO used to control backlight
474 Info: Fall back to the i2c_bcm2708 driver for the i2c_arm bus.
475 Load: dtoverlay=i2c-bcm2708
480 Info: Adds support for software i2c controller on gpio pins
481 Load: dtoverlay=i2c-gpio,<param>=<val>
482 Params: i2c_gpio_sda GPIO used for I2C data (default "23")
484 i2c_gpio_scl GPIO used for I2C clock (default "24")
486 i2c_gpio_delay_us Clock delay in microseconds
487 (default "2" = ~100kHz)
491 Info: Adds support for a number of I2C bus multiplexers on i2c_arm
492 Load: dtoverlay=i2c-mux,<param>=<val>
493 Params: pca9542 Select the NXP PCA9542 device
495 pca9545 Select the NXP PCA9545 device
497 pca9548 Select the NXP PCA9548 device
499 addr Change I2C address of the device (default 0x70)
502 [ The i2c-mux-pca9548a overlay has been deleted. See i2c-mux. ]
505 Name: i2c-pwm-pca9685a
506 Info: Adds support for an NXP PCA9685A I2C PWM controller on i2c_arm
507 Load: dtoverlay=i2c-pwm-pca9685a,<param>=<val>
508 Params: addr I2C address of PCA9685A (default 0x40)
512 Info: Adds support for a number of I2C Real Time Clock devices
513 Load: dtoverlay=i2c-rtc,<param>=<val>
514 Params: abx80x Select one of the ABx80x family:
515 AB0801, AB0803, AB0804, AB0805,
516 AB1801, AB1803, AB1804, AB1805
518 ds1307 Select the DS1307 device
520 ds1339 Select the DS1339 device
522 ds3231 Select the DS3231 device
524 mcp7940x Select the MCP7940x device
526 mcp7941x Select the MCP7941x device
528 pcf2127 Select the PCF2127 device
530 pcf8523 Select the PCF8523 device
532 pcf8563 Select the PCF8563 device
534 trickle-diode-type Diode type for trickle charge - "standard" or
535 "schottky" (ABx80x only)
537 trickle-resistor-ohms Resistor value for trickle charge (DS1339,
540 wakeup-source Specify that the RTC can be used as a wakeup
545 Info: Adds support for a number of I2C barometric pressure and temperature
547 Load: dtoverlay=i2c-sensor,<param>=<val>
548 Params: bmp085 Select the Bosch sensortronic BMP085
550 bmp280 Select the Bosch sensortronic BMP280
552 si7020 Select the Silicon Labs Si7013/20/21 humidity/
557 Info: Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations
558 are usable on all platforms.
559 Load: dtoverlay=i2c0-bcm2708,<param>=<val>
560 Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*)
561 scl0_pin GPIO pin for SCL0 (deprecated - use pins_*)
562 pins_0_1 Use pins 0 and 1 (default)
563 pins_28_29 Use pins 28 and 29
564 pins_44_45 Use pins 44 and 45
565 pins_46_47 Use pins 46 and 47
569 Info: Enable the i2c_bcm2708 driver for the i2c1 bus
570 Load: dtoverlay=i2c1-bcm2708,<param>=<val>
571 Params: sda1_pin GPIO pin for SDA1 (2 or 44 - default 2)
572 scl1_pin GPIO pin for SCL1 (3 or 45 - default 3)
573 pin_func Alternative pin function (4 (alt0), 6 (alt2) -
578 Info: move I2S function block to GPIO 28 to 31
579 Load: dtoverlay=i2s-gpio28-31
584 Info: Configures the IQaudio DAC audio card
585 Load: dtoverlay=iqaudio-dac,<param>
586 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
587 Digital volume control. Enable with
588 "dtoverlay=iqaudio-dac,24db_digital_gain"
589 (The default behaviour is that the Digital
590 volume control is limited to a maximum of
591 0dB. ie. it can attenuate but not provide
592 gain. For most users, this will be desired
593 as it will prevent clipping. By appending
594 the 24db_digital_gain parameter, the Digital
595 volume control will allow up to 24dB of
596 gain. If this parameter is enabled, it is the
597 responsibility of the user to ensure that
598 the Digital volume control is set to a value
599 that does not result in clipping/distortion!)
602 Name: iqaudio-dacplus
603 Info: Configures the IQaudio DAC+ audio card
604 Load: dtoverlay=iqaudio-dacplus,<param>=<val>
605 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
606 Digital volume control. Enable with
607 "dtoverlay=iqaudio-dacplus,24db_digital_gain"
608 (The default behaviour is that the Digital
609 volume control is limited to a maximum of
610 0dB. ie. it can attenuate but not provide
611 gain. For most users, this will be desired
612 as it will prevent clipping. By appending
613 the 24db_digital_gain parameter, the Digital
614 volume control will allow up to 24dB of
615 gain. If this parameter is enabled, it is the
616 responsibility of the user to ensure that
617 the Digital volume control is set to a value
618 that does not result in clipping/distortion!)
619 auto_mute_amp If specified, unmute/mute the IQaudIO amp when
620 starting/stopping audio playback.
621 unmute_amp If specified, unmute the IQaudIO amp once when
622 the DAC driver module loads.
625 Name: iqaudio-digi-wm8804-audio
626 Info: Configures the IQAudIO Digi WM8804 audio card
627 Load: dtoverlay=iqaudio-digi-wm8804-audio,<param>=<val>
628 Params: card_name Override the default, "IQAudIODigi", card name.
629 dai_name Override the default, "IQAudIO Digi", dai name.
630 dai_stream_name Override the default, "IQAudIO Digi HiFi",
635 Info: Configures the JustBoom DAC HAT, Amp HAT, DAC Zero and Amp Zero audio
637 Load: dtoverlay=justboom-dac,<param>=<val>
638 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
639 Digital volume control. Enable with
640 "dtoverlay=justboom-dac,24db_digital_gain"
641 (The default behaviour is that the Digital
642 volume control is limited to a maximum of
643 0dB. ie. it can attenuate but not provide
644 gain. For most users, this will be desired
645 as it will prevent clipping. By appending
646 the 24dB_digital_gain parameter, the Digital
647 volume control will allow up to 24dB of
648 gain. If this parameter is enabled, it is the
649 responsibility of the user to ensure that
650 the Digital volume control is set to a value
651 that does not result in clipping/distortion!)
655 Info: Configures the JustBoom Digi HAT and Digi Zero audio cards
656 Load: dtoverlay=justboom-digi
661 Info: Configures lirc-rpi (Linux Infrared Remote Control for Raspberry Pi)
662 Consult the module documentation for more details.
663 Load: dtoverlay=lirc-rpi,<param>=<val>
664 Params: gpio_out_pin GPIO for output (default "17")
666 gpio_in_pin GPIO for input (default "18")
668 gpio_in_pull Pull up/down/off on the input pin
671 sense Override the IR receive auto-detection logic:
672 "0" = force active-high
673 "1" = force active-low
674 "-1" = use auto-detection
677 softcarrier Turn the software carrier "on" or "off"
680 invert "on" = invert the output pin (default "off")
682 debug "on" = enable additional debug messages
687 Info: Configures the MCP23017 I2C GPIO expander
688 Load: dtoverlay=mcp23017,<param>=<val>
689 Params: gpiopin Gpio pin connected to the INTA output of the
690 MCP23017 (default: 4)
692 addr I2C address of the MCP23017 (default: 0x20)
696 Info: Configures the MCP23S08/17 SPI GPIO expanders.
697 If devices are present on SPI1 or SPI2, those interfaces must be enabled
698 with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
699 If interrupts are enabled for a device on a given CS# on a SPI bus, that
700 device must be the only one present on that SPI bus/CS#.
701 Load: dtoverlay=mcp23s17,<param>=<val>
702 Params: s08-spi<n>-<m>-present 4-bit integer, bitmap indicating MCP23S08
703 devices present on SPI<n>, CS#<m>
705 s17-spi<n>-<m>-present 8-bit integer, bitmap indicating MCP23S17
706 devices present on SPI<n>, CS#<m>
708 s08-spi<n>-<m>-int-gpio integer, enables interrupts on a single
709 MCP23S08 device on SPI<n>, CS#<m>, specifies
710 the GPIO pin to which INT output of MCP23S08
713 s17-spi<n>-<m>-int-gpio integer, enables mirrored interrupts on a
714 single MCP23S17 device on SPI<n>, CS#<m>,
715 specifies the GPIO pin to which either INTA
716 or INTB output of MCP23S17 is connected.
720 Info: Configures the MCP2515 CAN controller on spi0.0
721 Load: dtoverlay=mcp2515-can0,<param>=<val>
722 Params: oscillator Clock frequency for the CAN controller (Hz)
724 spimaxfrequency Maximum SPI frequence (Hz)
726 interrupt GPIO for interrupt signal
730 Info: Configures the MCP2515 CAN controller on spi0.1
731 Load: dtoverlay=mcp2515-can1,<param>=<val>
732 Params: oscillator Clock frequency for the CAN controller (Hz)
734 spimaxfrequency Maximum SPI frequence (Hz)
736 interrupt GPIO for interrupt signal
740 Info: Configures UART0 (ttyAMA0) so that a requested 38.4kbaud actually gets
741 31.25kbaud, the frequency required for MIDI
742 Load: dtoverlay=midi-uart0
747 Info: Selects the bcm2835-mmc SD/MMC driver, optionally with overclock
748 Load: dtoverlay=mmc,<param>=<val>
749 Params: overclock_50 Clock (in MHz) to use when the MMC framework
754 Info: MZ61581 display by Tontec
755 Load: dtoverlay=mz61581,<param>=<val>
756 Params: speed Display SPI bus speed
758 rotate Display rotation {0,90,180,270}
760 fps Delay between frame updates
762 txbuflen Transmit buffer length (default 32768)
764 debug Debug output level {0-7}
766 xohms Touchpanel sensitivity (X-plate resistance)
769 [ The pcf2127-rtc overlay has been deleted. See i2c-rtc. ]
772 [ The pcf8523-rtc overlay has been deleted. See i2c-rtc. ]
775 [ The pcf8563-rtc overlay has been deleted. See i2c-rtc. ]
779 Info: Pi3 uses a GPIO expander to drive the LEDs which can only be accessed
780 from the VPU. There is a special driver for this with a separate DT
781 node, which has the unfortunate consequence of breaking the
782 act_led_gpio and act_led_activelow dtparams.
783 This overlay changes the GPIO controller back to the standard one and
784 restores the dtparams.
785 Load: dtoverlay=pi3-act-led,<param>=<val>
786 Params: activelow Set to "on" to invert the sense of the LED
789 gpio Set which GPIO to use for the activity LED
790 (in case you want to connect it to an external
796 Info: Disable Pi3 Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15
797 N.B. To disable the systemd service that initialises the modem so it
798 doesn't use the UART, use 'sudo systemctl disable hciuart'.
799 Load: dtoverlay=pi3-disable-bt
803 Name: pi3-disable-wifi
804 Info: Disable Pi3 onboard WiFi
805 Load: dtoverlay=pi3-disable-wifi
809 Name: pi3-miniuart-bt
810 Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
811 UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
813 N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
814 and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
815 that create /dev/serial0 and /dev/serial1, in which case use
816 /dev/serial1 instead because it will always be correct. Furthermore,
817 you must also set core_freq=250 in config.txt or the miniuart will not
819 Load: dtoverlay=pi3-miniuart-bt
824 Info: PiScreen display by OzzMaker.com
825 Load: dtoverlay=piscreen,<param>=<val>
826 Params: speed Display SPI bus speed
828 rotate Display rotation {0,90,180,270}
830 fps Delay between frame updates
832 debug Debug output level {0-7}
834 xohms Touchpanel sensitivity (X-plate resistance)
838 Info: PiScreen 2 with resistive TP display by OzzMaker.com
839 Load: dtoverlay=piscreen2r,<param>=<val>
840 Params: speed Display SPI bus speed
842 rotate Display rotation {0,90,180,270}
844 fps Delay between frame updates
846 debug Debug output level {0-7}
848 xohms Touchpanel sensitivity (X-plate resistance)
852 Info: Configures the Blokas Labs pisound card
853 Load: dtoverlay=pisound
858 Info: Adafruit PiTFT 2.2" screen
859 Load: dtoverlay=pitft22,<param>=<val>
860 Params: speed Display SPI bus speed
862 rotate Display rotation {0,90,180,270}
864 fps Delay between frame updates
866 debug Debug output level {0-7}
869 Name: pitft28-capacitive
870 Info: Adafruit PiTFT 2.8" capacitive touch screen
871 Load: dtoverlay=pitft28-capacitive,<param>=<val>
872 Params: speed Display SPI bus speed
874 rotate Display rotation {0,90,180,270}
876 fps Delay between frame updates
878 debug Debug output level {0-7}
880 touch-sizex Touchscreen size x (default 240)
882 touch-sizey Touchscreen size y (default 320)
884 touch-invx Touchscreen inverted x axis
886 touch-invy Touchscreen inverted y axis
888 touch-swapxy Touchscreen swapped x y axis
891 Name: pitft28-resistive
892 Info: Adafruit PiTFT 2.8" resistive touch screen
893 Load: dtoverlay=pitft28-resistive,<param>=<val>
894 Params: speed Display SPI bus speed
896 rotate Display rotation {0,90,180,270}
898 fps Delay between frame updates
900 debug Debug output level {0-7}
903 Name: pitft35-resistive
904 Info: Adafruit PiTFT 3.5" resistive touch screen
905 Load: dtoverlay=pitft35-resistive,<param>=<val>
906 Params: speed Display SPI bus speed
908 rotate Display rotation {0,90,180,270}
910 fps Delay between frame updates
912 debug Debug output level {0-7}
916 Info: Configures the pps-gpio (pulse-per-second time signal via GPIO).
917 Load: dtoverlay=pps-gpio,<param>=<val>
918 Params: gpiopin Input GPIO (default "18")
919 assert_falling_edge When present, assert is indicated by a falling
920 edge, rather than by a rising edge
924 Info: Configures a single PWM channel
925 Legal pin,function combinations for each channel:
926 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
927 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
929 1) Pin 18 is the only one available on all platforms, and
930 it is the one used by the I2S audio interface.
931 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
932 2) The onboard analogue audio output uses both PWM channels.
933 3) So be careful mixing audio and PWM.
934 4) Currently the clock must have been enabled and configured
936 Load: dtoverlay=pwm,<param>=<val>
937 Params: pin Output pin (default 18) - see table
938 func Pin function (default 2 = Alt5) - see above
939 clock PWM clock frequency (informational)
943 Info: Configures both PWM channels
944 Legal pin,function combinations for each channel:
945 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
946 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
948 1) Pin 18 is the only one available on all platforms, and
949 it is the one used by the I2S audio interface.
950 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
951 2) The onboard analogue audio output uses both PWM channels.
952 3) So be careful mixing audio and PWM.
953 4) Currently the clock must have been enabled and configured
955 Load: dtoverlay=pwm-2chan,<param>=<val>
956 Params: pin Output pin (default 18) - see table
957 pin2 Output pin for other channel (default 19)
958 func Pin function (default 2 = Alt5) - see above
959 func2 Function for pin2 (default 2 = Alt5)
960 clock PWM clock frequency (informational)
964 Info: I2SE's Evaluation Board for PLC Stamp micro
965 Load: dtoverlay=qca7000,<param>=<val>
966 Params: int_pin GPIO pin for interrupt signal (default 23)
968 speed SPI bus speed (default 12 MHz)
972 Info: Configures the RaspiDAV Rev.3x audio card
973 Load: dtoverlay=raspidac3
978 Info: Raspberry Pi official display backlight driver
979 Load: dtoverlay=rpi-backlight
984 Info: Configures the RPi DAC audio card
985 Load: dtoverlay=rpi-dac
990 Info: RPi-Display - 2.8" Touch Display by Watterott
991 Load: dtoverlay=rpi-display,<param>=<val>
992 Params: speed Display SPI bus speed
993 rotate Display rotation {0,90,180,270}
994 fps Delay between frame updates
995 debug Debug output level {0-7}
996 xohms Touchpanel sensitivity (X-plate resistance)
997 swapxy Swap x and y axis
1001 Info: Official Raspberry Pi display touchscreen
1002 Load: dtoverlay=rpi-ft5406
1007 Info: Configures the RPi Proto audio card
1008 Load: dtoverlay=rpi-proto
1013 Info: Raspberry Pi Sense HAT
1014 Load: dtoverlay=rpi-sense
1018 Name: rra-digidac1-wm8741-audio
1019 Info: Configures the Red Rocks Audio DigiDAC1 soundcard
1020 Load: dtoverlay=rra-digidac1-wm8741-audio
1025 Info: Overlay for the NXP SC16IS750 UART with I2C Interface
1026 Enables the chip on I2C1 at 0x48. To select another address,
1027 please refer to table 10 in reference manual.
1029 Load: dtoverlay=sc16is750-i2c,<param>=<val>
1030 Params: int_pin GPIO used for IRQ (default 24)
1031 addr Address (default 0x48)
1034 Name: sc16is752-spi1
1035 Info: Overlay for the NXP SC16IS752 Dual UART with SPI Interface
1036 Enables the chip on SPI1.
1037 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1038 A+, B+, Zero and PI2 B; as well as the Compute Module.
1040 Load: dtoverlay=sc16is752-spi1,<param>=<val>
1041 Params: int_pin GPIO used for IRQ (default 24)
1045 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock.
1046 N.B. This overlay is designed for situations where the mmc driver is
1047 the default, so it disables the other (mmc) interface - this will kill
1048 WiFi on a Pi3. If this isn't what you want, either use the sdtweak
1049 overlay or the new sd_* dtparams of the base DTBs.
1050 Load: dtoverlay=sdhost,<param>=<val>
1051 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1054 force_pio Disable DMA support (default off)
1056 pio_limit Number of blocks above which to use DMA
1059 debug Enable debug output (default off)
1063 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1064 and enables SDIO via GPIOs 22-27.
1065 Load: dtoverlay=sdio,<param>=<val>
1066 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1069 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1070 framework requests 50MHz
1072 force_pio Disable DMA support (default off)
1074 pio_limit Number of blocks above which to use DMA
1077 debug Enable debug output (default off)
1079 poll_once Disable SDIO-device polling every second
1080 (default on: polling once at boot-time)
1082 bus_width Set the SDIO host bus width (default 4 bits)
1086 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1087 and enables 1-bit SDIO via GPIOs 22-25.
1088 Load: dtoverlay=sdio-1bit,<param>=<val>
1089 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1092 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1093 framework requests 50MHz
1095 force_pio Disable DMA support (default off)
1097 pio_limit Number of blocks above which to use DMA
1100 debug Enable debug output (default off)
1102 poll_once Disable SDIO-device polling every second
1103 (default on: polling once at boot-time)
1107 Info: Tunes the bcm2835-sdhost SD/MMC driver
1108 N.B. This functionality is now available via the sd_* dtparams in the
1110 Load: dtoverlay=sdtweak,<param>=<val>
1111 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1114 force_pio Disable DMA support (default off)
1116 pio_limit Number of blocks above which to use DMA
1119 debug Enable debug output (default off)
1123 Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25!
1129 Info: Enables the userspace interface for the SMI driver
1130 Load: dtoverlay=smi-dev
1135 Info: Enables access to NAND flash via the SMI interface
1136 Load: dtoverlay=smi-nand
1141 Info: move SPI function block to GPIO 35 to 39
1142 Load: dtoverlay=spi-gpio35-39
1147 Info: Adds support for a number of SPI Real Time Clock devices
1148 Load: dtoverlay=spi-rtc,<param>=<val>
1149 Params: pcf2123 Select the PCF2123 device
1153 Info: Re-enables hardware CS/CE (chip selects) for SPI0
1154 Load: dtoverlay=spi0-hw-cs
1159 Info: Enables spi1 with a single chip select (CS) line and associated spidev
1160 dev node. The gpio pin number for the CS line and spidev device node
1161 creation are configurable.
1162 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1163 A+, B+, Zero and PI2 B; as well as the Compute Module.
1164 Load: dtoverlay=spi1-1cs,<param>=<val>
1165 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1166 cs0_spidev Set to 'disabled' to stop the creation of a
1167 userspace device node /dev/spidev1.0 (default
1168 is 'okay' or enabled).
1172 Info: Enables spi1 with two chip select (CS) lines and associated spidev
1173 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1174 creation are configurable.
1175 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1176 A+, B+, Zero and PI2 B; as well as the Compute Module.
1177 Load: dtoverlay=spi1-2cs,<param>=<val>
1178 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1179 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1180 cs0_spidev Set to 'disabled' to stop the creation of a
1181 userspace device node /dev/spidev1.0 (default
1182 is 'okay' or enabled).
1183 cs1_spidev Set to 'disabled' to stop the creation of a
1184 userspace device node /dev/spidev1.1 (default
1185 is 'okay' or enabled).
1189 Info: Enables spi1 with three chip select (CS) lines and associated spidev
1190 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1191 creation are configurable.
1192 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1193 A+, B+, Zero and PI2 B; as well as the Compute Module.
1194 Load: dtoverlay=spi1-3cs,<param>=<val>
1195 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1196 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1197 cs2_pin GPIO pin for CS2 (default 16 - BCM SPI1_CE2).
1198 cs0_spidev Set to 'disabled' to stop the creation of a
1199 userspace device node /dev/spidev1.0 (default
1200 is 'okay' or enabled).
1201 cs1_spidev Set to 'disabled' to stop the creation of a
1202 userspace device node /dev/spidev1.1 (default
1203 is 'okay' or enabled).
1204 cs2_spidev Set to 'disabled' to stop the creation of a
1205 userspace device node /dev/spidev1.2 (default
1206 is 'okay' or enabled).
1210 Info: Enables spi2 with a single chip select (CS) line and associated spidev
1211 dev node. The gpio pin number for the CS line and spidev device node
1212 creation are configurable.
1213 N.B.: spi2 is only accessible with the Compute Module.
1214 Load: dtoverlay=spi2-1cs,<param>=<val>
1215 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1216 cs0_spidev Set to 'disabled' to stop the creation of a
1217 userspace device node /dev/spidev2.0 (default
1218 is 'okay' or enabled).
1222 Info: Enables spi2 with two chip select (CS) lines and associated spidev
1223 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1224 creation are configurable.
1225 N.B.: spi2 is only accessible with the Compute Module.
1226 Load: dtoverlay=spi2-2cs,<param>=<val>
1227 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1228 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1229 cs0_spidev Set to 'disabled' to stop the creation of a
1230 userspace device node /dev/spidev2.0 (default
1231 is 'okay' or enabled).
1232 cs1_spidev Set to 'disabled' to stop the creation of a
1233 userspace device node /dev/spidev2.1 (default
1234 is 'okay' or enabled).
1238 Info: Enables spi2 with three chip select (CS) lines and associated spidev
1239 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1240 creation are configurable.
1241 N.B.: spi2 is only accessible with the Compute Module.
1242 Load: dtoverlay=spi2-3cs,<param>=<val>
1243 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1244 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1245 cs2_pin GPIO pin for CS2 (default 45 - BCM SPI2_CE2).
1246 cs0_spidev Set to 'disabled' to stop the creation of a
1247 userspace device node /dev/spidev2.0 (default
1248 is 'okay' or enabled).
1249 cs1_spidev Set to 'disabled' to stop the creation of a
1250 userspace device node /dev/spidev2.1 (default
1251 is 'okay' or enabled).
1252 cs2_spidev Set to 'disabled' to stop the creation of a
1253 userspace device node /dev/spidev2.2 (default
1254 is 'okay' or enabled).
1258 Info: 3.5" Color TFT Display by www.tinylcd.com
1259 Options: Touch, RTC, keypad
1260 Load: dtoverlay=tinylcd35,<param>=<val>
1261 Params: speed Display SPI bus speed
1263 rotate Display rotation {0,90,180,270}
1265 fps Delay between frame updates
1267 debug Debug output level {0-7}
1269 touch Enable touch panel
1271 touchgpio Touch controller IRQ GPIO
1273 xohms Touchpanel: Resistance of X-plate in ohms
1275 rtc-pcf PCF8563 Real Time Clock
1277 rtc-ds DS1307 Real Time Clock
1279 keypad Enable keypad
1282 Display with touchpanel, PCF8563 RTC and keypad:
1283 dtoverlay=tinylcd35,touch,rtc-pcf,keypad
1285 dtoverlay=tinylcd35,touch,touchgpio=3
1289 Info: Enable uart1 in place of uart0
1290 Load: dtoverlay=uart1,<param>=<val>
1291 Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
1293 rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
1297 Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
1299 Load: dtoverlay=vc4-fkms-v3d,<param>
1300 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1301 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1302 cma-128 CMA is 128MB, 128MB-aligned
1303 cma-96 CMA is 96MB, 128MB-aligned
1304 cma-64 CMA is 64MB, 64MB-aligned
1308 Info: Enable Eric Anholt's DRM VC4 HDMI/HVS/V3D driver. Running startx or
1309 booting to GUI while this overlay is in use will cause interesting
1311 Load: dtoverlay=vc4-kms-v3d,<param>
1312 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1313 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1314 cma-128 CMA is 128MB, 128MB-aligned
1315 cma-96 CMA is 96MB, 128MB-aligned
1316 cma-64 CMA is 64MB, 64MB-aligned
1320 Info: Overlay for the Fen Logic VGA666 board
1321 This uses GPIOs 2-21 (so no I2C), and activates the output 2-3 seconds
1322 after the kernel has started.
1323 Load: dtoverlay=vga666
1328 Info: Configures the w1-gpio Onewire interface module.
1329 Use this overlay if you *don't* need a GPIO to drive an external pullup.
1330 Load: dtoverlay=w1-gpio,<param>=<val>
1331 Params: gpiopin GPIO for I/O (default "4")
1333 pullup Non-zero, "on", or "y" to enable the parasitic
1334 power (2-wire, power-on-data) feature
1337 Name: w1-gpio-pullup
1338 Info: Configures the w1-gpio Onewire interface module.
1339 Use this overlay if you *do* need a GPIO to drive an external pullup.
1340 Load: dtoverlay=w1-gpio-pullup,<param>=<val>
1341 Params: gpiopin GPIO for I/O (default "4")
1343 pullup Non-zero, "on", or "y" to enable the parasitic
1344 power (2-wire, power-on-data) feature
1346 extpullup GPIO for external pullup (default "5")
1350 Info: Configures the wittypi RTC module.
1351 Load: dtoverlay=wittypi,<param>=<val>
1352 Params: led_gpio GPIO for LED (default "17")
1353 led_trigger Choose which activity the LED tracks (default
1360 If you are experiencing problems that you think are DT-related, enable DT
1361 diagnostic output by adding this to /boot/config.txt:
1365 and rebooting. Then run:
1369 and look for relevant messages.
1374 This is only meant to be a quick introduction to the subject of Device Tree on
1375 Raspberry Pi. There is a more complete explanation here:
1377 http://www.raspberrypi.org/documentation/configuration/device-tree.md