Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:common:configurations:device-tree-overlay

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:common:configurations:device-tree-overlay [2022/09/22 02:46]
hyphop [Device configurations]
products:sbc:common:configurations:device-tree-overlay [2026/09/23 02:29] (current)
nick [Device reference table]
Line 1: Line 1:
-====== Device Tree Overlay ======+====== Device tree overlay ======
  
 We can use DT overlays to enable/disable or change configuration for peripherals without recompiling the DT kernel source code. We can use DT overlays to enable/disable or change configuration for peripherals without recompiling the DT kernel source code.
 +
 +===== DT collections  =====
 +
 +https://github.com/khadas/khadas-linux-kernel-dt-overlays
  
 ===== Device reference table ====== ===== Device reference table ======
  
-^         ^  DT overlays folder                                 ^  DT overlays list variable  ^  DT overlays config file                           ^ +^        ^  Kernel Version  ^  DT overlays folder                                    ^  DT overlays list variable  ^  DT overlays config file                                  ^ 
-^  VIM1   |  /boot/dtb/overlays/kvim                               |  overlays          |  /boot/env.txt                                            | +^ VIM1   |  4.9/mainline    |  /boot/dtb/overlays/kvim                               |  overlays                   |  /boot/env.txt                                            | 
-^  VIM2   |  /boot/dtb/overlays/kvim2                              | :::                | :::                                                       | +^ VIM2   |  4.9/mainline    |  /boot/dtb/overlays/kvim2                              | :::                         | :::                                                       | 
-^  VIM3   |  /boot/dtb/overlays/kvim3                              | :::                | :::                                                       | +^ VIM3   |  4.9/mainline    |  /boot/dtb/overlays/kvim3                              | :::                         | :::                                                       | 
-^  VIM3L  |  /boot/dtb/overlays/kvim3l                             | :::                | :::                                                       | +| :::     |  5.15            |  /boot/dtb/amlogic/kvim3.dtb.overlays                  |  fdt_overlays               |  /boot/dtb/amlogic/kvim3l.dtb.overlay.env                 | 
-^  VIM1S  |  /boot/dtb/amlogic/kvim1s.dtb.overlays                 |  fdt_overlays      |  /boot/dtb/amlogic/kvim1s.dtb.overlay.env                 | +^ VIM3L  |  4.9/mainline    |  /boot/dtb/overlays/kvim3l                             |  overlays                   |  /boot/env.txt                                            | 
-^  VIM4   |  /boot/dtb/amlogic/kvim4.dtb.overlays                  | :::                |  /boot/dtb/amlogic/kvim4.dtb.overlay.env                  | +| :::     |  5.15            |  /boot/dtb/amlogic/kvim3l.dtb.overlays                 |  fdt_overlays               |  /boot/dtb/amlogic/kvim3l.dtb.overlay.env                 | 
-^  Edge2  |  /boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlays  |  :::               |  /boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env  | +^ VIM1S  |  5.4/5.15        |  /boot/dtb/amlogic/kvim1s.dtb.overlays                 | :::                         |  /boot/dtb/amlogic/kvim1s.dtb.overlay.env                 | 
-^  Edge1  |  /boot/dtb/rockchip/overlays/caption                   |  overlays          |  /boot/env.txt                                            | +^ VIM4   |  5.4/5.15        |  /boot/dtb/amlogic/kvim4.dtb.overlays                  | :::                         |  /boot/dtb/amlogic/kvim4.dtb.overlay.env                  | 
-| :::     |  /boot/dtb/rockchip/overlays/edgev                     | :::                | :::                                                       |+^ VIM 5  |  6.12            |  /boot/dtb/amlogic/kvim-5.dtb.overlays                 | :::                         |  /boot/dtb/amlogic/kvim-5.dtb.overlay.env                 | 
 +^ Edge2  |  5.10            |  /boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlays  | :::                         |  /boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env  | 
 +^ Edge-2L |  6.1             |  /boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlays | :::                         |  /boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlay.env | 
 +^ Edge1  |  4.4             |  /boot/dtb/rockchip/overlays/captain                   |  overlays                   |  /boot/env.txt                                            | 
 +| :::     | :::              |  /boot/dtb/rockchip/overlays/edgev                     | :::                         | :::                                                       |
  
 ===== Device configurations ===== ===== Device configurations =====
Line 23: Line 31:
  
 <WRAP important > <WRAP important >
-**BOARD** should be ''vim1'', ''vim2'', ''vim3'', ''vim3l'' or ''edge''.+**BOARD** should be ''kvim1'', ''kvim2'', ''kvim3'', ''kvim3l'' or ''edgev''.
 </WRAP> </WRAP>
  
Line 31: Line 39:
  
 ```shell ```shell
-khadas@Khadas:~$ ls -1  /boot/dtb/overlays/kvim3/+khadas@Khadas:~$ ls -1 /boot/dtb/overlays/kvim3/
 disable-ts050.dtbo disable-ts050.dtbo
 i2c3.dtbo i2c3.dtbo
Line 42: Line 50:
 ``` ```
  
-DT-overlays configuration file: ''/boot/env.txt''.+DT-overlays configuration file:
  
-```txt+```txt /boot/env.txt
 # Device Tree Overlays # Device Tree Overlays
 #   uart3           -- Enable UART3 (uart_C, GPIO Header PIN15 & PIN16) #   uart3           -- Enable UART3 (uart_C, GPIO Header PIN15 & PIN16)
Line 61: Line 69:
   * If you want to disable ''pwm_f'' you can remove ''pwm_f'' from ''overlays'' list variable   * If you want to disable ''pwm_f'' you can remove ''pwm_f'' from ''overlays'' list variable
   * If you want to enable ''onewire'', you can add ''onewire'' to ''overlays'' list variable   * If you want to enable ''onewire'', you can add ''onewire'' to ''overlays'' list variable
 +
 +<tabbox VIM3 with 5.15 kernel>
 +
 +DT-overlays ''dtbo'' directory: ''/boot/dtb/amlogic/kvim3.dtb.overlays''.
 +
 +```shell
 +khadas@Khadas:~$ ls -1 /boot/dtb/amlogic/kvim3.dtb.overlays/
 +uart3.dtbo
 +pwm_f.dtbo
 +i2c3.dtbo
 +spi1.dtbo
 +os08a10.dtbo
 +onewire.dtbo
 +disable-ts050.dtbo
 +m2x-eth.dtbo
 +otg-device.dtbo
 +```
 +
 +DT-overlays configuration file: ''/boot/dtb/amlogic/kvim3.dtb.overlay.env''.
 +
 +<tabbox VIM3L with 5.15 kernel>
 +
 +DT-overlays ''dtbo'' directory: ''/boot/dtb/amlogic/kvim3l.dtb.overlays''.
 +
 +```shell
 +khadas@Khadas:~$ ls -1 /boot/dtb/amlogic/kvim3.dtb.overlays/
 +uart3.dtbo
 +pwm_f.dtbo
 +i2c3.dtbo
 +spi1.dtbo
 +os08a10.dtbo
 +onewire.dtbo
 +disable-ts050.dtbo
 +m2x-eth.dtbo
 +otg-device.dtbo
 +```
 +
 +DT-overlays configuration file: ''/boot/dtb/amlogic/kvim3l.dtb.overlay.env''.
  
 <tabbox VIM4> <tabbox VIM4>
  
-DT-overlays ''dtbo'' directory: ''/boot/dtb/amlogic/kvim4.dtb.overlays''+DT-overlays ''dtbo'' directory: ''/boot/dtb/amlogic/kvim4.dtb.overlays''.
  
 ```shell ```shell
Line 76: Line 122:
  
 DT-overlays configuration file: ''/boot/dtb/amlogic/kvim4.dtb.overlay.env''. DT-overlays configuration file: ''/boot/dtb/amlogic/kvim4.dtb.overlay.env''.
 +
 +<tabbox VIM 5>
 +
 +DT-overlays ''dtbo'' directory: ''/boot/dtb/amlogic/kvim-5.dtb.overlays''
 +
 +```shell
 +khadas@Khadas:~$ ls -1 /boot/dtb/amlogic/kvim-5.dtb.overlays/
 +ext-board-codec.dtbo
 +i2c_d.dtbo
 +i2c_g.dtbo
 +i2s.dtbo
 +ir.dtbo
 +onewire.dtbo
 +pref-4k-drm.dtbo
 +pwm_j.dtbo
 +spdifin.dtbo
 +spdifout.dtbo
 +spi1.dtbo
 +spi1-lcd.dtbo
 +uart_ao_e.dtbo
 +```
 +DT-overlays configuration file is ''/boot/dtb/amlogic/kvim-5.dtb.overlay.env''.
  
 <tabbox VIM1S> <tabbox VIM1S>
Line 100: Line 168:
  
 DT-overlays configuration file: ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env'' DT-overlays configuration file: ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env''
 +
 +<tabbox Edge-2L>
 +
 +DT-overlays ''dtbo'' directory: ''/boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlays''
 +
 +```shell
 +khadas@Khadas:~$ ls /boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlays
 +edge-2l-io-pwm.dtbo
 +edge-2l-io-spi.dtbo
 +```
 +
 +DT-overlays configuration file: ''/boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlay.env''
  
 </tabbox> </tabbox>
Line 105: Line 185:
 ===== Configuration DT overlays ===== ===== Configuration DT overlays =====
  
-Need edit the DT overlays configuration file and add custom DT overlays ''dtbo'' files to special folder.+You need to edit the DT overlays configuration file and add custom DT overlays ''dtbo'' files to special folder.
  
 ===== Make custom DT overlays ===== ===== Make custom DT overlays =====
Line 113: Line 193:
 ==== Write DT overlay source==== ==== Write DT overlay source====
  
-Basic example:+Basic  DT overlay source example:
  
 ```dts example.dts  ```dts example.dts 
Line 138: Line 218:
 ==== Copy DT overlays to special folder ==== ==== Copy DT overlays to special folder ====
  
 +  * VIM3 with 5.15 kernel is ''/boot/dtb/amlogic/kvim3.dtb.overlays'' 
 +  * VIM3L with 5.15 kernel is ''/boot/dtb/amlogic/kvim3l.dtb.overlays'' 
   * VIM4 is ''/boot/dtb/amlogic/kvim4.dtb.overlays''    * VIM4 is ''/boot/dtb/amlogic/kvim4.dtb.overlays'' 
   * VIM1S is ''/boot/dtb/amlogic/kvim1s.dtb.overlays''   * VIM1S is ''/boot/dtb/amlogic/kvim1s.dtb.overlays''
   * Edge2 is ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlays''   * Edge2 is ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlays''
-  * VIM1/2/3/3L/Edge1 is ''/boot/dtb/overlays/**BOARD**'' +  * Edge-2L is ''/boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlays'' 
 +  * VIM1/2/3/3L/Edge1 is ''/boot/dtb/overlays/%%*%%*BOARD%%*%%*'' 
  
 <WRAP important > <WRAP important >
-**BOARD** should be ''vim1'', ''vim2'', ''vim3'', ''vim3l'' or ''edge''+**BOARD** should be ''kvim1'', ''kvim2'', ''kvim3'', ''kvim3l'' or ''edgev''.
 </WRAP> </WRAP>
  
Line 152: Line 235:
    
   * VIM1/2/3/3L/Edge1 is ''/boot/env.txt''   * VIM1/2/3/3L/Edge1 is ''/boot/env.txt''
 +  * VIM3 with 5.15 kernel is ''/boot/dtb/amlogic/kvim3.dtb.overlay.env''
 +  * VIM3L with 5.15 kernel is ''/boot/dtb/amlogic/kvim3l.dtb.overlay.env''
   * VIM4 is ''/boot/dtb/amlogic/kvim4.dtb.overlay.env''   * VIM4 is ''/boot/dtb/amlogic/kvim4.dtb.overlay.env''
 +  * VIM-5 is ''/boot/dtb/amlogic/kvim-5.dtb.overlay.env''
   * VIM1S is ''/boot/dtb/amlogic/kvim4.dtb.overlay.env''   * VIM1S is ''/boot/dtb/amlogic/kvim4.dtb.overlay.env''
   * Edge2 is ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env''   * Edge2 is ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env''
 +  * Edge-2L is ''/boot/dtb/rockchip/rk3576-khadas-edge-2l.dtb.overlay.env''
  
 ==== Reboot ==== ==== Reboot ====
  
 Need reboot board to take effect. Need reboot board to take effect.
Last modified: 2022/09/22 02:46 by hyphop