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"

(Platform and Chips)
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{Languages|Device-tree-overlays}}
  
== Introduction of ROCK Pi 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
  
This document describes ROCK Pi device tree overlays provided in kernel packages.
+
= Introduction of Radxa Boards Device Tree Overlays =
  
=== Platform and Chips ===
+
This document describes Radxa Boards device tree overlays provided in kernel packages.
  
rockchip (Rockchip)
+
== Platform and Chips ==
* rk3399pro
+
* rk3328
+
  
=== usage ===
+
* 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/
 
Kernel provided DT overlay files are in /boot/dtbs/$(uname -r)/rockchip/overlay/
Line 28: Line 36:
 
Add optional parameters with their values to /boot/uEnv.txt if you want to change the default value, one per line.
 
Add optional parameters with their values to /boot/uEnv.txt if you want to change the default value, one per line.
  
=== RK3399PRO Available Overlay  ===
+
==== 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) ===
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
 +
 
 +
* 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
 +
 
 +
</div>
 +
 
 +
=== RK3399PRO Available Overlay  (ROCK Pi N10) ===
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
  
 
* rk3399pro-i2c2, rk3399pro-i2c6, rk3399pro-i2c7
 
* rk3399pro-i2c2, rk3399pro-i2c6, rk3399pro-i2c7
Line 60: Line 358:
 
===== '''rk3399pro-spi-spidev''' =====
 
===== '''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
+
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
 
SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_B0, GPIO1_A7, GPIO1_B1, GPIO1_B2
Line 148: Line 446:
  
 
Activates PCIe Gen2 Mode
 
Activates PCIe Gen2 Mode
 +
 +
</div>
 +
 +
=== RK3328 Available Overlay (ROCK Pi E) ===
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
 +
 +
* 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
 +
 +
</div>
 +
 +
=== RK3308 Available Overlay (ROCK Pi S) ===
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="overflow:auto;">
 +
 +
* 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:.<br />
 +
1.I2C0, UART1 and SPI2 cannot be enabled at the same time.<br />
 +
2.I2C2 and SPI0 cannot be enabled at the same time..<br />
 +
3.I2C3 and PWM2 cannot be enabled at the same time..<br />
 +
4.I2C3 and PWM3 cannot be enabled at the same time..<br />
 +
5.SPI0 and UART0 cannot be enabled at the same time..<br />
 +
6.SPI2 and UART2 cannot be enabled at the same time..<br />
 +
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:<br />
 +
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:<br />
 +
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:<br />
 +
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
 +
 +
</div>
 +
 +
== 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