-
Notifications
You must be signed in to change notification settings - Fork 4.9k
/
README
3861 lines (2982 loc) · 165 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Introduction
============
This directory contains Device Tree overlays. Device Tree makes it possible
to support many hardware configurations with a single kernel and without the
need to explicitly load or blacklist kernel modules. Note that this isn't a
"pure" Device Tree configuration (c.f. MACH_BCM2835) - some on-board devices
are still configured by the board support code, but the intention is to
eventually reach that goal.
On Raspberry Pi, Device Tree usage is controlled from /boot/config.txt. By
default, the Raspberry Pi kernel boots with device tree enabled. You can
completely disable DT usage (for now) by adding:
device_tree=
to your config.txt, which should cause your Pi to revert to the old way of
doing things after a reboot.
In /boot you will find a .dtb for each base platform. This describes the
hardware that is part of the Raspberry Pi board. The loader (start.elf and its
siblings) selects the .dtb file appropriate for the platform by name, and reads
it into memory. At this point, all of the optional interfaces (i2c, i2s, spi)
are disabled, but they can be enabled using Device Tree parameters:
dtparam=i2c=on,i2s=on,spi=on
However, this shouldn't be necessary in many use cases because loading an
overlay that requires one of those interfaces will cause it to be enabled
automatically, and it is advisable to only enable interfaces if they are
needed.
Configuring additional, optional hardware is done using Device Tree overlays
(see below).
GPIO numbering uses the hardware pin numbering scheme (aka BCM scheme) and
not the physical pin numbers.
raspi-config
============
The Advanced Options section of the raspi-config utility can enable and disable
Device Tree use, as well as toggling the I2C and SPI interfaces. Note that it
is possible to both enable an interface and blacklist the driver, if for some
reason you should want to defer the loading.
Modules
=======
As well as describing the hardware, Device Tree also gives enough information
to allow suitable driver modules to be located and loaded, with the corollary
that unneeded modules are not loaded. As a result it should be possible to
remove lines from /etc/modules, and /etc/modprobe.d/raspi-blacklist.conf can
have its contents deleted (or commented out).
Using Overlays
==============
Overlays are loaded using the "dtoverlay" config.txt setting. As an example,
consider I2C Real Time Clock drivers. In the pre-DT world these would be loaded
by writing a magic string comprising a device identifier and an I2C address to
a special file in /sys/class/i2c-adapter, having first loaded the driver for
the I2C interface and the RTC device - something like this:
modprobe i2c-bcm2835
modprobe rtc-ds1307
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
With DT enabled, this becomes a line in config.txt:
dtoverlay=i2c-rtc,ds1307
This causes the file /boot/overlays/i2c-rtc.dtbo to be loaded and a "node"
describing the DS1307 I2C device to be added to the Device Tree for the Pi. By
default it usees address 0x68, but this can be modified with an additional DT
parameter:
dtoverlay=i2c-rtc,ds1307,addr=0x68
Parameters usually have default values, although certain parameters are
mandatory. See the list of overlays below for a description of the parameters
and their defaults.
Making new Overlays based on existing Overlays
==============================================
Recent overlays have been designed in a more general way, so that they can be
adapted to hardware by changing their parameters. When you have additional
hardware with more than one device of a kind, you end up using the same overlay
multiple times with other parameters, e.g.
# 2 CAN FD interfaces on spi but with different pins
dtoverlay=mcp251xfd,spi0-0,interrupt=25
dtoverlay=mcp251xfd,spi0-1,interrupt=24
# a realtime clock on i2c
dtoverlay=i2c-rtc,pcf85063
While this approach does work, it requires knowledge about the hardware design.
It is more feasible to simplify things for the end user by providing a single
overlay as it is done the traditional way.
A new overlay can be generated by using ovmerge utility.
https://github.com/raspberrypi/utils/blob/master/ovmerge/ovmerge
To generate an overlay for the above configuration we pass the configuration
to ovmerge and add the -c flag.
ovmerge -c mcp251xfd-overlay.dts,spi0-0,interrupt=25 \
mcp251xfd-overlay.dts,spi0-1,interrupt=24 \
i2c-rtc-overlay.dts,pcf85063 \
>> merged-overlay.dts
The -c option writes the command above as a comment into the overlay as
a marker that this overlay is generated and how it was generated.
After compiling the overlay it can be loaded in a single line.
dtoverlay=merged
It does the same as the original configuration but without parameters.
The Overlay and Parameter Reference
===================================
N.B. When editing this file, please preserve the indentation levels to make it
simple to parse programmatically. NO HARD TABS.
Name: <The base DTB>
Info: Configures the base Raspberry Pi hardware
Load: <loaded automatically>
Params:
ant1 Select antenna 1 (default). CM4 only.
ant2 Select antenna 2. CM4 only.
noant Disable both antennas. CM4 only.
audio Set to "on" to enable the onboard ALSA audio
interface (default "off")
axiperf Set to "on" to enable the AXI bus performance
monitors.
See /sys/kernel/debug/raspberrypi_axi_monitor
for the results.
cam0_reg Enables CAM 0 regulator. CM1 & 3 only.
cam0_reg_gpio Set GPIO for CAM 0 regulator. Default 30.
CM1 & 3 only.
cam1_reg Enables CAM 1 regulator. CM1 & 3 only.
cam1_reg_gpio Set GPIO for CAM 1 regulator. Default 2.
CM1 & 3 only.
eee Enable Energy Efficient Ethernet support for
compatible devices (default "on"). See also
"tx_lpi_timer". Pi3B+ only.
eth_downshift_after Set the number of auto-negotiation failures
after which the 1000Mbps modes are disabled.
Legal values are 2, 3, 4, 5 and 0, where
0 means never downshift (default 2). Pi3B+ only.
eth_led0 Set mode of LED0 - amber on Pi3B+ (default "1"),
green on Pi4 (default "0").
The legal values are:
Pi3B+
0=link/activity 1=link1000/activity
2=link100/activity 3=link10/activity
4=link100/1000/activity 5=link10/1000/activity
6=link10/100/activity 14=off 15=on
Pi4
0=Speed/Activity 1=Speed
2=Flash activity 3=FDX
4=Off 5=On
6=Alt 7=Speed/Flash
8=Link 9=Activity
eth_led1 Set mode of LED1 - green on Pi3B+ (default "6"),
amber on Pi4 (default "8"). See eth_led0 for
legal values.
eth_max_speed Set the maximum speed a link is allowed
to negotiate. Legal values are 10, 100 and
1000 (default 1000). Pi3B+ only.
i2c_arm Set to "on" to enable the ARM's i2c interface
(default "off")
i2c_vc Set to "on" to enable the i2c interface
usually reserved for the VideoCore processor
(default "off")
i2c An alias for i2c_arm
i2c_arm_baudrate Set the baudrate of the ARM's i2c interface
(default "100000")
i2c_vc_baudrate Set the baudrate of the VideoCore i2c interface
(default "100000")
i2c_baudrate An alias for i2c_arm_baudrate
i2s Set to "on" to enable the i2s interface
(default "off")
krnbt Set to "on" to enable autoprobing of Bluetooth
driver without need of hciattach/btattach
(default "off")
krnbt_baudrate Set the baudrate of the PL011 UART when used
with krnbt=on
spi Set to "on" to enable the spi interfaces
(default "off")
spi_dma4 Use to enable 40-bit DMA on spi interfaces
(the assigned value doesn't matter)
(2711 only)
random Set to "on" to enable the hardware random
number generator (default "on")
sd_overclock Clock (in MHz) to use when the MMC framework
requests 50MHz
sd_poll_once Looks for a card once after booting. Useful
for network booting scenarios to avoid the
overhead of continuous polling. N.B. Using
this option restricts the system to using a
single card per boot (or none at all).
(default off)
sd_force_pio Disable DMA support for SD driver (default off)
sd_pio_limit Number of blocks above which to use DMA for
SD card (default 1)
sd_debug Enable debug output from SD driver (default off)
sdio_overclock Clock (in MHz) to use when the MMC framework
requests 50MHz for the SDIO/WLAN interface.
tx_lpi_timer Set the delay in microseconds between going idle
and entering the low power state (default 600).
Requires EEE to be enabled - see "eee".
uart0 Set to "off" to disable uart0 (default "on")
uart1 Set to "on" or "off" to enable or disable uart1
(default varies)
watchdog Set to "on" to enable the hardware watchdog
(default "off")
act_led_trigger Choose which activity the LED tracks.
Use "heartbeat" for a nice load indicator.
(default "mmc")
act_led_activelow Set to "on" to invert the sense of the LED
(default "off")
N.B. For Pi 3B, 3B+, 3A+ and 4B, use the act-led
overlay.
act_led_gpio Set which GPIO to use for the activity LED
(in case you want to connect it to an external
device)
(default "16" on a non-Plus board, "47" on a
Plus or Pi 2)
N.B. For Pi 3B, 3B+, 3A+ and 4B, use the act-led
overlay.
pwr_led_trigger
pwr_led_activelow
pwr_led_gpio
As for act_led_*, but using the PWR LED.
Not available on Model A/B boards.
N.B. It is recommended to only enable those interfaces that are needed.
Leaving all interfaces enabled can lead to unwanted behaviour (i2c_vc
interfering with Pi Camera, I2S and SPI hogging GPIO pins, etc.)
Note also that i2c, i2c_arm and i2c_vc are aliases for the physical
interfaces i2c0 and i2c1. Use of the numeric variants is still possible
but deprecated because the ARM/VC assignments differ between board
revisions. The same board-specific mapping applies to i2c_baudrate,
and the other i2c baudrate parameters.
Name: act-led
Info: Pi 3B, 3B+, 3A+ and 4B use a GPIO expander to drive the LEDs which can
only be accessed from the VPU. There is a special driver for this with a
separate DT node, which has the unfortunate consequence of breaking the
act_led_gpio and act_led_activelow dtparams.
This overlay changes the GPIO controller back to the standard one and
restores the dtparams.
Load: dtoverlay=act-led,<param>=<val>
Params: activelow Set to "on" to invert the sense of the LED
(default "off")
gpio Set which GPIO to use for the activity LED
(in case you want to connect it to an external
device)
REQUIRED
Name: adafruit-st7735r
Info: Overlay for the SPI-connected Adafruit 1.8" 160x128 or 128x128 displays,
based on the ST7735R chip.
This overlay uses the newer DRM/KMS "Tiny" driver.
Load: dtoverlay=adafruit-st7735r,<param>=<val>
Params: 128x128 Select the 128x128 driver (default 160x128)
rotate Display rotation {0,90,180,270} (default 90)
speed SPI bus speed in Hz (default 4000000)
dc_pin GPIO pin for D/C (default 24)
reset_pin GPIO pin for RESET (default 25)
led_pin GPIO used to control backlight (default 18)
Name: adafruit18
Info: Overlay for the SPI-connected Adafruit 1.8" display (based on the
ST7735R chip). It includes support for the "green tab" version.
This overlay uses the older fbtft driver.
Load: dtoverlay=adafruit18,<param>=<val>
Params: green Use the adafruit18_green variant.
rotate Display rotation {0,90,180,270}
speed SPI bus speed in Hz (default 4000000)
fps Display frame rate in Hz
bgr Enable BGR mode (default off)
debug Debug output level {0-7}
dc_pin GPIO pin for D/C (default 24)
reset_pin GPIO pin for RESET (default 25)
led_pin GPIO used to control backlight (default 18)
Name: adau1977-adc
Info: Overlay for activation of ADAU1977 ADC codec over I2C for control
and I2S for data.
Load: dtoverlay=adau1977-adc
Params: <None>
Name: adau7002-simple
Info: Overlay for the activation of ADAU7002 stereo PDM to I2S converter.
Load: dtoverlay=adau7002-simple,<param>=<val>
Params: card-name Override the default, "adau7002", card name.
Name: ads1015
Info: Overlay for activation of Texas Instruments ADS1015 ADC over I2C
Load: dtoverlay=ads1015,<param>=<val>
Params: addr I2C bus address of device. Set based on how the
addr pin is wired. (default=0x48 assumes addr
is pulled to GND)
cha_enable Enable virtual channel a. (default=true)
cha_cfg Set the configuration for virtual channel a.
(default=4 configures this channel for the
voltage at A0 with respect to GND)
cha_datarate Set the datarate (samples/sec) for this channel.
(default=4 sets 1600 sps)
cha_gain Set the gain of the Programmable Gain
Amplifier for this channel. (default=2 sets the
full scale of the channel to 2.048 Volts)
Channel (ch) parameters can be set for each enabled channel.
A maximum of 4 channels can be enabled (letters a thru d).
For more information refer to the device datasheet at:
http://www.ti.com/lit/ds/symlink/ads1015.pdf
Name: ads1115
Info: Texas Instruments ADS1115 ADC
Load: dtoverlay=ads1115,<param>[=<val>]
Params: addr I2C bus address of device. Set based on how the
addr pin is wired. (default=0x48 assumes addr
is pulled to GND)
cha_enable Enable virtual channel a.
cha_cfg Set the configuration for virtual channel a.
(default=4 configures this channel for the
voltage at A0 with respect to GND)
cha_datarate Set the datarate (samples/sec) for this channel.
(default=7 sets 860 sps)
cha_gain Set the gain of the Programmable Gain
Amplifier for this channel. (Default 1 sets the
full scale of the channel to 4.096 Volts)
Channel parameters can be set for each enabled channel.
A maximum of 4 channels can be enabled (letters a thru d).
For more information refer to the device datasheet at:
http://www.ti.com/lit/ds/symlink/ads1115.pdf
Name: ads7846
Info: ADS7846 Touch controller
Load: dtoverlay=ads7846,<param>=<val>
Params: cs SPI bus Chip Select (default 1)
speed SPI bus speed (default 2MHz, max 3.25MHz)
penirq GPIO used for PENIRQ. REQUIRED
penirq_pull Set GPIO pull (default 0=none, 2=pullup)
swapxy Swap x and y axis
xmin Minimum value on the X axis (default 0)
ymin Minimum value on the Y axis (default 0)
xmax Maximum value on the X axis (default 4095)
ymax Maximum value on the Y axis (default 4095)
pmin Minimum reported pressure value (default 0)
pmax Maximum reported pressure value (default 65535)
xohms Touchpanel sensitivity (X-plate resistance)
(default 400)
penirq is required and usually xohms (60-100) has to be set as well.
Apart from that, pmax (255) and swapxy are also common.
The rest of the calibration can be done with xinput-calibrator.
See: github.com/notro/fbtft/wiki/FBTFT-on-Raspian
Device Tree binding document:
www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
Name: adv7282m
Info: Analog Devices ADV7282M analogue video to CSI2 bridge.
Uses Unicam1, which is the standard camera connector on most Pi
variants.
Load: dtoverlay=adv7282m,<param>=<val>
Params: addr Overrides the I2C address (default 0x21)
media-controller Configure use of Media Controller API for
configuring the sensor (default off)
Name: adv728x-m
Info: Analog Devices ADV728[0|1|2]-M analogue video to CSI2 bridges.
This is a wrapper for adv7282m, and defaults to ADV7282M.
Load: dtoverlay=adv728x-m,<param>=<val>
Params: addr Overrides the I2C address (default 0x21)
adv7280m Select ADV7280-M.
adv7281m Select ADV7281-M.
adv7281ma Select ADV7281-MA.
media-controller Configure use of Media Controller API for
configuring the sensor (default off)
Name: akkordion-iqdacplus
Info: Configures the Digital Dreamtime Akkordion Music Player (based on the
OEM IQAudIO DAC+ or DAC Zero module).
Load: dtoverlay=akkordion-iqdacplus,<param>=<val>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with
dtoverlay=akkordion-iqdacplus,24db_digital_gain
(The default behaviour is that the Digital
volume control is limited to a maximum of
0dB. ie. it can attenuate but not provide
gain. For most users, this will be desired
as it will prevent clipping. By appending
the 24db_digital_gain parameter, the Digital
volume control will allow up to 24dB of
gain. If this parameter is enabled, it is the
responsibility of the user to ensure that
the Digital volume control is set to a value
that does not result in clipping/distortion!)
Name: allo-boss-dac-pcm512x-audio
Info: Configures the Allo Boss DAC audio cards.
Load: dtoverlay=allo-boss-dac-pcm512x-audio,<param>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with
"dtoverlay=allo-boss-dac-pcm512x-audio,
24db_digital_gain"
(The default behaviour is that the Digital
volume control is limited to a maximum of
0dB. ie. it can attenuate but not provide
gain. For most users, this will be desired
as it will prevent clipping. By appending
the 24db_digital_gain parameter, the Digital
volume control will allow up to 24dB of
gain. If this parameter is enabled, it is the
responsibility of the user to ensure that
the Digital volume control is set to a value
that does not result in clipping/distortion!)
slave Force Boss DAC into slave mode, using Pi a
master for bit clock and frame clock. Enable
with "dtoverlay=allo-boss-dac-pcm512x-audio,
slave"
Name: allo-boss2-dac-audio
Info: Configures the Allo Boss2 DAC audio card
Load: dtoverlay=allo-boss2-dac-audio
Params: <None>
Name: allo-digione
Info: Configures the Allo Digione audio card
Load: dtoverlay=allo-digione
Params: <None>
Name: allo-katana-dac-audio
Info: Configures the Allo Katana DAC audio card
Load: dtoverlay=allo-katana-dac-audio
Params: <None>
Name: allo-piano-dac-pcm512x-audio
Info: Configures the Allo Piano DAC (2.0/2.1) audio cards.
(NB. This initial support is for 2.0 channel audio ONLY! ie. stereo.
The subwoofer outputs on the Piano 2.1 are not currently supported!)
Load: dtoverlay=allo-piano-dac-pcm512x-audio,<param>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control.
(The default behaviour is that the Digital
volume control is limited to a maximum of
0dB. ie. it can attenuate but not provide
gain. For most users, this will be desired
as it will prevent clipping. By appending
the 24db_digital_gain parameter, the Digital
volume control will allow up to 24dB of
gain. If this parameter is enabled, it is the
responsibility of the user to ensure that
the Digital volume control is set to a value
that does not result in clipping/distortion!)
Name: allo-piano-dac-plus-pcm512x-audio
Info: Configures the Allo Piano DAC (2.1) audio cards.
Load: dtoverlay=allo-piano-dac-plus-pcm512x-audio,<param>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control.
(The default behaviour is that the Digital
volume control is limited to a maximum of
0dB. ie. it can attenuate but not provide
gain. For most users, this will be desired
as it will prevent clipping. By appending
the 24db_digital_gain parameter, the Digital
volume control will allow up to 24dB of
gain. If this parameter is enabled, it is the
responsibility of the user to ensure that
the Digital volume control is set to a value
that does not result in clipping/distortion!)
glb_mclk This option is only with Kali board. If enabled,
MCLK for Kali is used and PLL is disabled for
better voice quality. (default Off)
Name: anyspi
Info: Universal device tree overlay for SPI devices
Just specify the SPI address and device name ("compatible" property).
This overlay lacks any device-specific parameter support!
For devices on spi1 or spi2, the interfaces should be enabled
with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
Examples:
1. SPI NOR flash on spi0.1, maximum SPI clock frequency 45MHz:
dtoverlay=anyspi:spi0-1,dev="jedec,spi-nor",speed=45000000
2. MCP3204 ADC on spi1.2, maximum SPI clock frequency 500kHz:
dtoverlay=anyspi:spi1-2,dev="microchip,mcp3204"
Load: dtoverlay=anyspi,<param>=<val>
Params: spi<n>-<m> Configure device at spi<n>, cs<m>
(boolean, required)
dev Set device name to search compatible module
(string, required)
speed Set SPI clock frequency in Hz
(integer, optional, default 500000)
Name: apds9960
Info: Configures the AVAGO APDS9960 digital proximity, ambient light, RGB and
gesture sensor
Load: dtoverlay=apds9960,<param>=<val>
Params: gpiopin GPIO used for INT (default 4)
noints Disable the interrupt GPIO line.
Name: applepi-dac
Info: Configures the Orchard Audio ApplePi-DAC audio card
Load: dtoverlay=applepi-dac
Params: <None>
Name: at86rf233
Info: Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver,
connected to spi0.0
Load: dtoverlay=at86rf233,<param>=<val>
Params: interrupt GPIO used for INT (default 23)
reset GPIO used for Reset (default 24)
sleep GPIO used for Sleep (default 25)
speed SPI bus speed in Hz (default 3000000)
trim Fine tuning of the internal capacitance
arrays (0=+0pF, 15=+4.5pF, default 15)
Name: audioinjector-addons
Info: Configures the audioinjector.net audio add on soundcards
Load: dtoverlay=audioinjector-addons,<param>=<val>
Params: non-stop-clocks Keeps the clocks running even when the stream
is paused or stopped (default off)
Name: audioinjector-isolated-soundcard
Info: Configures the audioinjector.net isolated soundcard
Load: dtoverlay=audioinjector-isolated-soundcard
Params: <None>
Name: audioinjector-ultra
Info: Configures the audioinjector.net ultra soundcard
Load: dtoverlay=audioinjector-ultra
Params: <None>
Name: audioinjector-wm8731-audio
Info: Configures the audioinjector.net audio add on soundcard
Load: dtoverlay=audioinjector-wm8731-audio
Params: <None>
Name: audiosense-pi
Info: Configures the audiosense-pi add on soundcard
For more information refer to
https://gitlab.com/kakar0t/audiosense-pi
Load: dtoverlay=audiosense-pi
Params: <None>
Name: audremap
Info: Switches PWM sound output to GPIOs on the 40-pin header
Load: dtoverlay=audremap,<param>=<val>
Params: swap_lr Reverse the channel allocation, which will also
swap the audio jack outputs (default off)
enable_jack Don't switch off the audio jack output
(default off)
pins_12_13 Select GPIOs 12 & 13 (default)
pins_18_19 Select GPIOs 18 & 19
Name: balena-fin
Info: Overlay that enables WLAN, Bluetooth and the GPIO expander on the
balenaFin carrier board for the Raspberry Pi Compute Module 3/3+ Lite.
Load: dtoverlay=balena-fin
Params: <None>
Name: bmp085_i2c-sensor
Info: This overlay is now deprecated - see i2c-sensor
Load: <Deprecated>
Name: cap1106
Info: Enables the ability to use the cap1106 touch sensor as a keyboard
Load: dtoverlay=cap1106,<param>=<val>
Params: int_pin GPIO pin for interrupt signal (default 23)
Name: chipdip-dac
Info: Configures Chip Dip audio cards.
Load: dtoverlay=chipdip-dac
Params: <None>
Name: cma
Info: Set custom CMA sizes, only use if you know what you are doing, might
clash with other overlays like vc4-fkms-v3d and vc4-kms-v3d.
Load: dtoverlay=cma,<param>=<val>
Params: cma-512 CMA is 512MB (needs 1GB)
cma-448 CMA is 448MB (needs 1GB)
cma-384 CMA is 384MB (needs 1GB)
cma-320 CMA is 320MB (needs 1GB)
cma-256 CMA is 256MB (needs 1GB)
cma-192 CMA is 192MB (needs 1GB)
cma-128 CMA is 128MB
cma-96 CMA is 96MB
cma-64 CMA is 64MB
cma-size CMA size in bytes, 4MB aligned
cma-default Use upstream's default value
Name: cutiepi-panel
Info: 8" TFT LCD display and touch panel used by cutiepi.io
Load: dtoverlay=cutiepi-panel
Params: <None>
Name: dht11
Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
Also sometimes found with the part number(s) AM230x.
Load: dtoverlay=dht11,<param>=<val>
Params: gpiopin GPIO connected to the sensor's DATA output.
(default 4)
Name: dionaudio-loco
Info: Configures the Dion Audio LOCO DAC-AMP
Load: dtoverlay=dionaudio-loco
Params: <None>
Name: dionaudio-loco-v2
Info: Configures the Dion Audio LOCO-V2 DAC-AMP
Load: dtoverlay=dionaudio-loco-v2,<param>=<val>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with
"dtoverlay=hifiberry-dacplus,24db_digital_gain"
(The default behaviour is that the Digital
volume control is limited to a maximum of
0dB. ie. it can attenuate but not provide
gain. For most users, this will be desired
as it will prevent clipping. By appending
the 24dB_digital_gain parameter, the Digital
volume control will allow up to 24dB of
gain. If this parameter is enabled, it is the
responsibility of the user to ensure that
the Digital volume control is set to a value
that does not result in clipping/distortion!)
Name: disable-bt
Info: Disable onboard Bluetooth on Pi 3B, 3B+, 3A+, 4B and Zero W, restoring
UART0/ttyAMA0 over GPIOs 14 & 15.
N.B. To disable the systemd service that initialises the modem so it
doesn't use the UART, use 'sudo systemctl disable hciuart'.
Load: dtoverlay=disable-bt
Params: <None>
Name: disable-wifi
Info: Disable onboard WLAN on Pi 3B, 3B+, 3A+, 4B and Zero W.
Load: dtoverlay=disable-wifi
Params: <None>
Name: dpi18
Info: Overlay for a generic 18-bit DPI display
This uses GPIOs 0-21 (so no I2C, uart etc.), and activates the output
2-3 seconds after the kernel has started.
Load: dtoverlay=dpi18
Params: <None>
Name: dpi18cpadhi
Info: Overlay for a generic 18-bit DPI display (in 'mode 6' connection scheme)
This uses GPIOs 0-9,12-17,20-25 (so no I2C, uart etc.), and activates
the output 3-3 seconds after the kernel has started.
Load: dtoverlay=dpi18cpadhi
Params: <None>
Name: dpi24
Info: Overlay for a generic 24-bit DPI display
This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output
2-3 seconds after the kernel has started.
Load: dtoverlay=dpi24
Params: <None>
Name: draws
Info: Configures the NW Digital Radio DRAWS Hat
The board includes an ADC to measure various board values and also
provides two analog user inputs on the expansion header. The ADC
can be configured for various sample rates and gain values to adjust
the input range. Tables describing the two parameters follow.
ADC Gain Values:
0 = +/- 6.144V
1 = +/- 4.096V
2 = +/- 2.048V
3 = +/- 1.024V
4 = +/- 0.512V
5 = +/- 0.256V
6 = +/- 0.256V
7 = +/- 0.256V
ADC Datarate Values:
0 = 128sps
1 = 250sps
2 = 490sps
3 = 920sps
4 = 1600sps (default)
5 = 2400sps
6 = 3300sps
7 = 3300sps
Load: dtoverlay=draws,<param>=<val>
Params: draws_adc_ch4_gain Sets the full scale resolution of the ADCs
input voltage sensor (default 1)
draws_adc_ch4_datarate Sets the datarate of the ADCs input voltage
sensor
draws_adc_ch5_gain Sets the full scale resolution of the ADCs
5V rail voltage sensor (default 1)
draws_adc_ch5_datarate Sets the datarate of the ADCs 4V rail voltage
sensor
draws_adc_ch6_gain Sets the full scale resolution of the ADCs
AIN2 input (default 2)
draws_adc_ch6_datarate Sets the datarate of the ADCs AIN2 input
draws_adc_ch7_gain Sets the full scale resolution of the ADCs
AIN3 input (default 2)
draws_adc_ch7_datarate Sets the datarate of the ADCs AIN3 input
alsaname Name of the ALSA audio device (default "draws")
Name: dwc-otg
Info: Selects the dwc_otg USB controller driver which has fiq support. This
is the default on all except the Pi Zero which defaults to dwc2.
Load: dtoverlay=dwc-otg
Params: <None>
Name: dwc2
Info: Selects the dwc2 USB controller driver
Load: dtoverlay=dwc2,<param>=<val>
Params: dr_mode Dual role mode: "host", "peripheral" or "otg"
g-rx-fifo-size Size of rx fifo size in gadget mode
g-np-tx-fifo-size Size of non-periodic tx fifo size in gadget
mode
[ The ds1307-rtc overlay has been deleted. See i2c-rtc. ]
Name: edt-ft5406
Info: Overlay for the EDT FT5406 touchscreen on the CSI/DSI I2C interface.
This works with the Raspberry Pi 7" touchscreen when not being polled
by the firmware.
You MUST use either "disable_touchscreen=1" or "ignore_lcd=1" in
config.txt to stop the firmware polling the touchscreen.
Load: dtoverlay=edt-ft5406,<param>=<val>
Params: sizex Touchscreen size x (default 800)
sizey Touchscreen size y (default 480)
invx Touchscreen inverted x axis
invy Touchscreen inverted y axis
swapxy Touchscreen swapped x y axis
Name: enc28j60
Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI0
Load: dtoverlay=enc28j60,<param>=<val>
Params: int_pin GPIO used for INT (default 25)
speed SPI bus speed (default 12000000)
Name: enc28j60-spi2
Info: Overlay for the Microchip ENC28J60 Ethernet Controller on SPI2
Load: dtoverlay=enc28j60-spi2,<param>=<val>
Params: int_pin GPIO used for INT (default 39)
speed SPI bus speed (default 12000000)
Name: exc3000
Info: Enables I2C connected EETI EXC3000 multiple touch controller using
GPIO 4 (pin 7 on GPIO header) for interrupt.
Load: dtoverlay=exc3000,<param>=<val>
Params: interrupt GPIO used for interrupt (default 4)
sizex Touchscreen size x (default 4096)
sizey Touchscreen size y (default 4096)
invx Touchscreen inverted x axis
invy Touchscreen inverted y axis
swapxy Touchscreen swapped x y axis
Name: fbtft
Info: Overlay for SPI-connected displays using the fbtft drivers.
This overlay seeks to replace the functionality provided by fbtft_device
which is now gone from the kernel.
Most displays from fbtft_device have been ported over.
Example:
dtoverlay=fbtft,spi0-0,rpi-display,reset_pin=23,dc_pin=24,led_pin=18,rotate=270
It is also possible to specify the controller (this will use the default
init sequence in the driver).
Example:
dtoverlay=fbtft,spi0-0,ili9341,bgr,reset_pin=23,dc_pin=24,led_pin=18,rotate=270
For devices on spi1 or spi2, the interfaces should be enabled
with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays.
The following features of fbtft_device have not been ported over:
- parallel bus is not supported
- the init property which overrides the controller initialization
sequence is not supported as a parameter due to memory limitations in
the bootloader responsible for applying the overlay.
See https://github.com/notro/fbtft/wiki/FBTFT-RPI-overlays for how to
create an overlay.
Load: dtoverlay=fbtft,<param>=<val>
Params:
spi<n>-<m> Configure device at spi<n>, cs<m>
(boolean, required)
speed SPI bus speed in Hz (default 32000000)
cpha Shifted clock phase (CPHA) mode
cpol Inverse clock polarity (CPOL) mode
adafruit18 Adafruit 1.8
adafruit22 Adafruit 2.2 (old)
adafruit22a Adafruit 2.2
adafruit28 Adafruit 2.8
adafruit13m Adafruit 1.3 OLED
admatec_c-berry28 C-Berry28
dogs102 EA DOGS102
er_tftm050_2 ER-TFTM070-2
er_tftm070_5 ER-TFTM070-5
ew24ha0 EW24HA0
ew24ha0_9bit EW24HA0 in 9-bit mode
freetronicsoled128 Freetronics OLED128
hy28a HY28A
hy28b HY28B
itdb28_spi ITDB02-2.8 with SPI interface circuit
mi0283qt-2 Watterott MI0283QT-2
mi0283qt-9a Watterott MI0283QT-9A
nokia3310 Nokia 3310
nokia3310a Nokia 3310a
nokia5110 Nokia 5110
piscreen PiScreen
pitft Adafruit PiTFT 2.8
pioled ILSoft OLED
rpi-display Watterott rpi-display
sainsmart18 Sainsmart 1.8
sainsmart32_spi Sainsmart 3.2 with SPI interfce circuit
tinylcd35 TinyLCD 3.5
tm022hdh26 Tianma TM022HDH26
tontec35_9481 Tontect 3.5 with ILI9481 controller
tontec35_9486 Tontect 3.5 with ILI9486 controller
waveshare32b Waveshare 3.2
waveshare22 Waveshare 2.2
bd663474 BD663474 display controller
hx8340bn HX8340BN display controller
hx8347d HX8347D display controller
hx8353d HX8353D display controller
hx8357d HX8357D display controller
ili9163 ILI9163 display controller
ili9320 ILI9320 display controller
ili9325 ILI9325 display controller
ili9340 ILI9340 display controller
ili9341 ILI9341 display controller
ili9481 ILI9481 display controller
ili9486 ILI9486 display controller
pcd8544 PCD8544 display controller
ra8875 RA8875 display controller
s6d02a1 S6D02A1 display controller
s6d1121 S6D1121 display controller
seps525 SEPS525 display controller
sh1106 SH1106 display controller
ssd1289 SSD1289 display controller
ssd1305 SSD1305 display controller
ssd1306 SSD1306 display controller
ssd1325 SSD1325 display controller
ssd1331 SSD1331 display controller
ssd1351 SSD1351 display controller
st7735r ST7735R display controller
st7789v ST7789V display controller
tls8204 TLS8204 display controller
uc1611 UC1611 display controller
uc1701 UC1701 display controller
upd161704 UPD161704 display controller
width Display width in pixels
height Display height in pixels
regwidth Display controller register width (default is
driver specific)
buswidth Display bus interface width (default 8)
debug Debug output level {0-7}
rotate Display rotation {0, 90, 180, 270} (counter
clockwise). Not supported by all drivers.
bgr Enable BGR mode (default off). Use if Red and
Blue are swapped. Not supported by all drivers.
fps Frames per second (default 30). In effect this
states how long the driver will wait after video
memory has been changed until display update
transfer is started.
txbuflen Length of the FBTFT transmit buffer
(default 4096)
startbyte Sets the Start byte used by fb_ili9320,
fb_ili9325 and fb_hx8347d. Common value is 0x70.
gamma String representation of Gamma Curve(s). Driver
specific. Not supported by all drivers.
reset_pin GPIO pin for RESET
dc_pin GPIO pin for D/C
led_pin GPIO pin for LED backlight
Name: fe-pi-audio