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

Difference between revisions of "Rockpi4/hardware/devtree overlays"

(Using Overlays)
(Loading hardware module)
Line 124: Line 124:
  
 
   Name: at24c02
 
   Name: at24c02
   Info: Overlay for activation of Atmel AT24C02 over I2C
+
   Info:   Overlay for activation of Atmel AT24C02 over I2C
 
   Load: intfc:dtoverlay=at24c02
 
   Load: intfc:dtoverlay=at24c02
 
+
 
   Name: two-color-led
 
   Name: two-color-led
   Info: Overlay for activation of two color led module.
+
   Info:   Overlay for activation of two color led module.
 
   Load: intfc:dtoverlay=two-color-led
 
   Load: intfc:dtoverlay=two-color-led
 +
 +
  Name: console-on-ttyS2
 +
  Info: By default, fiq debugger console is disabled.
 +
  When this dtbo file is loaded, Rock Pi enables fiq debugger console.
 +
  ttyS2 Pins will output console information.
 +
  At the same time, it is recommended that you set UART2 to off in
 +
  file /boot/hw_intfc.conf and do not load console-on-ttyS4.dtbo file.
 +
  Load: intfc:dtoverlay=console-on-ttyS2
 +
 +
  Name: console-on-ttyS4
 +
  Info: By default, fiq debugger console is disabled.
 +
  When this dtbo file is loaded, Rock Pi enables fiq debugger console.
 +
  ttyS4 Pins will output console information.
 +
  At the same time, it is recommended that you set UART4 to off in
 +
  file /boot/hw_intfc.conf and do not load console-on-ttyS2.dtbo file.
 +
  Load: intfc:dtoverlay=console-on-ttyS4
 +
 +
  Name: devspi1
 +
  Info: By default, spi1 is disabled.
 +
  when use spi1, uart4 must be disabled.
 +
  Load: intfc:dtoverlay=devspi1
 
    
 
    
   Name: console-disabled
+
   Name: devspi2
   Info: Overlay for disabling fiq debugger console.
+
   Info: By default, spi2 is disabled.
  When this dtbo file is not loaded, Rock Pi enables fiq debugger console
+
   When use spi2. i2c6 must be disabled.
  by default. And UART2DBG Pins will output console information.
+
   Load: intfc:dtoverlay=devspi2
   When this dtbo is loaded, Rock Pi disables fiq debugger console and
+
  UART2DBG pins do not output console information. What's more,
+
  UART2DBG pins can be used for serial communication if UART2 is enabled.
+
  Load: intfc:dtoverlay=console-disabled
+
 
+
  Name: console-on-uart4
+
  Info: Overlay for setting uart4 pins as fiq debugger console pins. With this
+
  dtbo loaded, UART4 pins output console information after kernel is
+
  booted. Note that at the same time, Rock Pi cannot work with other
+
  serial communication devices like UART Serial Bluetooth Module through
+
  UART4 (even though set "on" for BUS UART4).
+
   Load: intfc:dtoverlay=console-on-uart4
+
  
 
====Installing ROCK Pi 4 dtbo package ====
 
====Installing ROCK Pi 4 dtbo package ====

Revision as of 03:44, 22 March 2019

    ROCK Pi 4 >  Hardware >  Device Tree Overlays


Device Tree Overlays

Introduction

This directory contains Device Tree overlays. Device Tree makes it possible to support many hardware configurations with a single kernel and without the need to explicitly load or blacklisr kernel modules.

On Rock Pi, you will find a rockpi-4b-linux.dtb in /boot. This describes the hardware that is part of the Rock Pi board. The loader selects the .dtb file appropriate for the platform by name and pass it to the kernel.

Device Tree Overlays usage is controlled from /boot/hw_intfc.conf. You can do the settings for Rock Pi in your hw_intfc.conf, which should cause your Rock Pi to do your wanted things after a reboot.

In /boot/overlays you will find many .dtbo files. The loader will merge the selected .dtbo files by reading file /boot/hw_intfc.conf.

File Structure

 /boot
   |--rockpi-4b-linux.dtb
   |--hw_intfc.conf
   |--overlays
           |--at24c02.dtbo
           |--console-disabled.dtbo
           |--console-on-uart4.dtbo
           |--two-color-led.dtbo

Using Overlays

Overlays are loaded using "intfc:" directive. As an example, consider the at24c02 module. Add one line in hw_intfc.conf:

 intfc:dtoverlay=at24c02

This causes the file /boot/overlays/at24c02.dtbo to be loaded.

The Overlay and Parameter Reference

N.B. It is recommended to only ebable those bus interfaces that are needed. Leaving all interfaces enabled can lead to unwanted behaviour.

Seeing 40-pin GPIO connector , we find that UART4 and SPI1 share some pins, and I2C6 and SPI2 share some pins.

In order to solve the problem of pin conflicts, we make a convention.

When we set UART4 and SPI1 to "on" at the same, the system will forcibly set UART4 to "on" and SPI1 to "off" (Although you see SPI1 is “on” on file hw_intfc.conf,).

When we set I2C6 and SPI2 to "on" at the same time, the system will forcibly set I2C6 to "on" and SPI2 to "off".

Enabling and disabling BUS
 Name:	pwm0
 Info:	Overlay for BUS PWM0
 Load:	intfc:pwm0=<value>
 Value:
 	on		Set to "on" to enable the pwm0 interface (default "off")
 	off		Set to "off" to disable the pwm0 interface
 
 Name:	pwm1
 Info:	Overlay for BUS PWM1
 Load:	intfc:pwm1=<value>
 Value:
 	on		Set to "on" to enable the pwm1 interface (default "off")
 	off		Set to "off" to disable the pwm2 interface
 
 Name:	uart2
 Info:	Overlay for BUS UART2
 Load:	intfc:uart2=<value>
 Value:
 	on		Set to "on" to enable the uart2 interface (default "off")
 	off		Set to "off" to disable the uart2 interface
 
 Name:	uart4
 Info:	Overlay for BUS UART4
 Load:	intfc:uart4=<value>
 Value:
 	on		Set to "on" to enable the uart4 interface (default "off")
 	off		Set to "off" to disable the uart4 interface
 
 Name:	spi1
 Info:	Overlay for BUS SPI1
 Load:	intfc:spi1=<value>
 Value:
 	on		Set to "on" to enable the spi1 interface (default "off")
 	off		Set to "off" to disable the spi1 interface
 
 Name:	spi2
 Info:	Overlay for BUS SPI2
 Load:	intfc:spi2=<value>
 Value:
 	on		Set to "on" to enable the spi2 interface (default "off")
 	off		Set to "off" to disable the spi2 interface
 
 Name:	i2c2
 Info:	Overlay for BUS I2C2
 Load:	intfc:i2c2=<value>
 Value:
 	on		Set to "on" to enable the i2c2 interface (default "off")
 	off		Set to "off" to disable the i2c2 interface
 
 Name:	i2c6
 Info:	Overlay for BUS I2C6
 Load:	intfc:i2c6=<value>
 Value:
 	on		Set to "on" to enable the i2c6 interface (default "off")
 	off		Set to "off" to disable the i2c6 interface
 
 Name:	i2c7
 Info:	Overlay for BUS I2C7
 Load:	intfc:i2c7=<value>
 Value:
 	on		Set to "on" to enable the i2c7 interface (default "off")
 	off		Set to "off" to disable the i2c7 interface
 
Loading hardware module
 Name:	at24c02
 Info:   Overlay for activation of Atmel AT24C02 over I2C
 Load:	intfc:dtoverlay=at24c02

 Name:	two-color-led
 Info:   Overlay for activation of two color led module.
 Load:	intfc:dtoverlay=two-color-led

 Name:	console-on-ttyS2
 Info:	By default, fiq debugger console is disabled.
 	When this dtbo file is loaded, Rock Pi enables fiq debugger console.
 	ttyS2 Pins will output console information.
 	At the same time, it is recommended that you set UART2 to off in
 	file /boot/hw_intfc.conf and do not load console-on-ttyS4.dtbo file.
 Load:	intfc:dtoverlay=console-on-ttyS2

 Name:	console-on-ttyS4
 Info:	By default, fiq debugger console is disabled.
 	When this dtbo file is loaded, Rock Pi enables fiq debugger console.
 	ttyS4 Pins will output console information.
 	At the same time, it is recommended that you set UART4 to off in
 	file /boot/hw_intfc.conf and do not load console-on-ttyS2.dtbo file.
 Load:	intfc:dtoverlay=console-on-ttyS4

 Name:	devspi1
 Info:	By default, spi1 is disabled.
 	when use spi1, uart4 must be disabled.
 Load:	intfc:dtoverlay=devspi1
 
 Name:	devspi2
 Info:	By default, spi2 is disabled.
 	When use spi2. i2c6 must be disabled.
 Load:	intfc:dtoverlay=devspi2

Installing ROCK Pi 4 dtbo package

Radxa APT provides rockpi4-dtbo package that includes hw_intfc.conf and .dtbo files. To use it, do:

 $ sudo apt-get update
 $ sudo apt-get install rockchip-fstab
 $ sudo apt-get install rockpi4-dtbo