Cherry Theobroma PX30-mQ7 User Manual

System-on-module quad-core arm cortex-a35
Hide thumbs Also See for Theobroma PX30-mQ7:

Advertisement

Quick Links

USER MANUAL
PX30-μQ7
System-on-Module
Quad-Core ARM Cortex-A35
featuring the Rockchip PX30 application processor
Document revision:
v1.2.0-1-g5ccabb6
Issue date:
Jun 21, 2023

Advertisement

Table of Contents
loading

Summary of Contents for Cherry Theobroma PX30-mQ7

  • Page 1 USER MANUAL PX30-μQ7 System-on-Module Quad-Core ARM Cortex-A35 featuring the Rockchip PX30 application processor Document revision: v1.2.0-1-g5ccabb6 Issue date: Jun 21, 2023...
  • Page 3: Table Of Contents

    Contents 1 Introduction Device Overview ..........2 First Steps Insert the Module .
  • Page 4 MAC Address ........... . 10 Phosh graphical shell 10.1 Usage .
  • Page 5: Introduction

    1 Introduction Congratulations for acquiring our new product, combining best-in-class performance with a rich set of peripherals. Note: The latest version of this manual and related resources can always be found on our website at the following address: https://www.theobroma-systems.com/som-product/px30-uq7/ 1.1 Device Overview PX30 is a high-performance Quad-core application processor designed for personal mobile internet device and other digital multimedia applications.
  • Page 6: First Steps

    2 First Steps This chapter provides instructions for getting the PX30-uQ7 EVK running after opening the box. 2.1 Insert the Module Insert the PX30-uQ7 module at a 30-degree angle into the connector in the base board. Once fully inserted, push it down until it rests on the standoffs and check alignment of the mounting holes.
  • Page 7 RS232 Power USB UART Fig. 2.2: Serial console and boot configuration PX30-uQ7 User Manual v1.2.0-1-g5ccabb6 © Theobroma Systems Design und Consulting GmbH Page 3...
  • Page 8: Using The Evk

    3 Using the EVK This chapter provides instructions for using the EVK (also called Haikou), such as booting and how to configure and use I/O peripherals (e.g. serial console, Ethernet). 3.1 Evaluation Board Overview An overview of the available connectors and devices on the EVK is shown below. Note: The PX30-uQ7 does not support HDMI and PCIe x4 (they are shown with a * in the next figure).
  • Page 9: Power Supply

    Battery Buzzer CTRL I/OSMBus GPIO Misc I/O UPDI SPI+I2C+1-wire SD - Card Slot Fig. 3.1: The baseboard with PX30-uQ7 module (connectors marked with a * are not supported) 3.2 Power Supply The baseboard can operate with a single 12V DC power supply. PX30-uQ7 User Manual v1.2.0-1-g5ccabb6 ©...
  • Page 10: Control Buttons And Switches

    Fig. 3.2: 12V Power connector Power can be controlled manually from the board using the Power control buttons and switches, located on the lower right side of the board (see Section 3.1 Evaluation Board Overview). Depending on the setting of Power Mode ( Normally On / Normally Off ) switch, the board will boot as soon as it receives power.
  • Page 11: Boot Order

    Fig. 3.3: Fan connector Note: The fan is only necessary in high ambient temperatures. Under normal conditions, the PX30-uQ7 operates passively cooled. 3.5 Boot Order The used boot order of the PX30-uQ7 module depends on the value of the BIOS_DISABLE# signal. On the Haikou baseboard, this signal can be set using a slider switch ( BOOT SW ), with the two positions labeled Normal Boot, and BIOS Disable.
  • Page 12: Rs-232 And Rs-485

    Fig. 3.4: USB UART The serial converter does not require additional drivers on Windows and Linux. For macOS, drivers are available from Silicon Labs: https://www.silabs.com/products/development-tools/software/ usb-to-uart-bridge-vcp-drivers The PX30-uQ7 module has two external UARTs: • UART0 is, by default, used for the serial console for interactive login. •...
  • Page 13: Ttl Uart

    UART1 UART0 RS232 FULL/HALF RS485 DUPLEX Fig. 3.5: RS-232 connector The switch labeled RS-232 / RS-485 selects between RS-232 and RS-485 mode on the jack. In RS-485 mode, the switch labeled Full Duplex / Half Duplex selects full- or half-duplex mode, respectively. It has no effect in RS-232 mode, which is always full-duplex.
  • Page 14: Sd-Card

    3.10 SD-Card The PX30-uQ7 supports UHS SD cards and maximum writing speed on the SD card is 50MB/s. The practical writing and reading speeds depend on the capabilities of the inserted SD card. Fig. 3.7: SD card reader 3.11 USB Interfaces The PX30-uQ7 provides four USB ports: •...
  • Page 15: Display And Camera

    Fig. 3.9: USB 2.0 host ports 3.11.1 Connecting an External USB Drive To connect a USB drive, plug it into one of the USB ports. The system should recognize the drive immediately. Check the kernel log to find the device name: dmesg -f You will be able to mount its partitions (assuming mapping to /dev/sdb1 ): mkdir /mnt/usb1...
  • Page 16: Rtc

    LVDS_B_CLK_N LVDS_A3_N LVDS_A_CLK_P LVDS_A3_P LVDS_B3_N LVDS_B3_P LVDS_A2_N LVDS_A2_P LVDS_B2_N LVDS_B2_P LVDS_A1_N LVDS_A1_P LVDS_B1_N LVDS_B1_P LVDS_A0_N DP_HPD# LVDS_A0_P LVDS_B0_N LVDS_A_CLK_N LVDS_B0_P LVDS_A_CLK_P LVDS_PEN LVDS_BLC_DAT LVDS_BLC_CLK LVDS_BLT_CTRL LVDS_BLEN LVDS_DID_DAT LVDS_DID_CLK GPO0 Fig. 3.10: Video connector pinout The kernel devicetree defines the used display configuration. Example device trees for various output configurations are pro- vided with the EVK software package.
  • Page 17: Spi And I2C

    date --set 2022-10-22 date --set 04:12:33 You can also update the RTC immediately, again with hwclock : hwclock -w 3.14 SPI and I2C SPI and I2C interfaces are both available on the pin header labeled SPI+I2C+1-Wire . The PX30-uQ7 does not support 1-Wire .
  • Page 18: Gpios

    apt-get install i2c-tools 3.14.1 Linux I2C Bus Numbering Linux identifies each I2C bus by a bus number. The table below shows the mapping between Q7 names, Linux bus number and EVK header. Q7 signals Linux bus # Haikou Header(s) Label on Haikou Header SMBus Video...
  • Page 19: Audio

    Q7 signal CPU pin Linux GPIO # GPIO0 GPIO3_C6 GPIO1 GPIO3_D0 GPIO2 GPIO3_C7 GPIO3 GPIO3_D1 GPIO4 GPIO3_C0 GPIO5 GPIO3_A2 GPIO6 GPIO3_A1 GPIO7 GPIO2_B6 To calculate the Linux GPIO # for CPU pins that are not listed in this table, use the following formula: (block_number (sub_block_number index...
  • Page 20: Can Bus

    Fig. 3.14: Audio input/output port Additionally, an expansion connector for I2S audio is available on the bottom row of the board: 3V3_LDO I2S_RST# I2S_CLK I2S_WS I2S_SDO I2S_SDI I2S_DAT I2S_CLK Fig. 3.15: Connecting to the audio expansion connector 3.17 CAN Bus The board provides a CAN connector on the bottom row.
  • Page 21: Ctrl I/O Connector

    Fig. 3.16: CAN header Note: CAN feature is only available on PX30-uQ7 module with an STM32, see (Section 11.4.4 Companion Controller 1). 3.18 CTRL I/O Connector The board provides signals for watchdog trigger in- and output, SoM PMIC power-on input, reset and external display power enable.
  • Page 22: Jtag Connector

    Fig. 3.18: MISC header 3.20 JTAG Connector The board provides UPDI signals on the JTAG connector. The PX30-uQ7 does not support JTAG, but the ATtiny (see Section 11.4.5 Companion Controller 2) can be flashed over JTAG connector pins. Fig. 3.19: JTAG header JTAG header Function UPDI-TX...
  • Page 23: Software Overview

    4 Software Overview This chapter provides instructions for compiling and deploying the BSP (Board Support Package) software to the uQ7 module. 4.1 Supported Distributions Two of the most popular embedded systems distributions are supported. The following chapters describe how to build a disk image for each of them: •...
  • Page 24: Debian Image Guide

    5 Debian image guide As opposed to Yocto, Debian does not provide a completely integrated build experience by itself. Linux kernel and U-Boot have to be compiled manually and copied to the appropriate directory to be picked up by Debian build system. This chapter will go through all neccessary steps, finally building a complete image using the debos Debian image builder.
  • Page 25: Compile U-Boot

    (continued from previous page) # Compile TF_LDFLAGS="$TF_LDFLAGS" make PLAT=px30 bl31 # Make the resulting file available to later steps export BL31=$PWD/build/px30/release/bl31/bl31.elf This step should take under 1 minute total. 5.3 Compile U-Boot Note: The variable BL31 must be already set as described in Section 5.2 Compile the ATF . Get the source code and compile the U-Boot bootloader as follows: # Set up cross-compilation export...
  • Page 26: Building The Debos Image

    5.5 Building the debos image 5.5.1 Prepare required components Note: The variables RINGNECK_UBOOT_DIR and RINGNECK_LINUX_DIR must be already set as described in Section 5.3 Compile U-Boot and Section 5.4 Compile the Linux kernel, respectively. Get the source code for the debos recipe and copy necessary components built in previous steps: # Download the source code git clone https://git.theobroma-systems.com/debos-recipes.git debos-recipes...
  • Page 27: Building A Yocto Image

    6 Building a Yocto image The Yocto Project is an open-source project that helps building Linux-based distributions, mainly for embededded products. Theobroma Systems provides a minimal BSP layer to allow building Yocto images for the company’s modules. Upon request, access can be given to a more featureful “demonstration” layer which provides hardware and software validation scripts as well as demo applications.
  • Page 28 yocto meta-arm meta-openembedded meta-rockchip meta-theobroma-systems-bsp poky Note: It is essential that the Yocto layers are checked out on the same branch otherwise there may be some unexpected issues. With the aforementioned instructions, the layers have been checked out to a branch supporting the Yocto Project Kirkstone (4.0) release.
  • Page 29 user and also allows to easily build for multiple machines without modifying a file in-between. The build process can take several hours depending on the capabilities of the build machine and the user’s Internet connection. Note: If the Bitbake process needs to be stopped for any reason, a SIGINT ( Ctrl + c ) signal can be sent once. Bitbake will gracefully close down upon reception of this signal.
  • Page 30: Extended Meta Layer

    6.3 Extended meta layer Yocto Project extended layer found https://git.theobroma-systems.com/yocto-layers/ meta-theobroma-systems-extended.git/. In addition to the minimal features, this layer includes the network manager, and many more features will be added soon. 6.3.1 Initial setup Clone the Extended layer and its dependencies from a new directory called yocto : git clone https://git.theobroma-systems.com/yocto-layers/meta-theobroma-systems-extended.git -b␣...
  • Page 31 The Yocto Project then needs to be configured to include layers to find new recipes or configuration files, which is essential to build new pieces of software or compile for a specific hardware target system. This can be done with the bitbake-layers tool: bitbake-layers add-layer ../meta-arm/meta-arm-toolchain bitbake-layers add-layer ../meta-arm/meta-arm bitbake-layers add-layer ../meta-rockchip...
  • Page 32 Note: It is also available as a Python package and installable with: python3 -m pip install --user kas The Section 6.3.1 Initial setup and Section 6.3.2 Initializing build environment can then be replaced by the following two com- mands: git clone https://git.theobroma-systems.com/yocto-layers/meta-theobroma-systems-extended.git -b␣...
  • Page 33: Deploy A Disk Image

    7 Deploy a disk image This chapter describe how to write a disk image as generated in one of the previous chapters using Yocto or Debian to the module. Note: The variable SDCARD_IMG must be already set as described in respective chapter. Warning: Avoid having the disk image on both the SD Card and the internal eMMC of the module.
  • Page 34 Then, insert a micro-USB cable into the USB-OTG port (see Fig. 3.8 USB 2.0 OTG port (dual-role port: can be used as a host or device interface)) on the baseboard and into a USB port of your host PC. Then, power cycle the device by unplugging and replugging the power supply or by pressing the Reset button. The lsusb command on your host PC should return the following: $ lsusb -d 2207:330d Bus 001 Device 028: ID 2207:330d Fuzhou Rockchip Electronics Company...
  • Page 35: Wifi

    8 Wifi The PX30-uQ7 module features an on-board Wifi module. This chapter shows how to connect to an existing Wifi network and how to flash the wifi firmware, should the need arise. 8.1 Antenna The development kit includes an antenna compatible with the Wifi module. Other antennas can be used. The connector on the antenna must be one of: •...
  • Page 36 (continued from previous page) ! -d /sys/class/gpio/gpio$GPIO_BOOT then echo $GPIO_BOOT > /sys/class/gpio/export ! -d /sys/class/gpio/gpio$GPIO_EN then echo $GPIO_EN > /sys/class/gpio/export echo out > /sys/class/gpio/gpio$GPIO_BOOT/direction echo out > /sys/class/gpio/gpio$GPIO_EN/direction echo > /sys/class/gpio/gpio$GPIO_BOOT/value echo > /sys/class/gpio/gpio$GPIO_EN/value sleep echo > /sys/class/gpio/gpio$GPIO_EN/value sleep ESPTOOL=$(PATH=/root/.local/bin/:$PATH which esptool.py) $ESPTOOL...
  • Page 37: Serial Number & Mac Address

    9 Serial Number & MAC Address 9.1 Serial Number Each PX30-uQ7 module has a unique serial number that can be read by software. In U-Boot, the serial number is contained in the environment variable serial# . You can print it using the command: printenv serial# Under Linux, it is represented by a simple text file in /sys :...
  • Page 38: Phosh Graphical Shell

    10 Phosh graphical shell Phosh is a graphical user interface designed for touch-based devices. It is based on the GTK widget toolkit, and derives from the GNOME Shell as a mobile-specific fork. Phosh is used as a default graphical user interface in the reference images for the Haikou-Video-Demo.
  • Page 39: Known Issues

    10.2 Known issues 1. Wrong display resolution when device is locked. Locked screen (Fig. 10.1) and Login screen (Fig. 10.2) are extended by few pixels at the bottom. This causes that button and text placed at the bottom are not displayed correctly. This issue does not occur when the device is unlocked.
  • Page 40: Hardware Guide

    11 Hardware Guide This Hardware Guide provides information about the features, connectors and signals available on the PX30-uQ7 module. 11.1 Q7 Implementation Q7 has mandatory and optional features. Following table shows the feature set of the PX30-uQ7 module compared to the minimum ARM/RISC based and maximum configuration according to the Q7 standard.
  • Page 41: Q7 Connector Pinout

    11.2 Q7 Connector Pinout The following table shows the signals on the edge connector of the PX30-uQ7 module. Empty cells are not connected (NC) pins. Signal Signal GBE_LINK# GBE_LINK1000# GBE_MDI1- GBE_MDIO0- GBE_MDI1+ GBE_MDIO0+ GBE_LINK# GBE_ACT# GBE_CTRFF SUS_S5# WAKE# SUS_S3# PWRBTN# SLP_BTN# LID_BTN# PWGIN...
  • Page 42 Table 11.1 – continued from previous page Signal Signal LVDS_A1+/DSI_D1+ CSI_D1+ LVDS_A1-/DSI_D1- CSI_D1- LVDS_A2+/DSI_D2+ CSI_D2+ LVDS_A2-/DSI_D2- CSI_D2- LVDS_PPEN LVDS_BLEN LVDS_A3+/DSI_D3+ CSI_D3+ LVDS_A3-/DSI_D3- CSI_D3- LVDS_A_CLK+/DSI_CLK+ CSI_CLK+ LVDS_A_CLK-/DSI_CLK- CSI_CLK- LVDS_BLT_CTRL / GP_PWM_OUT0 GP2_I2C_DAT / LVDS_DID_DAT LVDS_BLC_DAT GP2_I2C_CLK / LVDS_DID_CLK LVDS_BLC_CLK CAN0_TX CAN0_RX UART0_TX UART0_RTS# UART0_RX...
  • Page 43: Signal Details

    Table 11.1 – continued from previous page Signal Signal 11.3 Signal Details 11.3.1 Ethernet Q7 Signal Type Signal Description Level GBE_MDI[0:1]+ Analog Fast Ethernet Controller: Media Dependent Interface Differential Pairs GBE_MDI[0:1]- 0,1. The MDI can operate in 100 and 10 Mbit/sec modes GBE_ACT# 3.3V Ethernet Controller activity indicator, active low...
  • Page 44 11.3.4 I2C Q7 Signal Type Signal Description Level Q7_I2C_CLK 3.3V I2C bus clock line connected to PX30 Q7_I2C_DAT 3.3V I2C bus data line connected to PX30 LVDS_DID_CLK 3.3V I2C bus clock line connected to PX30, Secure Element, STM32, Attiny /GP2_I2C_CLK and Video connector LVDS_DID_DAT 3.3V...
  • Page 45 Q7 Signal Function LVDS_B0_P CSI_D0+ LVDS_B0_N CSI_D0- LVDS_B1_P CSI_D1+ LVDS_B1_N CSI_D1- LVDS_B2_P CSI_D2+ LVDS_B2_N CSI_D2- LVDS_B3_P CSI_D3+ LVDS_B3_N CSI_D3- LVDS_B_CLK_P CSI_CLK+ LVDS_B_CLK_N CSI_CLK- 11.3.7 GPIO Q7 Signal Type Signal Description Level GPIO[0-7] 3.3V General purpose inputs/outputs 0 to 7 11.3.8 CAN Q7 Signal Type Signal...
  • Page 46: On-Board Devices

    11.3.11 Misc Signal Type Signal Description Level WDTRIG# 3.3V Watchdog trigger signal WDOUT 3.3V Watchdog event indicator SPKR 3.3V PC speaker (buzzer) output. Alternate function general purpose PWM GP_PWM_OUT2 output BIOS_DISABLE# 3.3V Disables the onboard bootloader and uses the one the SD card instead. /BOOT_ALT# If no bootloader is available on the SD card it falls back to USB recovery mode...
  • Page 47 Signal CPU Pin Linux GPIO # RESET GPIO1_B3 11.4.4 Companion Controller 1 The first on-board microcontroller provides additional features to the CPU, exposed via I2C and USB. It emulates standard ICs and does not need custom drivers in Linux. Feature CPU Connection Emulated IC Qseven Pins...
  • Page 48: Wifi And Bluetooth Module

    11.5 Wifi and Bluetooth module Fig. 11.1: WiFi and Bluetooth module The WiFi and Bluetooth are part of the ESP32 PICO MINI 02U module on the PX30-uQ7 board. The antenna connector on the module is w.FL type. The firmware running on the ESP32 is flashed in its internal memory and unlike most wireless modules, does not require files to be present in the root filesystem.
  • Page 49 Table 11.2 – continued from previous page Test point Connected to TP20 PMIC_Xin TP21 PMIC_Xout TP22 PX30_Xin TP23 PX30_Xout TP24 MCU_UART_TX TP25 MCU_UART_RX TP26 Q7_LVDS_DID_CLK TP27 Q7_LVDS_DID_DAT TP28 Q7_LVDS_BLC_DAT TP29 Q7_LVDS_BLC_CLK TP30 I34 WiFi TP31 I35 WiFi TP32 ESP32_TXD0 TP33 ESP32_RXD0 TP34 BT_UART_TX...
  • Page 50: Usb

    11.6 USB The PX30-uQ7 CPU has 2 USB 2.0 controllers. A USB 2.0 hub provides two additional USB 2.0 ports for a total of four. The routing of Qseven signals to CPU and/or hub port is shown below. Qseven Port # Speed Connected to Notes...
  • Page 51: Using Qseven Signals As Gpio

    11.7 Using Qseven Signals as GPIO Most Qseven signals can be reused as a general purpose I/O pin. The following table shows the mapping and the possible direction as seen from the baseboard. Qseven Signal CPU Pin Linux Direction GPIO SUS_S5# GPIO3_A0 Bidirectional...
  • Page 52: Electrical Specification

    11.8 Electrical Specification 11.8.1 Power Supply The power supply requirements are listed in the table below and are identical to the Qseven specification. Rail Description Nominal voltage Tolerance Main power supply 4.75 . . . 5.25V VCC_RTC Backup battery 2.4 . . . 3.3V v1.2.0-1-g5ccabb6 Page 48...
  • Page 53: Mechanical Specification

    11.9 Mechanical Specification 11.9.1 Module Dimensions The mechanical dimensions of the module are shown below. Fig. 11.2: Module dimensions (all values in mm) 11.9.2 Baseboard Dimensions The mechanical dimensions of the baseboard are conform with the form factor for Mini-ITX and the baseboard can be mounted in a standard Mini-ITX PC Case.
  • Page 54: Revision History

    12 Revision History Date Revision Major changes Nov 1, 2022 v0.0.1 First internal release Dec 21, 2022 v1.0.0 Internal review ; public release Dec 21, 2022 v1.0.1 Fix one missing image in html output Mar 29, 2023 v1.1.0 Add Phosh graphical shell Apr 27, 2023 v1.2.0 Add meta-extended demo image build instructions...

Table of Contents