-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
Copy pathREADME
5805 lines (4572 loc) · 261 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:
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.
ant1 Select antenna 1 (default). CM4/5 only.
ant2 Select antenna 2. CM4/5 only.
noant Disable both antennas. CM4/5 only.
noanthogs Disable the GPIO hogs on the antenna controls
so they can be controlled at runtime. Note that
using this parameter without suitable OS
support will result in attenuated WiFi and
Bluetooth signals. CM4/5 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.
bdaddr Set an alternative Bluetooth address (BDADDR).
The value should be a 6-byte hexadecimal value,
with or without colon separators, written least-
significant-byte first. For example,
bdaddr=06:05:04:03:02:01
will set the BDADDR to 01:02:03:04:05:06.
button_debounce Set the debounce delay (in ms) on the power/
shutdown button (default 50ms)
cam0_reg Controls CAM 0 regulator.
Disabled by default on CM1 & 3.
Enabled by default on all other boards.
cam0_reg_gpio Set GPIO for CAM 0 regulator.
NB override switches to the normal GPIO driver,
even if the original was on the GPIO expander.
cam1_reg Controls CAM 1 regulator.
Disabled by default on CM1 & 3.
Enabled by default on all other boards.
cam1_reg_gpio Set GPIO for CAM 1 regulator.
NB override switches to the normal GPIO driver,
even if the original was on the GPIO expander.
cam0_sync Enable a GPIO to reflect frame sync from CSI0,
going high on frame start, and low on frame end.
cam0_sync_inverted Enable a GPIO to reflect frame sync from CSI0
going low on frame start, and high on frame end.
cam1_sync Enable a GPIO to reflect frame sync from CSI1,
going high on frame start, and low on frame end.
cam1_sync_inverted Enable a GPIO to reflect frame sync from CSI1
going low on frame start, and high on frame end.
cooling_fan Enables the Pi 5 cooling fan (enabled
automatically by the firmware)
drm_fb0_rp1_dpi Assign /dev/fb0 to the RP1 DPI output
drm_fb0_rp1_dsi0 Assign /dev/fb0 to the RP1 DSI0 output
drm_fb0_rp1_dsi1 Assign /dev/fb0 to the RP1 DSI1 output
drm_fb0_vc4 Assign /dev/fb0 to the vc4 outputs
drm_fb1_rp1_dpi Assign /dev/fb1 to the RP1 DPI output
drm_fb1_rp1_dsi0 Assign /dev/fb1 to the RP1 DSI0 output
drm_fb1_rp1_dsi1 Assign /dev/fb1 to the RP1 DSI1 output
drm_fb1_vc4 Assign /dev/fb1 to the vc4 outputs
drm_fb2_rp1_dpi Assign /dev/fb2 to the RP1 DPI output
drm_fb2_rp1_dsi0 Assign /dev/fb2 to the RP1 DSI0 output
drm_fb2_rp1_dsi1 Assign /dev/fb2 to the RP1 DSI1 output
drm_fb2_vc4 Assign /dev/fb2 to the vc4 outputs
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/5 (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/5
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/5 (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.
fan_temp0 Temperature threshold (in millicelcius) for
1st cooling level (default 50000). Pi5 only.
fan_temp0_hyst Temperature hysteresis (in millicelcius) for
1st cooling level (default 5000). Pi5 only.
fan_temp0_speed Fan PWM setting for 1st cooling level (0-255,
default 75). Pi5 only.
fan_temp1 Temperature threshold (in millicelcius) for
2nd cooling level (default 60000). Pi5 only.
fan_temp1_hyst Temperature hysteresis (in millicelcius) for
2nd cooling level (default 5000). Pi5 only.
fan_temp1_speed Fan PWM setting for 2nd cooling level (0-255,
default 125). Pi5 only.
fan_temp2 Temperature threshold (in millicelcius) for
3rd cooling level (default 67500). Pi5 only.
fan_temp2_hyst Temperature hysteresis (in millicelcius) for
3rd cooling level (default 5000). Pi5 only.
fan_temp2_speed Fan PWM setting for 3rd cooling level (0-255,
default 175). Pi5 only.
fan_temp3 Temperature threshold (in millicelcius) for
4th cooling level (default 75000). Pi5 only.
fan_temp3_hyst Temperature hysteresis (in millicelcius) for
4th cooling level (default 5000). Pi5 only.
fan_temp3_speed Fan PWM setting for 4th cooling level (0-255,
default 250). Pi5 only.
hdmi Set to "off" to disable the HDMI interface
(default "on")
i2c An alias for i2c_arm
i2c_arm Set to "on" to enable the ARM's i2c interface
(default "off")
i2c_arm_baudrate Set the baudrate of the ARM's i2c interface
(default "100000")
i2c_baudrate An alias for i2c_arm_baudrate
i2c_csi_dsi Set to "on" to enable the i2c_csi_dsi interface
The I2C bus and GPIOs are platform specific:
B rev 1:
i2c-1 on 2 & 3
B rev 2, B+, CM, Zero, Zero W, 2B, CM2, CM3,
CM4S:
i2c-0 on 28 & 29
3B, 3B+, Zero 2W, 4B, 400, CM4:
i2c-0 on 44 & 45
5, 500:
i2c-11/i2c-4 on 40 & 41
CM5 on CM5IO:
i2c-0 on 0 & 1
CM5 on CM4IO:
i2c-10/i2c-6 on 38 & 39
i2c_csi_dsi0 Set to "on" to enable the i2c_csi_dsi0 interface
The I2C bus and GPIOs are platform specific:
B rev 1 & 2, B+, CM, Zero, Zero W, 2B, CM2,
CM3, CM4S, 3B, 3B+, Zero 2W, 4B, 400, CM4,
CM5 on CM4IO:
i2c-0 on 0 & 1
5, 500, CM5 on CM5IO:
i2c-10/i2c-6 on 38 & 39
i2c_csi_dsi1 A Pi 5 family-specific alias for i2c_csi_dsi.
i2c_vc Set to "on" to enable the i2c interface
usually reserved for the VideoCore processor
(default "off")
i2c_vc_baudrate Set the baudrate of the VideoCore i2c interface
(default "100000")
i2s Set to "on" to enable the i2s interface
(default "off")
i2s_dma4 Use to enable 40-bit DMA on the i2s interface
(the assigned value doesn't matter)
(2711 only)
krnbt Set to "off" to disable autoprobing of Bluetooth
driver without need of hciattach/btattach
(default "on")
krnbt_baudrate Set the baudrate of the PL011 UART when used
with krnbt=on
nvme Alias for "pciex1" (2712 only)
nvmem_cust_rw Allow read/write access to customer otp
nvmem_mac_rw Allow read/write access to mac addresses otp
nvmem_priv_rw Allow read/write access to customer private otp
pcie Set to "off" to disable the PCIe interface
(default "on")
(2711 only, but not applicable on CM4S)
N.B. USB-A ports on 4B are subsequently disabled
pcie_tperst_clk_ms Add N milliseconds between PCIe reference clock
activation and PERST# deassertion
(CM4 and 2712, default "0")
pciex1 Set to "on" to enable the external PCIe link
(2712 only, default "off")
pciex1_gen Sets the PCIe "GEN"/speed for the external PCIe
link (2712 only, default "2")
pciex1_no_l0s Set to "on" to disable ASPM L0s on the external
PCIe link for devices that have broken
implementations (2712 only, default "off")
pciex1_tperst_clk_ms Alias for pcie_tperst_clk_ms
(2712 only, default "0")
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.
random Set to "on" to enable the hardware random
number generator (default "on")
rtc Set to "off" to disable the onboard Real Time
Clock (2712 only, default "on")
rtc_bbat_vchg Set the RTC backup battery charging voltage in
microvolts. If set to 0 or not specified, the
trickle charger is disabled.
(2712 only, default "0")
sd Set to "off" to disable the SD card (or eMMC on
non-lite SKU of CM4).
(default "on")
sd_cqe Modify Command Queuing behaviour on the main SD
interface. Legal values are:
0: disable CQ
1: allow CQ for known-good SD A2 cards, and all
eMMC cards
2: allow CQ for all SD A2 cards that aren't
known-bad, and all eMMC cards.
(2712 only, default "1")
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.
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)
strict_gpiod Return GPIOs to inputs when they are released.
If using the gpiod utilities, it is necessary
to keep a gpioset running (e.g. with
--mode=wait) in order for an output value to
persist.
suspend Make the power button trigger a suspend rather
than a power-off (2712 only, default "off")
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")
uart0_console Move the kernel boot console to UART0 on pins
6, 8 and 10 of the 40-way header (2712 only,
default "off")
uart1 Set to "on" or "off" to enable or disable uart1
(default varies)
watchdog Set to "on" to enable the hardware watchdog
(default "off")
wifiaddr Set an alternative WiFi MAC address.
The value should be a 6-byte hexadecimal value,
with or without colon separators, written in the
natural (big-endian) order.
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)
i2c0 Choose the I2C0 bus on GPIOs 0&1
i2c_csi_dsi Choose the I2C bus connected to the main
camera/display connector.
See "dtparam -h i2c_csi_dsi" for details.
i2c_csi_dsi0 Choose the I2C bus connected to the second
camera/display connector, if present.
See "dtparam -h i2c_csi_dsi0" for details.
i2c3 Choose the I2C3 bus (configure with the i2c3
overlay - BCM2711 only)
i2c4 Choose the I2C4 bus (configure with the i2c4
overlay - BCM2711 only)
i2c5 Choose the I2C5 bus (configure with the i2c5
overlay - BCM2711 only)
i2c6 Choose the I2C6 bus (configure with the i2c6
overlay - BCM2711 only)
i2c-path Override I2C path to allow for i2c-gpio buses
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: arducam-64mp
Info: Arducam 64MP camera module.
Uses Unicam 1, which is the standard camera connector on most Pi
variants.
Load: dtoverlay=arducam-64mp,<param>=<val>
Params: rotation Mounting rotation of the camera sensor (0 or
180, default 0)
orientation Sensor orientation (0 = front, 1 = rear,
2 = external, default external)
media-controller Configure use of Media Controller API for
configuring the sensor (default on)
cam0 Adopt the default configuration for CAM0 on a
Compute Module (CSI0, i2c_vc, and cam0_reg).
vcm Select lens driver state. Default is enabled,
but vcm=off will disable.
Name: arducam-pivariety
Info: Arducam Pivariety camera module.
Uses Unicam 1, which is the standard camera connector on most Pi
variants.
Load: dtoverlay=arducam-pivariety,<param>=<val>
Params: rotation Mounting rotation of the camera sensor (0 or
180, default 0)
orientation Sensor orientation (0 = front, 1 = rear,
2 = external, default external)
media-controller Configure use of Media Controller API for
configuring the sensor (default on)
cam0 Adopt the default configuration for CAM0 on a
Compute Module (CSI0, i2c_vc, and cam0_reg).
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-bare-i2s
Info: Configures the audioinjector.net audio bare i2s soundcard
Load: dtoverlay=audioinjector-bare-i2s
Params: <None>
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. Does
nothing on BCM2711 (default off)
pins_12_13 Select GPIOs 12 & 13 (default)
pins_18_19 Select GPIOs 18 & 19
pins_40_41 Select GPIOs 40 & 41 (not available on CM4, used
for other purposes)
pins_40_45 Select GPIOs 40 & 45 (don't use on BCM2711 - the
pins are on different controllers)
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: bcm2712d0
Info: Overlay encapsulating the BCM2712 C0->D0 differences
Load: dtoverlay=bcm2712d0
Params: <None>
Name: bmp085_i2c-sensor
Info: This overlay is now deprecated - see i2c-sensor
Load: <Deprecated>
Name: camera-mux-2port
Info: Configures a 2 port camera multiplexer
Note that currently ALL IMX290 modules share a common clock, therefore
all modules will need to have the same clock frequency.
Load: dtoverlay=camera-mux-2port,<param>=<val>
Params: cam0-arducam-64mp Select Arducam64MP for camera on port 0
cam0-imx219 Select IMX219 for camera on port 0
cam0-imx258 Select IMX258 for camera on port 0
cam0-imx290 Select IMX290 for camera on port 0
cam0-imx477 Select IMX477 for camera on port 0
cam0-imx519 Select IMX519 for camera on port 0
cam0-imx708 Select IMX708 for camera on port 0
cam0-ov2311 Select OV2311 for camera on port 0
cam0-ov5647 Select OV5647 for camera on port 0
cam0-ov64a40 Select OV64A40 for camera on port 0
cam0-ov7251 Select OV7251 for camera on port 0
cam0-ov9281 Select OV9281 for camera on port 0
cam0-imx290-clk-freq Set clock frequency for an IMX290 on port 0
cam1-arducam-64mp Select Arducam64MP for camera on port 1
cam1-imx219 Select IMX219 for camera on port 1
cam1-imx258 Select IMX258 for camera on port 1
cam1-imx290 Select IMX290 for camera on port 1
cam1-imx477 Select IMX477 for camera on port 1
cam1-imx519 Select IMX519 for camera on port 1
cam1-imx708 Select IMX708 for camera on port 1
cam1-ov2311 Select OV2311 for camera on port 1
cam1-ov5647 Select OV5647 for camera on port 1
cam1-ov64a40 Select OV64A40 for camera on port 1
cam1-ov7251 Select OV7251 for camera on port 1
cam1-ov9281 Select OV9281 for camera on port 1
cam1-imx290-clk-freq Set clock frequency for an IMX290 on port 1
cam0-sync-source Set camera on port 0 as vsync source
cam0-sync-sink Set camera on port 0 as vsync sink
cam1-sync-source Set camera on port 1 as vsync source
cam1-sync-sink Set camera on port 1 as vsync sink
cam0 Connect the mux to CAM0 port (default is CAM1)
Name: camera-mux-4port
Info: Configures a 4 port camera multiplexer
Note that currently ALL IMX290 modules share a common clock, therefore
all modules will need to have the same clock frequency.
Load: dtoverlay=camera-mux-4port,<param>=<val>
Params: cam0-arducam-64mp Select Arducam64MP for camera on port 0
cam0-imx219 Select IMX219 for camera on port 0
cam0-imx258 Select IMX258 for camera on port 0
cam0-imx290 Select IMX290 for camera on port 0
cam0-imx477 Select IMX477 for camera on port 0
cam0-imx519 Select IMX519 for camera on port 0
cam0-imx708 Select IMX708 for camera on port 0
cam0-ov2311 Select OV2311 for camera on port 0
cam0-ov5647 Select OV5647 for camera on port 0
cam0-ov64a40 Select OV64A40 for camera on port 0
cam0-ov7251 Select OV7251 for camera on port 0
cam0-ov9281 Select OV9281 for camera on port 0
cam0-imx290-clk-freq Set clock frequency for an IMX290 on port 0
cam1-arducam-64mp Select Arducam64MP for camera on port 1
cam1-imx219 Select IMX219 for camera on port 1
cam1-imx258 Select IMX258 for camera on port 1
cam1-imx290 Select IMX290 for camera on port 1
cam1-imx477 Select IMX477 for camera on port 1
cam1-imx519 Select IMX519 for camera on port 1
cam1-imx708 Select IMX708 for camera on port 1
cam1-ov2311 Select OV2311 for camera on port 1
cam1-ov5647 Select OV5647 for camera on port 1
cam1-ov64a40 Select OV64A40 for camera on port 1
cam1-ov7251 Select OV7251 for camera on port 1
cam1-ov9281 Select OV9281 for camera on port 1
cam1-imx290-clk-freq Set clock frequency for an IMX290 on port 1
cam2-arducam-64mp Select Arducam64MP for camera on port 2
cam2-imx219 Select IMX219 for camera on port 2
cam2-imx258 Select IMX258 for camera on port 2
cam2-imx290 Select IMX290 for camera on port 2
cam2-imx477 Select IMX477 for camera on port 2
cam2-imx519 Select IMX519 for camera on port 2
cam2-imx708 Select IMX708 for camera on port 2
cam2-ov2311 Select OV2311 for camera on port 2
cam2-ov5647 Select OV5647 for camera on port 2
cam2-ov64a40 Select OV64A40 for camera on port 2
cam2-ov7251 Select OV7251 for camera on port 2
cam2-ov9281 Select OV9281 for camera on port 2
cam2-imx290-clk-freq Set clock frequency for an IMX290 on port 2
cam3-arducam-64mp Select Arducam64MP for camera on port 3
cam3-imx219 Select IMX219 for camera on port 3
cam3-imx258 Select IMX258 for camera on port 3
cam3-imx290 Select IMX290 for camera on port 3
cam3-imx477 Select IMX477 for camera on port 3
cam3-imx519 Select IMX519 for camera on port 3
cam3-imx708 Select IMX708 for camera on port 3
cam3-ov2311 Select OV2311 for camera on port 3
cam3-ov5647 Select OV5647 for camera on port 3
cam3-ov64a40 Select OV64A40 for camera on port 3
cam3-ov7251 Select OV7251 for camera on port 3
cam3-ov9281 Select OV9281 for camera on port 3