Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:vim4: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:vim4:configurations:device-tree-overlay [2022/07/06 02:46]
nick
products:sbc:vim4:configurations:device-tree-overlay [2022/09/28 08:45] (current)
nick
Line 1: Line 1:
-====== Device Tree Overlay ======+{{indexmenu_n>5}}
  
-===== Introduction ===== 
  
-You can use Device Tree Overlay feature to enable/disable some hardware functions without to recompile the kernel source code.+====== VIM4 Device Tree Overlay ======
  
-===== Install Device Tree Overlay Debian Package ===== 
  
- +{{page>products:sbc:common:configurations:device-tree-overlay&noheader}}
-You can find the device tree overlays configuration in `/boot/env.txt` for **VIM3**. +
- +
-```bash +
-# Device Tree Overlays +
-#   uart3           -- Enable UART3 (uart_C, GPIO Header PIN15 & PIN16) +
-#   pwm_f           -- Enable PWM_F (GPIO Header PIN35) +
-#   i2c3            -- Enable i2c3 (GPIO Header PIN22 & PIN23) +
-#   spi1            -- Enable SPI1 (GPIO Header PIN15 & PIN16 & PIN35 & PIN37), pwm_f need to be removed +
-#   os08a10         -- Enable OS08A10 Camera +
-#   onewire         -- Enable onewire bus (PIO Header PIN15) +
-#   disable-ts050   -- Disable TS050 LCD +
-#   m2x-eth         -- Enable M2X 100M ethernet. Note: 1G ethernet will be disabled. +
-#   otg-device      -- Enable USB OTG Device +
-overlays=uart3 pwm_f i2c3 os08a10 +
-``` +
- +
-`uart3 pwm_f i2c3 os08a10` are enabled by default. +
- +
-* If you want to disable `pwm_f` you can remove `pwm_f` in `overlays` node. +
- +
-* If you want to enable `onewire`, you can add `onewire` to `overlays` node. +
- +
-{% note info Note %} +
- +
-You need to save the file `/boot/env.txt` and reboot the board to take effect. +
- +
-{% endnote %} +
- +
-## Make Your Own DTBO Files +
- +
-There are some ready to use dtbo files, you can also add your own dtbos to enable or disable the peripherals. +
- +
-The default dtbo files are stored in directory`/boot/dtb/overlays/#BOARD#+
- +
-```bash +
-khadas@Khadas:~$ ll /boot/dtb/overlays/kvim3 +
-total 40 +
-drwxr-xr-x 2 root root 4096 Jan 29 11:13 ./ +
-drwxr-xr-x 6 root root 4096 Jan 29 11:13 ../ +
--rw-r--r-- 1 root root  352 Jan 29 09:35 disable-ts050.dtbo +
--rw-r--r-- 1 root root  223 Jan 29 09:35 i2c3.dtbo +
--rw-r--r-- 1 root root  277 Jan 29 09:35 m2x-eth.dtbo +
--rw-r--r-- 1 root root  472 Jan 29 09:35 onewire.dtbo +
--rw-r--r-- 1 root root 1072 Jan 29 09:35 os08a10.dtbo +
--rw-r--r-- 1 root root  345 Jan 29 09:35 pwm_f.dtbo +
--rw-r--r-- 1 root root  447 Jan 29 09:35 spi1.dtbo +
--rw-r--r-- 1 root root  225 Jan 29 09:35 uart3.dtbo +
-``` +
- +
-* Write your own device tree overlay file, for example `example.dts`: +
- +
-``` +
-/dts-v1/; +
-/plugin/; +
- +
-/ { +
-    fragment@0 { +
-        target = <&i2c3>; +
- +
-        __overlay__ { +
-            status = "okay"; +
-        }+
-    }+
-}; +
-``` +
- +
-This device tree overlay is to enable `i2c3`. +
- +
-* Compile it to dtbo +
- +
-``` +
-khadas@Khadas:~$ dtc -I dts -O dtb -o example.dtbo example.dts +
-khadas@Khadas:~$ ls example.dtbo +
-example.dtbo +
-``` +
- +
-* Move the dtbo file to `/boot/dtb/overlays/kvim3` +
- +
-* Edit `/boot/env.txt` to add in node `overlays` +
- +
-* Reboot the board+
Last modified: 2022/07/06 02:46 by nick