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: Configures the Fe-Pi Audio Sound Card
388 Load: dtoverlay=fe-pi-audio
393 Info: Use GPIO pin as rc-core style infrared receiver input. The rc-core-
394 based gpio_ir_recv driver maps received keys directly to a
395 /dev/input/event* device, all decoding is done by the kernel - LIRC is
396 not required! The key mapping and other decoding parameters can be
397 configured by "ir-keytable" tool.
398 Load: dtoverlay=gpio-ir,<param>=<val>
399 Params: gpio_pin Input pin number. Default is 18.
401 gpio_pull Desired pull-up/down state (off, down, up)
404 rc-map-name Default rc keymap (can also be changed by
405 ir-keytable), defaults to "rc-rc6-mce"
409 Info: Drives a GPIO high or low on poweroff (including halt)
410 Load: dtoverlay=gpio-poweroff,<param>=<val>
411 Params: gpiopin GPIO for signalling (default 26)
413 active_low Set if the power control device requires a
414 high->low transition to trigger a power-down.
415 Note that this will require the support of a
416 custom dt-blob.bin to prevent a power-down
417 during the boot process, and that a reboot
418 will also cause the pin to go low.
422 Info: Configures the HifiBerry Amp and Amp+ audio cards
423 Load: dtoverlay=hifiberry-amp
428 Info: Configures the HifiBerry DAC audio card
429 Load: dtoverlay=hifiberry-dac
433 Name: hifiberry-dacplus
434 Info: Configures the HifiBerry DAC+ audio card
435 Load: dtoverlay=hifiberry-dacplus,<param>=<val>
436 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
437 Digital volume control. Enable with
438 "dtoverlay=hifiberry-dacplus,24db_digital_gain"
439 (The default behaviour is that the Digital
440 volume control is limited to a maximum of
441 0dB. ie. it can attenuate but not provide
442 gain. For most users, this will be desired
443 as it will prevent clipping. By appending
444 the 24dB_digital_gain parameter, the Digital
445 volume control will allow up to 24dB of
446 gain. If this parameter is enabled, it is the
447 responsibility of the user to ensure that
448 the Digital volume control is set to a value
449 that does not result in clipping/distortion!)
450 slave Force DAC+ Pro into slave mode, using Pi as
451 master for bit clock and frame clock.
455 Info: Configures the HifiBerry Digi and Digi+ audio card
456 Load: dtoverlay=hifiberry-digi
460 Name: hifiberry-digi-pro
461 Info: Configures the HifiBerry Digi+ Pro audio card
462 Load: dtoverlay=hifiberry-digi-pro
467 Info: HY28A - 2.8" TFT LCD Display Module by HAOYU Electronics
468 Default values match Texy's display shield
469 Load: dtoverlay=hy28a,<param>=<val>
470 Params: speed Display SPI bus speed
472 rotate Display rotation {0,90,180,270}
474 fps Delay between frame updates
476 debug Debug output level {0-7}
478 xohms Touchpanel sensitivity (X-plate resistance)
480 resetgpio GPIO used to reset controller
482 ledgpio GPIO used to control backlight
486 Info: HY28B - 2.8" TFT LCD Display Module by HAOYU Electronics
487 Default values match Texy's display shield
488 Load: dtoverlay=hy28b,<param>=<val>
489 Params: speed Display SPI bus speed
491 rotate Display rotation {0,90,180,270}
493 fps Delay between frame updates
495 debug Debug output level {0-7}
497 xohms Touchpanel sensitivity (X-plate resistance)
499 resetgpio GPIO used to reset controller
501 ledgpio GPIO used to control backlight
505 Info: Fall back to the i2c_bcm2708 driver for the i2c_arm bus.
506 Load: dtoverlay=i2c-bcm2708
511 Info: Adds support for software i2c controller on gpio pins
512 Load: dtoverlay=i2c-gpio,<param>=<val>
513 Params: i2c_gpio_sda GPIO used for I2C data (default "23")
515 i2c_gpio_scl GPIO used for I2C clock (default "24")
517 i2c_gpio_delay_us Clock delay in microseconds
518 (default "2" = ~100kHz)
522 Info: Adds support for a number of I2C bus multiplexers on i2c_arm
523 Load: dtoverlay=i2c-mux,<param>=<val>
524 Params: pca9542 Select the NXP PCA9542 device
526 pca9545 Select the NXP PCA9545 device
528 pca9548 Select the NXP PCA9548 device
530 addr Change I2C address of the device (default 0x70)
533 [ The i2c-mux-pca9548a overlay has been deleted. See i2c-mux. ]
536 Name: i2c-pwm-pca9685a
537 Info: Adds support for an NXP PCA9685A I2C PWM controller on i2c_arm
538 Load: dtoverlay=i2c-pwm-pca9685a,<param>=<val>
539 Params: addr I2C address of PCA9685A (default 0x40)
543 Info: Adds support for a number of I2C Real Time Clock devices
544 Load: dtoverlay=i2c-rtc,<param>=<val>
545 Params: abx80x Select one of the ABx80x family:
546 AB0801, AB0803, AB0804, AB0805,
547 AB1801, AB1803, AB1804, AB1805
549 ds1307 Select the DS1307 device
551 ds1339 Select the DS1339 device
553 ds3231 Select the DS3231 device
555 mcp7940x Select the MCP7940x device
557 mcp7941x Select the MCP7941x device
559 pcf2127 Select the PCF2127 device
561 pcf8523 Select the PCF8523 device
563 pcf8563 Select the PCF8563 device
565 trickle-diode-type Diode type for trickle charge - "standard" or
566 "schottky" (ABx80x only)
568 trickle-resistor-ohms Resistor value for trickle charge (DS1339,
571 wakeup-source Specify that the RTC can be used as a wakeup
576 Info: Adds support for a number of I2C barometric pressure and temperature
578 Load: dtoverlay=i2c-sensor,<param>=<val>
579 Params: bmp085 Select the Bosch sensortronic BMP085
581 bmp280 Select the Bosch sensortronic BMP280
583 si7020 Select the Silicon Labs Si7013/20/21 humidity/
588 Info: Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations
589 are usable on all platforms.
590 Load: dtoverlay=i2c0-bcm2708,<param>=<val>
591 Params: sda0_pin GPIO pin for SDA0 (deprecated - use pins_*)
592 scl0_pin GPIO pin for SCL0 (deprecated - use pins_*)
593 pins_0_1 Use pins 0 and 1 (default)
594 pins_28_29 Use pins 28 and 29
595 pins_44_45 Use pins 44 and 45
596 pins_46_47 Use pins 46 and 47
600 Info: Enable the i2c_bcm2708 driver for the i2c1 bus
601 Load: dtoverlay=i2c1-bcm2708,<param>=<val>
602 Params: sda1_pin GPIO pin for SDA1 (2 or 44 - default 2)
603 scl1_pin GPIO pin for SCL1 (3 or 45 - default 3)
604 pin_func Alternative pin function (4 (alt0), 6 (alt2) -
609 Info: move I2S function block to GPIO 28 to 31
610 Load: dtoverlay=i2s-gpio28-31
615 Info: Configures the IQaudio DAC audio card
616 Load: dtoverlay=iqaudio-dac,<param>
617 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
618 Digital volume control. Enable with
619 "dtoverlay=iqaudio-dac,24db_digital_gain"
620 (The default behaviour is that the Digital
621 volume control is limited to a maximum of
622 0dB. ie. it can attenuate but not provide
623 gain. For most users, this will be desired
624 as it will prevent clipping. By appending
625 the 24db_digital_gain parameter, the Digital
626 volume control will allow up to 24dB of
627 gain. If this parameter is enabled, it is the
628 responsibility of the user to ensure that
629 the Digital volume control is set to a value
630 that does not result in clipping/distortion!)
633 Name: iqaudio-dacplus
634 Info: Configures the IQaudio DAC+ audio card
635 Load: dtoverlay=iqaudio-dacplus,<param>=<val>
636 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
637 Digital volume control. Enable with
638 "dtoverlay=iqaudio-dacplus,24db_digital_gain"
639 (The default behaviour is that the Digital
640 volume control is limited to a maximum of
641 0dB. ie. it can attenuate but not provide
642 gain. For most users, this will be desired
643 as it will prevent clipping. By appending
644 the 24db_digital_gain parameter, the Digital
645 volume control will allow up to 24dB of
646 gain. If this parameter is enabled, it is the
647 responsibility of the user to ensure that
648 the Digital volume control is set to a value
649 that does not result in clipping/distortion!)
650 auto_mute_amp If specified, unmute/mute the IQaudIO amp when
651 starting/stopping audio playback.
652 unmute_amp If specified, unmute the IQaudIO amp once when
653 the DAC driver module loads.
656 Name: iqaudio-digi-wm8804-audio
657 Info: Configures the IQAudIO Digi WM8804 audio card
658 Load: dtoverlay=iqaudio-digi-wm8804-audio,<param>=<val>
659 Params: card_name Override the default, "IQAudIODigi", card name.
660 dai_name Override the default, "IQAudIO Digi", dai name.
661 dai_stream_name Override the default, "IQAudIO Digi HiFi",
666 Info: Configures the JustBoom DAC HAT, Amp HAT, DAC Zero and Amp Zero audio
668 Load: dtoverlay=justboom-dac,<param>=<val>
669 Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
670 Digital volume control. Enable with
671 "dtoverlay=justboom-dac,24db_digital_gain"
672 (The default behaviour is that the Digital
673 volume control is limited to a maximum of
674 0dB. ie. it can attenuate but not provide
675 gain. For most users, this will be desired
676 as it will prevent clipping. By appending
677 the 24dB_digital_gain parameter, the Digital
678 volume control will allow up to 24dB of
679 gain. If this parameter is enabled, it is the
680 responsibility of the user to ensure that
681 the Digital volume control is set to a value
682 that does not result in clipping/distortion!)
686 Info: Configures the JustBoom Digi HAT and Digi Zero audio cards
687 Load: dtoverlay=justboom-digi
692 Info: Configures lirc-rpi (Linux Infrared Remote Control for Raspberry Pi)
693 Consult the module documentation for more details.
694 Load: dtoverlay=lirc-rpi,<param>=<val>
695 Params: gpio_out_pin GPIO for output (default "17")
697 gpio_in_pin GPIO for input (default "18")
699 gpio_in_pull Pull up/down/off on the input pin
702 sense Override the IR receive auto-detection logic:
703 "0" = force active-high
704 "1" = force active-low
705 "-1" = use auto-detection
708 softcarrier Turn the software carrier "on" or "off"
711 invert "on" = invert the output pin (default "off")
713 debug "on" = enable additional debug messages
718 Info: Configures the MCP23017 I2C GPIO expander
719 Load: dtoverlay=mcp23017,<param>=<val>
720 Params: gpiopin Gpio pin connected to the INTA output of the
721 MCP23017 (default: 4)
723 addr I2C address of the MCP23017 (default: 0x20)
727 Info: Configures the MCP23S08/17 SPI GPIO expanders.
728 If devices are present on SPI1 or SPI2, those interfaces must be enabled
729 with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
730 If interrupts are enabled for a device on a given CS# on a SPI bus, that
731 device must be the only one present on that SPI bus/CS#.
732 Load: dtoverlay=mcp23s17,<param>=<val>
733 Params: s08-spi<n>-<m>-present 4-bit integer, bitmap indicating MCP23S08
734 devices present on SPI<n>, CS#<m>
736 s17-spi<n>-<m>-present 8-bit integer, bitmap indicating MCP23S17
737 devices present on SPI<n>, CS#<m>
739 s08-spi<n>-<m>-int-gpio integer, enables interrupts on a single
740 MCP23S08 device on SPI<n>, CS#<m>, specifies
741 the GPIO pin to which INT output of MCP23S08
744 s17-spi<n>-<m>-int-gpio integer, enables mirrored interrupts on a
745 single MCP23S17 device on SPI<n>, CS#<m>,
746 specifies the GPIO pin to which either INTA
747 or INTB output of MCP23S17 is connected.
751 Info: Configures the MCP2515 CAN controller on spi0.0
752 Load: dtoverlay=mcp2515-can0,<param>=<val>
753 Params: oscillator Clock frequency for the CAN controller (Hz)
755 spimaxfrequency Maximum SPI frequence (Hz)
757 interrupt GPIO for interrupt signal
761 Info: Configures the MCP2515 CAN controller on spi0.1
762 Load: dtoverlay=mcp2515-can1,<param>=<val>
763 Params: oscillator Clock frequency for the CAN controller (Hz)
765 spimaxfrequency Maximum SPI frequence (Hz)
767 interrupt GPIO for interrupt signal
771 Info: Configures MCP3008 A/D converters
772 For devices on spi1 or spi2, the interfaces should be enabled
773 with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
774 Load: dtoverlay=mcp3008,<param>[=<val>]
775 Params: spi<n>-<m>-present boolean, configure device at spi<n>, cs<m>
776 spi<n>-<m>-speed integer, set the spi bus speed for this device
780 Info: Configures UART0 (ttyAMA0) so that a requested 38.4kbaud actually gets
781 31.25kbaud, the frequency required for MIDI
782 Load: dtoverlay=midi-uart0
787 Info: Selects the bcm2835-mmc SD/MMC driver, optionally with overclock
788 Load: dtoverlay=mmc,<param>=<val>
789 Params: overclock_50 Clock (in MHz) to use when the MMC framework
794 Info: MZ61581 display by Tontec
795 Load: dtoverlay=mz61581,<param>=<val>
796 Params: speed Display SPI bus speed
798 rotate Display rotation {0,90,180,270}
800 fps Delay between frame updates
802 txbuflen Transmit buffer length (default 32768)
804 debug Debug output level {0-7}
806 xohms Touchpanel sensitivity (X-plate resistance)
809 [ The pcf2127-rtc overlay has been deleted. See i2c-rtc. ]
812 [ The pcf8523-rtc overlay has been deleted. See i2c-rtc. ]
815 [ The pcf8563-rtc overlay has been deleted. See i2c-rtc. ]
819 Info: Pi3 uses a GPIO expander to drive the LEDs which can only be accessed
820 from the VPU. There is a special driver for this with a separate DT
821 node, which has the unfortunate consequence of breaking the
822 act_led_gpio and act_led_activelow dtparams.
823 This overlay changes the GPIO controller back to the standard one and
824 restores the dtparams.
825 Load: dtoverlay=pi3-act-led,<param>=<val>
826 Params: activelow Set to "on" to invert the sense of the LED
829 gpio Set which GPIO to use for the activity LED
830 (in case you want to connect it to an external
836 Info: Disable Pi3 Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15
837 N.B. To disable the systemd service that initialises the modem so it
838 doesn't use the UART, use 'sudo systemctl disable hciuart'.
839 Load: dtoverlay=pi3-disable-bt
843 Name: pi3-disable-wifi
844 Info: Disable Pi3 onboard WiFi
845 Load: dtoverlay=pi3-disable-wifi
849 Name: pi3-miniuart-bt
850 Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
851 UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
853 N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
854 and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
855 that create /dev/serial0 and /dev/serial1, in which case use
856 /dev/serial1 instead because it will always be correct. Furthermore,
857 you must also set core_freq=250 in config.txt or the miniuart will not
859 Load: dtoverlay=pi3-miniuart-bt
864 Info: PiScreen display by OzzMaker.com
865 Load: dtoverlay=piscreen,<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 xohms Touchpanel sensitivity (X-plate resistance)
878 Info: PiScreen 2 with resistive TP display by OzzMaker.com
879 Load: dtoverlay=piscreen2r,<param>=<val>
880 Params: speed Display SPI bus speed
882 rotate Display rotation {0,90,180,270}
884 fps Delay between frame updates
886 debug Debug output level {0-7}
888 xohms Touchpanel sensitivity (X-plate resistance)
892 Info: Configures the Blokas Labs pisound card
893 Load: dtoverlay=pisound
898 Info: Adafruit PiTFT 2.2" screen
899 Load: dtoverlay=pitft22,<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}
909 Name: pitft28-capacitive
910 Info: Adafruit PiTFT 2.8" capacitive touch screen
911 Load: dtoverlay=pitft28-capacitive,<param>=<val>
912 Params: speed Display SPI bus speed
914 rotate Display rotation {0,90,180,270}
916 fps Delay between frame updates
918 debug Debug output level {0-7}
920 touch-sizex Touchscreen size x (default 240)
922 touch-sizey Touchscreen size y (default 320)
924 touch-invx Touchscreen inverted x axis
926 touch-invy Touchscreen inverted y axis
928 touch-swapxy Touchscreen swapped x y axis
931 Name: pitft28-resistive
932 Info: Adafruit PiTFT 2.8" resistive touch screen
933 Load: dtoverlay=pitft28-resistive,<param>=<val>
934 Params: speed Display SPI bus speed
936 rotate Display rotation {0,90,180,270}
938 fps Delay between frame updates
940 debug Debug output level {0-7}
943 Name: pitft35-resistive
944 Info: Adafruit PiTFT 3.5" resistive touch screen
945 Load: dtoverlay=pitft35-resistive,<param>=<val>
946 Params: speed Display SPI bus speed
948 rotate Display rotation {0,90,180,270}
950 fps Delay between frame updates
952 debug Debug output level {0-7}
956 Info: Configures the pps-gpio (pulse-per-second time signal via GPIO).
957 Load: dtoverlay=pps-gpio,<param>=<val>
958 Params: gpiopin Input GPIO (default "18")
959 assert_falling_edge When present, assert is indicated by a falling
960 edge, rather than by a rising edge
964 Info: Configures a single PWM channel
965 Legal pin,function combinations for each channel:
966 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
967 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
969 1) Pin 18 is the only one available on all platforms, and
970 it is the one used by the I2S audio interface.
971 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
972 2) The onboard analogue audio output uses both PWM channels.
973 3) So be careful mixing audio and PWM.
974 4) Currently the clock must have been enabled and configured
976 Load: dtoverlay=pwm,<param>=<val>
977 Params: pin Output pin (default 18) - see table
978 func Pin function (default 2 = Alt5) - see above
979 clock PWM clock frequency (informational)
983 Info: Configures both PWM channels
984 Legal pin,function combinations for each channel:
985 PWM0: 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1)
986 PWM1: 13,4(Alt0) 19,2(Alt5) 41,4(Alt0) 45,4(Alt0) 53,5(Alt1)
988 1) Pin 18 is the only one available on all platforms, and
989 it is the one used by the I2S audio interface.
990 Pins 12 and 13 might be better choices on an A+, B+ or Pi2.
991 2) The onboard analogue audio output uses both PWM channels.
992 3) So be careful mixing audio and PWM.
993 4) Currently the clock must have been enabled and configured
995 Load: dtoverlay=pwm-2chan,<param>=<val>
996 Params: pin Output pin (default 18) - see table
997 pin2 Output pin for other channel (default 19)
998 func Pin function (default 2 = Alt5) - see above
999 func2 Function for pin2 (default 2 = Alt5)
1000 clock PWM clock frequency (informational)
1004 Info: I2SE's Evaluation Board for PLC Stamp micro
1005 Load: dtoverlay=qca7000,<param>=<val>
1006 Params: int_pin GPIO pin for interrupt signal (default 23)
1008 speed SPI bus speed (default 12 MHz)
1012 Info: Configures the RaspiDAV Rev.3x audio card
1013 Load: dtoverlay=raspidac3
1018 Info: Raspberry Pi official display backlight driver
1019 Load: dtoverlay=rpi-backlight
1023 Name: rpi-cirrus-wm5102
1024 Info: Configures the Cirrus Logic Audio Card
1025 Load: dtoverlay=rpi-cirrus-wm5102
1030 Info: Configures the RPi DAC audio card
1031 Load: dtoverlay=rpi-dac
1036 Info: RPi-Display - 2.8" Touch Display by Watterott
1037 Load: dtoverlay=rpi-display,<param>=<val>
1038 Params: speed Display SPI bus speed
1039 rotate Display rotation {0,90,180,270}
1040 fps Delay between frame updates
1041 debug Debug output level {0-7}
1042 xohms Touchpanel sensitivity (X-plate resistance)
1043 swapxy Swap x and y axis
1047 Info: Official Raspberry Pi display touchscreen
1048 Load: dtoverlay=rpi-ft5406
1053 Info: Configures the RPi Proto audio card
1054 Load: dtoverlay=rpi-proto
1059 Info: Raspberry Pi Sense HAT
1060 Load: dtoverlay=rpi-sense
1064 Name: rra-digidac1-wm8741-audio
1065 Info: Configures the Red Rocks Audio DigiDAC1 soundcard
1066 Load: dtoverlay=rra-digidac1-wm8741-audio
1071 Info: Overlay for the NXP SC16IS750 UART with I2C Interface
1072 Enables the chip on I2C1 at 0x48. To select another address,
1073 please refer to table 10 in reference manual.
1075 Load: dtoverlay=sc16is750-i2c,<param>=<val>
1076 Params: int_pin GPIO used for IRQ (default 24)
1077 addr Address (default 0x48)
1080 Name: sc16is752-spi1
1081 Info: Overlay for the NXP SC16IS752 Dual UART with SPI Interface
1082 Enables the chip on SPI1.
1083 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1084 A+, B+, Zero and PI2 B; as well as the Compute Module.
1086 Load: dtoverlay=sc16is752-spi1,<param>=<val>
1087 Params: int_pin GPIO used for IRQ (default 24)
1091 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock.
1092 N.B. This overlay is designed for situations where the mmc driver is
1093 the default, so it disables the other (mmc) interface - this will kill
1094 WiFi on a Pi3. If this isn't what you want, either use the sdtweak
1095 overlay or the new sd_* dtparams of the base DTBs.
1096 Load: dtoverlay=sdhost,<param>=<val>
1097 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1100 force_pio Disable DMA support (default off)
1102 pio_limit Number of blocks above which to use DMA
1105 debug Enable debug output (default off)
1109 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1110 and enables SDIO via GPIOs 22-27.
1111 Load: dtoverlay=sdio,<param>=<val>
1112 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1115 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1116 framework requests 50MHz
1118 force_pio Disable DMA support (default off)
1120 pio_limit Number of blocks above which to use DMA
1123 debug Enable debug output (default off)
1125 poll_once Disable SDIO-device polling every second
1126 (default on: polling once at boot-time)
1128 bus_width Set the SDIO host bus width (default 4 bits)
1132 Info: Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock,
1133 and enables 1-bit SDIO via GPIOs 22-25.
1134 Load: dtoverlay=sdio-1bit,<param>=<val>
1135 Params: overclock_50 SD Clock (in MHz) to use when the MMC framework
1138 sdio_overclock SDIO Clock (in MHz) to use when the MMC
1139 framework requests 50MHz
1141 force_pio Disable DMA support (default off)
1143 pio_limit Number of blocks above which to use DMA
1146 debug Enable debug output (default off)
1148 poll_once Disable SDIO-device polling every second
1149 (default on: polling once at boot-time)
1153 Info: Tunes the bcm2835-sdhost SD/MMC driver
1154 N.B. This functionality is now available via the sd_* dtparams in the
1156 Load: dtoverlay=sdtweak,<param>=<val>
1157 Params: overclock_50 Clock (in MHz) to use when the MMC framework
1160 force_pio Disable DMA support (default off)
1162 pio_limit Number of blocks above which to use DMA
1165 debug Enable debug output (default off)
1169 Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25!
1175 Info: Enables the userspace interface for the SMI driver
1176 Load: dtoverlay=smi-dev
1181 Info: Enables access to NAND flash via the SMI interface
1182 Load: dtoverlay=smi-nand
1187 Info: Move SPI function block to GPIO 35 to 39
1188 Load: dtoverlay=spi-gpio35-39
1193 Info: Adds support for a number of SPI Real Time Clock devices
1194 Load: dtoverlay=spi-rtc,<param>=<val>
1195 Params: pcf2123 Select the PCF2123 device
1199 Info: Allows the (software) CS pins for SPI0 to be changed
1200 Load: dtoverlay=spi0-cs,<param>=<val>
1201 Params: cs0_pin GPIO pin for CS0 (default 8)
1202 cs1_pin GPIO pin for CS1 (default 7)
1206 Info: Re-enables hardware CS/CE (chip selects) for SPI0
1207 Load: dtoverlay=spi0-hw-cs
1212 Info: Enables spi1 with a single chip select (CS) line and associated spidev
1213 dev node. The gpio pin number for the CS line and spidev device node
1214 creation are configurable.
1215 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1216 A+, B+, Zero and PI2 B; as well as the Compute Module.
1217 Load: dtoverlay=spi1-1cs,<param>=<val>
1218 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1219 cs0_spidev Set to 'disabled' to stop the creation of a
1220 userspace device node /dev/spidev1.0 (default
1221 is 'okay' or enabled).
1225 Info: Enables spi1 with two chip select (CS) lines and associated spidev
1226 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1227 creation are configurable.
1228 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1229 A+, B+, Zero and PI2 B; as well as the Compute Module.
1230 Load: dtoverlay=spi1-2cs,<param>=<val>
1231 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1232 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1233 cs0_spidev Set to 'disabled' to stop the creation of a
1234 userspace device node /dev/spidev1.0 (default
1235 is 'okay' or enabled).
1236 cs1_spidev Set to 'disabled' to stop the creation of a
1237 userspace device node /dev/spidev1.1 (default
1238 is 'okay' or enabled).
1242 Info: Enables spi1 with three chip select (CS) lines and associated spidev
1243 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1244 creation are configurable.
1245 N.B.: spi1 is only accessible on devices with a 40pin header, eg:
1246 A+, B+, Zero and PI2 B; as well as the Compute Module.
1247 Load: dtoverlay=spi1-3cs,<param>=<val>
1248 Params: cs0_pin GPIO pin for CS0 (default 18 - BCM SPI1_CE0).
1249 cs1_pin GPIO pin for CS1 (default 17 - BCM SPI1_CE1).
1250 cs2_pin GPIO pin for CS2 (default 16 - BCM SPI1_CE2).
1251 cs0_spidev Set to 'disabled' to stop the creation of a
1252 userspace device node /dev/spidev1.0 (default
1253 is 'okay' or enabled).
1254 cs1_spidev Set to 'disabled' to stop the creation of a
1255 userspace device node /dev/spidev1.1 (default
1256 is 'okay' or enabled).
1257 cs2_spidev Set to 'disabled' to stop the creation of a
1258 userspace device node /dev/spidev1.2 (default
1259 is 'okay' or enabled).
1263 Info: Enables spi2 with a single chip select (CS) line and associated spidev
1264 dev node. The gpio pin number for the CS line and spidev device node
1265 creation are configurable.
1266 N.B.: spi2 is only accessible with the Compute Module.
1267 Load: dtoverlay=spi2-1cs,<param>=<val>
1268 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1269 cs0_spidev Set to 'disabled' to stop the creation of a
1270 userspace device node /dev/spidev2.0 (default
1271 is 'okay' or enabled).
1275 Info: Enables spi2 with two chip select (CS) lines and associated spidev
1276 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1277 creation are configurable.
1278 N.B.: spi2 is only accessible with the Compute Module.
1279 Load: dtoverlay=spi2-2cs,<param>=<val>
1280 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1281 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1282 cs0_spidev Set to 'disabled' to stop the creation of a
1283 userspace device node /dev/spidev2.0 (default
1284 is 'okay' or enabled).
1285 cs1_spidev Set to 'disabled' to stop the creation of a
1286 userspace device node /dev/spidev2.1 (default
1287 is 'okay' or enabled).
1291 Info: Enables spi2 with three chip select (CS) lines and associated spidev
1292 dev nodes. The gpio pin numbers for the CS lines and spidev device node
1293 creation are configurable.
1294 N.B.: spi2 is only accessible with the Compute Module.
1295 Load: dtoverlay=spi2-3cs,<param>=<val>
1296 Params: cs0_pin GPIO pin for CS0 (default 43 - BCM SPI2_CE0).
1297 cs1_pin GPIO pin for CS1 (default 44 - BCM SPI2_CE1).
1298 cs2_pin GPIO pin for CS2 (default 45 - BCM SPI2_CE2).
1299 cs0_spidev Set to 'disabled' to stop the creation of a
1300 userspace device node /dev/spidev2.0 (default
1301 is 'okay' or enabled).
1302 cs1_spidev Set to 'disabled' to stop the creation of a
1303 userspace device node /dev/spidev2.1 (default
1304 is 'okay' or enabled).
1305 cs2_spidev Set to 'disabled' to stop the creation of a
1306 userspace device node /dev/spidev2.2 (default
1307 is 'okay' or enabled).
1311 Info: 3.5" Color TFT Display by www.tinylcd.com
1312 Options: Touch, RTC, keypad
1313 Load: dtoverlay=tinylcd35,<param>=<val>
1314 Params: speed Display SPI bus speed
1316 rotate Display rotation {0,90,180,270}
1318 fps Delay between frame updates
1320 debug Debug output level {0-7}
1322 touch Enable touch panel
1324 touchgpio Touch controller IRQ GPIO
1326 xohms Touchpanel: Resistance of X-plate in ohms
1328 rtc-pcf PCF8563 Real Time Clock
1330 rtc-ds DS1307 Real Time Clock
1332 keypad Enable keypad
1335 Display with touchpanel, PCF8563 RTC and keypad:
1336 dtoverlay=tinylcd35,touch,rtc-pcf,keypad
1338 dtoverlay=tinylcd35,touch,touchgpio=3
1342 Info: Enable uart1 in place of uart0
1343 Load: dtoverlay=uart1,<param>=<val>
1344 Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
1346 rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
1350 Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
1352 Load: dtoverlay=vc4-fkms-v3d,<param>
1353 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1354 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1355 cma-128 CMA is 128MB, 128MB-aligned
1356 cma-96 CMA is 96MB, 128MB-aligned
1357 cma-64 CMA is 64MB, 64MB-aligned
1361 Info: Enable Eric Anholt's DRM VC4 HDMI/HVS/V3D driver. Running startx or
1362 booting to GUI while this overlay is in use will cause interesting
1364 Load: dtoverlay=vc4-kms-v3d,<param>
1365 Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
1366 cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
1367 cma-128 CMA is 128MB, 128MB-aligned
1368 cma-96 CMA is 96MB, 128MB-aligned
1369 cma-64 CMA is 64MB, 64MB-aligned
1373 Info: Overlay for the Fen Logic VGA666 board
1374 This uses GPIOs 2-21 (so no I2C), and activates the output 2-3 seconds
1375 after the kernel has started.
1376 Load: dtoverlay=vga666
1381 Info: Configures the w1-gpio Onewire interface module.
1382 Use this overlay if you *don't* need a GPIO to drive an external pullup.
1383 Load: dtoverlay=w1-gpio,<param>=<val>
1384 Params: gpiopin GPIO for I/O (default "4")
1386 pullup Non-zero, "on", or "y" to enable the parasitic
1387 power (2-wire, power-on-data) feature
1390 Name: w1-gpio-pullup
1391 Info: Configures the w1-gpio Onewire interface module.
1392 Use this overlay if you *do* need a GPIO to drive an external pullup.
1393 Load: dtoverlay=w1-gpio-pullup,<param>=<val>
1394 Params: gpiopin GPIO for I/O (default "4")
1396 pullup Non-zero, "on", or "y" to enable the parasitic
1397 power (2-wire, power-on-data) feature
1399 extpullup GPIO for external pullup (default "5")
1403 Info: Configures the wittypi RTC module.
1404 Load: dtoverlay=wittypi,<param>=<val>
1405 Params: led_gpio GPIO for LED (default "17")
1406 led_trigger Choose which activity the LED tracks (default
1413 If you are experiencing problems that you think are DT-related, enable DT
1414 diagnostic output by adding this to /boot/config.txt:
1418 and rebooting. Then run:
1422 and look for relevant messages.
1427 This is only meant to be a quick introduction to the subject of Device Tree on
1428 Raspberry Pi. There is a more complete explanation here:
1430 http://www.raspberrypi.org/documentation/configuration/device-tree.md