Difference between revisions of "Device-tree-overlays"
(→Platform and Chips) |
|||
(20 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{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 = | |
− | + | 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/ | 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 | + | 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
- 1 Introduction of Radxa Boards Device Tree Overlays
- 1.1 Platform and Chips
- 1.2 Part One: Rockchip
- 1.2.1 U-Boot Environment Variable
- 1.2.2 RK3566/RK3568 Available Overlay (ROCK 3A, ROCK 3B, Radxa CM3)
- 1.2.2.1 rk3568-can1-m0
- 1.2.2.2 rk3568-can1-m1
- 1.2.2.3 rk3568-i2c2-m0
- 1.2.2.4 rk3568-i2c3-m0
- 1.2.2.5 rk3568-pwm1-m0
- 1.2.2.6 rk3568-pwm1-m1
- 1.2.2.7 rk3568-pwm2-m0
- 1.2.2.8 rk3568-pwm2-m1
- 1.2.2.9 rk3568-pwm8-m0-fan
- 1.2.2.10 rk3568-pwm9-m0
- 1.2.2.11 rk3568-pwm12-m0
- 1.2.2.12 rk3568-pwm12-m1
- 1.2.2.13 rk3568-pwm13-m0
- 1.2.2.14 rk3568-pwm13-m1
- 1.2.2.15 rk3568-pwm14-m0
- 1.2.2.16 rk3568-pwm14-m1
- 1.2.2.17 rk3568-pwm15-m0
- 1.2.2.18 rk3568-pwm15-m1
- 1.2.2.19 rk3568-spi3-m1-cs0-spidev
- 1.2.2.20 rk3568-uart0
- 1.2.2.21 rk3568-uart3-m0
- 1.2.2.22 rk3568-uart3-m1
- 1.2.2.23 rk3568-uart5-m1
- 1.2.2.24 rk3568-uart7-m1
- 1.2.2.25 rk3568-uart8-m1
- 1.2.2.26 rk3568-uart9-m1
- 1.2.2.27 rk3568-w1-gpio
- 1.2.3 RK3399PRO Available Overlay (ROCK Pi N10)
- 1.2.3.1 rk3399pro-i2c2
- 1.2.3.2 rk3399pro-i2c6
- 1.2.3.3 rk3399pro-i2c7
- 1.2.3.4 rk3399pro-spi-spidev
- 1.2.3.5 rk3399pro-pwm0
- 1.2.3.6 rk3399pro-pwm1
- 1.2.3.7 rk3399pro-uart2
- 1.2.3.8 rk3399pro-uart4
- 1.2.3.9 rk3399pro-console-on-uart2
- 1.2.3.10 rk3399pro-console-on-uart4
- 1.2.3.11 rk3399pro-w1-gpio
- 1.2.3.12 rk3399pro-raspberrypi-7-inch-lcd
- 1.2.3.13 rk3399pro-pcie-gen2
- 1.2.4 RK3328 Available Overlay (ROCK Pi E)
- 1.2.5 RK3308 Available Overlay (ROCK Pi S)
- 1.2.5.1 i2c1-hym8563
- 1.2.5.2 rk3308-i2c0
- 1.2.5.3 rk3308-i2c1
- 1.2.5.4 rk3308-i2c2
- 1.2.5.5 rk3308-i2c3
- 1.2.5.6 rk3308-spi-spidev
- 1.2.5.7 rk3308-uart0
- 1.2.5.8 rk3308-uart1
- 1.2.5.9 rk3308-uart2
- 1.2.5.10 rk3308-pwm1
- 1.2.5.11 rk3308-pwm2
- 1.2.5.12 rk3308-pwm3
- 1.2.5.13 rk3308-console-on-uart0
- 1.2.5.14 rk3308-console-on-uart1
- 1.2.5.15 rk3308-console-on-uart2
- 1.2.5.16 rk3308-w1-gpio
- 1.2.5.17 rockpis-v11-spi2-waveshare35b-v2
- 1.2.5.18 rockpis-v11-spi2-waveshare35c
- 1.2.5.19 rockpis-v12spi2-waveshare35b-v2
- 1.2.5.20 rockpis-v12-spi2-waveshare35c
- 1.3 Part Two: Meson
- 1.3.1 U-Boot Environment Variable
- 1.3.2 Meson G12A Available Overlay (Radxa Zero)
- 1.3.2.1 meson-g12a-i2c-ee-m1-gpioh-6-gpioh-7
- 1.3.2.2 meson-g12a-i2c-ee-m1-gpiox-10-gpiox-11
- 1.3.2.3 meson-g12a-i2c-ee-m3-gpioa-14-gpioa-15
- 1.3.2.4 meson-g12a-i2c-ao-m0-gpioao-2-gpioao-3
- 1.3.2.5 meson-g12a-uart-ao-a-on-gpioao-0-gpioao-1
- 1.3.2.6 meson-g12a-uart-ao-b-on-gpioao-2-gpioao-3
- 1.3.2.7 meson-g12a-uart-ao-b-on-gpioao-8-gpioao-9
- 1.3.2.8 meson-g12a-uart-ee-c
- 1.3.2.9 meson-g12a-pwm-c-on-gpiox-8
- 1.3.2.10 meson-g12a-pwmao-a-on-gpioao-11
- 1.3.2.11 meson-g12a-spi-spidev
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
- param_w1_pin (pin)
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
Activates waveshare 3.5inch lcd(B v2) on ROCK Pi S V1.1
Activates waveshare 3.5inch lcd(C) on ROCK Pi S V1.1
Activates waveshare 3.5inch lcd(B v2) on ROCK Pi S V1.2
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
- param_spidev_spi_bus (int)