Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Difference between revisions of "Device-tree-overlays"

 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Languages|rockpiN10}}
+
{{Languages|Device-tree-overlays}}
 +
 
 +
    Note: This wiki page is absolute in 2024, please refer the Radxa Docs for how to use device tree overlays on the latest Radxa OS: https://docs.radxa.com/en/radxa-os/rsetup/devicetree
  
 
= Introduction of Radxa Boards Device Tree Overlays =
 
= Introduction of Radxa Boards Device Tree Overlays =
Line 59: Line 61:
 
   extraargs=mem=512MB max_loop=8
 
   extraargs=mem=512MB max_loop=8
  
=== RK3566/RK3568 Available Overlay  (ROCK 3 A, ROCK 3 B, ROCK CM3) ===
+
=== RK3566/RK3568 Available Overlay  (ROCK 3A, ROCK 3B, Radxa CM3) ===
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
Line 70: Line 72:
 
* rk3568-w1-gpio
 
* rk3568-w1-gpio
  
===== rk3568-can1-m0 =====
+
===== '''rk3568-can1-m0''' =====
  
 
Activates CAN bus 1 M0
 
Activates CAN bus 1 M0
Line 80: Line 82:
 
  overlays=rk3568-can1-m0
 
  overlays=rk3568-can1-m0
  
===== rk3568-can1-m1 =====
+
===== '''rk3568-can1-m1''' =====
  
 
Activates CAN bus 1 M1
 
Activates CAN bus 1 M1
Line 90: Line 92:
 
  overlays=rk3568-can1-m1
 
  overlays=rk3568-can1-m1
  
===== rk3568-i2c2-m0 =====
+
===== '''rk3568-i2c2-m0''' =====
  
 
Activates I2C bus 2 M0
 
Activates I2C bus 2 M0
Line 100: Line 102:
 
  overlays=rk3568-i2c2-m0
 
  overlays=rk3568-i2c2-m0
  
===== rk3568-i2c3-m0 =====
+
===== '''rk3568-i2c3-m0''' =====
  
 
Activates I2C bus 3 M0
 
Activates I2C bus 3 M0
Line 110: Line 112:
 
  overlays=rk3568-i2c3-m0
 
  overlays=rk3568-i2c3-m0
  
===== rk3568-pwm1-m0 =====
+
===== '''rk3568-pwm1-m0''' =====
  
 
Activates PWM1_M0
 
Activates PWM1_M0
Line 118: Line 120:
 
  overlays=rk3568-pwm1-m0
 
  overlays=rk3568-pwm1-m0
  
===== rk3568-pwm1-m1 =====
+
===== '''rk3568-pwm1-m1''' =====
  
 
Activates PWM1_M1
 
Activates PWM1_M1
Line 126: Line 128:
 
  overlays=rk3568-pwm1-m1
 
  overlays=rk3568-pwm1-m1
  
===== rk3568-pwm2-m0 =====
+
===== '''rk3568-pwm2-m0''' =====
  
 
Activates PWM2_M0
 
Activates PWM2_M0
Line 134: Line 136:
 
  overlays=rk3568-pwm2-m0
 
  overlays=rk3568-pwm2-m0
  
===== rk3568-pwm2-m1 =====
+
===== '''rk3568-pwm2-m1''' =====
  
 
Activates PWM2_M1
 
Activates PWM2_M1
Line 142: Line 144:
 
  overlays=rk3568-pwm2-m1
 
  overlays=rk3568-pwm2-m1
  
===== rk3568-pwm8-m0-fan =====
+
===== '''rk3568-pwm8-m0-fan''' =====
  
 
Activates PWM8_M0
 
Activates PWM8_M0
Line 150: Line 152:
 
  overlays=rk3568-pwm8-m0-fan
 
  overlays=rk3568-pwm8-m0-fan
  
===== rk3568-pwm9-m0 =====
+
===== '''rk3568-pwm9-m0''' =====
  
 
Activates PWM9_M0
 
Activates PWM9_M0
Line 158: Line 160:
 
  overlays=rk3568-pwm9-m0
 
  overlays=rk3568-pwm9-m0
  
===== rk3568-pwm12-m0 =====
+
===== '''rk3568-pwm12-m0''' =====
  
 
Activates PWM12_M0
 
Activates PWM12_M0
Line 166: Line 168:
 
  overlays=rk3568-pwm12-m0
 
  overlays=rk3568-pwm12-m0
  
===== rk3568-pwm12-m1 =====
+
===== '''rk3568-pwm12-m1''' =====
  
 
Activates PWM12_M1
 
Activates PWM12_M1
Line 174: Line 176:
 
  overlays=rk3568-pwm12-m1
 
  overlays=rk3568-pwm12-m1
  
===== rk3568-pwm13-m0 =====
+
===== '''rk3568-pwm13-m0''' =====
  
 
Activates PWM13_M0
 
Activates PWM13_M0
Line 182: Line 184:
 
  overlays=rk3568-pwm13-m0
 
  overlays=rk3568-pwm13-m0
  
===== rk3568-pwm13-m1 =====
+
===== '''rk3568-pwm13-m1''' =====
  
 
Activates PWM13_M1
 
Activates PWM13_M1
Line 190: Line 192:
 
  overlays=rk3568-pwm13-m1
 
  overlays=rk3568-pwm13-m1
  
===== rk3568-pwm14-m0 =====
+
===== '''rk3568-pwm14-m0''' =====
  
 
Activates PWM14_M0
 
Activates PWM14_M0
Line 198: Line 200:
 
  overlays=rk3568-pwm14-m0
 
  overlays=rk3568-pwm14-m0
  
===== rk3568-pwm14-m1 =====
+
===== '''rk3568-pwm14-m1''' =====
  
 
Activates PWM14_M1
 
Activates PWM14_M1
Line 206: Line 208:
 
  overlays=rk3568-pwm14-m1
 
  overlays=rk3568-pwm14-m1
  
===== k3568-pwm15-m0 =====
+
===== '''rk3568-pwm15-m0''' =====
  
 
Activates PWM15_M0
 
Activates PWM15_M0
Line 214: Line 216:
 
  overlays=k3568-pwm15-m0
 
  overlays=k3568-pwm15-m0
  
===== rk3568-pwm15-m1 =====
+
===== '''rk3568-pwm15-m1''' =====
  
 
Activates PWM15_M1
 
Activates PWM15_M1
Line 222: Line 224:
 
  overlays=rk3568-pwm15-m1
 
  overlays=rk3568-pwm15-m1
  
===== rk3568-spi3-m1-cs0-spidev =====
+
===== '''rk3568-spi3-m1-cs0-spidev''' =====
  
 
Activates SPI3 M0 (/dev/spidev3.0)
 
Activates SPI3 M0 (/dev/spidev3.0)
Line 232: Line 234:
 
  overlays=rk3568-spi3-m1-cs0-spidev
 
  overlays=rk3568-spi3-m1-cs0-spidev
  
===== rk3568-uart0 =====
+
===== '''rk3568-uart0''' =====
  
 
Activates serial port 0 (/dev/ttyS0)
 
Activates serial port 0 (/dev/ttyS0)
Line 242: Line 244:
 
  overlays=rk3568-uart0
 
  overlays=rk3568-uart0
  
===== rk3568-uart3-m0 =====
+
===== '''rk3568-uart3-m0''' =====
  
 
Activates serial port 3 on M0 (/dev/ttyS3)
 
Activates serial port 3 on M0 (/dev/ttyS3)
Line 252: Line 254:
 
  overlays=rk3568-uart3-m0
 
  overlays=rk3568-uart3-m0
  
===== rk3568-uart3-m1 =====
+
===== '''rk3568-uart3-m1''' =====
  
 
Activates serial port 3 on M1 (/dev/ttyS3)
 
Activates serial port 3 on M1 (/dev/ttyS3)
Line 262: Line 264:
 
  overlays=rk3568-uart3-m1
 
  overlays=rk3568-uart3-m1
  
===== rk3568-uart5-m1 =====
+
===== '''rk3568-uart5-m1''' =====
  
 
Activates serial port 5 on M1 (/dev/ttyS5)
 
Activates serial port 5 on M1 (/dev/ttyS5)
Line 272: Line 274:
 
  overlays=rk3568-uart5-m1
 
  overlays=rk3568-uart5-m1
  
===== rk3568-uart7-m1 =====
+
===== '''rk3568-uart7-m1''' =====
  
 
Activates serial port 7 on M1 (/dev/ttyS7)
 
Activates serial port 7 on M1 (/dev/ttyS7)
Line 282: Line 284:
 
  overlays=rk3568-uart7-m1
 
  overlays=rk3568-uart7-m1
  
===== rk3568-uart8-m1 =====
+
===== '''rk3568-uart8-m1''' =====
  
 
Activates serial port 8 on M1 (/dev/ttyS8)
 
Activates serial port 8 on M1 (/dev/ttyS8)
Line 292: Line 294:
 
  overlays=rk3568-uart8-m1
 
  overlays=rk3568-uart8-m1
  
===== rk3568-uart9-m1 =====
+
===== '''rk3568-uart9-m1''' =====
  
 
Activates serial port 9 on M1 (/dev/ttyS9)
 
Activates serial port 9 on M1 (/dev/ttyS9)
Line 302: Line 304:
 
  overlays=rk3568-uart9-m1
 
  overlays=rk3568-uart9-m1
  
===== rk3568-w1-gpio =====
+
===== '''rk3568-w1-gpio''' =====
  
 
Activates 1-Wire GPIO master
 
Activates 1-Wire GPIO master
Line 308: Line 310:
 
Requires an external pull-up resistor on the data pin
 
Requires an external pull-up resistor on the data pin
  
Parameters:
+
* Parameters:
 
+
** param_w1_pin (pin)
param_w1_pin (pin)
+
*** Data pin for 1-Wire master
Data pin for 1-Wire master
+
*** Optional
Optional
+
*** Default: GPIO3_A5
Default: GPIO3_A5
+
  
 
Usage: Add the item "rk3568-w1-gpio" to "overlays=" line in /boot/uEnv.txt.
 
Usage: Add the item "rk3568-w1-gpio" to "overlays=" line in /boot/uEnv.txt.
Line 711: Line 712:
  
 
== Part Two: Meson ==
 
== Part Two: Meson ==
 +
 +
Kernel provided DT overlay files are in /boot/dtbs/$(uname -r)/amlogic/overlay/
 +
 +
/boot/uEnv.txt contents:
 +
 +
overlays=meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3 meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7 meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15 meson-g12a-spi-spidev
 +
param_spidev_spi_bus=0
 +
param_spidev_max_freq=10000000
 +
 +
Add names of overlays you want to activate to overlays= line in /boot/uEnv.txt, separated with spaces.
 +
 +
Add required parameters with their values to /boot/uEnv.txt, one per line.
 +
 +
Add optional parameters with their values to /boot/uEnv.txt if you want to change the default value, one per line.
 +
 +
==== U-Boot Environment Variable ====
 +
 +
* verbosity
 +
 +
Kernel log level: 1~7
 +
 +
  verbosity=7
 +
 +
* rootfstype
 +
 +
root filesystem type: ext4
 +
 +
  rootfstype=ext4
 +
 +
* fdtfile
 +
 +
Kernel device tree name with the prefix, '''amlogic/'''
 +
 +
  fdtfile=amlogic/meson-g12a-radxa-zero.dtb
 +
 +
* extraargs
 +
** Driver module parameters
 +
 +
  extraargs=mem=512MB max_loop=8
 +
 +
=== Meson G12A Available Overlay  (Radxa Zero) ===
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
 +
 +
* meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3 meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7 meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11 meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15
 +
* meson-g12a-pwmao-a-on-gpioao-11 meson-g12a-pwm-c-on-gpiox-8
 +
* meson-g12a-spi-spidev
 +
* meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1 meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3 meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9 meson-g12a-uart-ee-c
 +
 +
===== '''meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7''' =====
 +
 +
Activates I2C EE M1
 +
 +
Device name: /dev/i2c-1
 +
 +
Pins (SCL, SDA): GPIOH_7, GPIOH_6
 +
 +
Usage: add item "meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7
 +
 +
===== '''meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11''' =====
 +
 +
Activates I2C EE M1
 +
 +
Device name: /dev/i2c-1
 +
 +
Pins (SCL, SDA): GPIOX_11, GPIOX_10
 +
 +
Usage: add item "meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11
 +
 +
===== '''meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15''' =====
 +
 +
Activates I2C EE M3
 +
 +
Device name: /dev/i2c-3
 +
 +
Pins (SCL, SDA): GPIOA_15, GPIOA_14
 +
 +
Usage: add item "meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15
 +
 +
===== '''meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3''' =====
 +
 +
Activates I2C AO M0
 +
 +
Device name: /dev/i2c-4
 +
 +
Pins (SCL, SDA): GPIOAO_2, GPIOAO_3
 +
 +
Usage: add item "meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3
 +
 +
===== '''meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1''' =====
 +
 +
Activates UART AO A (/dev/ttyAML0)
 +
 +
pins (RX, TX): GPIOAO_1, GPIOAO_0
 +
 +
Usage: add item "meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1
 +
 +
This dtbo meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1 enables us to use /dev/ttyAML0 as serial console or common serial communication.
 +
 +
For usage of serial console, add the following "console=" line and add item "meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1"  to "overlays=" to line in /boot/uEnv.txt
 +
 +
console=ttyAML0,115200
 +
overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1
 +
 +
For usage of common serial communication, only add the item "meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1
 +
 +
===== '''meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3''' =====
 +
 +
Activates UART AO B (/dev/ttyAML1)
 +
 +
pins (RX, TX): GPIOAO_3, GPIOAO_2
 +
 +
Usage: add item "meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3
 +
 +
===== '''meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9''' =====
 +
 +
Activates UART AO B (/dev/ttyAML1)
 +
 +
pins (RX, TX): GPIOAO_9, GPIOAO_8
 +
 +
Usage: add item "meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9
 +
 +
===== '''meson-g12a-uart-ee-c''' =====
 +
 +
Activates UART EE C (/dev/ttyAML4)
 +
 +
pins (RX, TX, RTS, CTS): GPIOH_6, GPIOH_7, GPIOH_4, GPIOH_5
 +
 +
Usage: add item "meson-g12a-uart-ee-c" to "overlays=" line in /boot/uEnv.txt
 +
 +
overlays=meson-g12a-uart-ee-c
 +
 +
===== '''meson-g12a-pwm-c-on-gpiox-8''' =====
 +
 +
Activates PWM_C
 +
 +
Pins: GPIOX_8
 +
 +
===== '''meson-g12a-pwmao-a-on-gpioao-11''' =====
 +
 +
Activates PWMAO_A
 +
 +
Pins: GPIOAO_11
 +
 +
===== '''meson-g12a-spi-spidev''' =====
 +
 +
Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access,
 +
where X is the bus number and Y is the CS number
 +
 +
* SPI A bus
 +
**pins (SS0, SCLK, MOSI, MISO): GPIOX_10, GPIOX_11, GPIOX_8, GPIOX_9
 +
**device: /dev/spidev0.0
 +
* SPI B bus
 +
** pins (SS0, SCLK, MOSI, MISO): GPIOH_6, GPIOH_7, GPIOH_4, GPIOH_5
 +
** device: /dev/spidev1.0
 +
* Parameters:
 +
** param_spidev_spi_bus (int)
 +
*** SPI bus to activate SPIdev support on
 +
*** Required
 +
*** Supported values: 0, 1
 +
** param_spidev_spi_cs (int)
 +
*** SPI chip select number
 +
*** Optional
 +
*** Default: 0
 +
*** Supported values: 0
 +
** param_spidev_max_freq (int)
 +
*** Maximum SPIdev frequency
 +
*** Optional
 +
*** Default: 10000000
 +
*** Range: 3000 - 100000000
 +
 +
</div>

Latest revision as of 12:32, 8 January 2024

   Note: This wiki page is absolute in 2024, please refer the Radxa Docs for how to use device tree overlays on the latest Radxa OS: https://docs.radxa.com/en/radxa-os/rsetup/devicetree

Contents

Introduction of Radxa Boards Device Tree Overlays

This document describes Radxa Boards device tree overlays provided in kernel packages.

Platform and Chips

  • Rockchip (Rockchip)
    • RK3568
    • RK3566
    • RK3399PRO
    • RK3328
    • RK3308
  • Meson (Amlogic)
    • Meson G12A: S905Y2

Part One: Rockchip

Kernel provided DT overlay files are in /boot/dtbs/$(uname -r)/rockchip/overlay/

/boot/uEnv.txt contents:

 overlays=rk3399pro-i2c2 rk3399pro-console-on-uart2 rk3399pro-pwm0 rk3399pro-w1-gpio rk3399pro-spi-spidev
 param_spidev_spi_bus=1
 param_spidev_max_freq=10000000
 param_w1_pin=GPIO2_A2

Add names of overlays you want to activate to overlays= line in /boot/uEnv.txt, separated with spaces.

Add required parameters with their values to /boot/uEnv.txt, one per line.

Add optional parameters with their values to /boot/uEnv.txt if you want to change the default value, one per line.

U-Boot Environment Variable

  • verbosity

Kernel log level: 1~7

 verbosity=7
  • rootfstype

root filesystem type: ext4

 rootfstype=ext4
  • fdtfile

Kernel device tree name with the prefix, rockchip/

 fdtfile=rockchip/rk3399pro-rockpi-n10-linux.dtb
  • extraargs
    • Driver module parameters
 extraargs=mem=512MB max_loop=8

RK3566/RK3568 Available Overlay (ROCK 3A, ROCK 3B, Radxa CM3)

  • rk3568-can1-m0 rk3568-can1-m1
  • rk3568-i2c2-m0 rk3568-i2c3-m0
  • rk3568-pwm1-m0 rk3568-pwm1-m1 rk3568-pwm2-m0 rk3568-pwm2-m1 rk3568-pwm8-m0-fan rk3568-pwm9-m0 rk3568-pwm12-m0 rk3568-pwm12-m1 rk3568-pwm13-m0 rk3568-pwm13-m1 rk3568-pwm14-m0 rk3568-pwm14-m1 k3568-pwm15-m0 rk3568-pwm15-m1
  • rk3568-spi3-m1-cs0-spidev
  • rk3568-uart0 rk3568-uart3-m0 rk3568-uart3-m1 rk3568-uart5-m1 rk3568-uart7-m1 rk3568-uart8-m1 rk3568-uart9-m1
  • rk3568-w1-gpio
rk3568-can1-m0

Activates CAN bus 1 M0

CAN1 M0 pins: CAN1_RX_M0, CAN1_TX_M0

Usage: Add the item "rk3568-can1-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-can1-m0
rk3568-can1-m1

Activates CAN bus 1 M1

CAN1 M0 pins: CAN1_RX_M1, CAN1_TX_M1

Usage: Add the item "rk3568-can1-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-can1-m1
rk3568-i2c2-m0

Activates I2C bus 2 M0

I2C2 M0 pins: I2C2_SDA_M0, I2C2_SCL_M0

Usage: Add the item "rk3568-i2c2-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-i2c2-m0
rk3568-i2c3-m0

Activates I2C bus 3 M0

I2C3 M0 pins: I2C3_SDA_M0, I2C3_SCL_M0

Usage: Add the item "rk3568-i2c3-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-i2c3-m0
rk3568-pwm1-m0

Activates PWM1_M0

Usage: Add the item "rk3568-pwm1-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm1-m0
rk3568-pwm1-m1

Activates PWM1_M1

Usage: Add the item "rk3568-pwm1-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm1-m1
rk3568-pwm2-m0

Activates PWM2_M0

Usage: Add the item "rk3568-pwm2-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm2-m0
rk3568-pwm2-m1

Activates PWM2_M1

Usage: Add the item "rk3568-pwm2-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm2-m1
rk3568-pwm8-m0-fan

Activates PWM8_M0

Usage: Add the item "rk3568-pwm8-m0-fan" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm8-m0-fan
rk3568-pwm9-m0

Activates PWM9_M0

Usage: Add the item "rk3568-pwm9-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm9-m0
rk3568-pwm12-m0

Activates PWM12_M0

Usage: Add the item "rk3568-pwm12-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm12-m0
rk3568-pwm12-m1

Activates PWM12_M1

Usage: Add the item "rk3568-pwm12-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm12-m1
rk3568-pwm13-m0

Activates PWM13_M0

Usage: Add the item "rk3568-pwm13-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm13-m0
rk3568-pwm13-m1

Activates PWM13_M1

Usage: Add the item "rk3568-pwm13-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm13-m1
rk3568-pwm14-m0

Activates PWM14_M0

Usage: Add the item "rk3568-pwm14-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm14-m0
rk3568-pwm14-m1

Activates PWM14_M1

Usage: Add the item "rk3568-pwm14-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm14-m1
rk3568-pwm15-m0

Activates PWM15_M0

Usage: Add the item "k3568-pwm15-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=k3568-pwm15-m0
rk3568-pwm15-m1

Activates PWM15_M1

Usage: Add the item "rk3568-pwm15-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-pwm15-m1
rk3568-spi3-m1-cs0-spidev

Activates SPI3 M0 (/dev/spidev3.0)

SPI3 M1 pins: SPI3_CS0_M1, SPI3_CLK_M1, SPI3_MOSI_M1, SPI3_MISO_M1

Usage: Add the item "rk3568-spi3-m1-cs0-spidev" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-spi3-m1-cs0-spidev
rk3568-uart0

Activates serial port 0 (/dev/ttyS0)

UART0 pins: UART0_RX, UART0_TX

Usage: Add the item "rk3568-uart0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart0
rk3568-uart3-m0

Activates serial port 3 on M0 (/dev/ttyS3)

UART3 M0 pins: UART3_RX_M0, UART3_TX_M0

Usage: Add the item "rk3568-uart3-m0" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart3-m0
rk3568-uart3-m1

Activates serial port 3 on M1 (/dev/ttyS3)

UART3 M1 pins: UART3_RX_M1, UART3_TX_M1

Usage: Add the item "rk3568-uart3-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart3-m1
rk3568-uart5-m1

Activates serial port 5 on M1 (/dev/ttyS5)

UART5 M1 pins: UART5_RX_M1, UART5_TX_M1

Usage: Add the item "rk3568-uart5-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart5-m1
rk3568-uart7-m1

Activates serial port 7 on M1 (/dev/ttyS7)

UART7 M1 pins: UART7_RX_M1, UART7_TX_M1

Usage: Add the item "rk3568-uart7-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart7-m1
rk3568-uart8-m1

Activates serial port 8 on M1 (/dev/ttyS8)

UART8 M1 pins: UART8_RX_M1, UART8_TX_M1

Usage: Add the item "rk3568-uart8-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart8-m1
rk3568-uart9-m1

Activates serial port 9 on M1 (/dev/ttyS9)

UART9 M1 pins: UART9_RX_M1, UART9_TX_M1

Usage: Add the item "rk3568-uart9-m1" to "overlays=" line in /boot/uEnv.txt.

overlays=rk3568-uart9-m1
rk3568-w1-gpio

Activates 1-Wire GPIO master

Requires an external pull-up resistor on the data pin

  • Parameters:
    • param_w1_pin (pin)
      • Data pin for 1-Wire master
      • Optional
      • Default: GPIO3_A5

Usage: Add the item "rk3568-w1-gpio" to "overlays=" line in /boot/uEnv.txt. Also param_w1_pin is needed.

overlays=rk3568-w1-gpio
param_w1_pin=GPIO3_A5

RK3399PRO Available Overlay (ROCK Pi N10)

  • rk3399pro-i2c2, rk3399pro-i2c6, rk3399pro-i2c7
  • rk3399pro-spi-spidev
  • rk3399pro-pwm0, rk3399pro-pwm1
  • rk3399pro-uart2, rk3399pro-uart4
  • rk3399pro-console-on-uart2, rk3399pro-console-on-uart4
  • rk3399pro-w1-gpio
rk3399pro-i2c2

Activates I2C bus 2

I2C2 pins (SCL, SDA): GPIO2_A1, GPIO2_A0

Usage: add one line in /boot/uEnv.txt overlays=rk3399pro-i2c2

rk3399pro-i2c6

Activates I2C bus 6

I2C7 pins (SCL, SDA): GPIO2_B2, GPIO2_A1

rk3399pro-i2c7

Activates I2C bus 7

I2C7 pins (SCL, SDA): GPIO2_B0, GPIO2_A7

rk3399pro-spi-spidev

Activates spidev device node (/dev/spidevX.Y) for userspace SPI access, where X is the bus number and Y is the CS number

SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_B0, GPIO1_A7, GPIO1_B1, GPIO1_B2

Parameters:

  • param_spidev_spi_bus (int)
    • SPI bus to activate SPIdev support on
    • Required
    • Supported values: 0, 1
  • param_spidev_spi_cs (int)
    • SPI chip select number
    • Optional
    • Default: 0
    • Supported values: 0, 1
    • Using chip select 1 requires using "spi-add-cs1" overlay
  • param_spidev_max_freq (int)
    • Maximum SPIdev frequency
    • Optional
    • Default: 10000000
    • Range: 3000 - 100000000
rk3399pro-pwm0

Activates PWM0

rk3399pro-pwm1

Activates PWM1

rk3399pro-uart2

Activates serial port 2 (/dev/ttyS2)

UART2 pins (RXD, TXD): GPIO4_C3, GPIO4_C4

Notice: rk3399pro-uart2 and rk3399pro-console-on-uart2 cannnot be added together in /boot/uEnv.txt.

rk3399pro-uart4

Activates serial port 4 (/dev/ttyS4)

UART4 pins (RXD, TXD): GPIO1_A7, GPIO1_B0

Notice: UART4 cannot be activated together with SPI1 since they share the same pins. Also, rk3399pro-uart4 and rk3399pro-console-on-uart4 cannnot be added together in /boot/uEnv.txt.

rk3399pro-console-on-uart2

Activates debug console on UART2

console pins (RXD, TXD): GPIO4_C3, GPIO4_C4

Notice: rk3399pro-console-on-uart2 and rk3399pro-uart2 cannnot be added together in /boot/uEnv.txt.

rk3399pro-console-on-uart4

Activates debug console on UART4

console pins (RXD, TXD): GPIO1_A7, GPIO1_B0

Notice: rk3399pro-console-on-uart4 and rk3399pro-uart4 cannnot be added together in /boot/uEnv.txt.

rk3399pro-w1-gpio

Activates 1-Wire GPIO master

Requires an external pull-up resistor on the data pin

Parameters:

  • param_w1_pin (pin)
    • Data pin for 1-Wire master
    • Optional
    • Default: GPIO2_A2
rk3399pro-raspberrypi-7-inch-lcd

Activates Raspberry Pi 7-inch LCD

Notice: In term of hardware, use a 15-pin FPC cable to connect RPI LCD to ROCK Pi N10.

For power supply, both 5V pin and GND pin on 5-pin connector on RPI LCD are connected to the 40-pin connector on ROCK Pi N10.

rk3399pro-pcie-gen2

Activates PCIe Gen2 Mode

RK3328 Available Overlay (ROCK Pi E)

  • rk3328-i2c1
  • rk3328-spi-spidev
  • rk3328-uart1, rk3328-uart2
  • rk3328-console-on-uart1, rk3328-console-on-uart2
  • rk3328-w1-gpio
rk3328-i2c1

Activates I2C bus 2

I2C2 pins (SCL, SDA): GPIO2_A1, GPIO2_A0

Usage: add one line in /boot/uEnv.txt

overlays=rk3328-i2c1

rk3328-spi-spidev

Activates spidev device node (/dev/spidevX.Y) for userspace SPI access, where X is the bus number and Y is the CS number

SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A1, GPIO3_A2, GPIO3_A0, GPIO3_B0

Parameters:

  • param_spidev_spi_bus (int)
    • SPI bus to activate SPIdev support on
    • Required
    • Supported values: 0
  • param_spidev_spi_cs (int)
    • SPI chip select number
    • Optional
    • Default: 0
    • Supported values: 0
  • param_spidev_max_freq (int)
    • Maximum SPIdev frequency
    • Optional
    • Default: 10000000
    • Range: 3000 - 100000000
rk3328-uart1

Activates serial port 1 (/dev/ttyS1)

UART1 pins (RXD, TXD): GPIO3_A6, GPIO3_A4

Notice: rk3328-uart1 and rk3328-console-on-uart1 cannnot be added together in /boot/uEnv.txt.

rk3328-uart2

Activates serial port 2 (/dev/ttyS2)

UART2 pins (RXD, TXD): GPIO2_A1, GPIO2_A0

Notice: rk3328-uart2 and rk3328-console-on-uart2 cannnot be added together in /boot/uEnv.txt.

rk3328-console-on-uart

Activates debug console on UART1

console pins (RXD, TXD): GPIO3_A6, GPIO3_A4

Notice: rk3328-console-on-uart1 and rk3328-uart1 cannnot be added together in /boot/uEnv.txt.

rk3328-console-on-uart2

Activates debug console on UART2

console pins (RXD, TXD): GPIO2_A1, GPIO2_A0

Notice: rk3328-console-on-uart2 and rk3328-uart2 cannnot be added together in /boot/uEnv.txt.

rk3328-w1-gpio

Activates 1-Wire GPIO master

Requires an external pull-up resistor on the data pin

Parameters:

  • param_w1_pin (pin)
    • Data pin for 1-Wire master
    • Optional
    • Default: GPIO2_D2

RK3308 Available Overlay (ROCK Pi S)

  • i2c1-hym8563
  • rk3308-i2c0, rk3308-i2c1, rk3308-i2c2, rk3308-i2c3
  • rk3308-spi-spidev
  • rk3308-uart0, rk3308-uart1, rk3308-uart2
  • rk3308-pwm1, rk3308-pwm2, rk3308-pwm3
  • rk3308-console-on-uart0, rk3308-console-on-uart1, rk3308-console-on-uart2
  • rk3308-w1-gpio
  • rockpis-v11-spi2-waveshare35b-v2, rockpis-v11-spi2-waveshare35c, rockpis-v12-spi2-waveshare35b-v2, rockpis-v12-spi2-waveshare35c

Notes:.
1.I2C0, UART1 and SPI2 cannot be enabled at the same time.
2.I2C2 and SPI0 cannot be enabled at the same time..
3.I2C3 and PWM2 cannot be enabled at the same time..
4.I2C3 and PWM3 cannot be enabled at the same time..
5.SPI0 and UART0 cannot be enabled at the same time..
6.SPI2 and UART2 cannot be enabled at the same time..
7.Waveshare 3.5 inch LCD related pins on 40-PIN HEADER 1: PIN#11/18/19/21/22/23/24/26


i2c1-hym8563

Activates hym8563 RTC

Related pins: I2C1(SCL/SDA), nINT(GPIO0_C1)

rk3308-i2c0

Activates I2C bus 0

I2C0 pins (SCL, SDA): GPIO1_D1, GPIO1_D0

rk3308-i2c1

Activates I2C bus 1

I2C1 pins (SCL, SDA): GPIO0_B4, GPIO0_B3

rk3308-i2c2

Activates I2C bus 2

I2C2 pins (SCL, SDA): GPIO2_A3, GPIO2_A2

rk3308-i2c3

Activates I2C bus 3

I2C3 pins (SCL, SDA): GPIO0_C0, GPIO0_B7

rk3308-spi-spidev

Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access, where X is the bus number and Y is the CS number

SPI 0 pins (MOSI, MISO, SCK, CS): GPIO2_A1, GPIO2_A0, GPIO2_A2, GPIO2_A3 SPI 1 pins (MOSI, MISO, SCK, CS): GPIO3_B4, GPIO3_B2, GPIO3_B3, GPIO3_B5 SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C7, GPIO1_C6, GPIO1_D0, GPIO1_D1

Parameters:

  • param_spidev_spi_bus (int)
    • SPI bus to activate SPIdev support on
    • Required
    • Supported values: 0
  • param_spidev_spi_cs (int)
    • SPI chip select number
    • Optional
    • Default: 0
    • Supported values: 0
  • param_spidev_max_freq (int)
    • Maximum SPIdev frequency
    • Optional
    • Default: 10000000
    • Range: 3000 - 100000000
rk3308-uart0

Activates serial port 0 (/dev/ttyS0)

UART0 pins (RXD, TXD): GPIO2_A0, GPIO2_A1

rk3308-uart1

Activates serial port 1 (/dev/ttyS1)

UART1 pins (RXD, TXD): GPIO1_D0, GPIO1_D1

rk3308-uart2

Activates serial port 2 (/dev/ttyS2)

UART2 pins (RXD, TXD): GPIO1_C6, GPIO1_C7

rk3308-pwm1

Activates PWM1

rk3308-pwm2

Activates PWM2

rk3308-pwm3

Activates PWM3

rk3308-console-on-uart0

Activates debug console on UART0

console pins (RXD, TXD): GPIO2_A0, GPIO2_A1

Notes:
1.rk3308-console-on-uart0 and rk3308-uart0 cannnot be added together in /boot/uEnv.txt.

rk3308-console-on-uart1

Activates debug console on UART1

console pins (RXD, TXD): GPIO1_D0, GPIO1_D1

Notes:
1.rk3308-console-on-uart1 and rk3308-uart1 cannnot be added together in /boot/uEnv.txt.

rk3308-console-on-uart2

Activates debug console on UART2

console pins (RXD, TXD): GPIO1_C6, GPIO1_C7

Notes:
1.rk3308-console-on-uart2 and rk3308-uart2 cannnot be added together in /boot/uEnv.txt.

rk3308-w1-gpio

Activates 1-Wire GPIO master

Requires an external pull-up resistor on the data pin

Parameters:

  • param_w1_pin (pin)
    • Data pin for 1-Wire master
    • Optional
    • Default: GPIO0_C1
rockpis-v11-spi2-waveshare35b-v2

Activates waveshare 3.5inch lcd(B v2) on ROCK Pi S V1.1

rockpis-v11-spi2-waveshare35c

Activates waveshare 3.5inch lcd(C) on ROCK Pi S V1.1

rockpis-v12spi2-waveshare35b-v2

Activates waveshare 3.5inch lcd(B v2) on ROCK Pi S V1.2

rockpis-v12-spi2-waveshare35c

Activates waveshare 3.5inch lcd(C) on ROCK Pi S V1.2

Part Two: Meson

Kernel provided DT overlay files are in /boot/dtbs/$(uname -r)/amlogic/overlay/

/boot/uEnv.txt contents:

overlays=meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3 meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7 meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15 meson-g12a-spi-spidev
param_spidev_spi_bus=0
param_spidev_max_freq=10000000

Add names of overlays you want to activate to overlays= line in /boot/uEnv.txt, separated with spaces.

Add required parameters with their values to /boot/uEnv.txt, one per line.

Add optional parameters with their values to /boot/uEnv.txt if you want to change the default value, one per line.

U-Boot Environment Variable

  • verbosity

Kernel log level: 1~7

 verbosity=7
  • rootfstype

root filesystem type: ext4

 rootfstype=ext4
  • fdtfile

Kernel device tree name with the prefix, amlogic/

 fdtfile=amlogic/meson-g12a-radxa-zero.dtb
  • extraargs
    • Driver module parameters
 extraargs=mem=512MB max_loop=8

Meson G12A Available Overlay (Radxa Zero)

  • meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3 meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7 meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11 meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15
  • meson-g12a-pwmao-a-on-gpioao-11 meson-g12a-pwm-c-on-gpiox-8
  • meson-g12a-spi-spidev
  • meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1 meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3 meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9 meson-g12a-uart-ee-c
meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7

Activates I2C EE M1

Device name: /dev/i2c-1

Pins (SCL, SDA): GPIOH_7, GPIOH_6

Usage: add item "meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7
meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11

Activates I2C EE M1

Device name: /dev/i2c-1

Pins (SCL, SDA): GPIOX_11, GPIOX_10

Usage: add item "meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11
meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15

Activates I2C EE M3

Device name: /dev/i2c-3

Pins (SCL, SDA): GPIOA_15, GPIOA_14

Usage: add item "meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15
meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3

Activates I2C AO M0

Device name: /dev/i2c-4

Pins (SCL, SDA): GPIOAO_2, GPIOAO_3

Usage: add item "meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3
meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1

Activates UART AO A (/dev/ttyAML0)

pins (RX, TX): GPIOAO_1, GPIOAO_0

Usage: add item "meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1

This dtbo meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1 enables us to use /dev/ttyAML0 as serial console or common serial communication.

For usage of serial console, add the following "console=" line and add item "meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1" to "overlays=" to line in /boot/uEnv.txt

console=ttyAML0,115200
overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1

For usage of common serial communication, only add the item "meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1
meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3

Activates UART AO B (/dev/ttyAML1)

pins (RX, TX): GPIOAO_3, GPIOAO_2

Usage: add item "meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3
meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9

Activates UART AO B (/dev/ttyAML1)

pins (RX, TX): GPIOAO_9, GPIOAO_8

Usage: add item "meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9
meson-g12a-uart-ee-c

Activates UART EE C (/dev/ttyAML4)

pins (RX, TX, RTS, CTS): GPIOH_6, GPIOH_7, GPIOH_4, GPIOH_5

Usage: add item "meson-g12a-uart-ee-c" to "overlays=" line in /boot/uEnv.txt

overlays=meson-g12a-uart-ee-c
meson-g12a-pwm-c-on-gpiox-8

Activates PWM_C

Pins: GPIOX_8

meson-g12a-pwmao-a-on-gpioao-11

Activates PWMAO_A

Pins: GPIOAO_11

meson-g12a-spi-spidev

Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access, where X is the bus number and Y is the CS number

  • SPI A bus
    • pins (SS0, SCLK, MOSI, MISO): GPIOX_10, GPIOX_11, GPIOX_8, GPIOX_9
    • device: /dev/spidev0.0
  • SPI B bus
    • pins (SS0, SCLK, MOSI, MISO): GPIOH_6, GPIOH_7, GPIOH_4, GPIOH_5
    • device: /dev/spidev1.0
  • Parameters:
    • param_spidev_spi_bus (int)
      • SPI bus to activate SPIdev support on
      • Required
      • Supported values: 0, 1
    • param_spidev_spi_cs (int)
      • SPI chip select number
      • Optional
      • Default: 0
      • Supported values: 0
    • param_spidev_max_freq (int)
      • Maximum SPIdev frequency
      • Optional
      • Default: 10000000
      • Range: 3000 - 100000000