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-miniuart-bt
804 Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
805 UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
807 N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
808 and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
809 that create /dev/serial0 and /dev/serial1, in which case use
810 /dev/serial1 instead because it will always be correct. Furthermore,
811 you must also set core_freq=250 in config.txt or the miniuart will not
813 Load: dtoverlay=pi3-miniuart-bt
818 Info: PiScreen display by OzzMaker.com
819 Load: dtoverlay=piscreen,<param>=<val>
820 Params: speed Display SPI bus speed
822 rotate Display rotation {0,90,180,270}
824 fps Delay between frame updates
826 debug Debug output level {0-7}
828 xohms Touchpanel sensitivity (X-plate resistance)
832 Info: PiScreen 2 with resistive TP display by OzzMaker.com
833 Load: dtoverlay=piscreen2r,<param>=<val>
834 Params: speed Display SPI bus speed
836 rotate Display rotation {0,90,180,270}
838 fps Delay between frame updates
840 debug Debug output level {0-7}
842 xohms Touchpanel sensitivity (X-plate resistance)
846 Info: Configures the Blokas Labs pisound card
847 Load: dtoverlay=pisound
852 Info: Adafruit PiTFT 2.2" screen
853 Load: dtoverlay=pitft22,<param>=<val>
854 Params: speed Display SPI bus speed
856 rotate Display rotation {0,90,180,270}
858 fps Delay between frame updates
860 debug Debug output level {0-7}
863 Name: pitft28-capacitive
864 Info: Adafruit PiTFT 2.8" capacitive touch screen
865 Load: dtoverlay=pitft28-capacitive,<param>=<val>
866 Params: speed Display SPI bus speed
868 rotate Display rotation {0,90,180,270}
870 fps Delay between frame updates
872 debug Debug output level {0-7}
874 touch-sizex Touchscreen size x (default 240)
876 touch-sizey Touchscreen size y (default 320)
878 touch-invx Touchscreen inverted x axis
880 touch-invy Touchscreen inverted y axis
882 touch-swapxy Touchscreen swapped x y axis
885 Name: pitft28-resistive
886 Info: Adafruit PiTFT 2.8" resistive touch screen
887 Load: dtoverlay=pitft28-resistive,<param>=<val>
888 Params: speed Display SPI bus speed
890 rotate Display rotation {0,90,180,270}
892 fps Delay between frame updates
894 debug Debug output level {0-7}
897 Name: pitft35-resistive
898 Info: Adafruit PiTFT 3.5" resistive touch screen
899 Load: dtoverlay=pitft35-resistive,<param>=<val>
900 Params: speed Display SPI bus speed
902 rotate Display rotation {0,90,180,270}
904 fps Delay between frame updates
906 debug Debug output level {0-7}
910 Info: Configures the pps-gpio (pulse-per-second time signal via GPIO).
911 Load: dtoverlay=pps-gpio,<param>=<val>
912 Params: gpiopin Input GPIO (default "18")
913 assert_falling_edge When present, assert is indicated by a falling
914 edge, rather than by a rising edge
918 Info: Configures a single PWM channel
919 Legal pin,function combinations for each channel:
920 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
921 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
923 1) Pin 18 is the only one available on all platforms, and
924 it is the one used by the I2S audio interface.
925 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
926 2) The onboard analogue audio output uses both PWM channels.
927 3) So be careful mixing audio and PWM.
928 4) Currently the clock must have been enabled and configured
930 Load: dtoverlay=pwm,<param>=<val>
931 Params: pin Output pin (default 18) - see table
932 func Pin function (default 2 = Alt5) - see above
933 clock PWM clock frequency (informational)
937 Info: Configures both PWM channels
938 Legal pin,function combinations for each channel:
939 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
940 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
942 1) Pin 18 is the only one available on all platforms, and
943 it is the one used by the I2S audio interface.
944 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
945 2) The onboard analogue audio output uses both PWM channels.
946 3) So be careful mixing audio and PWM.
947 4) Currently the clock must have been enabled and configured
949 Load: dtoverlay=pwm-2chan,<param>=<val>
950 Params: pin Output pin (default 18) - see table
951 pin2 Output pin for other channel (default 19)
952 func Pin function (default 2 = Alt5) - see above
953 func2 Function for pin2 (default 2 = Alt5)
954 clock PWM clock frequency (informational)
958 Info: I2SE's Evaluation Board for PLC Stamp micro
959 Load: dtoverlay=qca7000,<param>=<val>
960 Params: int_pin GPIO pin for interrupt signal (default 23)
962 speed SPI bus speed (default 12 MHz)
966 Info: Configures the RaspiDAV Rev.3x audio card
967 Load: dtoverlay=raspidac3
972 Info: Raspberry Pi official display backlight driver
973 Load: dtoverlay=rpi-backlight
978 Info: Configures the RPi DAC audio card
979 Load: dtoverlay=rpi-dac
984 Info: RPi-Display - 2.8" Touch Display by Watterott
985 Load: dtoverlay=rpi-display,<param>=<val>
986 Params: speed Display SPI bus speed
987 rotate Display rotation {0,90,180,270}
988 fps Delay between frame updates
989 debug Debug output level {0-7}
990 xohms Touchpanel sensitivity (X-plate resistance)
991 swapxy Swap x and y axis
995 Info: Official Raspberry Pi display touchscreen
996 Load: dtoverlay=rpi-ft5406
1001 Info: Configures the RPi Proto audio card
1002 Load: dtoverlay=rpi-proto
1007 Info: Raspberry Pi Sense HAT
1008 Load: dtoverlay=rpi-sense
1012 Name: rra-digidac1-wm8741-audio
1013 Info: Configures the Red Rocks Audio DigiDAC1 soundcard
1014 Load: dtoverlay=rra-digidac1-wm8741-audio
1019 Info: Overlay for the NXP SC16IS750 UART with I2C Interface
1020 Enables the chip on I2C1 at 0x48. To select another address,
1021 please refer to table 10 in reference manual.
1023 Load: dtoverlay=sc16is750-i2c,<param>=<val>
1024 Params: int_pin GPIO used for IRQ (default 24)
1025 addr Address (default 0x48)
1028 Name: sc16is752-spi1
1029 Info: Overlay for the NXP SC16IS752 Dual UART with SPI Interface
1030 Enables the chip on SPI1.
1031 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1032 A+, B+, Zero and PI2 B; as well as the Compute Module.
1034 Load: dtoverlay=sc16is752-spi1,<param>=<val>
1035 Params: int_pin GPIO used for IRQ (default 24)
1039 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock.
1040 N.B. This overlay is designed for situations where the mmc driver is
1041 the default, so it disables the other (mmc) interface - this will kill
1042 WiFi on a Pi3. If this isn't what you want, either use the sdtweak
1043 overlay or the new sd_* dtparams of the base DTBs.
1044 Load: dtoverlay=sdhost,<param>=<val>
1045 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1048 force_pio Disable DMA support (default off)
1050 pio_limit Number of blocks above which to use DMA
1053 debug Enable debug output (default off)
1057 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1058 and enables SDIO via GPIOs 22-27.
1059 Load: dtoverlay=sdio,<param>=<val>
1060 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1063 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1064 framework requests 50MHz
1066 force_pio Disable DMA support (default off)
1068 pio_limit Number of blocks above which to use DMA
1071 debug Enable debug output (default off)
1073 poll_once Disable SDIO-device polling every second
1074 (default on: polling once at boot-time)
1076 bus_width Set the SDIO host bus width (default 4 bits)
1080 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1081 and enables 1-bit SDIO via GPIOs 22-25.
1082 Load: dtoverlay=sdio-1bit,<param>=<val>
1083 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1086 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1087 framework requests 50MHz
1089 force_pio Disable DMA support (default off)
1091 pio_limit Number of blocks above which to use DMA
1094 debug Enable debug output (default off)
1096 poll_once Disable SDIO-device polling every second
1097 (default on: polling once at boot-time)
1101 Info: Tunes the bcm2835-sdhost SD/MMC driver
1102 N.B. This functionality is now available via the sd_* dtparams in the
1104 Load: dtoverlay=sdtweak,<param>=<val>
1105 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1108 force_pio Disable DMA support (default off)
1110 pio_limit Number of blocks above which to use DMA
1113 debug Enable debug output (default off)
1117 Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25!
1123 Info: Enables the userspace interface for the SMI driver
1124 Load: dtoverlay=smi-dev
1129 Info: Enables access to NAND flash via the SMI interface
1130 Load: dtoverlay=smi-nand
1135 Info: move SPI function block to GPIO 35 to 39
1136 Load: dtoverlay=spi-gpio35-39
1141 Info: Adds support for a number of SPI Real Time Clock devices
1142 Load: dtoverlay=spi-rtc,<param>=<val>
1143 Params: pcf2123 Select the PCF2123 device
1147 Info: Re-enables hardware CS/CE (chip selects) for SPI0
1148 Load: dtoverlay=spi0-hw-cs
1153 Info: Enables spi1 with a single chip select (CS) line and associated spidev
1154 dev node. The gpio pin number for the CS line and spidev device node
1155 creation are configurable.
1156 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1157 A+, B+, Zero and PI2 B; as well as the Compute Module.
1158 Load: dtoverlay=spi1-1cs,<param>=<val>
1159 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1160 cs0_spidev Set to 'disabled' to stop the creation of a
1161 userspace device node /dev/spidev1.0 (default
1162 is 'okay' or enabled).
1166 Info: Enables spi1 with two chip select (CS) lines and associated spidev
1167 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1168 creation are configurable.
1169 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1170 A+, B+, Zero and PI2 B; as well as the Compute Module.
1171 Load: dtoverlay=spi1-2cs,<param>=<val>
1172 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1173 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1174 cs0_spidev Set to 'disabled' to stop the creation of a
1175 userspace device node /dev/spidev1.0 (default
1176 is 'okay' or enabled).
1177 cs1_spidev Set to 'disabled' to stop the creation of a
1178 userspace device node /dev/spidev1.1 (default
1179 is 'okay' or enabled).
1183 Info: Enables spi1 with three chip select (CS) lines and associated spidev
1184 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1185 creation are configurable.
1186 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1187 A+, B+, Zero and PI2 B; as well as the Compute Module.
1188 Load: dtoverlay=spi1-3cs,<param>=<val>
1189 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1190 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1191 cs2_pin GPIO pin for CS2 (default 16 - BCM SPI1_CE2).
1192 cs0_spidev Set to 'disabled' to stop the creation of a
1193 userspace device node /dev/spidev1.0 (default
1194 is 'okay' or enabled).
1195 cs1_spidev Set to 'disabled' to stop the creation of a
1196 userspace device node /dev/spidev1.1 (default
1197 is 'okay' or enabled).
1198 cs2_spidev Set to 'disabled' to stop the creation of a
1199 userspace device node /dev/spidev1.2 (default
1200 is 'okay' or enabled).
1204 Info: Enables spi2 with a single chip select (CS) line and associated spidev
1205 dev node. The gpio pin number for the CS line and spidev device node
1206 creation are configurable.
1207 N.B.: spi2 is only accessible with the Compute Module.
1208 Load: dtoverlay=spi2-1cs,<param>=<val>
1209 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1210 cs0_spidev Set to 'disabled' to stop the creation of a
1211 userspace device node /dev/spidev2.0 (default
1212 is 'okay' or enabled).
1216 Info: Enables spi2 with two chip select (CS) lines and associated spidev
1217 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1218 creation are configurable.
1219 N.B.: spi2 is only accessible with the Compute Module.
1220 Load: dtoverlay=spi2-2cs,<param>=<val>
1221 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1222 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1223 cs0_spidev Set to 'disabled' to stop the creation of a
1224 userspace device node /dev/spidev2.0 (default
1225 is 'okay' or enabled).
1226 cs1_spidev Set to 'disabled' to stop the creation of a
1227 userspace device node /dev/spidev2.1 (default
1228 is 'okay' or enabled).
1232 Info: Enables spi2 with three chip select (CS) lines and associated spidev
1233 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1234 creation are configurable.
1235 N.B.: spi2 is only accessible with the Compute Module.
1236 Load: dtoverlay=spi2-3cs,<param>=<val>
1237 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1238 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1239 cs2_pin GPIO pin for CS2 (default 45 - BCM SPI2_CE2).
1240 cs0_spidev Set to 'disabled' to stop the creation of a
1241 userspace device node /dev/spidev2.0 (default
1242 is 'okay' or enabled).
1243 cs1_spidev Set to 'disabled' to stop the creation of a
1244 userspace device node /dev/spidev2.1 (default
1245 is 'okay' or enabled).
1246 cs2_spidev Set to 'disabled' to stop the creation of a
1247 userspace device node /dev/spidev2.2 (default
1248 is 'okay' or enabled).
1252 Info: 3.5" Color TFT Display by www.tinylcd.com
1253 Options: Touch, RTC, keypad
1254 Load: dtoverlay=tinylcd35,<param>=<val>
1255 Params: speed Display SPI bus speed
1257 rotate Display rotation {0,90,180,270}
1259 fps Delay between frame updates
1261 debug Debug output level {0-7}
1263 touch Enable touch panel
1265 touchgpio Touch controller IRQ GPIO
1267 xohms Touchpanel: Resistance of X-plate in ohms
1269 rtc-pcf PCF8563 Real Time Clock
1271 rtc-ds DS1307 Real Time Clock
1273 keypad Enable keypad
1276 Display with touchpanel, PCF8563 RTC and keypad:
1277 dtoverlay=tinylcd35,touch,rtc-pcf,keypad
1279 dtoverlay=tinylcd35,touch,touchgpio=3
1283 Info: Enable uart1 in place of uart0
1284 Load: dtoverlay=uart1,<param>=<val>
1285 Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
1287 rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
1291 Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
1293 Load: dtoverlay=vc4-fkms-v3d,<param>
1294 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1295 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1296 cma-128 CMA is 128MB, 128MB-aligned
1297 cma-96 CMA is 96MB, 128MB-aligned
1298 cma-64 CMA is 64MB, 64MB-aligned
1302 Info: Enable Eric Anholt's DRM VC4 HDMI/HVS/V3D driver. Running startx or
1303 booting to GUI while this overlay is in use will cause interesting
1305 Load: dtoverlay=vc4-kms-v3d,<param>
1306 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1307 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1308 cma-128 CMA is 128MB, 128MB-aligned
1309 cma-96 CMA is 96MB, 128MB-aligned
1310 cma-64 CMA is 64MB, 64MB-aligned
1314 Info: Overlay for the Fen Logic VGA666 board
1315 This uses GPIOs 2-21 (so no I2C), and activates the output 2-3 seconds
1316 after the kernel has started.
1317 Load: dtoverlay=vga666
1322 Info: Configures the w1-gpio Onewire interface module.
1323 Use this overlay if you *don't* need a GPIO to drive an external pullup.
1324 Load: dtoverlay=w1-gpio,<param>=<val>
1325 Params: gpiopin GPIO for I/O (default "4")
1327 pullup Non-zero, "on", or "y" to enable the parasitic
1328 power (2-wire, power-on-data) feature
1331 Name: w1-gpio-pullup
1332 Info: Configures the w1-gpio Onewire interface module.
1333 Use this overlay if you *do* need a GPIO to drive an external pullup.
1334 Load: dtoverlay=w1-gpio-pullup,<param>=<val>
1335 Params: gpiopin GPIO for I/O (default "4")
1337 pullup Non-zero, "on", or "y" to enable the parasitic
1338 power (2-wire, power-on-data) feature
1340 extpullup GPIO for external pullup (default "5")
1344 Info: Configures the wittypi RTC module.
1345 Load: dtoverlay=wittypi,<param>=<val>
1346 Params: led_gpio GPIO for LED (default "17")
1347 led_trigger Choose which activity the LED tracks (default
1354 If you are experiencing problems that you think are DT-related, enable DT
1355 diagnostic output by adding this to /boot/config.txt:
1359 and rebooting. Then run:
1363 and look for relevant messages.
1368 This is only meant to be a quick introduction to the subject of Device Tree on
1369 Raspberry Pi. There is a more complete explanation here:
1371 http://www.raspberrypi.org/documentation/configuration/device-tree.md