Each folder contains a .dts
file and a README showing the GPIO pin mappings.
Copy the desired .dts
file(s) to the build-trees folder and follow the readme there to build the device-tree binaries.
There are instructions at the end of that document on how to make this permanent across reboots and kernel upgrades, some example flash-kernel database entries are given below for convenience.
The issue with using these trees is that if the upstream device tree or includes is modified you need to manually rebuild these trees.
EG any changes to the upstream sun20i-d1-mangopi-mq-pro.dts
source needs to be detected and applied too. You need to examine file histories to do this.
- Fortunately this should not be an issue in practice; the kernel should remain very stable going forward. Ubuntu 24.04.1 is a LTS release..
Emulates a standard PI hat pinout
- 1x SPI
- 2x I2C
- Console UART only
- 16 unassigned GPIO pins
Expanded HAT pinout for my LoRa hat use
- 1x SPI
- 2x I2C
- 1x UART (plus the console uart)
- 4x PWM
- 11 unassigned GPIO pins
- 1x SPI
- 4x I2C
- 3x UART (plus the console uart)
- 6 unassigned GPIO pins
- 4x UART (plus the console uart)
- UART3 has RTC/CTS pins available too
- 2x I2C
- 12 unassigned GPIO pins
# Custom kernels
Machine: MQpro HAT
Kernel-Flavors: any
DTB-Id: custom/mqpro-hat.dtb
Boot-Script-Path: /boot/boot.scr
U-Boot-Script-Name: bootscr.uboot-generic
Required-Packages: u-boot-tools
Machine: MQpro LoRa HAT
Kernel-Flavors: any
DTB-Id: custom/mqpro-lora-hat.dtb
Boot-Script-Path: /boot/boot.scr
U-Boot-Script-Name: bootscr.uboot-generic
Required-Packages: u-boot-tools
Machine: MQpro Serial
Kernel-Flavors: any
DTB-Id: custom/mqpro-serial.dtb
Boot-Script-Path: /boot/boot.scr
U-Boot-Script-Name: bootscr.uboot-generic
Required-Packages: u-boot-tools
Machine: MQpro SPI I2C
Kernel-Flavors: any
DTB-Id: custom/mqpro-spi-i2c.dtb
Boot-Script-Path: /boot/boot.scr
U-Boot-Script-Name: bootscr.uboot-generic
Required-Packages: u-boot-tools