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
171 Name: adau7002-simple
172 Info: Overlay for the activation of ADAU7002 stereo PDM to I2S converter.
173 Load: dtoverlay=adau7002-simple,<param>=<val>
174 Params: card-name Override the default, "adau7002", card name.
178 Info: Overlay for activation of Texas Instruments ADS1015 ADC over I2C
179 Load: dtoverlay=ads1015,<param>=<val>
180 Params: addr I2C bus address of device. Set based on how the
181 addr pin is wired. (default=0x48 assumes addr
183 cha_enable Enable virtual channel a. (default=true)
184 cha_cfg Set the configuration for virtual channel a.
185 (default=4 configures this channel for the
186 voltage at A0 with respect to GND)
187 cha_datarate Set the datarate (samples/sec) for this channel.
188 (default=4 sets 1600 sps)
189 cha_gain Set the gain of the Programmable Gain
190 Amplifier for this channel. (default=2 sets the
191 full scale of the channel to 2.048 Volts)
193 Channel (ch) parameters can be set for each enabled channel.
194 A maximum of 4 channels can be enabled (letters a thru d).
195 For more information refer to the device datasheet at:
196 http://www.ti.com/lit/ds/symlink/ads1015.pdf
200 Info: ADS7846 Touch controller
201 Load: dtoverlay=ads7846,<param>=<val>
202 Params: cs SPI bus Chip Select (default 1)
203 speed SPI bus speed (default 2MHz, max 3.25MHz)
204 penirq GPIO used for PENIRQ. REQUIRED
205 penirq_pull Set GPIO pull (default 0=none, 2=pullup)
206 swapxy Swap x and y axis
207 xmin Minimum value on the X axis (default 0)
208 ymin Minimum value on the Y axis (default 0)
209 xmax Maximum value on the X axis (default 4095)
210 ymax Maximum value on the Y axis (default 4095)
211 pmin Minimum reported pressure value (default 0)
212 pmax Maximum reported pressure value (default 65535)
213 xohms Touchpanel sensitivity (X-plate resistance)
216 penirq is required and usually xohms (60-100) has to be set as well.
217 Apart from that, pmax (255) and swapxy are also common.
218 The rest of the calibration can be done with xinput-calibrator.
219 See: github.com/notro/fbtft/wiki/FBTFT-on-Raspian
220 Device Tree binding document:
221 www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
224 Name: akkordion-iqdacplus
225 Info: Configures the Digital Dreamtime Akkordion Music Player (based on the
226 OEM IQAudIO DAC+ or DAC Zero module).
227 Load: dtoverlay=akkordion-iqdacplus,<param>=<val>
228 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
229 Digital volume control. Enable with
230 dtoverlay=akkordion-iqdacplus,24db_digital_gain
231 (The default behaviour is that the Digital
232 volume control is limited to a maximum of
233 0dB. ie. it can attenuate but not provide
234 gain. For most users, this will be desired
235 as it will prevent clipping. By appending
236 the 24db_digital_gain parameter, the Digital
237 volume control will allow up to 24dB of
238 gain. If this parameter is enabled, it is the
239 responsibility of the user to ensure that
240 the Digital volume control is set to a value
241 that does not result in clipping/distortion!)
244 Name: allo-piano-dac-pcm512x-audio
245 Info: Configures the Allo Piano DAC (2.0/2.1) audio cards.
246 (NB. This initial support is for 2.0 channel audio ONLY! ie. stereo.
247 The subwoofer outputs on the Piano 2.1 are not currently supported!)
248 Load: dtoverlay=allo-piano-dac-pcm512x-audio,<param>
249 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
250 Digital volume control.
251 (The default behaviour is that the Digital
252 volume control is limited to a maximum of
253 0dB. ie. it can attenuate but not provide
254 gain. For most users, this will be desired
255 as it will prevent clipping. By appending
256 the 24db_digital_gain parameter, the Digital
257 volume control will allow up to 24dB of
258 gain. If this parameter is enabled, it is the
259 responsibility of the user to ensure that
260 the Digital volume control is set to a value
261 that does not result in clipping/distortion!)
265 Info: Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver,
267 Load: dtoverlay=at86rf233,<param>=<val>
268 Params: interrupt GPIO used for INT (default 23)
269 reset GPIO used for Reset (default 24)
270 sleep GPIO used for Sleep (default 25)
271 speed SPI bus speed in Hz (default 3000000)
272 trim Fine tuning of the internal capacitance
273 arrays (0=+0pF, 15=+4.5pF, default 15)
276 Name: audioinjector-wm8731-audio
277 Info: Configures the audioinjector.net audio add on soundcard
278 Load: dtoverlay=audioinjector-wm8731-audio
283 Info: Switches PWM sound output to pins 12 (Right) & 13 (Left)
284 Load: dtoverlay=audremap,<param>=<val>
285 Params: swap_lr Reverse the channel allocation, which will also
286 swap the audio jack outputs (default off)
287 enable_jack Don't switch off the audio jack output
291 Name: bmp085_i2c-sensor
292 Info: This overlay is now deprecated - see i2c-sensor
293 Load: dtoverlay=bmp085_i2c-sensor
298 Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
299 Also sometimes found with the part number(s) AM230x.
300 Load: dtoverlay=dht11,<param>=<val>
301 Params: gpiopin GPIO connected to the sensor's DATA output.
306 Info: Configures the Dion Audio LOCO DAC-AMP
307 Load: dtoverlay=dionaudio-loco
311 Name: dionaudio-loco-v2
312 Info: Configures the Dion Audio LOCO-V2 DAC-AMP
313 Load: dtoverlay=dionaudio-loco-v2,<param>=<val>
314 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
315 Digital volume control. Enable with
316 "dtoverlay=hifiberry-dacplus,24db_digital_gain"
317 (The default behaviour is that the Digital
318 volume control is limited to a maximum of
319 0dB. ie. it can attenuate but not provide
320 gain. For most users, this will be desired
321 as it will prevent clipping. By appending
322 the 24dB_digital_gain parameter, the Digital
323 volume control will allow up to 24dB of
324 gain. If this parameter is enabled, it is the
325 responsibility of the user to ensure that
326 the Digital volume control is set to a value
327 that does not result in clipping/distortion!)
331 Info: Overlay for a generic 18-bit DPI display
332 This uses GPIOs 0-21 (so no I2C, uart etc.), and activates the output
333 2-3 seconds after the kernel has started.
334 Load: dtoverlay=dpi18
339 Info: Overlay for a generic 24-bit DPI display
340 This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output
341 2-3 seconds after the kernel has started.
342 Load: dtoverlay=dpi24
347 Info: Selects the dwc_otg USB controller driver which has fiq support. This
348 is the default on all except the Pi Zero which defaults to dwc2.
349 Load: dtoverlay=dwc-otg
354 Info: Selects the dwc2 USB controller driver
355 Load: dtoverlay=dwc2,<param>=<val>
356 Params: dr_mode Dual role mode: "host", "peripheral" or "otg"
358 g-rx-fifo-size Size of rx fifo size in gadget mode
360 g-np-tx-fifo-size Size of non-periodic tx fifo size in gadget
363 g-tx-fifo-size Size of periodic tx fifo per endpoint
364 (except ep0) in gadget mode
367 [ The ds1307-rtc overlay has been deleted. See i2c-rtc. ]
371 Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI0
372 Load: dtoverlay=enc28j60,<param>=<val>
373 Params: int_pin GPIO used for INT (default 25)
375 speed SPI bus speed (default 12000000)
379 Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI2
380 Load: dtoverlay=enc28j60-spi2,<param>=<val>
381 Params: int_pin GPIO used for INT (default 39)
383 speed SPI bus speed (default 12000000)
387 Info: Use GPIO pin as rc-core style infrared receiver input. The rc-core-
388 based gpio_ir_recv driver maps received keys directly to a
389 /dev/input/event* device, all decoding is done by the kernel - LIRC is
390 not required! The key mapping and other decoding parameters can be
391 configured by "ir-keytable" tool.
392 Load: dtoverlay=gpio-ir,<param>=<val>
393 Params: gpio_pin Input pin number. Default is 18.
395 gpio_pull Desired pull-up/down state (off, down, up)
398 rc-map-name Default rc keymap (can also be changed by
399 ir-keytable), defaults to "rc-rc6-mce"
403 Info: Drives a GPIO high or low on poweroff (including halt)
404 Load: dtoverlay=gpio-poweroff,<param>=<val>
405 Params: gpiopin GPIO for signalling (default 26)
407 active_low Set if the power control device requires a
408 high->low transition to trigger a power-down.
409 Note that this will require the support of a
410 custom dt-blob.bin to prevent a power-down
411 during the boot process, and that a reboot
412 will also cause the pin to go low.
416 Info: Configures the HifiBerry Amp and Amp+ audio cards
417 Load: dtoverlay=hifiberry-amp
422 Info: Configures the HifiBerry DAC audio card
423 Load: dtoverlay=hifiberry-dac
427 Name: hifiberry-dacplus
428 Info: Configures the HifiBerry DAC+ audio card
429 Load: dtoverlay=hifiberry-dacplus,<param>=<val>
430 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
431 Digital volume control. Enable with
432 "dtoverlay=hifiberry-dacplus,24db_digital_gain"
433 (The default behaviour is that the Digital
434 volume control is limited to a maximum of
435 0dB. ie. it can attenuate but not provide
436 gain. For most users, this will be desired
437 as it will prevent clipping. By appending
438 the 24dB_digital_gain parameter, the Digital
439 volume control will allow up to 24dB of
440 gain. If this parameter is enabled, it is the
441 responsibility of the user to ensure that
442 the Digital volume control is set to a value
443 that does not result in clipping/distortion!)
444 slave Force DAC+ Pro into slave mode, using Pi as
445 master for bit clock and frame clock.
449 Info: Configures the HifiBerry Digi and Digi+ audio card
450 Load: dtoverlay=hifiberry-digi
454 Name: hifiberry-digi-pro
455 Info: Configures the HifiBerry Digi+ Pro audio card
456 Load: dtoverlay=hifiberry-digi-pro
461 Info: HY28A - 2.8" TFT LCD Display Module by HAOYU Electronics
462 Default values match Texy's display shield
463 Load: dtoverlay=hy28a,<param>=<val>
464 Params: speed Display SPI bus speed
466 rotate Display rotation {0,90,180,270}
468 fps Delay between frame updates
470 debug Debug output level {0-7}
472 xohms Touchpanel sensitivity (X-plate resistance)
474 resetgpio GPIO used to reset controller
476 ledgpio GPIO used to control backlight
480 Info: HY28B - 2.8" TFT LCD Display Module by HAOYU Electronics
481 Default values match Texy's display shield
482 Load: dtoverlay=hy28b,<param>=<val>
483 Params: speed Display SPI bus speed
485 rotate Display rotation {0,90,180,270}
487 fps Delay between frame updates
489 debug Debug output level {0-7}
491 xohms Touchpanel sensitivity (X-plate resistance)
493 resetgpio GPIO used to reset controller
495 ledgpio GPIO used to control backlight
499 Info: Fall back to the i2c_bcm2708 driver for the i2c_arm bus.
500 Load: dtoverlay=i2c-bcm2708
505 Info: Adds support for software i2c controller on gpio pins
506 Load: dtoverlay=i2c-gpio,<param>=<val>
507 Params: i2c_gpio_sda GPIO used for I2C data (default "23")
509 i2c_gpio_scl GPIO used for I2C clock (default "24")
511 i2c_gpio_delay_us Clock delay in microseconds
512 (default "2" = ~100kHz)
516 Info: Adds support for a number of I2C bus multiplexers on i2c_arm
517 Load: dtoverlay=i2c-mux,<param>=<val>
518 Params: pca9542 Select the NXP PCA9542 device
520 pca9545 Select the NXP PCA9545 device
522 pca9548 Select the NXP PCA9548 device
524 addr Change I2C address of the device (default 0x70)
527 [ The i2c-mux-pca9548a overlay has been deleted. See i2c-mux. ]
530 Name: i2c-pwm-pca9685a
531 Info: Adds support for an NXP PCA9685A I2C PWM controller on i2c_arm
532 Load: dtoverlay=i2c-pwm-pca9685a,<param>=<val>
533 Params: addr I2C address of PCA9685A (default 0x40)
537 Info: Adds support for a number of I2C Real Time Clock devices
538 Load: dtoverlay=i2c-rtc,<param>=<val>
539 Params: abx80x Select one of the ABx80x family:
540 AB0801, AB0803, AB0804, AB0805,
541 AB1801, AB1803, AB1804, AB1805
543 ds1307 Select the DS1307 device
545 ds1339 Select the DS1339 device
547 ds3231 Select the DS3231 device
549 mcp7940x Select the MCP7940x device
551 mcp7941x Select the MCP7941x device
553 pcf2127 Select the PCF2127 device
555 pcf8523 Select the PCF8523 device
557 pcf8563 Select the PCF8563 device
559 trickle-diode-type Diode type for trickle charge - "standard" or
560 "schottky" (ABx80x only)
562 trickle-resistor-ohms Resistor value for trickle charge (DS1339,
565 wakeup-source Specify that the RTC can be used as a wakeup
570 Info: Adds support for a number of I2C barometric pressure and temperature
572 Load: dtoverlay=i2c-sensor,<param>=<val>
573 Params: bmp085 Select the Bosch sensortronic BMP085
575 bmp280 Select the Bosch sensortronic BMP280
577 si7020 Select the Silicon Labs Si7013/20/21 humidity/
582 Info: Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations
583 are usable on all platforms.
584 Load: dtoverlay=i2c0-bcm2708,<param>=<val>
585 Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*)
586 scl0_pin GPIO pin for SCL0 (deprecated - use pins_*)
587 pins_0_1 Use pins 0 and 1 (default)
588 pins_28_29 Use pins 28 and 29
589 pins_44_45 Use pins 44 and 45
590 pins_46_47 Use pins 46 and 47
594 Info: Enable the i2c_bcm2708 driver for the i2c1 bus
595 Load: dtoverlay=i2c1-bcm2708,<param>=<val>
596 Params: sda1_pin GPIO pin for SDA1 (2 or 44 - default 2)
597 scl1_pin GPIO pin for SCL1 (3 or 45 - default 3)
598 pin_func Alternative pin function (4 (alt0), 6 (alt2) -
603 Info: move I2S function block to GPIO 28 to 31
604 Load: dtoverlay=i2s-gpio28-31
609 Info: Configures the IQaudio DAC audio card
610 Load: dtoverlay=iqaudio-dac,<param>
611 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
612 Digital volume control. Enable with
613 "dtoverlay=iqaudio-dac,24db_digital_gain"
614 (The default behaviour is that the Digital
615 volume control is limited to a maximum of
616 0dB. ie. it can attenuate but not provide
617 gain. For most users, this will be desired
618 as it will prevent clipping. By appending
619 the 24db_digital_gain parameter, the Digital
620 volume control will allow up to 24dB of
621 gain. If this parameter is enabled, it is the
622 responsibility of the user to ensure that
623 the Digital volume control is set to a value
624 that does not result in clipping/distortion!)
627 Name: iqaudio-dacplus
628 Info: Configures the IQaudio DAC+ audio card
629 Load: dtoverlay=iqaudio-dacplus,<param>=<val>
630 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
631 Digital volume control. Enable with
632 "dtoverlay=iqaudio-dacplus,24db_digital_gain"
633 (The default behaviour is that the Digital
634 volume control is limited to a maximum of
635 0dB. ie. it can attenuate but not provide
636 gain. For most users, this will be desired
637 as it will prevent clipping. By appending
638 the 24db_digital_gain parameter, the Digital
639 volume control will allow up to 24dB of
640 gain. If this parameter is enabled, it is the
641 responsibility of the user to ensure that
642 the Digital volume control is set to a value
643 that does not result in clipping/distortion!)
644 auto_mute_amp If specified, unmute/mute the IQaudIO amp when
645 starting/stopping audio playback.
646 unmute_amp If specified, unmute the IQaudIO amp once when
647 the DAC driver module loads.
650 Name: iqaudio-digi-wm8804-audio
651 Info: Configures the IQAudIO Digi WM8804 audio card
652 Load: dtoverlay=iqaudio-digi-wm8804-audio,<param>=<val>
653 Params: card_name Override the default, "IQAudIODigi", card name.
654 dai_name Override the default, "IQAudIO Digi", dai name.
655 dai_stream_name Override the default, "IQAudIO Digi HiFi",
660 Info: Configures the JustBoom DAC HAT, Amp HAT, DAC Zero and Amp Zero audio
662 Load: dtoverlay=justboom-dac,<param>=<val>
663 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
664 Digital volume control. Enable with
665 "dtoverlay=justboom-dac,24db_digital_gain"
666 (The default behaviour is that the Digital
667 volume control is limited to a maximum of
668 0dB. ie. it can attenuate but not provide
669 gain. For most users, this will be desired
670 as it will prevent clipping. By appending
671 the 24dB_digital_gain parameter, the Digital
672 volume control will allow up to 24dB of
673 gain. If this parameter is enabled, it is the
674 responsibility of the user to ensure that
675 the Digital volume control is set to a value
676 that does not result in clipping/distortion!)
680 Info: Configures the JustBoom Digi HAT and Digi Zero audio cards
681 Load: dtoverlay=justboom-digi
686 Info: Configures lirc-rpi (Linux Infrared Remote Control for Raspberry Pi)
687 Consult the module documentation for more details.
688 Load: dtoverlay=lirc-rpi,<param>=<val>
689 Params: gpio_out_pin GPIO for output (default "17")
691 gpio_in_pin GPIO for input (default "18")
693 gpio_in_pull Pull up/down/off on the input pin
696 sense Override the IR receive auto-detection logic:
697 "0" = force active-high
698 "1" = force active-low
699 "-1" = use auto-detection
702 softcarrier Turn the software carrier "on" or "off"
705 invert "on" = invert the output pin (default "off")
707 debug "on" = enable additional debug messages
712 Info: Configures the MCP23017 I2C GPIO expander
713 Load: dtoverlay=mcp23017,<param>=<val>
714 Params: gpiopin Gpio pin connected to the INTA output of the
715 MCP23017 (default: 4)
717 addr I2C address of the MCP23017 (default: 0x20)
721 Info: Configures the MCP23S08/17 SPI GPIO expanders.
722 If devices are present on SPI1 or SPI2, those interfaces must be enabled
723 with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
724 If interrupts are enabled for a device on a given CS# on a SPI bus, that
725 device must be the only one present on that SPI bus/CS#.
726 Load: dtoverlay=mcp23s17,<param>=<val>
727 Params: s08-spi<n>-<m>-present 4-bit integer, bitmap indicating MCP23S08
728 devices present on SPI<n>, CS#<m>
730 s17-spi<n>-<m>-present 8-bit integer, bitmap indicating MCP23S17
731 devices present on SPI<n>, CS#<m>
733 s08-spi<n>-<m>-int-gpio integer, enables interrupts on a single
734 MCP23S08 device on SPI<n>, CS#<m>, specifies
735 the GPIO pin to which INT output of MCP23S08
738 s17-spi<n>-<m>-int-gpio integer, enables mirrored interrupts on a
739 single MCP23S17 device on SPI<n>, CS#<m>,
740 specifies the GPIO pin to which either INTA
741 or INTB output of MCP23S17 is connected.
745 Info: Configures the MCP2515 CAN controller on spi0.0
746 Load: dtoverlay=mcp2515-can0,<param>=<val>
747 Params: oscillator Clock frequency for the CAN controller (Hz)
749 spimaxfrequency Maximum SPI frequence (Hz)
751 interrupt GPIO for interrupt signal
755 Info: Configures the MCP2515 CAN controller on spi0.1
756 Load: dtoverlay=mcp2515-can1,<param>=<val>
757 Params: oscillator Clock frequency for the CAN controller (Hz)
759 spimaxfrequency Maximum SPI frequence (Hz)
761 interrupt GPIO for interrupt signal
765 Info: Configures MCP3008 A/D converters
766 For devices on spi1 or spi2, the interfaces should be enabled
767 with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
768 Load: dtoverlay=mcp3008,<param>[=<val>]
769 Params: spi<n>-<m>-present boolean, configure device at spi<n>, cs<m>
770 spi<n>-<m>-speed integer, set the spi bus speed for this device
774 Info: Configures UART0 (ttyAMA0) so that a requested 38.4kbaud actually gets
775 31.25kbaud, the frequency required for MIDI
776 Load: dtoverlay=midi-uart0
781 Info: Selects the bcm2835-mmc SD/MMC driver, optionally with overclock
782 Load: dtoverlay=mmc,<param>=<val>
783 Params: overclock_50 Clock (in MHz) to use when the MMC framework
788 Info: MZ61581 display by Tontec
789 Load: dtoverlay=mz61581,<param>=<val>
790 Params: speed Display SPI bus speed
792 rotate Display rotation {0,90,180,270}
794 fps Delay between frame updates
796 txbuflen Transmit buffer length (default 32768)
798 debug Debug output level {0-7}
800 xohms Touchpanel sensitivity (X-plate resistance)
803 [ The pcf2127-rtc overlay has been deleted. See i2c-rtc. ]
806 [ The pcf8523-rtc overlay has been deleted. See i2c-rtc. ]
809 [ The pcf8563-rtc overlay has been deleted. See i2c-rtc. ]
813 Info: Pi3 uses a GPIO expander to drive the LEDs which can only be accessed
814 from the VPU. There is a special driver for this with a separate DT
815 node, which has the unfortunate consequence of breaking the
816 act_led_gpio and act_led_activelow dtparams.
817 This overlay changes the GPIO controller back to the standard one and
818 restores the dtparams.
819 Load: dtoverlay=pi3-act-led,<param>=<val>
820 Params: activelow Set to "on" to invert the sense of the LED
823 gpio Set which GPIO to use for the activity LED
824 (in case you want to connect it to an external
830 Info: Disable Pi3 Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15
831 N.B. To disable the systemd service that initialises the modem so it
832 doesn't use the UART, use 'sudo systemctl disable hciuart'.
833 Load: dtoverlay=pi3-disable-bt
837 Name: pi3-disable-wifi
838 Info: Disable Pi3 onboard WiFi
839 Load: dtoverlay=pi3-disable-wifi
843 Name: pi3-miniuart-bt
844 Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
845 UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
847 N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
848 and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
849 that create /dev/serial0 and /dev/serial1, in which case use
850 /dev/serial1 instead because it will always be correct. Furthermore,
851 you must also set core_freq=250 in config.txt or the miniuart will not
853 Load: dtoverlay=pi3-miniuart-bt
858 Info: PiScreen display by OzzMaker.com
859 Load: dtoverlay=piscreen,<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}
868 xohms Touchpanel sensitivity (X-plate resistance)
872 Info: PiScreen 2 with resistive TP display by OzzMaker.com
873 Load: dtoverlay=piscreen2r,<param>=<val>
874 Params: speed Display SPI bus speed
876 rotate Display rotation {0,90,180,270}
878 fps Delay between frame updates
880 debug Debug output level {0-7}
882 xohms Touchpanel sensitivity (X-plate resistance)
886 Info: Configures the Blokas Labs pisound card
887 Load: dtoverlay=pisound
892 Info: Adafruit PiTFT 2.2" screen
893 Load: dtoverlay=pitft22,<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: pitft28-capacitive
904 Info: Adafruit PiTFT 2.8" capacitive touch screen
905 Load: dtoverlay=pitft28-capacitive,<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}
914 touch-sizex Touchscreen size x (default 240)
916 touch-sizey Touchscreen size y (default 320)
918 touch-invx Touchscreen inverted x axis
920 touch-invy Touchscreen inverted y axis
922 touch-swapxy Touchscreen swapped x y axis
925 Name: pitft28-resistive
926 Info: Adafruit PiTFT 2.8" resistive touch screen
927 Load: dtoverlay=pitft28-resistive,<param>=<val>
928 Params: speed Display SPI bus speed
930 rotate Display rotation {0,90,180,270}
932 fps Delay between frame updates
934 debug Debug output level {0-7}
937 Name: pitft35-resistive
938 Info: Adafruit PiTFT 3.5" resistive touch screen
939 Load: dtoverlay=pitft35-resistive,<param>=<val>
940 Params: speed Display SPI bus speed
942 rotate Display rotation {0,90,180,270}
944 fps Delay between frame updates
946 debug Debug output level {0-7}
950 Info: Configures the pps-gpio (pulse-per-second time signal via GPIO).
951 Load: dtoverlay=pps-gpio,<param>=<val>
952 Params: gpiopin Input GPIO (default "18")
953 assert_falling_edge When present, assert is indicated by a falling
954 edge, rather than by a rising edge
958 Info: Configures a single PWM channel
959 Legal pin,function combinations for each channel:
960 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
961 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
963 1) Pin 18 is the only one available on all platforms, and
964 it is the one used by the I2S audio interface.
965 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
966 2) The onboard analogue audio output uses both PWM channels.
967 3) So be careful mixing audio and PWM.
968 4) Currently the clock must have been enabled and configured
970 Load: dtoverlay=pwm,<param>=<val>
971 Params: pin Output pin (default 18) - see table
972 func Pin function (default 2 = Alt5) - see above
973 clock PWM clock frequency (informational)
977 Info: Configures both PWM channels
978 Legal pin,function combinations for each channel:
979 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
980 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
982 1) Pin 18 is the only one available on all platforms, and
983 it is the one used by the I2S audio interface.
984 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
985 2) The onboard analogue audio output uses both PWM channels.
986 3) So be careful mixing audio and PWM.
987 4) Currently the clock must have been enabled and configured
989 Load: dtoverlay=pwm-2chan,<param>=<val>
990 Params: pin Output pin (default 18) - see table
991 pin2 Output pin for other channel (default 19)
992 func Pin function (default 2 = Alt5) - see above
993 func2 Function for pin2 (default 2 = Alt5)
994 clock PWM clock frequency (informational)
998 Info: I2SE's Evaluation Board for PLC Stamp micro
999 Load: dtoverlay=qca7000,<param>=<val>
1000 Params: int_pin GPIO pin for interrupt signal (default 23)
1002 speed SPI bus speed (default 12 MHz)
1006 Info: Configures the RaspiDAV Rev.3x audio card
1007 Load: dtoverlay=raspidac3
1012 Info: Raspberry Pi official display backlight driver
1013 Load: dtoverlay=rpi-backlight
1017 Name: rpi-cirrus-wm5102
1018 Info: Configures the Cirrus Logic Audio Card
1019 Load: dtoverlay=rpi-cirrus-wm5102
1024 Info: Configures the RPi DAC audio card
1025 Load: dtoverlay=rpi-dac
1030 Info: RPi-Display - 2.8" Touch Display by Watterott
1031 Load: dtoverlay=rpi-display,<param>=<val>
1032 Params: speed Display SPI bus speed
1033 rotate Display rotation {0,90,180,270}
1034 fps Delay between frame updates
1035 debug Debug output level {0-7}
1036 xohms Touchpanel sensitivity (X-plate resistance)
1037 swapxy Swap x and y axis
1041 Info: Official Raspberry Pi display touchscreen
1042 Load: dtoverlay=rpi-ft5406
1047 Info: Configures the RPi Proto audio card
1048 Load: dtoverlay=rpi-proto
1053 Info: Raspberry Pi Sense HAT
1054 Load: dtoverlay=rpi-sense
1058 Name: rra-digidac1-wm8741-audio
1059 Info: Configures the Red Rocks Audio DigiDAC1 soundcard
1060 Load: dtoverlay=rra-digidac1-wm8741-audio
1065 Info: Overlay for the NXP SC16IS750 UART with I2C Interface
1066 Enables the chip on I2C1 at 0x48. To select another address,
1067 please refer to table 10 in reference manual.
1069 Load: dtoverlay=sc16is750-i2c,<param>=<val>
1070 Params: int_pin GPIO used for IRQ (default 24)
1071 addr Address (default 0x48)
1074 Name: sc16is752-spi1
1075 Info: Overlay for the NXP SC16IS752 Dual UART with SPI Interface
1076 Enables the chip on SPI1.
1077 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1078 A+, B+, Zero and PI2 B; as well as the Compute Module.
1080 Load: dtoverlay=sc16is752-spi1,<param>=<val>
1081 Params: int_pin GPIO used for IRQ (default 24)
1085 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock.
1086 N.B. This overlay is designed for situations where the mmc driver is
1087 the default, so it disables the other (mmc) interface - this will kill
1088 WiFi on a Pi3. If this isn't what you want, either use the sdtweak
1089 overlay or the new sd_* dtparams of the base DTBs.
1090 Load: dtoverlay=sdhost,<param>=<val>
1091 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1094 force_pio Disable DMA support (default off)
1096 pio_limit Number of blocks above which to use DMA
1099 debug Enable debug output (default off)
1103 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1104 and enables SDIO via GPIOs 22-27.
1105 Load: dtoverlay=sdio,<param>=<val>
1106 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1109 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1110 framework requests 50MHz
1112 force_pio Disable DMA support (default off)
1114 pio_limit Number of blocks above which to use DMA
1117 debug Enable debug output (default off)
1119 poll_once Disable SDIO-device polling every second
1120 (default on: polling once at boot-time)
1122 bus_width Set the SDIO host bus width (default 4 bits)
1126 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1127 and enables 1-bit SDIO via GPIOs 22-25.
1128 Load: dtoverlay=sdio-1bit,<param>=<val>
1129 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1132 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1133 framework requests 50MHz
1135 force_pio Disable DMA support (default off)
1137 pio_limit Number of blocks above which to use DMA
1140 debug Enable debug output (default off)
1142 poll_once Disable SDIO-device polling every second
1143 (default on: polling once at boot-time)
1147 Info: Tunes the bcm2835-sdhost SD/MMC driver
1148 N.B. This functionality is now available via the sd_* dtparams in the
1150 Load: dtoverlay=sdtweak,<param>=<val>
1151 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1154 force_pio Disable DMA support (default off)
1156 pio_limit Number of blocks above which to use DMA
1159 debug Enable debug output (default off)
1163 Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25!
1169 Info: Enables the userspace interface for the SMI driver
1170 Load: dtoverlay=smi-dev
1175 Info: Enables access to NAND flash via the SMI interface
1176 Load: dtoverlay=smi-nand
1181 Info: Move SPI function block to GPIO 35 to 39
1182 Load: dtoverlay=spi-gpio35-39
1187 Info: Adds support for a number of SPI Real Time Clock devices
1188 Load: dtoverlay=spi-rtc,<param>=<val>
1189 Params: pcf2123 Select the PCF2123 device
1193 Info: Allows the (software) CS pins for SPI0 to be changed
1194 Load: dtoverlay=spi0-cs,<param>=<val>
1195 Params: cs0_pin GPIO pin for CS0 (default 8)
1196 cs1_pin GPIO pin for CS1 (default 7)
1200 Info: Re-enables hardware CS/CE (chip selects) for SPI0
1201 Load: dtoverlay=spi0-hw-cs
1206 Info: Enables spi1 with a single chip select (CS) line and associated spidev
1207 dev node. The gpio pin number for the CS line and spidev device node
1208 creation are configurable.
1209 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1210 A+, B+, Zero and PI2 B; as well as the Compute Module.
1211 Load: dtoverlay=spi1-1cs,<param>=<val>
1212 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1213 cs0_spidev Set to 'disabled' to stop the creation of a
1214 userspace device node /dev/spidev1.0 (default
1215 is 'okay' or enabled).
1219 Info: Enables spi1 with two chip select (CS) lines and associated spidev
1220 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1221 creation are configurable.
1222 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1223 A+, B+, Zero and PI2 B; as well as the Compute Module.
1224 Load: dtoverlay=spi1-2cs,<param>=<val>
1225 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1226 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1227 cs0_spidev Set to 'disabled' to stop the creation of a
1228 userspace device node /dev/spidev1.0 (default
1229 is 'okay' or enabled).
1230 cs1_spidev Set to 'disabled' to stop the creation of a
1231 userspace device node /dev/spidev1.1 (default
1232 is 'okay' or enabled).
1236 Info: Enables spi1 with three chip select (CS) lines and associated spidev
1237 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1238 creation are configurable.
1239 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1240 A+, B+, Zero and PI2 B; as well as the Compute Module.
1241 Load: dtoverlay=spi1-3cs,<param>=<val>
1242 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1243 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1244 cs2_pin GPIO pin for CS2 (default 16 - BCM SPI1_CE2).
1245 cs0_spidev Set to 'disabled' to stop the creation of a
1246 userspace device node /dev/spidev1.0 (default
1247 is 'okay' or enabled).
1248 cs1_spidev Set to 'disabled' to stop the creation of a
1249 userspace device node /dev/spidev1.1 (default
1250 is 'okay' or enabled).
1251 cs2_spidev Set to 'disabled' to stop the creation of a
1252 userspace device node /dev/spidev1.2 (default
1253 is 'okay' or enabled).
1257 Info: Enables spi2 with a single chip select (CS) line and associated spidev
1258 dev node. The gpio pin number for the CS line and spidev device node
1259 creation are configurable.
1260 N.B.: spi2 is only accessible with the Compute Module.
1261 Load: dtoverlay=spi2-1cs,<param>=<val>
1262 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1263 cs0_spidev Set to 'disabled' to stop the creation of a
1264 userspace device node /dev/spidev2.0 (default
1265 is 'okay' or enabled).
1269 Info: Enables spi2 with two chip select (CS) lines and associated spidev
1270 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1271 creation are configurable.
1272 N.B.: spi2 is only accessible with the Compute Module.
1273 Load: dtoverlay=spi2-2cs,<param>=<val>
1274 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1275 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1276 cs0_spidev Set to 'disabled' to stop the creation of a
1277 userspace device node /dev/spidev2.0 (default
1278 is 'okay' or enabled).
1279 cs1_spidev Set to 'disabled' to stop the creation of a
1280 userspace device node /dev/spidev2.1 (default
1281 is 'okay' or enabled).
1285 Info: Enables spi2 with three chip select (CS) lines and associated spidev
1286 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1287 creation are configurable.
1288 N.B.: spi2 is only accessible with the Compute Module.
1289 Load: dtoverlay=spi2-3cs,<param>=<val>
1290 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1291 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1292 cs2_pin GPIO pin for CS2 (default 45 - BCM SPI2_CE2).
1293 cs0_spidev Set to 'disabled' to stop the creation of a
1294 userspace device node /dev/spidev2.0 (default
1295 is 'okay' or enabled).
1296 cs1_spidev Set to 'disabled' to stop the creation of a
1297 userspace device node /dev/spidev2.1 (default
1298 is 'okay' or enabled).
1299 cs2_spidev Set to 'disabled' to stop the creation of a
1300 userspace device node /dev/spidev2.2 (default
1301 is 'okay' or enabled).
1305 Info: 3.5" Color TFT Display by www.tinylcd.com
1306 Options: Touch, RTC, keypad
1307 Load: dtoverlay=tinylcd35,<param>=<val>
1308 Params: speed Display SPI bus speed
1310 rotate Display rotation {0,90,180,270}
1312 fps Delay between frame updates
1314 debug Debug output level {0-7}
1316 touch Enable touch panel
1318 touchgpio Touch controller IRQ GPIO
1320 xohms Touchpanel: Resistance of X-plate in ohms
1322 rtc-pcf PCF8563 Real Time Clock
1324 rtc-ds DS1307 Real Time Clock
1326 keypad Enable keypad
1329 Display with touchpanel, PCF8563 RTC and keypad:
1330 dtoverlay=tinylcd35,touch,rtc-pcf,keypad
1332 dtoverlay=tinylcd35,touch,touchgpio=3
1336 Info: Enable uart1 in place of uart0
1337 Load: dtoverlay=uart1,<param>=<val>
1338 Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
1340 rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
1344 Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
1346 Load: dtoverlay=vc4-fkms-v3d,<param>
1347 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1348 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1349 cma-128 CMA is 128MB, 128MB-aligned
1350 cma-96 CMA is 96MB, 128MB-aligned
1351 cma-64 CMA is 64MB, 64MB-aligned
1355 Info: Enable Eric Anholt's DRM VC4 HDMI/HVS/V3D driver. Running startx or
1356 booting to GUI while this overlay is in use will cause interesting
1358 Load: dtoverlay=vc4-kms-v3d,<param>
1359 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1360 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1361 cma-128 CMA is 128MB, 128MB-aligned
1362 cma-96 CMA is 96MB, 128MB-aligned
1363 cma-64 CMA is 64MB, 64MB-aligned
1367 Info: Overlay for the Fen Logic VGA666 board
1368 This uses GPIOs 2-21 (so no I2C), and activates the output 2-3 seconds
1369 after the kernel has started.
1370 Load: dtoverlay=vga666
1375 Info: Configures the w1-gpio Onewire interface module.
1376 Use this overlay if you *don't* need a GPIO to drive an external pullup.
1377 Load: dtoverlay=w1-gpio,<param>=<val>
1378 Params: gpiopin GPIO for I/O (default "4")
1380 pullup Non-zero, "on", or "y" to enable the parasitic
1381 power (2-wire, power-on-data) feature
1384 Name: w1-gpio-pullup
1385 Info: Configures the w1-gpio Onewire interface module.
1386 Use this overlay if you *do* need a GPIO to drive an external pullup.
1387 Load: dtoverlay=w1-gpio-pullup,<param>=<val>
1388 Params: gpiopin GPIO for I/O (default "4")
1390 pullup Non-zero, "on", or "y" to enable the parasitic
1391 power (2-wire, power-on-data) feature
1393 extpullup GPIO for external pullup (default "5")
1397 Info: Configures the wittypi RTC module.
1398 Load: dtoverlay=wittypi,<param>=<val>
1399 Params: led_gpio GPIO for LED (default "17")
1400 led_trigger Choose which activity the LED tracks (default
1407 If you are experiencing problems that you think are DT-related, enable DT
1408 diagnostic output by adding this to /boot/config.txt:
1412 and rebooting. Then run:
1416 and look for relevant messages.
1421 This is only meant to be a quick introduction to the subject of Device Tree on
1422 Raspberry Pi. There is a more complete explanation here:
1424 http://www.raspberrypi.org/documentation/configuration/device-tree.md