DESK-RZ-L/pdf
History[edit | edit source]
| DESK-RZ-L History | |||
|---|---|---|---|
| Version | Issue Date | Notes | |
| 1.0.0 | Dec 2025 | First DESK-RZ-L release | |
General Information[edit | edit source]
Release Notes[edit | edit source]
DAVE Embedded Systems adds to the latest Linux BSP from Renesas the customization required to support the SOC platform. For this reason most of the documentation provided by Renesas remains valid for the DESK development kit.
However, some customization is required, in particular at bootloader and linux kernel levels.
The following table reports the DESK-RZ-L releases information.
| DESK version | |
|---|---|
| Release number | 1.0.0 |
| Release type | Major |
| Status | Released |
| Release date | Dec 2025 |
| Release notes | Ver 1.0.0 |
| Product support | ZERO |
| MVM (distro version) | Ubuntu 20.04 |
| TF-A version | v2.7(release):desk-rz-l-1.0.0 |
| U-Boot version | 2021.10-desk-rz-l-1.0.0 |
| Linux version | 5.10.145-desk-rz-l-1.0.0 |
| Drivers |
Ethernet I2C |
| Manufacturer BSP version | rzt2h-5.10 |
| Build System | Yocto dunfell |
DESK-RZ-L 1.0.0[edit | edit source]
|
New MVM must be installed for using DESK-RZ-L-1.0.0. The VM is available for download on DAVE's Reserved Area for registered users. |
Release notes:
- Major change to Renesas BSP 5.10.145-cip
- Carrier board support for full Linux peripherals support
Known Limitations[edit | edit source]
The following table reports the known limitations of this DESK-RZ-L release:
| Issue | Description |
|---|---|
| PCIe | If no device is connected at boot, there will be a delay while the PCIe block attempts to communicate with a device until a timeout occurs (~60 sec). |
| Ethernet | In U-Boot, the reset of the ETH_A interface via the I2C GPIO expander is not supported.
|
| Boot issue | A reboot may lead to boot issues; it is recommended to power-cycle the carrier board using the on-board power switch (turn it off and then on again). |
| Console connection | The first connection of the serial console must be performed with the board powered on; otherwise, the FTDI power cycle may be incorrect. Once the USB console is connected, the board can be powered off and on again without issues. |
| Console USB connection | The FTDI device used for the serial console may cause issues, particularly when sending binaries with the Flash Programmer. Make sure it is connected directly to the host PC and not through a USB hub.
|
| kernel | Linux kernel xconfig, make xconfig does not work
|
| Wayland backend | Yocto with Wayland backend is not supported yet |
Downloadable binary images[edit | edit source]
All binary images for DESK-RZ-L are hosted on DAVE Embedded System mirror server. There, you can find a subdirectory for each version of this development kit.
U-boot performs a 2-stage bootloader providing two files: BL2 file and FIP.
There are different BL2 images depending on the selected boot peripheral, while the FIP image is always the same.
For details on how to program the different memories, refer to the deployment section.
A summary of the available images, together with a brief description, is provided in the table below:
| Image | DESK-RZ-L-1.0.0 | |
|---|---|---|
| Platform | EB23 | |
| LCD panel (only with ConfigID 2002) | Ampire AM-800480BTMQW-TBMH-A 800x480 7"RGB | |
| Touchscreen (only with ConfigID 2002) | capacitive | |
| Flash Programmer Header | HDR NM | |
| Flash Programmer | Flash_Programmer_SCIF_CR52_RZT2H_EVK.mot | |
| BL2 for xSPI NOR | bl2_bp_xspi0-desk-t2h-usd-devel.srec | |
| u-boot.img | fip-desk-t2h-usd-devel.srec | |
| Linux kernel | Image | |
| Device tree | rzt2h-eb23-cb2002.dtb | |
| Device tree | rzt2h-eb23-cb2003.dtb | |
| uSD binary | desk-rz-image-desk-t2h-usd-devel.wic.bz2 | |
Release types[edit | edit source]
DESK release type can be:
- Major, when substantial changes are applied to the BSP (eg: major kernel version upgrades) or to the development kit (eg: new features, build system updates, ..). This usually means that a new DVDK is created for the DESK release
- Maintenance, when minor updates and bug fixes are introduced. This usually means that the DVDK remains the same provided with the previous major version, and only an update of the source tree repositories (and the tftp binaries) is required
As an example, DESK-RZ-L-1.1.0 is a maintenance release, so it provides the DVDK released with the 1.0.0 major release; customers can easily upgrade to the 1.1.0 release by updating the software components as described in Synchronizing git repositories.
Supported platforms[edit | edit source]
The following table reports the supported platforms in this DESK release:
| Platform | Description |
|---|---|
| ZERO Evaluation Kit | Single Board Computer using ZERO SOM as Evaluation Kit |
Boot Options[edit | edit source]
Several boot modes are supported.
On the EVK, the DIP switches S4 and S6 are available, as shown in the figure below:
| Boot Mode | S4.1 | S4.2 | S6.1 | S6.2 | Note |
|---|---|---|---|---|---|
| eMMC | OFF | OFF | OFF | OFF | Not supported yet |
| uSD | ON | ON | ON | OFF | Not supported yet |
| SCI Download | OFF | ON | ON | OFF | Boot for serial download mode |
| xSPI | ON | ON | OFF | OFF | Boot from NOR SPI |
All other combinations are either not supported or not tested.
Virtual Machine[edit | edit source]
DAVE' standard DVDK Virtual Machine contains all the required software and documentation to start developing Linux applications on the ZERO platforms.
In particular, DESK-RZ-L provides a virtual machine, called DVDK, with the following features:
- VirtualBox virtual machine (.OVA archive)
- based on Lubuntu 20.04 LTS (64-bit version)
- pre-installed VirtualBox Guest Additions
- LXDE desktop environment
- boot disk with the distro and pre-configured basic Linux services:
- TFTP: with base directory
/tftpboot/boot/ - NFS: configured through the
/etc/exportsfile
- TFTP: with base directory
- Disk containing source code and tools:
- external pre-built toolchain
- Yocto BSP for ZERO SOM
- pre-installed Yocto-based root file systems with setup scripts, makefiles, example applications, ...
- administrator account (dvdk) with autologin. Please note that the user account credentials are provided with the development kit (you can find them in the README file contained in the sw/dvdk folder of the kit distribution)
- user: dvdk
- password: dvdk
Host setup[edit | edit source]
As stated previously, ZERO SOM host tools are based on a Managed Virtual Machine.
The MVM ova image can be downloaded from this link.
Installing the meta-toolchain SDK[edit | edit source]
meta toolchain is preinstalled on DESK-RZ-L-1.0.0 and it is used for building U-Boot and kernel sources. It can be found in the following path.
dvdk@vagrant:~/desk-rz-l$ ls -la /opt/yocto/sdk/desk-rz-l/desk-t2h-l-1.0.0/ total 68 drwxr-xr-x 3 root root 4096 Dec 15 11:31 . drwxr-xr-x 3 root root 4096 Dec 15 11:29 .. -rw-r--r-- 1 root root 4148 Dec 15 11:30 environment-setup-aarch64-poky-linux -rw-r--r-- 1 root root 4494 Dec 15 11:30 environment-setup-armv7vet2hf-neon-vfpv4-pokymllib32-linux-gnueabi -rw-r--r-- 1 root root 14362 Dec 15 11:30 site-config-aarch64-poky-linux -rw-r--r-- 1 root root 14362 Dec 15 11:30 site-config-armv7vet2hf-neon-vfpv4-pokymllib32-linux-gnueabi drwxr-xr-x 4 root root 4096 Dec 15 11:30 sysroots -rw-r--r-- 1 root root 122 Dec 15 11:30 version-aarch64-poky-linux -rw-r--r-- 1 root root 122 Dec 15 11:30 version-armv7vet2hf-neon-vfpv4-pokymllib32-linux-gnueabi dvdk@vagrant:~/desk-rz-l$
The toolchain can be reinstalled, just download it from here and install it. Example commands to execute the reinstallation of toolchain.
dvdk@vagrant:~$ cd desk-rz-l/ dvdk@vagrant:~/desk-rz-l$ wget https://mirror.dave.eu/desk-rz-l/desk-rz-l-1.0.0/poky-glibc-x86_64-meta-toolchain-aarch64-desk-t2h-usd-devel-toolchain-3.1.31.sh -O meta_toolchain.sh --2025-12-16 16:56:11-- https://mirror.dave.eu/desk-rz-l/desk-rz-l-1.0.0/poky-glibc-x86_64-meta-toolchain-aarch64-desk-t2h-usd-devel-toolchain-3.1.31.sh Resolving mirror.dave.eu (mirror.dave.eu)... 84.46.251.143 Connecting to mirror.dave.eu (mirror.dave.eu)|84.46.251.143|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 163743831 (156M) [text/x-sh] Saving to: ‘meta_toolchain.sh’ meta_toolchain.sh 100%[==========================================================================================================>] 156.16M 8.37MB/s in 24s 2025-12-16 16:56:36 (6.46 MB/s) - ‘meta_toolchain.sh’ saved [163743831/163743831] dvdk@vagrant:~/desk-rz-l$ chmod +x meta_toolchain.sh dvdk@vagrant:~/desk-rz-l$ ./meta_toolchain.sh -d /opt/yocto/sdk/desk-rz-l/desk-t2h-l-1.0.0 -y Poky (Yocto Project Reference Distro) SDK installer version 3.1.31 ================================================================== You are about to install the SDK to "/opt/yocto/sdk/desk-rz-l/desk-t2h-l-1.0.0". Proceed [Y/n]? Y Extracting SDK.........................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /opt/yocto/sdk/desk-rz-l/desk-t2h-l-1.0.0/environment-setup-aarch64-poky-linux $ . /opt/yocto/sdk/desk-rz-l/desk-t2h-l-1.0.0/environment-setup-armv7vet2hf-neon-vfpv4-pokymllib32-linux-gnueabi
Installing the application SDK[edit | edit source]
application SDK is preinstalled on DESK-RZ-L-1.0.0 and it is used for building userspace application. It can be found in the following path.
dvdk@vagrant:~/desk-mx-l$ ls -la ~/desk-mx-l/sdk/desk-mx9-l-5.0.0/ dvdk@vagrant:~$
The SDK can be re-installed, just download it from here and install it. Example commands to execute the reinstallation of SDK.
dvdk@vagrant:~$ cd desk-mx-l/ dvdk@vagrant:~/desk-rz-l$ wget https://mirror.dave.eu/desk-rz-l/desk-rz-l-1.0.0/poky-glibc-x86_64-desk-rz-image-aarch64-desk-t2h-usd-devel-toolchain-3.1.31.sh -O sdk.sh --2025-12-16 16:59:27-- https://mirror.dave.eu/desk-rz-l/desk-rz-l-1.0.0/poky-glibc-x86_64-desk-rz-image-aarch64-desk-t2h-usd-devel-toolchain-3.1.31.sh Resolving mirror.dave.eu (mirror.dave.eu)... 84.46.251.143 Connecting to mirror.dave.eu (mirror.dave.eu)|84.46.251.143|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 726603303 (693M) [text/x-sh] Saving to: ‘sdk.sh’ sdk.sh 100%[==========================================================================================================>] 692.94M 11.2MB/s in 1m 43s 2025-12-16 17:01:10 (6.74 MB/s) - ‘sdk.sh’ saved [726603303/726603303] dvdk@vagrant:~/desk-rz-l$ chmod +x sdk.sh dvdk@vagrant:~/desk-rz-l$ ./sdk.sh -d /home/dvdk/desk-rz-l/sdk/desk-rz-l-1.0.0 -y Poky (Yocto Project Reference Distro) SDK installer version 3.1.31 ================================================================== You are about to install the SDK to "/home/dvdk/desk-rz-l/sdk/desk-rz-l-1.0.0". Proceed [Y/n]? Y Extracting SDK.............................................................................................................................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /home/dvdk/desk-rz-l/sdk/desk-rz-l-1.0.0/environment-setup-aarch64-poky-linux $ . /home/dvdk/desk-rz-l/sdk/desk-rz-l-1.0.0/environment-setup-armv7vet2hf-neon-vfpv4-pokymllib32-linux-gnueabi dvdk@vagrant:~/desk-rz-l$
Using the SDK[edit | edit source]
Anytime it is required to compile u-boot or kernel sources, it is enough to enable it using the script:
source ~/desk-rz-l/desk-rz-l-1.0.0_sdk.sh
ConfigID and UniqueID[edit | edit source]
ConfigID[edit | edit source]
ConfigID is a new feature of DAVE Embedded Systems products. Its main purpose is providing an automatic mechanism for the identification of the product model and configuration.
With ConfigID, we aim at:
- completing the hardware configuration information that the software can't normally auto-detect (i.e. RAM chip version,...), implementing a dedicated reliable detect procedure
- when required, overriding the auto-detected hardware configuration information
When implemented, this mechanism allows for:
- initializing in the proper way the hardware platform, based on the specific features and parameters of the product, using a common software base (eg: a typical case is the SDRAM controller parameters, which must be configured by U-Boot depending on the particular memory chip, which can be different for the various SOM models)
- getting the complete hardware configuration (combining ConfigID with the information collectable at runtime) of a product deployed on the field
In simple words, model identification means the capability of reading a numerical code, stored in an available device (SOC's OTP , I2C EEPROM, 1-wire memories, protected NOR flash, etc.)
There are two ConfigIDs:
- SOM ConfigID: which reflects the characteristics of the SOM (stored on the SOM itself)
- Carrier Board (CB) ConfigID: which reflects the characteristics of the carrier board that hosts the SOM (stored on the carrier board itself and read by the SOM at boot time)
UniqueID[edit | edit source]
An additional attribute is UniqueID, which is a read-only code which univocally identifies a single product and is used for traceability.
|
It is worth remembering that ConfigID and UniqueID are independent from product serial number. |
Customer's action[edit | edit source]
DAVE Embedded Systems recommends to be up-to-date with Official SOM's BSPs for taking advantages of ConfigID/UniqueId features: this is the only required action.
- ConfigID advantage: to allow U-Boot bootloader to be executed only with the correct configuration (if the U-Boot loaded is not the proper one, it may stop execution avoiding incorrect behaviour)
- UniqueID advantage: to trace univocally each individual SOMs and, in turn, all the on-the-field equipments
ConfigID values[edit | edit source]
ConfigID is a N-bit (typically N>8) signed integer, that can have the following values:
- < 0: error
- -1: not initialized
- = 0: ConfigID legacy
- for prototypes (ConfigID not yet defined) or for products manufactured before the introduction of the ConfigID feature
- > 0: valid ConfigID
- values are reported accordingly with the specific product table
Hardware implementations of the ConfigID[edit | edit source]
The following paragraphs briefly describe the available solutions for storing the ConfigID.
OTP on the SOC[edit | edit source]
Some SOCs provides programmable OTPs (eg. for security, MAC address, boot modes, etc). Usually, some of these are general purpose registers and can be managed by the user.
This is the ideal implementation, because:
- ConfigID is stored in the most important component of the SOM
- the component that hosts the ConfigID is NOT optional
- typically, a very selective lock can be forced. In general, for reliability and/or security reasons, OTP areas used to store ConfigIDs may be locked during the manufacturing process.
OTP 1-wire memory[edit | edit source]
This implementation requires a 1-wire memory chip.
I2C Eeprom[edit | edit source]
This implementation requires connecting an EEPROM to an I2C bus of the SOC. Moreover, routing a write protect pin to the SOM connector is required.
NOR Flash SPI[edit | edit source]
This implementation requires a NOR flash connected to the SPI bus of the SOC.
DAVE Embedded Systems' hardware implementation[edit | edit source]
DAVE's SOCs implement the ConfigID feature depending on hardware Capabilities of the SOCs. The following list shows the priority used for its implementation:
- OTPs
- example: AXEL family processor (i.MX6) implements ConfigID using processor's OTP
- AXEL uses GP1 eFuse register to store ConfigID
- NOR Flash SPI
- example: DIVA family processor (AM335x) implements ConfigID using NOR SPI (if present)
- DIVA and BORA use the first 32bytes OTP block on NOR SPI to store ConfigID (and its CRC32), UniqueID (and its CRC32)
- I2C Eeprom
- example: DIVA family processor (AM335x) or BORA Lite processor (ZYNQ) implements ConfigID using I2C Eeprom when NOR SPI is not present (module boots from NAND or SD)
- DIVA and BORA Lite use the first 32bytes on I2C EPROM to store ConfigID (and its CRC32), UniqueID (and its CRC32)
- 1-wire
- example: latest AXEL Lite, AXEL ULite and BORA/BORA Xpress/BORA Lite Evaluation Kits implement CB ConfigID using the onboard 1-wire device (DS2431)
Software implementation[edit | edit source]
U-Boot[edit | edit source]
u-boot integrates the software routines for reading and displaying the ConfigID: hereunder an example of SOM ConfigID at startup:
U-Boot 2013.04-00010-gcb05b30 (Jun 26 2015 - 12:49:26)-xelk-2.1.0 CPU: Freescale i.MX6Q rev1.5 at 792 MHz CPU: Temperature 47 C, limits (-40 C, 125 C), calibration data: 0xc0 Reset cause: POR Environment: SPI Flash I2C: ready DRAM: 2 GiB Now running in RAM - U-Boot at: 8ff35000 NAND: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 SF: Detected S25FL256S with page size 64 KiB, total 32 MiB In: serial Out: serial Err: serial Power: found PFUZE100 (devid=10, revid=21) SOM ConfigID#: 00000003 SOM UniqueID#: df646299:0b0579d4
For accessing these information on Linux procfs, the device tree must be modified (using u-boot fdt command): for example:
DIVA# setenv fdtfixup 'fdt addr ${fdtaddr}; run fdtfixup_configid'
DIVA# setenv fdtfixup_configid 'fdt set / som_configid ${som_configid#}; fdt set / som_uniqueid ${som_uniqueid#}; fdt set / cb_configid ${cb_configid#}; fdt set / cb_uniqueid ${cb_uniqueid#}'
Linux[edit | edit source]
It is possible to read the ConfigID/UniqueID via procfs; for example:
root@axel-lite:~# cat /proc/device-tree/som/configid && echo 00000003 root@axel-lite:~# cat /proc/device-tree/som/uniqueid && echo df646299:0b0579d4 root@axel-lite:~#
Legacy device tree, has a sightly different procfs structure:
root@axel-lite:~# cat /proc/device-tree/som_configid && echo 00000003 root@axel-lite:~# cat /proc/device-tree/som_uniqueid && echo df646299:0b0579d4 root@axel-lite:~#
A real case example of ConfigID benefit[edit | edit source]
The ConfigID benefit is clear when:
- there is a number of products deployed on the field
- the products deployed on the field needs a SW update
The ideal scenario is that all products are equal and there are no differences on the Bill Of Material (BOM):
- All products have the same BOM with a single Config ID
In this case there are no problems to deploy a new SW update on the field: all products have the same HW configuration, then the same SW configuration.
Unfortunately, this is an ideal scenario. The reality is that:
- component obsolescence
- product shortage
- second source strategies
force to have an on-the-field different version of product (with same functionalities but with different HW configuration) which doesn't permit to realize what proposed in the ideal case.
|
The usage of the ConfigID technique, allows the running SW to identify the underlying HW configuration and automatically adapt the BSP (i.e. the driver layer) to properly use the HW subsystems: this, maintaining the overall product features identical to the final User point-of-view. |
- All products are similar BUT there are different Config ID between the 2 product versions
With a scenario, like the one described above, if you would like to update the SW you need to implement a strategy for understanding what platform version is going to be updated. The Config ID is used exactly for this goal.
The ConfigID provides to the software update routine the information on which product version is so the update can be adapted to the exact product version.
In this way, you can distribute one single version of the software update which will automatically adapt itself to the currently running platform.
How to handle After Sales with Config ID[edit | edit source]
One of the mos common questions about Config ID is how to handle the Config ID issue. Below is described with an example how to handle it.
This product is returned from the field with a problem on the display:
After Sales Dept analizes the product and decide to substitute the display. The problem is that the existing display is not available - because of is End Of Life (EOL) - and it is required to move to a different display: in the product a different Config ID will be written because of the 2 displays requires a dedicated SW version and cannot be distinguished automatically during the startup. The final result is to have the similar product:
As indicated, the new display requires a different Config ID (from A to B) so it can be updated with an easy software routine before start the SW update. This Config ID update routine can be implemented in manufacturing facility typically using a dedicated USB pen drive which modify the saved ConfigID to the new one depending on the storage memory in use
ConfigID[edit | edit source]
This article describes how the ConfigID is implemented in the products supported by the DESK-RZ-L Linux Kit.
ZERO[edit | edit source]
As ZERO is a system-on-module (SOM), the typical mechanism described here is used.
System and ConfigID Overview[edit | edit source]
A system is defined by the combination of a System on Module (SOM) and a carrier board. To uniquely identify the actual hardware configuration, two distinct ConfigIDs are used, effectively describing the SOM + carrier board pair as a single system.
For clarity, the two identifiers are named as follows:
- SOM ConfigID: identifies the SOM configuration
- CB ConfigID: identifies the carrier board configuration
Example from the U-Boot boot log[edit | edit source]
... SOM ConfigID#: 00000001 SOM UniqueID#: 00000000:00000000 CB ConfigID#: 00002003 CB UniqueID#: f2000041:21226b2d ...
Meaning of the ConfigIDs[edit | edit source]
In general:
- SOM ConfigID Identifies the SOM variant and its base hardware features, including possible hardware revisions.
- CB ConfigID Identifies the carrier board, defining the available peripherals and I/O interfaces.
ConfigIDs in U-Boot[edit | edit source]
During the U-Boot boot process, the following lines are particularly relevant:
SOM ConfigID#:for example00000001CB ConfigID#:for example00002002
The SOM ConfigID is used to select the correct SOM-specific configuration.
The CB ConfigID is used to select the correct carrier-board-specific configuration, ensuring that the proper peripherals, pin multiplexing, and interfaces are enabled.
This separation allows the same SOM to be safely and correctly used with different carrier boards while preventing incorrect hardware initialization.
ConfigID & BOM Mapping[edit | edit source]
Identifying the SOM and Carrier Board and Their Capabilities[edit | edit source]
The BOM code is printed on the physical label of the board under consideration.
This code, together with the ConfigID, allows unambiguous identification of the System on Module (SOM), the Carrier Board, and the set of hardware features that are available.
SOM ConfigID[edit | edit source]
The following table shows the relationship between the SOM ConfigID, the corresponding BOM, and the SOM description.
| ConfigID | BOM | Description |
|---|---|---|
| 0x00000001 | DSABA30000I1R | SOM spin 1 |
Carrier Board (CB) ConfigID[edit | edit source]
The table below lists the supported Carrier Board configurations, identified by CB ConfigID and BOM.
| ConfigID | BOM | Description |
|---|---|---|
| 2000 | EB23000xI1R | Generic OSM SoM carrier board |
| 2001 | EB23010xI1R | Routing for ZERO SoM – 9-axis motor demo |
| 2002 | EB23020xI1R | Routing for ZERO SoM – full Linux support, no motor interface |
| 2003 | EB23030xI1R | Routing for ZERO SoM – 6 motors only, remaining pins available for Linux peripherals |
This mapping enables the bootloader and the operating system to automatically select the correct hardware configuration, preventing incorrect peripheral initialization and reducing the risk of hardware damage.
Booting from NFS[edit | edit source]
This configuration is very helpful during software development (both for kernel and applications).
The kernel image is downloaded via TFTP while the root file system is remotely mounted via NFS from the host. It is assumed that the development host:
- is connected with the target host board through an Ethernet LAN
- exports the directory containing the root file system for the target through the NFS server
- runs a TFTP server.
- has a proper subnet IP address
net_nfs configuration[edit | edit source]
The Virtual Machine is properly configured for the TFTP and NFS debug.
In any case, some variables have to be configured on the target, and the VM itself has to be configured with respect to the network environment.
Host (Virtual Machine) configuration[edit | edit source]
The Virtual Machine has the tftp and nfs services already running.
Optionally, their configuration has to be changed according to the network configuration to which the target is connected.
Check and properly configure the items described in VirtualBox Network Configuration
Target configuration[edit | edit source]
The IP address for the server and target should be configured: an example (for a network subnet 192.168.0.x)
u-boot=> setenv serverip 192.168.0.89 u-boot=> setenv ipaddr 192.168.0.169 u-boot=> setenv gatewayip 192.168.0.254 u-boot=> setenv netmask 255.255.255.0 u-boot=> setenv netdev eth0
serveripis the IP address of the host machine running the tftp/nfs serveripaddris the IP address of the targetgatewayipis the gateway address of the targetnetmaskis the netmask address of the targetnetdevis the name of the Ethernet interface of the target
For using the DVDK Virtual Machine, a static IP address configuration has been selected. To the U-Boot variable ip_dyn has to be set to no:
u-boot=> setenv ip_dyn no
The kernel and device tree files have to be selected
u-boot=> setenv image boot/Image
AURA has its dtb file boot/rzt2h-eb23-cb2003.dtb or boot/rzt2h-eb23-cb2002.dtb, set the correct DTB to use, example:
u-boot=> setenv fdtfile boot/rzt2h-eb23-cb2003.dtb
Finally, the root file system directory on the Virtual Machine should be configured to let the kernel find the INIT
u-boot=> setenv rootpath /home/dvdk/desk-rz-l/rootfs
To run this configuration, just issue the net_nfs command, which firstly downloads the kernel and device tree using the tftp protocol
u-boot=> setenv net_nfs 'run tftp_loadk tftp_loadfdt nfsargs addip addcons addmisc; sleep 10; booti ${loadaddr} - ${fdtaddr}'
Below is the complete bootlog from nfs:
NOTICE: BL2: v2.7(release):desk-rz-l-1.0.0-rc1-1-gc1c8d8a6f
NOTICE: BL2: Built : 07:26:03, Dec 11 2025
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.7(release):desk-rz-l-1.0.0-rc1-1-gc1c8d8a6f
NOTICE: BL31: Built : 07:26:03, Dec 11 2025
U-Boot 2021.10-desk-rz-l-1.0.0-rc2 (Dec 12 2025 - 13:30:25 +0000)
CPU: Renesas Electronics RZ/T2H
Model: Dave EVK based on r9a09g077m44
DRAM: 7.9 GiB
MMC: mmc@92080000: 0, mmc@92090000: 1
Loading Environment from MMC... OK
In: serial@80005000
Out: serial@80005000
Err: serial@80005000
SOM ConfigID#: 00000001
SOM UniqueID#: 00000000:00000000
CB ConfigID#: 00002003
CB UniqueID#: f2000041:21226b2d
Net:
Warning: ethernet@80100000 (eth0) using random MAC address - 9a:04:71:3c:9d:d1
eth0: ethernet@80100000
Hit any key to stop autoboot: 0
=>
=>
=>
=>
=>
=> run net_nfs
ethernet@80100000 Waiting for PHY auto negotiation to complete...... done
Using ethernet@80100000 device
TFTP from server 192.168.0.169; our IP address is 192.168.0.168
Filename 'boot/Image'.
Load address: 0xc4200000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##########################################
659.2 KiB/s
done
Bytes transferred = 20646400 (13b0a00 hex)
Using ethernet@80100000 device
TFTP from server 192.168.0.169; our IP address is 192.168.0.168
Filename 'boot/rzt2h-eb23-cb2003.dtb'.
Load address: 0xc5f00000
Loading: ###
644.5 KiB/s
done
Bytes transferred = 36311 (8dd7 hex)
## Flattened Device Tree blob at c5f00000
Booting using the fdt blob at 0xc5f00000
Loading Device Tree to 00000000cfff4000, end 00000000cffffdd6 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[ 0.000000] Linux version 5.10.145-desk-rz-l-1.0.0-rc2-cip17-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 SMP PREEMPT Fri Dec 12 13:34:53 UTC 2025
[ 0.000000] Machine model: renesas,r9a09g077
[ 0.000000] earlycon: sci0 at MMIO 0x0000000080005000 (options '115200n8')
[ 0.000000] printk: bootconsole [sci0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000d0000000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma@D0000000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000003ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] node 0: [mem 0x0000000240000000-0x00000003ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000c4000000-0x00000003ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 23 pages/cpu s55512 r8192 d30504 u94208
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2048256
[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.169:/home/dvdk/desk-rz-l/rootfs,v3,tcp ip=192.168.0.168:192.168.0.169:192.168.0.254:255.255.255.0:desk-rz:eth0:off panic=1 earlycon
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[ 0.000000] Memory: 7814164K/8323072K available (12928K kernel code, 1090K rwdata, 3800K rodata, 2240K init, 416K bss, 246764K reserved, 262144K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: 960 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000083040000
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000007] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008279] Console: colour dummy device 80x25
[ 0.012751] printk: console [tty0] enabled
[ 0.016879] printk: bootconsole [sci0] disabled
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[ 0.000000] Linux version 5.10.145-desk-rz-l-1.0.0-rc2-cip17-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 SMP PREEMPT Fri Dec 12 13:34:53 UTC 2025
[ 0.000000] Machine model: renesas,r9a09g077
[ 0.000000] earlycon: sci0 at MMIO 0x0000000080005000 (options '115200n8')
[ 0.000000] printk: bootconsole [sci0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000d0000000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma@D0000000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000003ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] node 0: [mem 0x0000000240000000-0x00000003ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000c4000000-0x00000003ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 23 pages/cpu s55512 r8192 d30504 u94208
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2048256
[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.169:/home/dvdk/desk-rz-l/rootfs,v3,tcp ip=192.168.0.168:192.168.0.169:192.168.0.254:255.255.255.0:desk-rz:eth0:off panic=1 earlycon
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[ 0.000000] Memory: 7814164K/8323072K available (12928K kernel code, 1090K rwdata, 3800K rodata, 2240K init, 416K bss, 246764K reserved, 262144K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: 960 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000083040000
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000007] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008279] Console: colour dummy device 80x25
[ 0.012751] printk: console [tty0] enabled
[ 0.016879] printk: bootconsole [sci0] disabled
[ 0.021470] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000)
[ 0.021508] pid_max: default: 32768 minimum: 301
[ 0.021761] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.021827] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.024176] rcu: Hierarchical SRCU implementation.
[ 0.025098] Detected Renesas RZ/T2H r9a09g077
[ 0.135774] renesas,rzt2h-mitigation: Successed Initialization
[ 0.135811] EFI services will not be available.
[ 0.136340] smp: Bringing up secondary CPUs ...
[ 0.137067] Detected VIPT I-cache on CPU1
[ 0.137111] GICv3: CPU1: found redistributor 100 region 0:0x0000000083060000
[ 0.137152] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[ 0.137978] Detected VIPT I-cache on CPU2
[ 0.138014] GICv3: CPU2: found redistributor 200 region 0:0x0000000083080000
[ 0.138050] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[ 0.138858] Detected VIPT I-cache on CPU3
[ 0.138889] GICv3: CPU3: found redistributor 300 region 0:0x00000000830a0000
[ 0.138925] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[ 0.139052] smp: Brought up 1 node, 4 CPUs
[ 0.139184] SMP: Total of 4 processors activated.
[ 0.139207] CPU features: detected: Privileged Access Never
[ 0.139227] CPU features: detected: LSE atomic instructions
[ 0.139247] CPU features: detected: User Access Override
[ 0.139267] CPU features: detected: 32-bit EL0 Support
[ 0.139286] CPU features: detected: Common not Private translations
[ 0.139308] CPU features: detected: Data cache clean to the PoU not required for I/D coherence
[ 0.139335] CPU features: detected: CRC32 instructions
[ 0.139354] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[ 0.139377] CPU features: detected: 32-bit EL1 Support
[ 0.168628] CPU: All CPU(s) started at EL1
[ 0.168687] alternatives: patching kernel code
[ 0.171609] devtmpfs: initialized
[ 0.181001] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.181049] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.193139] pinctrl core: initialized pinctrl subsystem
[ 0.194170] DMI not present or invalid.
[ 0.194910] NET: Registered protocol family 16
[ 0.196850] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[ 0.197169] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.197816] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.197907] audit: initializing netlink subsys (disabled)
[ 0.198171] audit: type=2000 audit(0.188:1): state=initialized audit_enabled=0 res=1
[ 0.198903] thermal_sys: Registered thermal governor 'step_wise'
[ 0.199272] cpuidle: using governor menu
[ 0.199539] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.199692] ASID allocator initialised with 65536 entries
[ 0.229348] gpio-337 (pcie_rstout0): hogged as output/high
[ 0.229397] gpio-269 (pcie_rstout1): hogged as output/high
[ 0.229838] pinctrl-rzt2h 802c0000.pinctrl: pinctrl-rzt2h support registered
[ 0.243121] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.243154] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.243180] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.243205] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.245664] cryptd: max_cpu_qlen set to 1000
[ 0.253909] iommu: Default domain type: Translated
[ 0.255152] vgaarb: loaded
[ 0.255555] SCSI subsystem initialized
[ 0.256026] usbcore: registered new interface driver usbfs
[ 0.256105] usbcore: registered new interface driver hub
[ 0.256168] usbcore: registered new device driver usb
[ 0.257023] mc: Linux media interface: v0.10
[ 0.257083] videodev: Linux video capture interface: v2.00
[ 0.257195] pps_core: LinuxPPS API ver. 1 registered
[ 0.257218] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.257264] PTP clock support registered
[ 0.258119] sh_cmt 80080000.timer: ch0: used for clock events
[ 0.258156] sh_cmt 80080000.timer: ch1: used as clock source
[ 0.258183] clocksource: 80080000.timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 238904522 ns
[ 0.258732] sh_cmt 80080400.timer: ch0: used for clock events
[ 0.258763] sh_cmt 80080400.timer: ch1: used as clock source
[ 0.258788] clocksource: 80080400.timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 238904522 ns
[ 0.259206] sh_cmt 80080800.timer: ch0: used for clock events
[ 0.259237] sh_cmt 80080800.timer: ch1: used as clock source
[ 0.259262] clocksource: 80080800.timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 238904522 ns
[ 0.259648] sh_cmt 80081000.timer: ch0: used for clock events
[ 0.259678] sh_cmt 80081000.timer: ch0: used as clock source
[ 0.259703] clocksource: 80081000.timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 244641337159 ns
[ 0.260092] sh_cmt 80081400.timer: ch0: used for clock events
[ 0.260122] sh_cmt 80081400.timer: ch0: used as clock source
[ 0.260147] clocksource: 80081400.timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 244641337159 ns
[ 0.260917] Advanced Linux Sound Architecture Driver Initialized.
[ 0.261724] Bluetooth: Core ver 2.22
[ 0.261781] NET: Registered protocol family 31
[ 0.261803] Bluetooth: HCI device and connection manager initialized
[ 0.261832] Bluetooth: HCI socket layer initialized
[ 0.261856] Bluetooth: L2CAP socket layer initialized
[ 0.261892] Bluetooth: SCO socket layer initialized
[ 0.262650] clocksource: Switched to clocksource arch_sys_counter
[ 0.262904] VFS: Disk quotas dquot_6.6.0
[ 0.262990] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.273253] NET: Registered protocol family 2
[ 0.273648] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.279084] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[ 0.279232] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.279952] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[ 0.281124] TCP: Hash tables configured (established 65536 bind 65536)
[ 0.281305] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.281521] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.281888] NET: Registered protocol family 1
[ 0.282534] RPC: Registered named UNIX socket transport module.
[ 0.282560] RPC: Registered udp transport module.
[ 0.282579] RPC: Registered tcp transport module.
[ 0.282597] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.283762] PCI: CLS 0 bytes, default 64
[ 0.284867] kvm [1]: HYP mode not available
[ 0.286997] Initialise system trusted keyrings
[ 0.287226] workingset: timestamp_bits=46 max_order=21 bucket_order=0
[ 0.297121] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.298110] NFS: Registering the id_resolver key type
[ 0.298162] Key type id_resolver registered
[ 0.298182] Key type id_legacy registered
[ 0.298330] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.298358] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.298414] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.370385] Key type asymmetric registered
[ 0.370411] Asymmetric key parser 'x509' registered
[ 0.370472] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.370502] io scheduler mq-deadline registered
[ 0.370522] io scheduler kyber registered
[ 0.374264] poeg-rzg2l 90019000.poega: RZ/G2L POEG Driver probed
[ 0.374537] poeg-rzg2l 90019400.poegb: RZ/G2L POEG Driver probed
[ 0.374802] poeg-rzg2l 90019800.poegc: RZ/G2L POEG Driver probed
[ 0.375031] poeg-rzg2l 90019c00.poegd: RZ/G2L POEG Driver probed
[ 0.376686] rzt2h-pcie 92100000.pcie: host bridge /soc/pcie@92100000 ranges:
[ 0.376752] rzt2h-pcie 92100000.pcie: MEM 0x0400000000..0x040fffffff -> 0x00a0000000
[ 0.376828] rzt2h-pcie 92100000.pcie: IB MEM 0x00c4000000..0x00ffffffff -> 0x00c4000000
[ 0.376875] rzt2h-pcie 92100000.pcie: IB MEM 0x0240000000..0x03ffffffff -> 0x0240000000
[ 0.377378] rzt2h-pcie 92100000.pcie: pcie set lane config: num-lanes=1, val=0x300
[ 0.458681] rzt2h-pcie 92100000.pcie: PCIe Linx status [0x106]n
[ 0.458711] rzt2h-pcie 92100000.pcie: PCIe x1: link up Lane number
[ 0.460722] rzt2h-pcie 92100000.pcie: Current link speed is 5.0 GT/s
[ 0.460909] rzt2h-pcie 92100000.pcie: PCI host bridge to bus 0000:00
[ 0.460942] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.460972] pci_bus 0000:00: root bus resource [mem 0x400000000-0x40fffffff] (bus address [0xa0000000-0xafffffff])
[ 0.461048] pci 0000:00:00.0: [1912:1135] type 01 class 0x060400
[ 0.461146] pci 0000:00:00.0: PME# supported from D0 D3hot
[ 0.464303] pci 0000:01:00.0: [1912:0015] type 00 class 0x0c0330
[ 0.464469] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
[ 0.465073] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[ 0.477317] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[ 0.477381] pci 0000:00:00.0: BAR 14: assigned [mem 0x400000000-0x4000fffff]
[ 0.477418] pci 0000:01:00.0: BAR 0: assigned [mem 0x400000000-0x400001fff 64bit]
[ 0.477520] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.477549] pci 0000:00:00.0: bridge window [mem 0x400000000-0x4000fffff]
[ 0.477752] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[ 0.477965] pcieport 0000:00:00.0: PME: Signaling with IRQ 139
[ 0.478351] pci 0000:01:00.0: enabling device (0000 -> 0002)
[ 0.478842] rzt2h-pcie 92110000.pcie: host bridge /soc/pcie@92110000 ranges:
[ 0.478906] rzt2h-pcie 92110000.pcie: MEM 0x0600000000..0x060fffffff -> 0x00b0000000
[ 0.478980] rzt2h-pcie 92110000.pcie: IB MEM 0x00c4000000..0x00ffffffff -> 0x00c4000000
[ 0.479028] rzt2h-pcie 92110000.pcie: IB MEM 0x0240000000..0x03ffffffff -> 0x0240000000
[ 0.479376] rzt2h-pcie 92110000.pcie: pcie set lane config: num-lanes=1, val=0x300
[ 0.562675] rzt2h-pcie 92110000.pcie: PCIe Linx status [0x102]n
[ 0.562704] rzt2h-pcie 92110000.pcie: PCIe x1: link up Lane number
[ 0.564308] rzt2h-pcie 92110000.pcie: PCI host bridge to bus 0001:00
[ 0.564341] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 0.564371] pci_bus 0001:00: root bus resource [mem 0x600000000-0x60fffffff] (bus address [0xb0000000-0xbfffffff])
[ 0.564437] pci 0001:00:00.0: [1912:1135] type 01 class 0x060400
[ 0.564523] pci 0001:00:00.0: PME# supported from D0 D3hot
[ 0.567643] pci 0001:01:00.0: [1b4b:2b42] type 00 class 0x020000
[ 0.567808] pci 0001:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
[ 0.567921] pci 0001:01:00.0: reg 0x18: [mem 0x00000000-0x000fffff 64bit pref]
[ 0.568530] pci 0001:01:00.0: supports D1 D2
[ 0.568554] pci 0001:01:00.0: PME# supported from D0 D1 D3hot D3cold
[ 0.568831] pci 0001:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0001:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[ 0.581320] pci_bus 0001:01: busn_res: [bus 01-ff] end is updated to 01
[ 0.581379] pci 0001:00:00.0: BAR 15: assigned [mem 0x600000000-0x6001fffff 64bit pref]
[ 0.581419] pci 0001:01:00.0: BAR 0: assigned [mem 0x600000000-0x6000fffff 64bit pref]
[ 0.581525] pci 0001:01:00.0: BAR 2: assigned [mem 0x600100000-0x6001fffff 64bit pref]
[ 0.581626] pci 0001:00:00.0: PCI bridge to [bus 01]
[ 0.581655] pci 0001:00:00.0: bridge window [mem 0x600000000-0x6001fffff 64bit pref]
[ 0.581846] pcieport 0001:00:00.0: enabling device (0000 -> 0002)
[ 0.582040] pcieport 0001:00:00.0: PME: Signaling with IRQ 175
[ 0.582904] switchtec: loaded.
[ 0.584009] rz-dmac 800c0000.dma-controller: assigned reserved memory node linux,cma@D0000000
[ 0.584908] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0300000
[ 0.585429] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0301000
[ 0.585928] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0302000
[ 0.586431] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0303000
[ 0.586921] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0304000
[ 0.587424] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0305000
[ 0.587917] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0306000
[ 0.588412] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0307000
[ 0.588918] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0308000
[ 0.589410] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0309000
[ 0.589915] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030a000
[ 0.590413] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030b000
[ 0.590952] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030c000
[ 0.591450] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030d000
[ 0.591975] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030e000
[ 0.592469] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030f000
[ 0.593932] rz-dmac 800c1000.dma-controller: Init reserved memory failed.
[ 0.594051] rz-dmac 800c2000.dma-controller: Init reserved memory failed.
[ 0.660844] SuperH (H)SCI(F) driver initialized
[ 0.661417] Renesas SCI(F) driver initialized
[ 0.661784] 80005000.serial: ttySC0 at MMIO 0x80005000 (irq = 14, base_baud = 0) is a scif
[ 2.239484] printk: console [ttySC0] enabled
[ 2.244625] 80005c00.serial: ttySC3 at MMIO 0x80005c00 (irq = 18, base_baud = 0) is a scif
[ 2.253825] 81005000.serial: ttySC5 at MMIO 0x81005000 (irq = 22, base_baud = 0) is a sci
[ 2.278618] loop: module loaded
[ 2.285466] tun: Universal TUN/TAP device driver, 1.6
[ 2.290813] CAN device driver interface
[ 2.295610] rcar_canfd 80040000.can: can_clk rate is 125000000
[ 2.302157] rcar_canfd 80040000.can: device registered (channel 0)
[ 2.308456] rcar_canfd 80040000.can: can_clk rate is 125000000
[ 2.314950] rcar_canfd 80040000.can: device registered (channel 1)
[ 2.321186] rcar_canfd 80040000.can: global operational state (clk 0, fdmode 0)
[ 2.329191] e1000e: Intel(R) PRO/1000 Network Driver
[ 2.334198] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2.340990] rzt2h_ethss 80110000.ethss: SWITCH_MANAGEMENT_PORT: NONE
[ 2.347404] rzt2h_ethss 80110000.ethss: CONV0: GMAC0_PORT
[ 2.352851] rzt2h_ethss 80110000.ethss: CONV1: GMAC1_PORT
[ 2.358297] rzt2h_ethss 80110000.ethss: CONV2: GMAC2_PORT
[ 2.363737] rzt2h_ethss 80110000.ethss: CONV3: NONE
[ 2.368791] rzt2h_ethss 80110000.ethss: ETH Subsystem running in mode 0x7
[ 2.375633] rzt2h_ethss 80110000.ethss: ETH Subsystem probed OK
[ 2.382294] dwc-eth-dwmac 80100000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 2.392077] dwc-eth-dwmac 80100000.ethernet: PTP uses main clock
[ 2.398137] dwc-eth-dwmac 80100000.ethernet: no reset control found
[ 2.404921] dwc-eth-dwmac 92000000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 2.414689] dwc-eth-dwmac 92000000.ethernet: PTP uses main clock
[ 2.420748] dwc-eth-dwmac 92000000.ethernet: no reset control found
[ 2.427495] dwc-eth-dwmac 92010000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 2.437259] dwc-eth-dwmac 92010000.ethernet: PTP uses main clock
[ 2.443317] dwc-eth-dwmac 92010000.ethernet: no reset control found
[ 2.450775] VFIO - User Level meta-driver version: 0.3
[ 2.456279] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.462885] ehci-pci: EHCI PCI platform driver
[ 2.467441] ehci-platform: EHCI generic platform driver
[ 2.498811] ehci-platform 92040100.usb: EHCI Host Controller
[ 2.504549] ehci-platform 92040100.usb: new USB bus registered, assigned bus number 1
[ 2.512545] ehci-platform 92040100.usb: irq 25, io mem 0x92040100
[ 2.534681] ehci-platform 92040100.usb: USB 2.0 started, EHCI 1.10
[ 2.541717] hub 1-0:1.0: USB hub found
[ 2.545546] hub 1-0:1.0: 1 port detected
[ 2.550343] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.556597] ohci-pci: OHCI PCI platform driver
[ 2.561146] ohci-platform: OHCI generic platform driver
[ 2.566725] ohci-platform 92040000.usb: Generic Platform OHCI controller
[ 2.573519] ohci-platform 92040000.usb: new USB bus registered, assigned bus number 2
[ 2.581502] ohci-platform 92040000.usb: irq 25, io mem 0x92040000
[ 2.677415] hub 2-0:1.0: USB hub found
[ 2.681253] hub 2-0:1.0: 1 port detected
[ 2.686360] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 2.691661] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 3
[ 2.704494] xhci_hcd 0000:01:00.0: hcc params 0x014051cf hci version 0x100 quirks 0x0000001100000090
[ 2.715028] hub 3-0:1.0: USB hub found
[ 2.718875] hub 3-0:1.0: 2 ports detected
[ 2.723548] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 2.728836] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 4
[ 2.736306] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[ 2.742743] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[ 2.751597] hub 4-0:1.0: USB hub found
[ 2.755435] hub 4-0:1.0: 2 ports detected
[ 2.760615] usbcore: registered new interface driver usb-storage
[ 2.767106] renesas_usbhs 92041000.usb: host probed
[ 2.772048] renesas_usbhs 92041000.usb: no transceiver found
[ 2.777918] renesas_usbhs 92041000.usb: gadget probed
[ 2.783342] renesas_usbhs 92041000.usb: probed
[ 2.789019] usbcore: registered new interface driver usbtouchscreen
[ 2.795942] rtc rtc0: invalid alarm value: 1900-01-01T00:00:00
[ 2.802293] rzt2h-rtc 81009000.rtc: registered as rtc0
[ 2.807521] rzt2h-rtc 81009000.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
[ 2.816541] i2c /dev entries driver
[ 2.823869] pca953x 0-0074: using no AI
[ 2.830609] pca953x 0-0075: using no AI
[ 2.837680] pca953x 0-0076: using no AI
[ 2.844598] i2c-riic 80088000.i2c: registered with 100000Hz bus speed
[ 2.855089] Driver for 1-wire Dallas network protocol.
[ 2.860532] gpio-277 (onewire): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[ 2.897348] w1_master_driver w1_bus_master1: Attaching one wire slave 2d.00004121226b crc f2
[ 2.906965] ina2xx 0-0044: power monitor ina226 (Rshunt = 9000 uOhm)
[ 2.914566] ina2xx 0-0045: power monitor ina226 (Rshunt = 9000 uOhm)
[ 2.925267] Bluetooth: HCI UART driver ver 2.3
[ 2.929770] Bluetooth: HCI UART protocol H4 registered
[ 2.935037] usbcore: registered new interface driver btusb
[ 2.942155] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.942195] renesas_sdhi_internal_dmac 92080000.mmc: Got CD GPIO
[ 2.948207] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[ 2.961535] usbcore: registered new interface driver usbhid
[ 2.967137] usbhid: USB HID core driver
[ 2.972078] spi-nor spi0.0: w25q256jwm (32768 Kbytes)
[ 2.977180] 4 fixed-partitions partitions found on MTD device spi0.0
[ 2.983560] Creating 4 MTD partitions on "spi0.0":
[ 2.988373] 0x000000000000-0x000000060000 : "atf"
[ 2.990098] renesas_sdhi_internal_dmac 92090000.mmc: mmc1 base at 0x0000000092090000, max clock rate 200 MHz
[ 2.995298] 0x000000060000-0x000000120000 : "fip"
[ 3.002568] renesas_sdhi_internal_dmac 92080000.mmc: mmc0 base at 0x0000000092080000, max clock rate 200 MHz
[ 3.019264] 0x000000120000-0x000000140000 : "env"
[ 3.026299] 0x000000140000-0x0000003c0000 : "data"
[ 3.035976] GACT probability NOT on
[ 3.039857] netem: version 1.3
[ 3.042974] u32 classifier
[ 3.045685] input device check on
[ 3.049367] Actions configured
[ 3.053906] NET: Registered protocol family 10
[ 3.059082] Segment Routing with IPv6
[ 3.062860] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.069193] NET: Registered protocol family 17
[ 3.070999] mmc0: new high speed SDHC card at address aaaa
[ 3.073809] can: controller area network core
[ 3.079547] mmcblk0: mmc0:aaaa SA16G 14.8 GiB
[ 3.083585] NET: Registered protocol family 29
[ 3.090218] mmcblk0: p1 p2
[ 3.092507] can: raw protocol
[ 3.098274] can: broadcast manager protocol
[ 3.102490] can: netlink gateway - max_hops=1
[ 3.106985] 8021q: 802.1Q VLAN Support v1.8
[ 3.111374] Key type dns_resolver registered
[ 3.115966] registered taskstats version 1
[ 3.120103] Loading compiled-in X.509 certificates
[ 3.131408] thermal emergency: set temperature to 110 celsius
[ 3.134992] mmc1: new high speed MMC card at address 0001
[ 3.137285] thermal emergency: shutdown target cpus 1-3
[ 3.143530] mmcblk1: mmc1:0001 DG4008 7.28 GiB
[ 3.147875] thermal emergency: freq scaled target cpus 0
[ 3.152544] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
[ 3.163200] dwc-eth-dwmac 80100000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 3.164108] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
[ 3.173422] dwc-eth-dwmac 80100000.ethernet: PTP uses main clock
[ 3.179463] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB, chardev (242:0)
[ 3.185368] dwc-eth-dwmac 80100000.ethernet: no reset control found
[ 3.200438] dwc-eth-dwmac 80100000.ethernet: GMAC use ETHSW timer 0 for PTP
[ 3.207621] dwc-eth-dwmac 80100000.ethernet: User ID: 0x0, Synopsys ID: 0x52
[ 3.214719] dwc-eth-dwmac 80100000.ethernet: DWMAC4/5
[ 3.219887] dwc-eth-dwmac 80100000.ethernet: DMA HW capability register supported
[ 3.227403] dwc-eth-dwmac 80100000.ethernet: RX Checksum Offload Engine supported
[ 3.234916] dwc-eth-dwmac 80100000.ethernet: Wake-Up On Lan supported
[ 3.241429] dwc-eth-dwmac 80100000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.249475] dwc-eth-dwmac 80100000.ethernet: device MAC address 9a:04:71:3c:9d:d1
[ 3.256991] dwc-eth-dwmac 80100000.ethernet: Enabled Flow TC (entries=8)
[ 3.263727] dwc-eth-dwmac 80100000.ethernet: Using 32 bits DMA width
[ 3.273792] dwc-eth-dwmac 92000000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 3.283536] dwc-eth-dwmac 92000000.ethernet: PTP uses main clock
[ 3.289571] dwc-eth-dwmac 92000000.ethernet: no reset control found
[ 3.296956] dwc-eth-dwmac 92000000.ethernet: GMAC use ETHSW timer 0 for PTP
[ 3.304087] dwc-eth-dwmac 92000000.ethernet: User ID: 0x0, Synopsys ID: 0x52
[ 3.311178] dwc-eth-dwmac 92000000.ethernet: DWMAC4/5
[ 3.316345] dwc-eth-dwmac 92000000.ethernet: DMA HW capability register supported
[ 3.323863] dwc-eth-dwmac 92000000.ethernet: RX Checksum Offload Engine supported
[ 3.331382] dwc-eth-dwmac 92000000.ethernet: Wake-Up On Lan supported
[ 3.337889] dwc-eth-dwmac 92000000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.345941] dwc-eth-dwmac 92000000.ethernet: device MAC address 5e:71:b6:1a:f4:69
[ 3.353464] dwc-eth-dwmac 92000000.ethernet: Enabled Flow TC (entries=8)
[ 3.360204] dwc-eth-dwmac 92000000.ethernet: Using 32 bits DMA width
[ 3.382924] dwc-eth-dwmac 92010000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 3.392675] dwc-eth-dwmac 92010000.ethernet: PTP uses main clock
[ 3.398712] dwc-eth-dwmac 92010000.ethernet: no reset control found
[ 3.406104] dwc-eth-dwmac 92010000.ethernet: GMAC use ETHSW timer 0 for PTP
[ 3.413248] dwc-eth-dwmac 92010000.ethernet: User ID: 0x0, Synopsys ID: 0x52
[ 3.420343] dwc-eth-dwmac 92010000.ethernet: DWMAC4/5
[ 3.425511] dwc-eth-dwmac 92010000.ethernet: DMA HW capability register supported
[ 3.433029] dwc-eth-dwmac 92010000.ethernet: RX Checksum Offload Engine supported
[ 3.440548] dwc-eth-dwmac 92010000.ethernet: Wake-Up On Lan supported
[ 3.447063] dwc-eth-dwmac 92010000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.455115] dwc-eth-dwmac 92010000.ethernet: device MAC address 86:21:60:f3:be:a6
[ 3.462648] dwc-eth-dwmac 92010000.ethernet: Enabled Flow TC (entries=8)
[ 3.469388] dwc-eth-dwmac 92010000.ethernet: Using 32 bits DMA width
[ 3.610541] dwc-eth-dwmac 80100000.ethernet eth0: PHY [stmmac-ethernet@80100000-0:00] driver [Microsemi VSC8541 SyncE] (irq=POLL)
[ 3.624689] dwmac4: Master AXI performs any burst length
[ 3.630104] dwc-eth-dwmac 80100000.ethernet eth0: No Safety Features support found
[ 3.637726] dwc-eth-dwmac 80100000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported
[ 3.646528] dwc-eth-dwmac 80100000.ethernet eth0: registered PTP clock
[ 3.653409] dwc-eth-dwmac 80100000.ethernet eth0: configuring for phy/rgmii-id link mode
[ 3.662014] 8021q: adding VLAN 0 to HW filter on device eth0
[ 6.729134] dwc-eth-dwmac 80100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 6.738680] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 6.762658] IP-Config: Complete:
[ 6.765904] device=eth0, hwaddr=9a:04:71:3c:9d:d1, ipaddr=192.168.0.168, mask=255.255.255.0, gw=192.168.0.254
[ 6.776306] host=desk-rz, domain=, nis-domain=(none)
[ 6.781735] bootserver=192.168.0.169, rootserver=192.168.0.169, rootpath=
[ 6.781906] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 6.798467] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 6.805113] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 6.806728] ALSA device list:
[ 6.813772] cfg80211: failed to load regulatory.db
[ 6.816757] No soundcards found.
[ 7.751240] dwc-eth-dwmac 80100000.ethernet eth0: Link is Down
[ 10.825233] dwc-eth-dwmac 80100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 16.148896] VFS: Mounted root (nfs filesystem) on device 0:19.
[ 16.156898] devtmpfs: mounted
[ 16.160967] Freeing unused kernel memory: 2240K
[ 16.170709] Run /sbin/init as init process
[ 17.242194] systemd[1]: System time before build time, advancing clock.
[ 17.332746] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[ 17.354995] systemd[1]: Detected architecture arm64.
Welcome to Poky (Yocto Project Reference Distro) 3.1.31 (dunfell)!
[ 17.419610] systemd[1]: Set hostname to <desk-t2h-usd-devel>.
[ 17.448710] random: systemd: uninitialized urandom read (16 bytes read)
[ 17.455437] systemd[1]: Initializing machine ID from random generator.
[ 19.391897] random: systemd: uninitialized urandom read (16 bytes read)
[ 19.398803] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 19.411214] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[ 19.422166] systemd[1]: Created slice system-getty.slice.
[ OK ] Created slice system-getty.slice.
[ 19.442824] random: systemd: uninitialized urandom read (16 bytes read)
[ 19.450400] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ 19.470749] random: systemd: uninitialized urandom read (16 bytes read)
[ 19.478231] systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
[ 19.498950] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
[ 19.522894] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password R…uests to Wall Directory Watch.
[ 19.546866] systemd[1]: Reached target Host and Network Name Lookups.
[ OK ] Reached target Host and Network Name Lookups.
[ 19.570768] systemd[1]: Reached target Paths.
[ OK ] Reached target Paths.
[ 19.590763] systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
[ 19.610760] systemd[1]: Reached target Slices.
[ OK ] Reached target Slices.
[ 19.630767] systemd[1]: Reached target Swap.
[ OK ] Reached target Swap.
[ 19.657550] systemd[1]: Listening on RPCbind Server Activation Socket.
[ OK ] Listening on RPCbind Server Activation Socket.
[ 19.682778] systemd[1]: Reached target RPC Port Mapper.
[ OK ] Reached target RPC Port Mapper.
[ 19.707371] systemd[1]: Listening on Syslog Socket.
[ OK ] Listening on Syslog Socket.
[ 19.726944] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ 19.753361] systemd[1]: Listening on Journal Audit Socket.
[ OK ] Listening on Journal Audit Socket.
[ 19.775037] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 19.799118] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 19.820847] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 19.847536] systemd[1]: Listening on udev Control Socket.
[ OK ] Listening on udev Control Socket.
[ 19.870969] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 19.894191] systemd[1]: Mounting Huge Pages File System...
Mounting Huge Pages File System...
[ 19.918246] systemd[1]: Mounting POSIX Message Queue File System...
Mounting POSIX Message Queue File System...
[ 19.942276] systemd[1]: Mounting Kernel Debug File System...
Mounting Kernel Debug File System...
[ 19.978584] systemd[1]: Mounting Temporary Directory (/tmp)...
Mounting Temporary Directory (/tmp)...
[ 20.011354] systemd[1]: Starting Create list of static device nodes for the current kernel...
Starting Create list of st…odes for the current kernel...
[ 20.054564] systemd[1]: Starting RPC Bind...
Starting RPC Bind...
[ 20.079066] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 20.093040] systemd[1]: Starting Journal Service...
Starting Journal Service...
[ 20.141135] systemd[1]: Condition check resulted in Load Kernel Modules being skipped.
[ 20.152559] systemd[1]: Mounting NFSD configuration filesystem...
Mounting NFSD configuration filesystem...
[ 20.175331] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[ 20.187303] systemd[1]: Mounting Kernel Configuration File System...
Mounting Kernel Configuration File System...
[ 20.218560] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems...
[ 20.246145] systemd[1]: Starting Apply Kernel Variables...
Starting Apply Kernel Variables...
[ 20.270486] systemd[1]: Starting udev Coldplug all Devices...
Starting udev Coldplug all Devices...
[ 20.295232] systemd[1]: Mounted Huge Pages File System.
[ OK ] Mounted Huge Pages File System.
[ 20.315543] systemd[1]: Mounted POSIX Message Queue File System.
[ OK ] Mounted POSIX Message Queue File System.
[ 20.340537] systemd[1]: Mounted Kernel Debug File System.
[ OK ] Mounted Kernel Debug File System.
[ 20.364484] systemd[1]: Started RPC Bind.
[ OK ] Started RPC Bind.
[ 20.383311] systemd[1]: Mounted Temporary Directory (/tmp).
[ OK ] Mounted Temporary Directory (/tmp).
[ 20.414398] systemd[1]: Started Create list of static device nodes for the current kernel.
[ OK ] Started Create list of sta… nodes for the current kernel.
[ 20.434718] random: systemd-journal: uninitialized urandom read (16 bytes read)
[ 20.442365] random: systemd-journal: uninitialized urandom read (16 bytes read)
[ 20.450795] random: systemd-journal: uninitialized urandom read (16 bytes read)
[ 20.451250] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[FAILED] Failed to mount NFSD configuration filesystem.
See 'systemctl status proc-fs-nfsd.mount' for details.
[DEPEND] Dependency failed for NFS Mount Daemon.
[DEPEND] Dependency failed for NFS server and services.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Started Apply Kernel Variables.
Starting Flush Journal to Persistent Storage...
Starting Create System Users...
[ 20.760775] systemd-journald[236]: Received client request to flush runtime journal.
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Started Create System Users.
Starting Create Static Device Nodes in /dev...
Starting udev Wait for Complete Device Initialization...
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Reached target Local File Systems (Pre).
Mounting /var/volatile...
[ 21.450808] random: systemd: uninitialized urandom read (16 bytes read)
Startin[ 21.461792] random: systemd-journal: uninitialized urandom read (16 bytes read)
g udev Kernel Device Manager...
[ OK ] Mounted /var/volatile.
[ 21.578695] random: systemd: uninitialized urandom read (16 bytes read)
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems.
Starting Rebuild Dynamic Linker Cache...
Starting Create Volatile Files and Directories...
[ OK ] Started Rebuild Dynamic Linker Cache.
[ OK ] Started udev Kernel Device Manager.
[ OK ] Reached target Hardware activated USB gadget.
[ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[ 22.860463] mwifiex_pcie 0001:01:00.0: enabling device (0000 -> 0002)
[ 22.915186] mwifiex_pcie: PCI memory map Virt0: (____ptrval____) PCI memory map Virt2: (____ptrval____)
[ 22.922680] random: crng init done
[ 22.928067] random: 116 urandom warning(s) missed due to ratelimiting
[ OK ] Started Load/Save Random Seed.
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Started udev Wait for Complete Device Initialization.
[ OK ] Started Hardware RNG Entropy Gatherer Daemon.
Starting Run pending postinsts...
Starting Rebuild Journal Catalog...
[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.
[ OK ] Reached target System Time Set.
[ OK ] Reached target System Time Synchronized.
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Stopped Network Time Synchronization.
[ 23.957680] mwifiex_pcie 0001:01:00.0: info: FW download over, size 632240 bytes
[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.
[ OK ] Started Rebuild Journal Catalog.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.
Starting Update is Completed...
[ OK ] Stopped Network Time Synchronization.
[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.
[ OK ] Started Update is Completed.
[ OK ] Started Run pending postinsts.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily rotation of log files.
[ 24.834668] mwifiex_pcie 0001:01:00.0: WLAN FW is active
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ 24.895515] mwifiex_pcie 0001:01:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p179)
Starting sshd.socket.
[ 24.908050] mwifiex_pcie 0001:01:00.0 wlP1p1s0: renamed from mlan0
Startin[ 24.921324] mwifiex_pcie 0001:01:00.0: driver_version = mwifiex 1.0 (16.68.1.p179)
g Load/Save RF Kill Switch Status...
[ OK ] Listening on sshd.socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
[ OK ] Started Job spooling tools.
[ OK ] Started Periodic Command Scheduler.
[ OK ] Started D-Bus System Message Bus.
Starting IPv6 Packet Filtering Framework...
Starting IPv4 Packet Filtering Framework...
Starting Network Time Service (one-shot ntpdate mode)...
Starting Telephony service...
Starting rng-tools.service...
[ OK ] Started System Logging Service.
[FAILED] Failed to start Login Service.
See 'systemctl status systemd-logind.service' for details.
[ OK ] Started VIN initializing setting.
Starting OpenSSH Key Generation...
[ OK ] Started Load/Save RF Kill Switch Status.
[ OK ] Started IPv6 Packet Filtering Framework.
[ OK ] Started IPv4 Packet Filtering Framework.
[ OK ] Started Network Time Service (one-shot ntpdate mode).
syslogd[329]: Error opening log file: /var/log/auth.log: No such file or directory
syslogd[329]: Error opening log file: /var/log/syslog: No such file or directory
[ OK ] Started rng-tools.service.
syslogd[329]: Error opening log file: /var/log/kern.log: No such file or directory
syslogd[329]: Error opening log file: /var/log/mail.log: No such file or directory
[ OK ] Reached target Network (Pre).
syslogd[329]: Error opening log file: /var/log/mail.err: No such file or directory
syslogd[329]: Error opening log file: /var/log/messages: No such file or directory
Starting Connection service...
[ OK ] Stopped Login Service.
[FAILED] Failed to start Login Service.
See 'systemctl status systemd-logind.service' for details.
Starting Network Service...
[ OK ] Stopped Login Service.
[FAILED] Failed to start Login Service.
See 'systemctl status systemd-logind.service' for details.
[ OK ] Stopped Login Service.
[FAILED] Failed to start Login Service.
See 'systemctl status systemd-logind.service' for details.
[ OK ] Stopped Login Service.
[FAILED] Failed to start Login Service.
See 'systemctl status systemd-logind.service' for details.
[ OK ] Stopped Login Service.
[FAILED] Failed to start Login Service.
See 'systemctl status systemd-logind.service' for details.
[ OK ] Started Telephony service.
[ OK ] Started Connection service.
[ OK ] Started Network Service.
[ OK ] Reached target Network.
[ OK ] Started NFS status monitor for NFSv2/3 locking..
[FAILED] Failed to start Respond to IPv6 Node Information Queries.
See 'systemctl status ninfod.service' for details.
[FAILED] Failed to start Network Router Discovery Daemon.
See 'systemctl status rdisc.service' for details.
Starting Permit User Sessions...
Starting Target Communication Framework agent...
[ OK ] Started Permit User Sessions.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttySC0.
[ OK ] Reached target Login Prompts.
Starting WPA supplicant...
[ OK ] Started Target Communication Framework agent.
[ OK ] Reached target Multi-User System.
[FAILED] Failed to start Hostname Service.
See 'systemctl status systemd-hostnamed.service' for details.
Starting Update UTMP about System Runlevel Changes...
Starting watchdog daemon...
[ OK ] Started WPA supplicant.
[ OK ] Started Update UTMP about System Runlevel Changes.
[ OK ] Started watchdog daemon.
[ OK ] Started OpenSSH Key Generation.
Poky (Yocto Project Reference Distro) 3.1.31 desk-t2h-usd-devel ttySC0
BSP: //1.0.2
LSI:
Version: 1.0.2
desk-t2h-usd-devel login: root
root@desk-t2h-usd-devel:~# cat /etc/os-release
ID=poky
NAME="Poky (Yocto Project Reference Distro)"
VERSION="3.1.31 (dunfell)"
VERSION_ID=3.1.31
PRETTY_NAME="Poky (Yocto Project Reference Distro) 3.1.31 (dunfell)"
DISTRO_CODENAME="dunfell"
BUG_FIXED_VERSION="desk-rz-l-1.0.0-rc2"
root@desk-t2h-usd-devel:~# cat /etc/build
-----------------------
Build Configuration: |
-----------------------
DISTRO = poky
DISTRO_VERSION = 3.1.31
MACHINE = desk-t2h-usd-devel
IMAGE_BASENAME = desk-rz-image
-----------------------
Layer Revisions: |
-----------------------
meta-app = desk-rz-l-rel-1.0.0:0a10e4f8ae8de7b25c09170962e2b03e6b7de106 -- modified
meta-bsp = desk-rz-l-rel-1.0.0:0a10e4f8ae8de7b25c09170962e2b03e6b7de106 -- modified
meta-distro = desk-rz-l-rel-1.0.0:0a10e4f8ae8de7b25c09170962e2b03e6b7de106 -- modified
meta-gplv2 = HEAD:60b251c25ba87e946a0ca4cdc8d17b1cb09292ac
meta-multimedia = HEAD:daa4619fe3fbf8c28f342c4a7163a84a330f7653
meta-networking = HEAD:daa4619fe3fbf8c28f342c4a7163a84a330f7653
meta-oe = HEAD:daa4619fe3fbf8c28f342c4a7163a84a330f7653
meta-python = HEAD:daa4619fe3fbf8c28f342c4a7163a84a330f7653
meta-rz-common = HEAD:04c21cc9c44a8f59973c212d98abd60ed0e5f8cb
meta-rzt2h = HEAD:04c21cc9c44a8f59973c212d98abd60ed0e5f8cb
meta = HEAD:a9e3cc3b9eab7a83c715bb8440454e8fea852c2a
meta-poky = HEAD:a9e3cc3b9eab7a83c715bb8440454e8fea852c2a
meta-yocto-bsp = HEAD:a9e3cc3b9eab7a83c715bb8440454e8fea852c2a
root@desk-t2h-usd-devel:~#
The following message appears from the VM when the rootfs is mounted:
dvdk@vagrant:~$ cat /var/log/syslog | tail -n 1 Dec 16 15:45:57 vagrant rpc.mountd[121005]: authenticated mount request from 192.168.0.168:742 for /home/dvdk/desk-rz-l/rootfs (/home)
Kernel Module[edit | edit source]
The modules are already present and loaded on RFS on MVM.
root@desk-t2h-usd-devel:~# ls -l /lib/modules/$(uname -r) total 216 drwxr-xr-x 4 1001 1001 4096 Mar 9 2018 kernel -rw-r--r-- 1 1001 1001 4285 Mar 9 2018 modules.alias -rw-r--r-- 1 1001 1001 5692 Mar 9 2018 modules.alias.bin -rw-r--r-- 1 1001 1001 18471 Mar 9 2018 modules.builtin -rw-r--r-- 1 1001 1001 21926 Mar 9 2018 modules.builtin.bin -rw-r--r-- 1 1001 1001 117446 Mar 9 2018 modules.builtin.modinfo -rw-r--r-- 1 1001 1001 2417 Mar 9 2018 modules.dep -rw-r--r-- 1 1001 1001 3576 Mar 9 2018 modules.dep.bin -rw-r--r-- 1 1001 1001 74 Mar 9 2018 modules.devname -rw-r--r-- 1 1001 1001 1477 Mar 9 2018 modules.order -rw-r--r-- 1 1001 1001 55 Mar 9 2018 modules.softdep -rw-r--r-- 1 1001 1001 7012 Mar 9 2018 modules.symbols -rw-r--r-- 1 1001 1001 7794 Mar 9 2018 modules.symbols.bin root@desk-t2h-usd-devel:~# lsmod Module Size Used by mwifiex_pcie 40960 0 mwifiex 253952 1 mwifiex_pcie root@desk-t2h-usd-devel:~#
Development[edit | edit source]
Synchronizing the git repository[edit | edit source]
In DESK-RZ-L, the following source trees are clones of the correspondent DAVE Embedded Systems git repositories:
| Component | GIT Remote |
|---|---|
| Flash Programmer | https://git.dave.eu/git/desk-rz-l/flash-programmer.git
|
| TF-A | https://git.dave.eu/git/desk-rz-l/trusted-firmware-a.git
|
| U-Boot | https://git.dave.eu/git/desk-rz-l/renesas-u-boot-cip.git
|
| Linux kernel | https://git.dave.eu/git/desk-rz-l/rz-linux-cip.git
|
| Yocto BSP | https://git.dave.eu/git/desk-rz-l/meta-desk-rz.git
|
For more information about the access to these repositories, please refer to this link.
Instructions[edit | edit source]
The components listed in the table above can be kept in sync and up to date with DAVE Embedded Systems' repositories.
Once the git account has been enabled, the developer can:
- clone the repository with the
git clone <git_remote_repository>command - synchronize a source tree entering the repository directory and launching the
git fetch origincommand.
Please note that git fetch doesn't merge the commits on the current branch. To do that, the developer should run the git merge command or replace the fetch-merge process with a single git pull command. Please note that the recommended method is the fetch-merge process. For further information on Git, please refer to the official Git Documentation
Building Trusted Firmware-A[edit | edit source]
Quick Reference[edit | edit source]
| URL | https://git.dave.eu/git/desk-rz-l/trusted-firmware-a.git |
|---|---|
| Stable branch | desk-rz-l-1.x.x |
| Stable tag | desk-rz-l-1.0.0 |
| Platform | SOM ConfigID |
|---|---|
| EB23 with ZERO SOM | 0x00000001 |
Instructions[edit | edit source]
To build the BL2 and FIP boot binaries, you must first build U-Boot. Refer to Building U-Boot with make.
Once the U-Boot binaries are available, copy the u-boot.bin file into the Trusted Firmware-A (TF-A) project directory.
The build process requires multiple steps; it is not a single command. A helper script is provided in the project to simplify the build: build.sh.
Example of building:
dvdk@vagrant:~/desk-rz-l/trusted-firmware-a$ source ~/desk-rz-l/desk-rz-l-1.0.0_env.sh dvdk@vagrant:~/desk-rz-l/trusted-firmware-a$ ./build.sh REALCLEAN CC bl2/aarch64/bl2_arch_setup.c CC bl2/bl2_image_load_v2.c CC bl2/bl2_main.c CC common/desc_image_load.c CC drivers/delay_timer/delay_timer.c CC drivers/delay_timer/generic_delay_timer.c CC drivers/io/io_fip.c CC drivers/io/io_memmap.c CC drivers/io/io_storage.c CC lib/cpus/errata_report.c CC plat/renesas/rz/common/bl2_plat_mem_params_desc.c CC plat/renesas/rz/common/drivers/emmc/emmc_cmd.c CC plat/renesas/rz/common/drivers/emmc/emmc_init.c CC plat/renesas/rz/common/drivers/emmc/emmc_interrupt.c CC plat/renesas/rz/common/drivers/emmc/emmc_mount.c CC plat/renesas/rz/common/drivers/emmc/emmc_read.c CC plat/renesas/rz/common/drivers/emmc/emmc_utility.c CC plat/renesas/rz/common/drivers/io/io_emmcdrv.c CC plat/renesas/rz/common/drivers/io/io_sddrv.c CC plat/renesas/rz/common/drivers/sd/sd_cd.c CC plat/renesas/rz/common/drivers/sd/sd_cmd.c CC plat/renesas/rz/common/drivers/sd/sd_dev_low.c CC plat/renesas/rz/common/drivers/sd/sd_init.c CC plat/renesas/rz/common/drivers/sd/sd_int.c CC plat/renesas/rz/common/drivers/sd/sd_mount.c CC plat/renesas/rz/common/drivers/sd/sd_read.c CC plat/renesas/rz/common/drivers/sd/sd_trns.c CC plat/renesas/rz/common/drivers/sd/sd_util.c CC plat/renesas/rz/common/drivers/sd/sd_write.c CC plat/renesas/rz/common/drivers/xspi_puccini.c CC plat/renesas/rz/common/plat_image_load.c CC plat/renesas/rz/soc/t2h/bl2_plat_setup.c CC plat/renesas/rz/soc/t2h/drivers/cpg.c CC plat/renesas/rz/soc/t2h/drivers/ddr/ddr.c CC plat/renesas/rz/soc/t2h/drivers/ddr/ddr_misc.c CC plat/renesas/rz/soc/t2h/drivers/ddr/ddr_param_def_lpddr4.c CC plat/renesas/rz/soc/t2h/drivers/ddr/ddr_setup_lpddr4.c CC plat/renesas/rz/soc/t2h/drivers/pfc.c CC common/bl_common.c CC common/tf_log.c CC drivers/console/multi_console.c CC plat/common/plat_bl_common.c CC plat/common/plat_log_common.c CC plat/common/aarch64/plat_common.c CC lib/compiler-rt/builtins/popcountdi2.c CC lib/compiler-rt/builtins/popcountsi2.c CC drivers/arm/tzc/tzc400.c CC plat/renesas/rz/common/drivers/otp/puccini/otp_drv.c CC lib/xlat_tables_v2/aarch64/xlat_tables_arch.c CC lib/xlat_tables_v2/xlat_tables_context.c CC lib/xlat_tables_v2/xlat_tables_core.c CC lib/xlat_tables_v2/xlat_tables_utils.c CC plat/renesas/rz/common/plat_rz_common.c CC plat/renesas/rz/common/drivers/syc.c CC plat/renesas/rz/soc/t2h/plat_security.c CC plat/renesas/rz/soc/t2h/plat_storage.c CC plat/renesas/rz/soc/t2h/drivers/sys.c AS bl2/aarch64/bl2_el3_entrypoint.S AS bl2/aarch64/bl2_el3_exceptions.S AS bl2/aarch64/bl2_run_next_image.S AS common/aarch64/early_exceptions.S AS lib/cpus/aarch64/cpu_helpers.S AS lib/cpus/aarch64/dsu_helpers.S AS lib/locks/exclusive/aarch64/spinlock.S AS plat/common/aarch64/platform_up_stack.S AS common/aarch64/debug.S AS lib/aarch64/cache_helpers.S AS lib/aarch64/misc_helpers.S AS plat/common/aarch64/platform_helpers.S AS lib/cpus/aarch64/cortex_a55.S AS lib/xlat_tables_v2/aarch64/enable_mmu.S AS plat/renesas/rz/common/aarch64/plat_helpers.S AS plat/renesas/rz/common/drivers/scifa_puccini.S PP bl2/bl2_el3.ld.S CC lib/libc/abort.c CC lib/libc/assert.c CC lib/libc/exit.c CC lib/libc/memchr.c CC lib/libc/memcmp.c CC lib/libc/memcpy.c CC lib/libc/memmove.c CC lib/libc/memrchr.c CC lib/libc/memset.c CC lib/libc/printf.c CC lib/libc/putchar.c CC lib/libc/puts.c CC lib/libc/snprintf.c CC lib/libc/strchr.c CC lib/libc/strcmp.c CC lib/libc/strlcat.c CC lib/libc/strlcpy.c CC lib/libc/strlen.c CC lib/libc/strncmp.c CC lib/libc/strnlen.c CC lib/libc/strrchr.c CC lib/libc/strtok.c CC lib/libc/strtoul.c CC lib/libc/strtoll.c CC lib/libc/strtoull.c CC lib/libc/strtol.c AS lib/libc/aarch64/setjmp.S AR /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/lib/libc.a LD /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl2/bl2.elf BIN /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl2.bin Built /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl2.bin successfully OD /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl2/bl2.dump CC bl31/bl31_context_mgmt.c CC bl31/bl31_main.c CC bl31/interrupt_mgmt.c CC common/runtime_svc.c CC drivers/arm/gic/v3/arm_gicv3_common.c CC drivers/arm/gic/v3/gic-x00.c CC drivers/arm/gic/v3/gicdv3_helpers.c CC drivers/arm/gic/v3/gicrv3_helpers.c CC drivers/arm/gic/v3/gicv3_helpers.c CC drivers/arm/gic/v3/gicv3_main.c CC lib/cpus/errata_report.c CC lib/el3_runtime/aarch64/context_mgmt.c CC lib/el3_runtime/cpu_data_array.c CC lib/extensions/spe/spe.c CC lib/extensions/sve/sve.c CC lib/locks/bakery/bakery_lock_normal.c CC lib/psci/psci_common.c CC lib/psci/psci_main.c CC lib/psci/psci_mem_protect.c CC lib/psci/psci_off.c CC lib/psci/psci_on.c CC lib/psci/psci_setup.c CC lib/psci/psci_suspend.c CC lib/psci/psci_system_off.c CC plat/common/plat_gicv3.c CC plat/common/plat_psci_common.c CC plat/renesas/rz/common/plat_gic.c CC plat/renesas/rz/common/plat_topology.c CC plat/renesas/rz/common/rz_sip_svc.c CC plat/renesas/rz/soc/t2h/bl31_plat_setup.c CC plat/renesas/rz/soc/t2h/plat_pm.c CC plat/renesas/rz/soc/t2h/rz_plat_sip_handler.c CC services/arm_arch_svc/arm_arch_svc_setup.c CC services/std_svc/std_svc_setup.c CC common/bl_common.c CC common/tf_log.c CC drivers/console/multi_console.c CC plat/common/plat_bl_common.c CC plat/common/plat_log_common.c CC plat/common/aarch64/plat_common.c CC lib/compiler-rt/builtins/popcountdi2.c CC lib/compiler-rt/builtins/popcountsi2.c CC drivers/arm/tzc/tzc400.c CC plat/renesas/rz/common/drivers/otp/puccini/otp_drv.c CC lib/xlat_tables_v2/aarch64/xlat_tables_arch.c CC lib/xlat_tables_v2/xlat_tables_context.c CC lib/xlat_tables_v2/xlat_tables_core.c CC lib/xlat_tables_v2/xlat_tables_utils.c CC plat/renesas/rz/common/plat_rz_common.c CC plat/renesas/rz/common/drivers/syc.c CC plat/renesas/rz/soc/t2h/plat_security.c CC plat/renesas/rz/soc/t2h/plat_storage.c CC plat/renesas/rz/soc/t2h/drivers/sys.c AS bl31/aarch64/bl31_entrypoint.S AS bl31/aarch64/crash_reporting.S AS bl31/aarch64/ea_delegate.S AS bl31/aarch64/runtime_exceptions.S AS lib/cpus/aarch64/cpu_helpers.S AS lib/cpus/aarch64/dsu_helpers.S AS lib/cpus/aarch64/wa_cve_2017_5715_bpiall.S AS lib/cpus/aarch64/wa_cve_2017_5715_mmu.S AS lib/el3_runtime/aarch64/context.S AS lib/el3_runtime/aarch64/cpu_data.S AS lib/locks/exclusive/aarch64/spinlock.S AS lib/psci/aarch64/psci_helpers.S AS plat/common/aarch64/platform_mp_stack.S AS common/aarch64/debug.S AS lib/aarch64/cache_helpers.S AS lib/aarch64/misc_helpers.S AS plat/common/aarch64/platform_helpers.S AS lib/cpus/aarch64/cortex_a55.S AS lib/xlat_tables_v2/aarch64/enable_mmu.S AS plat/renesas/rz/common/aarch64/plat_helpers.S AS plat/renesas/rz/common/drivers/scifa_puccini.S PP bl31/bl31.ld.S LD /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl31/bl31.elf BIN /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl31.bin Built /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/bl31.bin successfully HOSTCC fiptool.c HOSTCC tbbr_config.c HOSTLD fiptool Built fiptool successfully EL3 Runtime Firmware BL31: offset=0x90, size=0x6069, cmdline="--soc-fw" Non-Trusted Firmware BL33: offset=0x6100, size=0xAACB8, cmdline="--nt-fw" Built /home/dvdk/desk-rz-l/trusted-firmware-a/build/t2h/release/fip.bin successfully #Get Bl2 filesize and align to 0x200 (512) bytes bl2_filesize=`find "./build/t2h/release/bl2.bin" -printf "%s"` ; \ bl2_filesize=`expr $bl2_filesize + 511` ; \ bl2_filesize=`expr $bl2_filesize / 512` ; \ bl2_filesize=`expr $bl2_filesize \* 512` ; \ #Convert size to Hex \ bl2_filesize=`printf "0x%08x" $bl2_filesize` ; \ python3 ./tools/renesas/rzt2h_boot_param/parameter_block_generator.py --output=./build/t2h/release/bp_xspi0.bin --cache_flag=1 --loader_addr=0x40000200 --loader_size=$bl2_filesize --dest_addr=0x10001000 --pll0_ssc_ctr_v=0x00010000 --bootcpu_flg=1 --xspi_cssctl_v=0x07FFFFFF ; \ python3 ./tools/renesas/rzt2h_boot_param/parameter_block_generator.py --output=./build/t2h/release/bp_xspi1.bin --cache_flag=1 --loader_addr=0x50000200 --loader_size=$bl2_filesize --dest_addr=0x10001000 --pll0_ssc_ctr_v=0x00010000 --bootcpu_flg=1 --xspi_cssctl_v=0x07FFFFFF ; \ python3 ./tools/renesas/rzt2h_boot_param/parameter_block_generator.py --output=./build/t2h/release/bp_emmc.bin --cache_flag=1 --loader_addr=0x00000400 --loader_size=$bl2_filesize --dest_addr=0x10001000 --pll0_ssc_ctr_v=0x00010000 --bootcpu_flg=1 ; \ python3 ./tools/renesas/rzt2h_boot_param/parameter_block_generator.py --output=./build/t2h/release/bp_esd.bin --cache_flag=1 --loader_addr=0x00001000 --loader_size=$bl2_filesize --dest_addr=0x10001000 --pll0_ssc_ctr_v=0x00010000 --bootcpu_flg=1 Creation of ./build/t2h/release/bp_xspi0.bin is complete Creation of ./build/t2h/release/bp_xspi1.bin is complete Creation of ./build/t2h/release/bp_emmc.bin is complete Creation of ./build/t2h/release/bp_esd.bin is complete #BL2 with XSPI0 Boot parameters cat ./build/t2h/release/bp_xspi0.bin ./build/t2h/release/bl2.bin > ./build/t2h/release/bl2_bp_xspi0.bin objcopy -I binary -O srec --adjust-vma=0x10100000 --srec-forceS3 ./build/t2h/release/bl2_bp_xspi0.bin ./build/t2h/release/bl2_bp_xspi0.srec #BL2 with XSPI1 Boot parameters cat ./build/t2h/release/bp_xspi1.bin ./build/t2h/release/bl2.bin > ./build/t2h/release/bl2_bp_xspi1.bin objcopy -I binary -O srec --adjust-vma=0x10100000 --srec-forceS3 ./build/t2h/release/bl2_bp_xspi1.bin ./build/t2h/release/bl2_bp_xspi1.srec #BL2 with eMMC Boot parameters cat ./build/t2h/release/bp_emmc.bin ./build/t2h/release/bl2.bin > ./build/t2h/release/bl2_bp_emmc.bin objcopy -I binary -O srec --adjust-vma=0x10100000 --srec-forceS3 ./build/t2h/release/bl2_bp_emmc.bin ./build/t2h/release/bl2_bp_emmc.srec #BL2 with seven copies of eSD Boot parameters cat ./build/t2h/release/bp_esd.bin ./build/t2h/release/bp_esd.bin ./build/t2h/release/bp_esd.bin ./build/t2h/release/bp_esd.bin ./build/t2h/release/bp_esd.bin ./build/t2h/release/bp_esd.bin ./build/t2h/release/bp_esd.bin ./build/t2h/release/bl2.bin > ./build/t2h/release/bl2_bp_esd.bin objcopy -I binary -O srec --adjust-vma=0x10100000 --srec-forceS3 ./build/t2h/release/bl2_bp_esd.bin ./build/t2h/release/bl2_bp_esd.srec #Generate FIP S-Record if FIP binary is present if [ -f build/t2h/release/fip.bin ]; then objcopy -I binary -O srec --adjust-vma=0x10100000 --srec-forceS3 ./build/t2h/release/fip.bin ./build/t2h/release/fip.srec ; fi ; dvdk@vagrant:~/desk-rz-l/trusted-firmware-a$
The generated binaries can be found in the build/t2h/release directory.
dvdk@vagrant:~/desk-rz-l/trusted-firmware-a$ ls -la build/t2h/release/ total 6292 drwxrwxr-x 8 dvdk dvdk 4096 Dec 17 10:08 . drwxrwxr-x 3 dvdk dvdk 4096 Dec 17 10:08 .. drwxrwxr-x 2 dvdk dvdk 4096 Dec 17 10:08 bl2 -rwxrwxr-x 1 dvdk dvdk 201453 Dec 17 10:08 bl2.bin -rw-rw-r-- 1 dvdk dvdk 201965 Dec 17 10:08 bl2_bp_emmc.bin -rw-rw-r-- 1 dvdk dvdk 605998 Dec 17 10:08 bl2_bp_emmc.srec -rw-rw-r-- 1 dvdk dvdk 205037 Dec 17 10:08 bl2_bp_esd.bin -rw-rw-r-- 1 dvdk dvdk 615212 Dec 17 10:08 bl2_bp_esd.srec -rw-rw-r-- 1 dvdk dvdk 201965 Dec 17 10:08 bl2_bp_xspi0.bin -rw-rw-r-- 1 dvdk dvdk 606000 Dec 17 10:08 bl2_bp_xspi0.srec -rw-rw-r-- 1 dvdk dvdk 201965 Dec 17 10:08 bl2_bp_xspi1.bin -rw-rw-r-- 1 dvdk dvdk 606000 Dec 17 10:08 bl2_bp_xspi1.srec drwxrwxr-x 2 dvdk dvdk 4096 Dec 17 10:08 bl31 -rwxrwxr-x 1 dvdk dvdk 24681 Dec 17 10:08 bl31.bin -rw-rw-r-- 1 dvdk dvdk 512 Dec 17 10:08 bp_emmc.bin -rw-rw-r-- 1 dvdk dvdk 512 Dec 17 10:08 bp_esd.bin -rw-rw-r-- 1 dvdk dvdk 512 Dec 17 10:08 bp_xspi0.bin -rw-rw-r-- 1 dvdk dvdk 512 Dec 17 10:08 bp_xspi1.bin -rw-rw-r-- 1 dvdk dvdk 724416 Dec 17 10:08 fip.bin -rw-rw-r-- 1 dvdk dvdk 2173332 Dec 17 10:08 fip.srec drwxrwxr-x 2 dvdk dvdk 4096 Dec 17 10:08 lib drwxrwxr-x 2 dvdk dvdk 4096 Dec 17 10:08 libc drwxrwxr-x 2 dvdk dvdk 4096 Dec 17 10:08 libwrapper drwxrwxr-x 2 dvdk dvdk 4096 Dec 17 10:08 romlib
Building U-boot[edit | edit source]
Quick Reference[edit | edit source]
| URL | https://git.dave.eu/git/desk-rz-l/renesas-u-boot-cip.git |
|---|---|
| Stable branch | desk-rz-l-1.x.x |
| Stable tag | desk-rz-l-1.0.0 |
| Platform | SOM ConfigID | CB ConfigID | defconfig |
|---|---|---|---|
| EB23 with ZERO SOM | 0x00000001 | 0x00002002 | dsab_usd_defconfig |
| EB23 with ZERO SOM | 0x00000001 | 0x00002003 | dsab_usd_defconfig |
Instructions[edit | edit source]
It is assumed that the development environment has been set up properly as described here.
- Start the Linux development VM and log in to the system
- Open a terminal window and clone the repository
- Configure the build environment
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ source ~/desk-rz-l/desk-rz-l-1.0.0_env.sh
- Enter the source tree directory
- Setup the proper defconfig
dvdk@vagrant:~/desk-rz-l/renesas-u-boot-cip$ make dsab_usd_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o YACC scripts/kconfig/zconf.tab.c LEX scripts/kconfig/zconf.lex.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config #
Then, build using make:
dvdk@vagrant:~/desk-rz-l/renesas-u-boot-cip$ make -j 8
scripts/kconfig/conf --syncconfig Kconfig
UPD include/config.h
CFG u-boot.cfg
GEN include/autoconf.mk.dep
GEN include/autoconf.mk
UPD include/generated/dt.h
UPD include/generated/timestamp_autogenerated.h
UPD include/config/uboot.release
HOSTCC scripts/dtc/dtc.o
HOSTCC scripts/dtc/fstree.o
HOSTCC scripts/dtc/flattree.o
HOSTCC scripts/dtc/data.o
HOSTCC scripts/dtc/treesource.o
HOSTCC scripts/dtc/livetree.o
HOSTCC scripts/dtc/srcpos.o
HOSTCC scripts/dtc/checks.o
CFGCHK u-boot.cfg
HOSTCC scripts/dtc/util.o
LEX scripts/dtc/dtc-lexer.lex.c
YACC scripts/dtc/dtc-parser.tab.h
YACC scripts/dtc/dtc-parser.tab.c
UPD include/generated/version_autogenerated.h
HOSTCC scripts/dtc/dtc-parser.tab.o
HOSTCC scripts/dtc/dtc-lexer.lex.o
CC lib/asm-offsets.s
CC arch/arm/lib/asm-offsets.s
UPD include/generated/asm-offsets.h
UPD include/generated/generic-asm-offsets.h
LDS u-boot.lds
LDS u-boot-elf.lds
HOSTLD scripts/dtc/dtc
HOSTCC tools/gen_eth_addr
HOSTCC tools/gen_ethaddr_crc.o
HOSTCC tools/img2srec
WRAP tools/lib/crc8.c
HOSTCC tools/mkenvimage.o
HOSTCC tools/os_support.o
WRAP tools/lib/crc32.c
HOSTCC tools/aisimage.o
HOSTCC tools/fit_common.o
HOSTCC tools/atmelimage.o
HOSTCC tools/fit_image.o
HOSTCC tools/image-host.o
WRAP tools/common/image-fit.c
HOSTCC tools/image-sig-host.o
WRAP tools/common/image-fit-sig.c
WRAP tools/common/image-cipher.c
WRAP tools/common/fdt_region.c
WRAP tools/common/bootm.c
HOSTCC tools/default_image.o
HOSTCC tools/lib/crc32.o
WRAP tools/lib/fdtdec_common.c
WRAP tools/common/image.c
WRAP tools/lib/fdtdec.c
HOSTCC tools/imagetool.o
HOSTCC tools/imximage.o
HOSTCC tools/imx8image.o
HOSTCC tools/imx8mimage.o
HOSTCC tools/kwbimage.o
WRAP tools/lib/md5.c
HOSTCC tools/lpc32xximage.o
HOSTCC tools/mxsimage.o
HOSTCC tools/omapimage.o
HOSTCC tools/pblimage.o
HOSTCC tools/pbl_crc32.o
HOSTCC tools/vybridimage.o
HOSTCC tools/stm32image.o
WRAP tools/lib/rc4.c
HOSTCC tools/rkcommon.o
HOSTCC tools/rkimage.o
HOSTCC tools/rksd.o
HOSTCC tools/rkspi.o
HOSTCC tools/socfpgaimage.o
HOSTCC tools/sunxi_egon.o
WRAP tools/lib/crc16.c
WRAP tools/lib/hash-checksum.c
WRAP tools/lib/sha1.c
WRAP tools/lib/sha256.c
WRAP tools/lib/sha512.c
WRAP tools/common/hash.c
HOSTCC tools/ublimage.o
HOSTCC tools/zynqimage.o
HOSTCC tools/zynqmpimage.o
HOSTCC tools/zynqmpbif.o
WRAP tools/lib/fdt-libcrypto.c
HOSTCC tools/libfdt/fdt.o
HOSTCC tools/libfdt/fdt_ro.o
HOSTCC tools/libfdt/fdt_wip.o
HOSTCC tools/libfdt/fdt_sw.o
HOSTCC tools/libfdt/fdt_rw.o
HOSTCC tools/libfdt/fdt_strerror.o
HOSTCC tools/libfdt/fdt_empty_tree.o
HOSTCC tools/libfdt/fdt_addresses.o
HOSTCC tools/libfdt/fdt_overlay.o
HOSTCC tools/gpimage.o
HOSTCC tools/gpimage-common.o
HOSTCC tools/mtk_image.o
WRAP tools/lib/ecdsa/ecdsa-libcrypto.c
WRAP tools/lib/rsa/rsa-sign.c
WRAP tools/lib/rsa/rsa-verify.c
WRAP tools/lib/rsa/rsa-mod-exp.c
WRAP tools/lib/aes/aes-encrypt.c
WRAP tools/lib/aes/aes-decrypt.c
HOSTCC tools/dumpimage.o
HOSTCC tools/common/image-fit.o
HOSTCC tools/common/image-fit-sig.o
HOSTCC tools/common/image-cipher.o
HOSTCC tools/common/fdt_region.o
HOSTCC tools/common/bootm.o
HOSTCC tools/lib/fdtdec_common.o
HOSTCC tools/lib/fdtdec.o
HOSTCC tools/common/image.o
HOSTCC tools/lib/md5.o
HOSTCC tools/lib/rc4.o
HOSTCC tools/lib/crc16.o
HOSTCC tools/lib/hash-checksum.o
HOSTCC tools/lib/sha1.o
HOSTCC tools/lib/sha256.o
HOSTCC tools/lib/sha512.o
HOSTCC tools/common/hash.o
HOSTCC tools/lib/fdt-libcrypto.o
HOSTCC tools/lib/ecdsa/ecdsa-libcrypto.o
HOSTCC tools/lib/rsa/rsa-sign.o
HOSTCC tools/lib/rsa/rsa-verify.o
HOSTCC tools/lib/rsa/rsa-mod-exp.o
HOSTCC tools/lib/aes/aes-encrypt.o
HOSTCC tools/lib/aes/aes-decrypt.o
HOSTCC tools/mkimage.o
HOSTCC tools/fit_info.o
HOSTCC tools/fit_check_sign.o
HOSTCC tools/proftool
HOSTCC tools/relocate-rela
HOSTCC tools/fdtgrep.o
HOSTCC tools/spl_size_limit
HOSTCC tools/lib/crc8.o
HOSTLD tools/mkenvimage
HOSTLD tools/dumpimage
HOSTLD tools/fit_info
HOSTLD tools/fit_check_sign
HOSTLD tools/gen_ethaddr_crc
HOSTLD tools/mkimage
HOSTLD tools/fdtgrep
AR arch/arm/cpu/built-in.o
CC arch/arm/cpu/armv8/cpu.o
CC arch/arm/cpu/armv8/generic_timer.o
CC arch/arm/cpu/armv8/cache_v8.o
AS arch/arm/cpu/armv8/exceptions.o
AS arch/arm/cpu/armv8/cache.o
AS arch/arm/lib/crt0_64.o
CC arch/arm/mach-rmobile/cpu_info.o
CC board/dave/common/configid.o
CC arch/arm/mach-rmobile/emac.o
arch/arm/mach-rmobile/cpu_info.c:95:18: warning: ‘get_cpu_name’ defined but not used [-Wunused-function]
95 | static const u8 *get_cpu_name(int idx)
| ^~~~~~~~~~~~
arch/arm/mach-rmobile/cpu_info.c:83:12: warning: ‘rmobile_cpuinfo_idx’ defined but not used [-Wunused-function]
83 | static int rmobile_cpuinfo_idx(void)
| ^~~~~~~~~~~~~~~~~~~
AS arch/arm/lib/setjmp_aarch64.o
CC board/dave/dsab/rzt2h.o
AS arch/arm/lib/relocate_64.o
CC arch/arm/lib/bootm-fdt.o
CC arch/arm/cpu/armv8/exception_level.o
CC arch/arm/mach-rmobile/board.o
CC arch/arm/lib/bootm.o
AS arch/arm/cpu/armv8/tlb.o
CC arch/arm/lib/image.o
AS arch/arm/cpu/armv8/transition.o
CC board/dave/common/configid_fixed.o
AS arch/arm/mach-rmobile/lowlevel_init_gen3.o
CC arch/arm/cpu/armv8/fwcall.o
CC arch/arm/cpu/armv8/cpu-dt.o
CC board/dave/dsab/rzt2h_eth.o
CC arch/arm/lib/zimage.o
CC arch/arm/mach-rmobile/cpu_info-rcar.o
CC board/dave/common/ds2431_configid_support.o
In file included from board/dave/dsab/rzt2h_eth.c:9:
board/dave/dsab/rzt2h_eth.c: In function ‘ethss_reg_writel’:
./arch/arm/include/asm/io.h:50:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
50 | #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v))
| ^
./arch/arm/include/asm/io.h:122:48: note: in expansion of macro ‘__arch_putl’
122 | #define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v; })
| ^~~~~~~~~~~
board/dave/dsab/rzt2h_eth.c:49:2: note: in expansion of macro ‘writel’
49 | writel(value, ETH_SUBSYSTEM_REG_BASE + offset);
| ^~~~~~
board/dave/dsab/rzt2h_eth.c: In function ‘ethss_reg_readl’:
./arch/arm/include/asm/io.h:45:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
45 | #define __arch_getl(a) (*(volatile unsigned int *)(a))
| ^
./arch/arm/include/asm/io.h:127:31: note: in expansion of macro ‘__arch_getl’
127 | #define readl(c) ({ u32 __v = __arch_getl(c); __iormb(); __v; })
| ^~~~~~~~~~~
board/dave/dsab/rzt2h_eth.c:54:9: note: in expansion of macro ‘readl’
54 | return readl(ETH_SUBSYSTEM_REG_BASE + offset);
| ^~~~~
CC board/dave/common/configid_ds2431.o
CC arch/arm/lib/bdinfo.o
AS arch/arm/cpu/armv8/smccc-call.o
AR cmd/arm/built-in.o
CC arch/arm/lib/sections.o
CC arch/arm/mach-rmobile/memmap-gen3.o
CC cmd/boot.o
CC board/dave/dsab/../common/common.o
CC arch/arm/lib/stack.o
AS arch/arm/cpu/armv8/start.o
CC cmd/bootm.o
AS arch/arm/lib/gic_64.o
AR board/dave/common/built-in.o
CC common/init/board_init.o
AR arch/arm/mach-rmobile/built-in.o
AR board/dave/dsab/built-in.o
AR arch/arm/cpu/armv8/built-in.o
CC cmd/help.o
CC arch/arm/lib/interrupts_64.o
CC common/main.o
CC disk/part.o
CC arch/arm/lib/reset.o
AR drivers/adc/built-in.o
AR common/init/built-in.o
AR drivers/ata/built-in.o
CC common/exports.o
CC cmd/panic.o
CC arch/arm/lib/cache.o
CC cmd/version.o
AR drivers/axi/built-in.o
CC disk/part_dos.o
CC drivers/block/blk-uclass.o
CC cmd/blk_common.o
CC arch/arm/lib/psci-dt.o
AR drivers/dma/ti/built-in.o
CC common/cli_hush.o
CC cmd/source.o
AR drivers/dma/built-in.o
CC cmd/bdinfo.o
AR arch/arm/lib/lib.a
CC drivers/gpio/gpio-uclass.o
CC drivers/gpio/gpio-rcar.o
AS arch/arm/lib/crt0_aarch64_efi.o
AR drivers/net/mscc_eswitch/built-in.o
CC disk/part_efi.o
AR drivers/net/qe/built-in.o
CC arch/arm/lib/reloc_aarch64_efi.o
AR drivers/net/ti/built-in.o
CC drivers/block/blkcache.o
CC drivers/net/eth-phy-uclass.o
CC cmd/bind.o
CC drivers/gpio/gpio-rzt2h.o
AR arch/arm/lib/built-in.o
AR drivers/bus/built-in.o
AR drivers/block/built-in.o
CC drivers/net/phy/miiphybb.o
CC drivers/net/ravb.o
AR drivers/cache/built-in.o
CC cmd/blkcache.o
CC cmd/bootefi.o
CC common/autoboot.o
AR drivers/gpio/built-in.o
AR drivers/clk/analogbits/built-in.o
CC cmd/bootz.o
AR drivers/clk/imx/built-in.o
CC cmd/booti.o
CC drivers/net/phy/phy.o
AR drivers/clk/tegra/built-in.o
CC common/board_f.o
AR drivers/clk/ti/built-in.o
AR disk/built-in.o
CC drivers/clk/clk-uclass.o
CC drivers/net/dwc_eth_qos.o
CC cmd/cache.o
CC cmd/clk.o
AR drivers/power/built-in.o
CC common/board_r.o
AR drivers/power/battery/built-in.o
CC drivers/net/phy/mscc.o
AR drivers/power/domain/built-in.o
CC cmd/console.o
CC cmd/dm.o
CC cmd/echo.o
CC cmd/elf.o
CC common/board_info.o
CC cmd/exit.o
CC cmd/ext4.o
CC drivers/clk/clk_fixed_rate.o
CC common/bootm.o
CC drivers/clk/clk_fixed_factor.o
CC cmd/ext2.o
CC cmd/fat.o
AR drivers/net/built-in.o
CC common/bootm_os.o
CC cmd/fdt.o
AR drivers/clk/built-in.o
CC cmd/fs.o
CC drivers/core/device.o
CC cmd/gpio.o
AR drivers/power/fuel_gauge/built-in.o
CC common/fdt_support.o
AR drivers/power/mfd/built-in.o
AR drivers/net/phy/built-in.o
CC cmd/i2c.o
CC cmd/itest.o
CC cmd/load.o
CC cmd/lsblk.o
AR drivers/power/pmic/built-in.o
CC cmd/mem.o
CC cmd/mii.o
CC cmd/mdio.o
CC drivers/core/fdtaddr.o
CC cmd/sleep.o
CC cmd/mmc.o
CC drivers/power/regulator/regulator-uclass.o
CC cmd/net.o
CC cmd/pci.o
CC drivers/serial/serial-uclass.o
CC cmd/pinmux.o
CC drivers/core/lists.o
CC common/miiphyutil.o
CC cmd/setexpr.o
CC drivers/serial/serial_sh.o
CC cmd/strings.o
CC cmd/test.o
CC drivers/core/root.o
CC drivers/power/regulator/regulator_common.o
CC cmd/unlz4.o
CC common/usb.o
CC cmd/unzip.o
CC drivers/crypto/fsl/sec.o
AR drivers/serial/built-in.o
CC drivers/power/regulator/fixed.o
CC drivers/power/regulator/gpio-regulator.o
CC drivers/spi/spi.o
CC cmd/lzmadec.o
CC drivers/core/uclass.o
AR drivers/crypto/fsl/built-in.o
AR drivers/usb/cdns3/built-in.o
AR drivers/crypto/rsa_mod_exp/built-in.o
CC common/usb_hub.o
AR drivers/crypto/built-in.o
CC cmd/usb.o
CC drivers/usb/common/common.o
AR drivers/spi/built-in.o
AR drivers/dfu/built-in.o
AR drivers/power/regulator/built-in.o
CC common/usb_storage.o
CC drivers/firmware/firmware-uclass.o
CC drivers/core/util.o
AR drivers/usb/dwc3/built-in.o
AR drivers/usb/common/built-in.o
AR drivers/usb/emul/built-in.o
CC drivers/core/device-remove.o
CC drivers/firmware/psci.o
CC cmd/disk.o
CC common/splash.o
AR drivers/usb/eth/built-in.o
CC drivers/core/simple-bus.o
CC drivers/usb/host/usb-uclass.o
CC common/cli_readline.o
CC drivers/core/dump.o
CC cmd/fs_uuid.o
CC drivers/core/regmap.o
AR drivers/firmware/built-in.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/usb/host/ehci-generic.o
CC cmd/ximg.o
CC drivers/i2c/i2c-uclass.o
CC drivers/core/syscon-uclass.o
CC cmd/w1.o
CC common/cli_simple.o
CC drivers/input/key_matrix.o
CC common/console.o
CC drivers/i2c/rcar_iic.o
CC cmd/gpt.o
CC drivers/core/of_extra.o
CC cmd/nvedit.o
AR drivers/input/built-in.o
CC drivers/usb/host/xhci.o
CC drivers/core/ofnode.o
AR drivers/mailbox/built-in.o
CC drivers/usb/host/xhci-mem.o
AR drivers/memory/built-in.o
AR drivers/i2c/built-in.o
AR drivers/misc/built-in.o
CC drivers/mmc/mmc.o
AR cmd/built-in.o
CC common/dlmalloc.o
AR drivers/mtd/nand/built-in.o
AR drivers/usb/mtu3/built-in.o
AR drivers/mtd/onenand/built-in.o
CC common/malloc_simple.o
AR drivers/mtd/spi/built-in.o
AR drivers/mtd/built-in.o
CC drivers/core/read_extra.o
CC common/image.o
AR drivers/core/built-in.o
CC drivers/usb/host/xhci-ring.o
CC drivers/pci/pci-uclass.o
AR drivers/usb/musb-new/built-in.o
AR drivers/phy/allwinner/built-in.o
AR drivers/phy/cadence/built-in.o
AR drivers/phy/marvell/built-in.o
AR drivers/phy/rockchip/built-in.o
CC drivers/usb/host/xhci-rcar.o
AR drivers/phy/socionext/built-in.o
AR drivers/pinctrl/broadcom/built-in.o
CC drivers/phy/phy-uclass.o
AR drivers/phy/ti/built-in.o
CC drivers/phy/phy-rcar-gen3.o
AR drivers/pinctrl/nxp/built-in.o
CC drivers/pinctrl/renesas/pfc.o
CC drivers/pinctrl/renesas/pfc-rzt2h.o
CC common/hash.o
AR drivers/usb/host/built-in.o
AR drivers/phy/built-in.o
drivers/pinctrl/renesas/pfc.c: In function ‘sh_pfc_pinctrl_probe’:
drivers/pinctrl/renesas/pfc.c:884:20: warning: unused variable ‘model’ [-Wunused-variable]
884 | enum sh_pfc_model model = dev_get_driver_data(dev);
| ^~~~~
AR drivers/pwm/built-in.o
AR drivers/usb/musb/built-in.o
CC drivers/pinctrl/pinctrl-uclass.o
AR drivers/reset/built-in.o
AR drivers/rtc/built-in.o
CC common/image-fdt.o
CC drivers/mmc/mmc-uclass.o
AR drivers/scsi/built-in.o
AR drivers/usb/phy/built-in.o
AR drivers/usb/ulpi/built-in.o
AR drivers/smem/built-in.o
CC drivers/pci/pci_auto.o
CC common/image-fit.o
CC drivers/pinctrl/pinctrl-generic.o
CC env/common.o
CC drivers/pci/pci_auto_common.o
CC drivers/mmc/mmc_write.o
AR drivers/pinctrl/renesas/built-in.o
CC common/memsize.o
CC env/env.o
CC drivers/pci/pci_common.o
CC drivers/mmc/rpmb.o
CC env/attr.o
AR drivers/pinctrl/built-in.o
CC drivers/mmc/sh_sdhi.o
AR drivers/soc/built-in.o
CC common/stdio.o
CC drivers/pci/pci-rcar-gen3.o
CC env/flags.o
AR drivers/sound/built-in.o
drivers/mmc/sh_sdhi.c: In function ‘sh_sdhi_dm_probe’:
drivers/mmc/sh_sdhi.c:869:6: warning: unused variable ‘ret’ [-Wunused-variable]
869 | int ret;
| ^~~
drivers/mmc/sh_sdhi.c:866:13: warning: unused variable ‘sh_sdhi_clk’ [-Wunused-variable]
866 | struct clk sh_sdhi_clk;
| ^~~~~~~~~~~
AR drivers/spmi/built-in.o
CC env/callback.o
CC drivers/tee/broadcom/chimp_optee.o
CC env/mmc.o
CC common/cli.o
CC common/command.o
CC drivers/tee/optee/core.o
AR drivers/tee/broadcom/built-in.o
CC common/s_record.o
CC fs/ext4/ext4fs.o
AR drivers/thermal/built-in.o
AR drivers/pci/built-in.o
AR env/built-in.o
AR drivers/ufs/built-in.o
CC common/xyzModem.o
CC drivers/w1/w1-uclass.o
AR drivers/video/sunxi/built-in.o
AR drivers/video/bridge/built-in.o
CC drivers/w1/w1-gpio.o
AR drivers/video/ti/built-in.o
AR drivers/video/built-in.o
AR drivers/mmc/built-in.o
CC drivers/w1-eeprom/w1-eeprom-uclass.o
CC fs/ext4/ext4_common.o
AR drivers/watchdog/built-in.o
CC drivers/tee/optee/supplicant.o
AR drivers/w1/built-in.o
AR lib/crypto/built-in.o
CC drivers/tee/tee-uclass.o
CC fs/fat/fat_write.o
CC drivers/w1-eeprom/ds24xxx.o
CC net/arp.o
CC lib/efi_driver/efi_uclass.o
CC drivers/tee/optee/i2c.o
AR common/built-in.o
CC lib/efi_driver/efi_block_device.o
AR drivers/w1-eeprom/built-in.o
CC net/bootp.o
CC drivers/tee/optee/rpmb.o
CC net/eth-uclass.o
AR drivers/tee/optee/built-in.o
CC lib/efi_loader/efi_bootmgr.o
AR drivers/tee/built-in.o
AR drivers/built-in.o
CC net/eth_common.o
CC lib/efi_loader/efi_boottime.o
AR lib/efi_driver/built-in.o
CC fs/ext4/dev.o
CC lib/libfdt/fdt.o
CC net/net.o
CC net/nfs.o
CC fs/ext4/ext4_write.o
CC lib/efi_loader/efi_helper.o
CC lib/libfdt/fdt_ro.o
CC lib/lzma/LzmaDec.o
AR fs/fat/built-in.o
CC fs/fs.o
CC net/ping.o
CC lib/libfdt/fdt_wip.o
CC lib/libfdt/fdt_strerror.o
CC lib/libfdt/fdt_sw.o
CC lib/libfdt/fdt_rw.o
CC net/tftp.o
CC fs/ext4/ext4_journal.o
CC lib/libfdt/fdt_empty_tree.o
CC fs/fs_internal.o
CC lib/lzma/LzmaTools.o
CC lib/libfdt/fdt_addresses.o
AR lib/lzma/built-in.o
CC lib/libfdt/fdt_overlay.o
CC lib/optee/optee.o
CC lib/zlib/zlib.o
AR net/built-in.o
CC fs/ext4/crc16.o
CC lib/efi_loader/efi_console.o
CC lib/charset.o
AR lib/optee/built-in.o
CC lib/crc8.o
AR fs/ext4/built-in.o
CC lib/crc16.o
CC lib/efi_loader/efi_device_path.o
AR fs/built-in.o
AR lib/libfdt/built-in.o
CC lib/fdtdec_common.o
CC lib/smbios.o
CC lib/image-sparse.o
CC lib/ldiv.o
CC lib/net_utils.o
CC lib/rc4.o
CC lib/sha256.o
CC lib/list_sort.o
CC lib/efi_loader/efi_device_path_to_text.o
CC lib/md5.o
CC lib/hash-checksum.o
CC lib/sha1.o
CC lib/efi_loader/efi_device_path_utilities.o
CC lib/gunzip.o
AR lib/zlib/built-in.o
CC lib/efi_loader/efi_dt_fixup.o
CC lib/lz4_wrapper.o
CC lib/efi_loader/efi_file.o
CC lib/efi_loader/efi_hii.o
CC lib/fdtdec.o
CC lib/qsort.o
CC lib/hashtable.o
CC lib/errno.o
CC lib/efi_loader/efi_image_loader.o
CC lib/display_options.o
CC lib/crc32.o
CC lib/efi_loader/efi_load_options.o
CC lib/efi_loader/efi_memory.o
CC lib/ctype.o
CC lib/div64.o
CC lib/hang.o
CC lib/efi_loader/efi_root_node.o
CC lib/efi_loader/efi_runtime.o
CC lib/efi_loader/efi_setup.o
CC lib/linux_compat.o
CC lib/linux_string.o
CC lib/efi_loader/efi_string.o
CC lib/efi_loader/efi_unicode_collation.o
CC lib/lmb.o
CC lib/efi_loader/efi_var_common.o
CC lib/membuff.o
CC lib/slre.o
CC lib/efi_loader/efi_var_mem.o
CC lib/efi_loader/efi_var_file.o
CC lib/efi_loader/efi_variable.o
CC lib/efi_loader/efi_watchdog.o
CC lib/string.o
CC lib/efi_loader/efi_disk.o
CC lib/efi_loader/efi_net.o
CC lib/efi_loader/efi_smbios.o
CC lib/tables_csum.o
CC lib/efi_loader/efi_load_initrd.o
CC lib/time.o
CC lib/hexdump.o
CC lib/efi_loader/helloworld.o
CC lib/uuid.o
CC lib/rand.o
CC lib/panic.o
CC lib/vsprintf.o
AS lib/efi_loader/efi_crt0.o
CC lib/efi_loader/efi_reloc.o
CC lib/strto.o
CC lib/efi_loader/efi_freestanding.o
AR lib/efi_loader/built-in.o
CC lib/date.o
CC lib/rtc-lib.o
CC lib/elf.o
LD lib/efi_loader/helloworld_efi.so
OBJCOPY lib/efi_loader/helloworld.efi
AR lib/built-in.o
LD u-boot
OBJCOPY u-boot.srec
OBJCOPY u-boot-nodtb.bin
SYM u-boot.sym
RELOC u-boot-nodtb.bin
DTC arch/arm/dts/r8a774a1-beacon-rzg2m-kit.dtb
DTC arch/arm/dts/r8a774b1-beacon-rzg2n-kit.dtb
DTC arch/arm/dts/r8a774e1-beacon-rzg2h-kit.dtb
DTC arch/arm/dts/r8a774a1-hihope-rzg2m-u-boot.dtb
DTC arch/arm/dts/r8a774b1-hihope-rzg2n-u-boot.dtb
DTC arch/arm/dts/r8a774c0-ek874-revc-u-boot.dtb
DTC arch/arm/dts/r8a774c0-ek874-u-boot.dtb
DTC arch/arm/dts/r8a774e1-hihope-rzg2h-u-boot.dtb
DTC arch/arm/dts/r8a77950-ulcb-u-boot.dtb
DTC arch/arm/dts/r8a77950-salvator-x-u-boot.dtb
DTC arch/arm/dts/r8a77960-ulcb-u-boot.dtb
DTC arch/arm/dts/r8a77960-salvator-x-u-boot.dtb
DTC arch/arm/dts/r8a77965-ulcb-u-boot.dtb
DTC arch/arm/dts/r8a77965-salvator-x-u-boot.dtb
DTC arch/arm/dts/r8a77970-eagle-u-boot.dtb
DTC arch/arm/dts/r8a77980-condor-u-boot.dtb
DTC arch/arm/dts/r8a77990-ebisu-u-boot.dtb
DTC arch/arm/dts/r8a77995-draak-u-boot.dtb
DTC arch/arm/dts/r8a779a0-falcon-u-boot.dtb
DTC arch/arm/dts/rzg2l-dev.dtb
DTC arch/arm/dts/smarc-rzg2l.dtb
DTC arch/arm/dts/rzv2l-dev.dtb
DTC arch/arm/dts/smarc-rzv2l.dtb
DTC arch/arm/dts/rzg2lc-dev.dtb
DTC arch/arm/dts/smarc-rzg2lc.dtb
DTC arch/arm/dts/rzg2ul-type1-dev.dtb
DTC arch/arm/dts/rzg2ul-type1-ddr3l-dev.dtb
DTC arch/arm/dts/rzg2ul-type2-dev.dtb
DTC arch/arm/dts/smarc-rzg2ul.dtb
DTC arch/arm/dts/rzt2h-dev.dtb
DTC arch/arm/dts/rzn2h-dev.dtb
DTC arch/arm/dts/rzt2h-dsab.dtb
SHIPPED dts/dt.dtb
CAT u-boot-dtb.bin
COPY u-boot.dtb
COPY u-boot.bin
LD u-boot.elf
OBJCOPY u-boot-elf.srec
Building Linux[edit | edit source]
Quick reference[edit | edit source]
| Repository Information | |
|---|---|
| URL | https://git.dave.eu/git/desk-rz-l/rz-linux-cip.git |
| stable branch | desk-rz-l-1.x.x |
| stable tag | desk-rz-l-1.0.0 |
| Build Information | ||
|---|---|---|
| defconfig | defconfig | |
| Kernel binary | Image | |
| Device trees | ConfigID | DTB |
| 2002 | renesas/rzt2h-eb23-cb2002.dtb | |
| 2003 | renesas/rzt2h-eb23-cb2003.dtb | |
Instructions[edit | edit source]
It is assumed that the development environment has been set up properly as described here.
- Start the Linux development VM and log in to the system
- Open a terminal window and clone the repository
- Configure the build environment
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ source ~/desk-rz-l/desk-rz-l-1.0.0_env.sh
- Enter the source tree directory
- Setup defconfig
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ make defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/confdata.o HOSTCC scripts/kconfig/expr.o LEX scripts/kconfig/lexer.lex.c YACC scripts/kconfig/parser.tab.[ch] HOSTCC scripts/kconfig/lexer.lex.o HOSTCC scripts/kconfig/parser.tab.o HOSTCC scripts/kconfig/preprocess.o HOSTCC scripts/kconfig/symbol.o HOSTCC scripts/kconfig/util.o HOSTLD scripts/kconfig/conf *** Default configuration is based on 'defconfig' # # configuration written to .config # dvdk@vagrant:~/desk-rz-l/rz-linux-cip$
- Build kernel
Image:
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ make -j 8 ... CC drivers/iio/industrialio-core.o CC drivers/iio/inkern.o AR drivers/tee/optee/built-in.a AR drivers/tee/built-in.a AR drivers/iio/potentiometer/built-in.a AR drivers/iio/built-in.a AR drivers/built-in.a GEN .version CHK include/generated/compile.h LD vmlinux.o MODPOST vmlinux.symvers MODINFO modules.builtin.modinfo GEN modules.builtin LD .tmp_vmlinux.kallsyms1 KSYMS .tmp_vmlinux.kallsyms1.S AS .tmp_vmlinux.kallsyms1.S LD .tmp_vmlinux.kallsyms2 KSYMS .tmp_vmlinux.kallsyms2.S AS .tmp_vmlinux.kallsyms2.S LD vmlinux SORTTAB vmlinux SYSMAP System.map OBJCOPY arch/arm64/boot/Image dvdk@vagrant:~/desk-rz-l/rz-linux-cip$
- Build the DTBs:
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ make renesas/rzt2h-eb23-cb2003.dtb DTC arch/arm64/boot/dts/renesas/rzt2h-eb23-cb2003.dtb dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ make renesas/rzt2h-eb23-cb2002.dtb DTC arch/arm64/boot/dts/renesas/rzt2h-eb23-cb2002.dtb dvdk@vagrant:~/desk-rz-l/rz-linux-cip$
- Optional: build the modules
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ make modules -j 8 CALL scripts/atomic/check-atomics.sh CALL scripts/checksyscalls.sh CC [M] fs/efivarfs/inode.o CC [M] fs/efivarfs/file.o CC [M] fs/efivarfs/super.o LD [M] fs/efivarfs/efivarfs.o LDS scripts/module.lds CC [M] drivers/pci/pcie/aer_inject.o CC [M] drivers/pci/endpoint/functions/pci-epf-test.o CC [M] drivers/xen/gntdev.o CC [M] drivers/xen/gntalloc.o LD [M] drivers/xen/xen-gntalloc.o CC [M] drivers/mtd/tests/oobtest.o LD [M] drivers/xen/xen-gntdev.o CC [M] drivers/input/misc/uinput.o CC [M] drivers/mtd/tests/mtd_test.o CC [M] drivers/usb/gadget/function/f_acm.o CC [M] drivers/usb/gadget/legacy/ether.o CC [M] drivers/mtd/tests/pagetest.o CC [M] drivers/usb/gadget/legacy/mass_storage.o CC [M] drivers/net/wireless/marvell/mwifiex/main.o CC [M] drivers/usb/gadget/function/u_serial.o CC [M] drivers/input/mousedev.o CC [M] drivers/mtd/tests/readtest.o CC [M] drivers/mtd/tests/speedtest.o CC [M] drivers/usb/gadget/legacy/serial.o CC [M] drivers/usb/gadget/function/f_serial.o CC [M] drivers/mtd/tests/stresstest.o CC [M] drivers/mtd/tests/subpagetest.o CC [M] drivers/net/wireless/marvell/mwifiex/init.o LD [M] drivers/usb/gadget/legacy/g_ether.o LD [M] drivers/usb/gadget/legacy/g_mass_storage.o LD [M] drivers/usb/gadget/legacy/g_serial.o CC [M] drivers/usb/gadget/function/f_obex.o CC [M] drivers/usb/gadget/usbstring.o CC [M] drivers/usb/gadget/config.o CC [M] drivers/mtd/tests/torturetest.o CC [M] drivers/usb/gadget/epautoconf.o CC [M] drivers/mtd/tests/mtd_nandecctest.o CC [M] drivers/usb/gadget/composite.o CC [M] drivers/usb/gadget/function/u_ether.o CC [M] drivers/usb/gadget/functions.o CC [M] drivers/mtd/tests/nandbiterrs.o CC [M] drivers/usb/gadget/function/f_ecm.o CC [M] drivers/net/wireless/marvell/mwifiex/cfp.o CC [M] drivers/usb/gadget/configfs.o LD [M] drivers/mtd/tests/mtd_oobtest.o LD [M] drivers/mtd/tests/mtd_pagetest.o CC [M] drivers/usb/gadget/u_f.o LD [M] drivers/mtd/tests/mtd_readtest.o LD [M] drivers/mtd/tests/mtd_speedtest.o LD [M] drivers/mtd/tests/mtd_stresstest.o CC [M] drivers/media/usb/uvc/uvc_driver.o LD [M] drivers/mtd/tests/mtd_subpagetest.o LD [M] drivers/mtd/tests/mtd_torturetest.o LD [M] drivers/mtd/tests/mtd_nandbiterrs.o CC [M] drivers/usb/gadget/function/f_subset.o CC [M] drivers/media/usb/gspca/gspca.o CC [M] drivers/usb/gadget/function/f_rndis.o CC [M] drivers/net/wireless/marvell/mwifiex/cmdevt.o LD [M] drivers/usb/gadget/libcomposite.o CC [M] drivers/net/wireless/marvell/mwifiex/util.o CC [M] drivers/media/usb/uvc/uvc_queue.o CC [M] drivers/usb/gadget/function/rndis.o CC [M] drivers/media/usb/gspca/autogain_functions.o CC [M] drivers/usb/gadget/function/f_mass_storage.o CC [M] drivers/net/wireless/marvell/mwifiex/txrx.o CC [M] drivers/media/usb/uvc/uvc_v4l2.o CC [M] drivers/net/wireless/marvell/mwifiex/wmm.o CC [M] drivers/net/wireless/marvell/mwifiex/11n.o LD [M] drivers/media/usb/gspca/gspca_main.o CC [M] drivers/net/wireless/marvell/mwifiex/11ac.o CC [M] drivers/net/wireless/marvell/mwifiex/11n_aggr.o CC [M] drivers/usb/gadget/function/storage_common.o CC [M] drivers/media/usb/uvc/uvc_video.o CC [M] drivers/net/wireless/marvell/mwifiex/11n_rxreorder.o CC [M] drivers/net/wireless/marvell/mwifiex/scan.o CC [M] drivers/net/wireless/marvell/mwifiex/join.o LD [M] drivers/usb/gadget/function/usb_f_acm.o LD [M] drivers/usb/gadget/function/usb_f_serial.o CC [M] drivers/net/wireless/marvell/mwifiex/sta_ioctl.o LD [M] drivers/usb/gadget/function/usb_f_obex.o LD [M] drivers/usb/gadget/function/usb_f_ecm.o LD [M] drivers/usb/gadget/function/usb_f_ecm_subset.o LD [M] drivers/usb/gadget/function/usb_f_rndis.o LD [M] drivers/usb/gadget/function/usb_f_mass_storage.o CC [M] drivers/media/usb/uvc/uvc_ctrl.o CC [M] drivers/net/wireless/marvell/mwifiex/sta_cmd.o CC [M] drivers/net/wireless/marvell/mwifiex/uap_cmd.o CC [M] drivers/net/wireless/marvell/mwifiex/ie.o CC [M] drivers/media/usb/uvc/uvc_status.o CC [M] drivers/net/wireless/marvell/mwifiex/sta_cmdresp.o CC [M] drivers/net/wireless/marvell/mwifiex/sta_event.o CC [M] drivers/media/usb/uvc/uvc_isight.o CC [M] drivers/net/wireless/marvell/mwifiex/uap_event.o CC [M] drivers/net/wireless/marvell/mwifiex/sta_tx.o CC [M] drivers/net/wireless/marvell/mwifiex/sta_rx.o CC [M] drivers/net/wireless/marvell/mwifiex/uap_txrx.o CC [M] drivers/media/usb/uvc/uvc_debugfs.o CC [M] drivers/media/usb/uvc/uvc_metadata.o CC [M] drivers/media/usb/uvc/uvc_entity.o CC [M] drivers/net/wireless/marvell/mwifiex/cfg80211.o CC [M] drivers/net/wireless/marvell/mwifiex/ethtool.o CC [M] drivers/net/wireless/marvell/mwifiex/11h.o CC [M] drivers/net/wireless/marvell/mwifiex/tdls.o CC [M] drivers/net/wireless/marvell/mwifiex/debugfs.o CC [M] drivers/net/wireless/marvell/mwifiex/pcie.o LD [M] drivers/media/usb/uvc/uvcvideo.o LD [M] drivers/net/wireless/marvell/mwifiex/mwifiex.o LD [M] drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.o MODPOST modules-only.symvers GEN Module.symvers CC [M] drivers/input/misc/uinput.mod.o CC [M] drivers/input/mousedev.mod.o CC [M] drivers/media/usb/gspca/gspca_main.mod.o CC [M] drivers/media/usb/uvc/uvcvideo.mod.o CC [M] drivers/mtd/tests/mtd_nandbiterrs.mod.o CC [M] drivers/mtd/tests/mtd_nandecctest.mod.o CC [M] drivers/mtd/tests/mtd_oobtest.mod.o CC [M] drivers/mtd/tests/mtd_pagetest.mod.o CC [M] drivers/mtd/tests/mtd_readtest.mod.o CC [M] drivers/mtd/tests/mtd_speedtest.mod.o CC [M] drivers/mtd/tests/mtd_stresstest.mod.o CC [M] drivers/mtd/tests/mtd_subpagetest.mod.o CC [M] drivers/mtd/tests/mtd_torturetest.mod.o CC [M] drivers/net/wireless/marvell/mwifiex/mwifiex.mod.o CC [M] drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.mod.o CC [M] drivers/pci/endpoint/functions/pci-epf-test.mod.o CC [M] drivers/pci/pcie/aer_inject.mod.o CC [M] drivers/usb/gadget/function/u_ether.mod.o CC [M] drivers/usb/gadget/function/u_serial.mod.o CC [M] drivers/usb/gadget/function/usb_f_acm.mod.o CC [M] drivers/usb/gadget/function/usb_f_ecm.mod.o CC [M] drivers/usb/gadget/function/usb_f_ecm_subset.mod.o CC [M] drivers/usb/gadget/function/usb_f_mass_storage.mod.o CC [M] drivers/usb/gadget/function/usb_f_obex.mod.o CC [M] drivers/usb/gadget/function/usb_f_rndis.mod.o CC [M] drivers/usb/gadget/function/usb_f_serial.mod.o CC [M] drivers/usb/gadget/legacy/g_ether.mod.o CC [M] drivers/usb/gadget/legacy/g_mass_storage.mod.o CC [M] drivers/usb/gadget/legacy/g_serial.mod.o CC [M] drivers/usb/gadget/libcomposite.mod.o CC [M] drivers/xen/xen-gntalloc.mod.o CC [M] drivers/xen/xen-gntdev.mod.o CC [M] fs/efivarfs/efivarfs.mod.o LD [M] drivers/input/misc/uinput.ko LD [M] drivers/input/mousedev.ko LD [M] drivers/media/usb/gspca/gspca_main.ko LD [M] drivers/media/usb/uvc/uvcvideo.ko LD [M] drivers/mtd/tests/mtd_nandbiterrs.ko LD [M] drivers/mtd/tests/mtd_nandecctest.ko LD [M] drivers/mtd/tests/mtd_oobtest.ko LD [M] drivers/mtd/tests/mtd_pagetest.ko LD [M] drivers/mtd/tests/mtd_readtest.ko LD [M] drivers/mtd/tests/mtd_speedtest.ko LD [M] drivers/mtd/tests/mtd_stresstest.ko LD [M] drivers/mtd/tests/mtd_subpagetest.ko LD [M] drivers/net/wireless/marvell/mwifiex/mwifiex.ko LD [M] drivers/net/wireless/marvell/mwifiex/mwifiex_pcie.ko LD [M] drivers/mtd/tests/mtd_torturetest.ko LD [M] drivers/pci/endpoint/functions/pci-epf-test.ko LD [M] drivers/pci/pcie/aer_inject.ko LD [M] drivers/usb/gadget/function/u_ether.ko LD [M] drivers/usb/gadget/function/u_serial.ko LD [M] drivers/usb/gadget/function/usb_f_acm.ko LD [M] drivers/usb/gadget/function/usb_f_ecm.ko LD [M] drivers/usb/gadget/function/usb_f_ecm_subset.ko LD [M] drivers/usb/gadget/function/usb_f_mass_storage.ko LD [M] drivers/usb/gadget/function/usb_f_obex.ko LD [M] drivers/usb/gadget/function/usb_f_rndis.ko LD [M] drivers/usb/gadget/function/usb_f_serial.ko LD [M] drivers/usb/gadget/legacy/g_ether.ko LD [M] drivers/usb/gadget/legacy/g_mass_storage.ko LD [M] drivers/usb/gadget/legacy/g_serial.ko LD [M] drivers/usb/gadget/libcomposite.ko LD [M] drivers/xen/xen-gntalloc.ko LD [M] fs/efivarfs/efivarfs.ko LD [M] drivers/xen/xen-gntdev.ko dvdk@vagrant:~/desk-rz-l/rz-linux-cip$
NOTE: This is the default configuration suitable for the latest target.
- The former command selects the default DESK-RZ-L configuration, while the latter builds the kernel binary image with the required U-Boot header and the kernel device tree.
Default Linux kernel configuration can be changed by using the standard menuconfig, xconfig, or gconfig make target. Subsequent builds just require Image make target to update the binary image. Once the build process is complete, the kernel binary image is stored in the arch/arm/boot/Image file. Both this file and the kernel device tree can be copied to the tftp root directory /tftpboot/boot/ with the following commands:
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ cp arch/arm64/boot/Image /tftpboot/boot/ dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ cp arch/arm64/boot/dts/renesas/*.dtb /tftpboot/boot/
Usually, kernel modules are installed with the make modules_install command, but this method installs the modules into the /lib/modules directory of your MVM, which is not what you want.
A better way to deploy kernel modules while cross-compiling is
- generate a
.tar.gzarchive - install this archive into the target root file system
The user can create such an archive, for example, using the following commands:
dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ mkdir modules-install dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ make INSTALL_MOD_PATH=modules-install modules_install dvdk@vagrant:~/desk-rz-l/rz-linux-cip$ cd modules-install dvdk@vagrant:~/desk-rz-l/rz-linux-cip/modules-install$ tar cvzf ../modules.tar.gz . && cd .. dvdk@vagrant:~/desk-rz-l/rz-linux-cip$
Now copy modules.tar.gz into the target root file system and install them as root with the following command
root@desk-t2h-usd-devel:~# tar xvzf modules.tar.gz -C /
Building the Yocto BSP[edit | edit source]
Quick reference[edit | edit source]
| Repository Information | ||
|---|---|---|
| Repository | Yocto BSP Layer | |
| URL | https://git.dave.eu/git/desk-rz-l/meta-desk-rz.git | |
| stable branch | desk-rz-l-1.x.x | |
| stable tag | desk-rz-l-1.0.1 | |
| Build targets | |
|---|---|
| Name | Description |
| desk-image-devel | This image includes tools for development/debugging |
Introduction[edit | edit source]
As is known, in addition to a bootloader and the OS. An embedded Linux system, such as a kernel, requires a root file system to operate. The root file system must contain everything needed to support the Linux system (applications, settings, data, etc.). The root file system is the file system that is contained on the same partition on which the root directory is located. The Linux kernel, at the end of its startup stage, mounts the root file system on the configured root device and finally launches the /sbin/init, the first user space process and "father" of all the other processes.
For more information on the Linux filesystem, please refer to http://www.thegeekstuff.com/2010/09/linux-file-system-structure/.
DESK-RZ-L provides one (or more) pre-built root file system, that can be used during the evaluation/development/deployment cycle. For instance, the root file system included in the desk-rz-l-1.x.x-image-devel image is suited for the development phase, since it provides a relatively rich set of packages including tools and libraries used to debug the application code. The pre-built root file systems are located here: /home/dvdk/<target_name>/rootfs/.
To generate the supported root file systems, the build of the Yocto BSP has to be run. The output of this process is an image containing the U-Boot binary file, the Linux kernel image, and the selected root file system image. The following sections describe in detail how to execute this operation.
For more general information regarding the Yocto build system, please refer the dedicated category page.
How to build the Yocto BSP images including the U-Boot binary file, the Linux kernel image, and the target root file system image with KAS[edit | edit source]
|
The following procedure requires access to the DAVE Embedded Systems' git repositories. Access to such repositories is granted to the development kit's owners only. Please refer to this page for detailed instructions on how to get it. |
|
This process requires a lot of hardware resources in terms of disk storage, RAM, and processing power. For this reason, it is also recommended to consider the use of a physical machine. |
Initialize the build environment[edit | edit source]
Check that the following packages are installed:
dvdk@vagrant:~$ sudo apt-get update && sudo apt install bc bmap-tools cpio curl debianutils gawk gcc git git-core iperf3 iputils-ping libc6-dev-i386 libncurses5-dev libyaml-dev libtinfo5 lintian mesa-common-dev p7zip-full picocom python python3 python3-jinja2 python3-pexpect python3-pip python3-subunit pylint3 sudo u-boot-tools unzip vim virtualenv wget xz-utils chrpath texinfo diffstat zstd gcc-multilib libegl1-mesa libgmp-dev libmpc-dev libsdl1.2-dev pylint python3-git socat xterm libpulse-dev gdb libssl-dev libelf-dev libncurses-dev build-essential lzop python-yaml gparted syslinux pxelinux net-tools
Before running the build, the KAS environment must be initialized properly.
dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ rm -rf venv/ dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ virtualenv -p /usr/bin/python3 venv created virtual environment CPython3.8.10.final.0-64 in 374ms creator CPython3Posix(dest=/home/dvdk/desk-rz-l/meta-desk-rz/venv, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/dvdk/.local/share/virtualenv/seed-app-data/v1.0.1.debian.1) activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ source venv/bin/activate (venv) dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ pip install kas==3.2 Processing /home/dvdk/.cache/pip/wheels/d5/02/dd/e144e9739df0fafa1eaa987b8ce055da75ef433941a9f95fcb/kas-3.2-py3-none-any.whl Collecting jsonschema<4,>=2.5.0 Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB) Collecting kconfiglib<15,>=14.1.0 Using cached kconfiglib-14.1.0-py2.py3-none-any.whl (145 kB) Collecting PyYAML<6,>=3.0 Using cached PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl (662 kB) Collecting distro<2,>=1.0.0 Using cached distro-1.9.0-py3-none-any.whl (20 kB) Collecting pyrsistent>=0.14.0 Using cached pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (121 kB) Requirement already satisfied: setuptools in ./venv/lib/python3.8/site-packages (from jsonschema<4,>=2.5.0->kas==3.2) (44.0.0) Collecting six>=1.11.0 Using cached six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting attrs>=17.4.0 Using cached attrs-25.3.0-py3-none-any.whl (63 kB) Installing collected packages: pyrsistent, six, attrs, jsonschema, kconfiglib, PyYAML, distro, kas Successfully installed PyYAML-5.4.1 attrs-25.3.0 distro-1.9.0 jsonschema-3.2.0 kas-3.2 kconfiglib-14.1.0 pyrsistent-0.20.0 six-1.17.0 (venv) dvdk@vagrant:~/desk-rz-l/meta-desk-rz$
Running the build[edit | edit source]
Please note that even the basic root file system requires a few hours to build on a mid/hi range desktop (4-6 cores, 8-12 GiB RAM) also depending on your Internet connection speed (all sources are fetched from the network). Nearly 200GiB of disk space is required for the build; this means that an external VDI disk should be created and mounted for a complete Yocto build. The process may be slowed down significantly since the performances of a virtual machine are reduced if compared to the physical hardware. Thus, it's recommended to check the hardware capabilities of the host system and, when building with Yocto is required, to consider the following options:
- Migrating the build system to a physical machine
- Assuming that the host system has the required resources, extending the hardware capabilities of the default MVM (e.g. adding more cores and disk space).
Once completed the initialization phase, developers can launch the Yocto image build with KAS, with the following commands:
- for build
dave-image-develimage withDESK-RZ-Lmachine
(venv) dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ kas build desk-rz-l_devel.yml
Once the build process is completed, the resulting files (the U-Boot binaries, the Linux kernel image, the device tree blob, the .tar.gz compressed root file system image, etc.) will be available in build/tmp/deploy/images/<machine_name>.
Generating the SDKs[edit | edit source]
In order to get the corresponding SDK, perform the following command:
- for
DESK-RZ-Lmachine
(venv) dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ KAS_TASK="populate_sdk" kas build desk-rz-l_devel.yml
Generating the Toolchain[edit | edit source]
The toolchain can be created by the following command:
- for
DESK-RZ-Lmachine
(venv) dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ KAS_TARGET="meta-toolchain" kas build desk-rz-l_devel.yml
Building additional packages[edit | edit source]
To build additional packages, for example memtester, the user needs to perform the following command
(venv) dvdk@vagrant:~/desk-rz-l/meta-desk-rz$ KAS_TARGET="memtester" kas build desk-rz-l_devel.yml
The resulting packages (the default format is rpm) can be found inside build/tmp/deploy/rpm.
Hello word example[edit | edit source]
Below is an example on C code displaying the classic Hello World! message on the target serial console.
This example shows how to use the arm cross-compiler using the environment configured for this purpose.
Setting the cross-compiler[edit | edit source]
- start the Linux development VM and log in to the system
- open a terminal window and cd into your source code directory
dvdk@vagrant:~/desk-rz-l$ mkdir myproject
dvdk@vagrant:~/desk-rz-l$ cd myproject/
dvdk@vagrant:~/desk-rz-l/myproject$ vi hello.c
dvdk@vagrant:~/desk-rz-l/myproject$ cat hello.c
#include <stdio.h>
int main(){
printf("Hello, World!\n");
return 0;
}
- configure the build environment
dvdk@vagrant:~/myproject$ source ~/desk-rz-l/desk-rz-l-1.0.0_env.sh
- as you can see here below, the
$CCenvironment variable has been properly configured for using the SDKsysrootparameter:
dvdk@vagrant:~/desk-rz-l/myproject$ echo $CC aarch64-poky-linux-gcc -mtune=cortex-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/yocto/sdk/desk-rz-l/desk-t2h-l-1.0.0/sysroots/aarch64-poky-linux dvdk@vagrant:~/desk-rz-l/myproject$
- invoke the cross-compiler for compiling your source code example: the object file obtained is a proper ELF 64-bit for the target microprocessor
dvdk@vagrant:~/desk-rz-l/myproject$ $CC hello.c -Os -o hello dvdk@vagrant:~/desk-rz-l/myproject$ file hello hello: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-aarch64.so.1, BuildID[sha1]=01215e39e6f425d38c5da326d0a241795d01da5f, for GNU/Linux 3.14.0, with debug_info, not stripped dvdk@vagrant:~/desk-rz-l/myproject$
Running the example on the target[edit | edit source]
Now it is enough to copy the object file in the /home/root rfs directory and boot from nfs:
dvdk@vagrant:~/desk-rz-l/myproject$ sudo cp hello ~/desk-rz-l/rootfs/home/root/. dvdk@vagrant:~/desk-rz-l/myproject$ sudo ls -la ~/desk-rz-l/rootfs/home/root/. total 24 drwx------ 2 root root 4096 Dec 19 08:57 . drwxr-xr-x 3 root root 4096 Mar 9 2018 .. -rwxr-xr-x 1 root root 13232 Dec 19 08:57 hello dvdk@vagrant:~/desk-rz-l/myproject$
on the target:
desk-t2h-usd-devel login: root root@desk-t2h-usd-devel:~# ls -la total 24 drwx------ 2 root root 4096 Dec 19 2025 . drwxr-xr-x 3 root root 4096 Mar 9 2018 .. -rwxr-xr-x 1 root root 13232 Dec 19 2025 hello root@desk-t2h-usd-devel:~# ./hello Hello, World! root@desk-t2h-usd-devel:~#
Deployment[edit | edit source]
Flash programmer over SCI mode[edit | edit source]
The Flash Programmer tool is required when you want to program the NOR flash without first booting from other peripherals and then programming it from a higher software level.
It is a bare-metal tool that runs on the CR52 core, and its main purposes are:
- Initialize the minimum set of peripherals required for the following operations
- Initialize the DDR
- Use xSPI0 to program the connected NOR flash
Boot from SCI Mode[edit | edit source]
See Boot options for how to set the bootstrap pins to boot in SCI mode.
Detect SCI mode running correctly[edit | edit source]
To verify that the system has correctly booted in this mode, check that the following message appears:
SCI Download mode (Normal SCI boot)
If this message appears on the debug console, the system is running in the correct mode.
Send binary[edit | edit source]
There are two ways to send the Flash Programmer binary over the debug serial port:
- From Windows using the
Tera Termtool - From Linux
In any case, the sequence to follow is the follows:
- Power on the board in SCI download mode
- Send the Flash Programmer header
- Send the Flash Programmer
- After the transfer, a prompt will appear
- Program BL2 into the NOR:
- Run the command
XSPIW 0 0 0 - Send the BL2 srec file over the serial port
- Run the command
- Program U-Boot:
- Run the command
XSPIW 0 0x60000 0 - Send the FIP srec file over the serial port
- Run the command
Attention: sending the binaries is slow; the process takes several minutes.
The files can be found either on the MVM or on the DESK-RZ-L-1.0.0 mirror and downloaded from there.
Note that the MVM may contain older versions; it is recommended to download the latest version from here.
From Windows[edit | edit source]
- Open the serial port using the
Tera Termtool - Open, with Windows Explorer, the directory where the downloaded binaries are located. The required binaries are:
HDR NM: Flash Programmer headerFlash_Programmer_SCIF_CR52_RZT2H_EVK.mot: Flash Programmerbl2_bp_xspi0-desk-t2h-usd-devel.srec: TF-A BL2fip-desk-t2h-usd-devel.srec: U-Boot
- Send the Flash Programmer header
HDR NM(drag theHDR NMfile from the Explorer window and drop it into theTera Termterminal)- A dialog will appear; make sure
Send File (Paste content of file)is selected and clickOK
- A dialog will appear; make sure
- If the header is sent correctly, the message
-- Load Program to RAM ---------------will appear- In the same way, send the file
Flash_Programmer_SCIF_CR52_RZT2H_EVK.mot(this may take some time)
- In the same way, send the file
- A string similar to
Flash Programmer V1.03 (RZT2H)(CR52_0) (built: Sep 10 2025, 13:34:42)will appear, followed by the prompt> - The Flash Programmer tool has now been loaded; proceed with programming the NOR flash with BL2 and FIP
- Run the command
xspiw 0 0 0 - As before, send the file
bl2_bp_xspi0-desk-t2h-usd-devel.srec - When finished, run the command
xspiw 0 0x60000 0 - As before, send the binary
fip-desk-t2h-usd-devel.srec(this may take several minutes)
- Run the command
Example:
SCI Download mode (Normal SCI boot) -- Load Program to RAM --------------- -- Start Boot Program on RAM --------- Flash Programmer V1.03 (RZT2H)(CR52_0) (built: Sep 10 2025, 13:34:42) > xspiw 0 0 0 send file Erased Written > > xspiw 0 0x60000 0 send file Erased Written >
From Linux[edit | edit source]
For example, when using the DVDK Virtual Machine, just connect the debug serial port to the MVM and use the picocom tool to verify that the serial connection is working correctly:
dvdk@vagrant:~/desk-rz-l/bin$ picocom -b 115200 /dev/ttyUSB0 picocom v3.1 port is : /dev/ttyUSB0 flowcontrol : none baudrate is : 115200 parity is : none databits are : 8 stopbits are : 1 escape is : C-a local echo is : no noinit is : no noreset is : no hangup is : no nolock is : no send_cmd is : sz -vv receive_cmd is : rz -vv -E imap is : omap is : emap is : crcrlf,delbs, logfile is : none initstring : none exit_after is : not set exit is : no Type [C-a] [C-h] to see available commands Terminal ready SCI Download mode (Normal SCI boot)
On the MVM, the directory /home/dvdk/desk-rz-l/bin/ contains the following binaries:
bl2_bp_xspi0-desk-t2h-usd-devel.srec: TF-A BL2fip-desk-t2h-usd-devel.srec: U-BootFlash_Programmer_SCIF_CR52_RZT2H_EVK.mot: Flash ProgrammerHDR NM: Flash Programmer header
Using cat or echo redirected to the debug serial port, it is possible to send the binaries. Below is an example script that programs U-Boot.
The script assumes that the board has just been powered on and that no data has been sent on the serial port before running it.
In parallel, it is possible to keep a separate terminal open to cat the serial port in order to monitor the progress and diagnose any issues.
#!/bin/bash
# send_serial.sh
# Script to send files over serial with intermediate progress messages
# Usage: ./send_serial.sh <serial_port> <HDR_NM> <Flash_Programmer.mot> <bl2.srec> <fip.srec>
if [ "$#" -ne 5 ]; then
echo "Usage: $0 <serial_port> <HDR_NM> <Flash_Programmer.mot> <bl2.srec> <fip.srec>"
exit 1
fi
SERIAL="$1"
HDR_FILE="$2"
FLASH_FILE="$3"
BL2_FILE="$4"
FIP_FILE="$5"
BAUD=115200
# Configure serial port
echo "Configuring serial port $SERIAL at $BAUD 8N1, flow control disabled..."
stty -F "$SERIAL" "$BAUD" cs8 -parenb -cstopb -ixon -ixoff -crtscts raw -echo
sleep 1
echo "---- Sending HDR ----"
cat "$HDR_FILE" > "$SERIAL"
echo "HDR sent"
echo "---- Sending Flash Programmer ----"
cat "$FLASH_FILE" > "$SERIAL"
echo "Flash Programmer sent"
sleep 5
echo "---- Sending command: xspiw 0 0 0 ----"
echo "xspiw 0 0 0" > "$SERIAL"
echo "Command sent"
sleep 1
echo "---- Sending BL2 SREC ----"
cat "$BL2_FILE" > "$SERIAL"
echo "BL2 sent, waiting 10 seconds..."
sleep 10
echo "---- Sending command: xspiw 0 0x60000 0 ----"
echo "xspiw 0 0x60000 0" > "$SERIAL"
echo "Command sent"
sleep 1
echo "---- Sending FIP SREC ----"
cat "$FIP_FILE" > "$SERIAL"
echo "FIP sent, waiting 30 seconds..."
sleep 30
echo "---- Flash OK ----"
echo "Flashing completed successfully"
Example:
dvdk@vagrant:~/desk-rz-l/bin$ ./send_serial.sh /dev/ttyUSB0 HDR%20NM Flash_Programmer_SCIF_CR52_RZT2H_EVK.mot bl2_bp_xspi0-desk-t2h-usd-devel.srec fip-desk-t2h-usd-devel.srec Configuring serial port /dev/ttyUSB0 at 115200 8N1, flow control disabled... ---- Sending HDR ---- HDR sent ---- Sending Flash Programmer ---- Flash Programmer sent ---- Sending command: xspiw 0 0 0 ---- Command sent ---- Sending BL2 SREC ---- BL2 sent, waiting 10 seconds... ---- Sending command: xspiw 0 0x60000 0 ---- Command sent ---- Sending FIP SREC ---- FIP sent, waiting 30 seconds... ---- Flash OK ---- Flashing completed successfully
Booting from NOR device[edit | edit source]
After programming U-Boot into the NOR memory (see Flash Programmer), it is possible to boot directly from the NOR memory connected to the xSPI0 bus.
NOTICE: BL2: v2.7(release):desk-rz-l-1.0.0-rc1-1-gc1c8d8a6f NOTICE: BL2: Built : 07:26:03, Dec 11 2025 NOTICE: BL2: Booting BL31 NOTICE: BL31: v2.7(release):desk-rz-l-1.0.0-rc1-1-gc1c8d8a6f NOTICE: BL31: Built : 07:26:03, Dec 11 2025 U-Boot 2021.10-desk-rz-l-1.0.0-rc2 (Dec 12 2025 - 13:30:25 +0000) CPU: Renesas Electronics RZ/T2H Model: Dave EVK based on r9a09g077m44 DRAM: 7.9 GiB MMC: mmc@92080000: 0, mmc@92090000: 1 Loading Environment from MMC... OK In: serial@80005000 Out: serial@80005000 Err: serial@80005000 SOM ConfigID#: 00000001 SOM UniqueID#: 00000000:00000000 CB ConfigID#: 00002002 CB UniqueID#: 17000041:2094b72d Net: Warning: ethernet@80100000 (eth0) using random MAC address - aa:db:c3:64:a1:3d eth0: ethernet@80100000 Hit any key to stop autoboot: 0 =>
The NOR flash contains only BL2 and U-Boot.
ConfigID[edit | edit source]
See ConfigID for further details.
Linux boot[edit | edit source]
The kernel is executed only if the CB ConfigID# is 2002 or 2003.
This ensures that the correct kernel and DTB are used depending on the carrier board present, in particular, preventing motor signals from being driven incorrectly if the pins are assigned to unconnected peripherals, which could cause hardware damage.
The kernel and the Root File System (RFS) must be provided via the uSD card.
From the mirror, you can download the file desk-rz-image-desk-t2h-usd-devel.wic.bz2.
Decompress it using 7-Zip (or similar tools) and program the uSD card using a tool such as Balena Etcher.
Insert the uSD card into the dedicated connector.
U-Boot will automatically look for the binaries on the uSD card and proceed to boot the Linux kernel from uSD.
NOTICE: BL2: v2.7(release):desk-rz-l-1.0.0-rc1-1-gc1c8d8a6f
NOTICE: BL2: Built : 07:26:03, Dec 11 2025
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.7(release):desk-rz-l-1.0.0-rc1-1-gc1c8d8a6f
NOTICE: BL31: Built : 07:26:03, Dec 11 2025
U-Boot 2021.10-desk-rz-l-1.0.0-rc2 (Dec 12 2025 - 13:30:25 +0000)
CPU: Renesas Electronics RZ/T2H
Model: Dave EVK based on r9a09g077m44
DRAM: 7.9 GiB
MMC: mmc@92080000: 0, mmc@92090000: 1
Loading Environment from MMC... OK
In: serial@80005000
Out: serial@80005000
Err: serial@80005000
SOM ConfigID#: 00000001
SOM UniqueID#: 00000000:00000000
CB ConfigID#: 00002002
CB UniqueID#: 17000041:2094b72d
Net:
Warning: ethernet@80100000 (eth0) using random MAC address - 3e:80:26:0e:45:10
eth0: ethernet@80100000
Hit any key to stop autoboot: 0
704 bytes read in 3 ms (228.5 KiB/s)
Running bootscript from mmc ...
## Executing script at c4200000
Booting SDV26 with boot/rzt2h-eb23-cb2002.dtb as device tree
20646400 bytes read in 825 ms (23.9 MiB/s)
39559 bytes read in 5 ms (7.5 MiB/s)
## Flattened Device Tree blob at c5f00000
Booting using the fdt blob at 0xc5f00000
Loading Device Tree to 00000000cfff3000, end 00000000cffffa86 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[ 0.000000] Linux version 5.10.145-desk-rz-l-1.0.0-rc2-cip17-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 SMP PREEMPT Fri Dec 12 13:34:53 UTC 2025
[ 0.000000] Machine model: renesas,r9a09g077
[ 0.000000] earlycon: sci0 at MMIO 0x0000000080005000 (options '115200n8')
[ 0.000000] printk: bootconsole [sci0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000d0000000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma@D0000000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000003ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] node 0: [mem 0x0000000240000000-0x00000003ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000c4000000-0x00000003ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 23 pages/cpu s55512 r8192 d30504 u94208
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2048256
[ 0.000000] Kernel command line: rw rootwait root=/dev/mmcblk0p2 earlycon
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[ 0.000000] Memory: 7814144K/8323072K available (12928K kernel code, 1090K rwdata, 3800K rodata, 2240K init, 416K bss, 246784K reserved, 262144K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: 960 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000083040000
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000007] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008284] Console: colour dummy device 80x25
[ 0.012759] printk: console [tty0] enabled
[ 0.016888] printk: bootconsole [sci0] disabled
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[ 0.000000] Linux version 5.10.145-desk-rz-l-1.0.0-rc2-cip17-yocto-standard (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 SMP PREEMPT Fri Dec 12 13:34:53 UTC 2025
[ 0.000000] Machine model: renesas,r9a09g077
[ 0.000000] earlycon: sci0 at MMIO 0x0000000080005000 (options '115200n8')
[ 0.000000] printk: bootconsole [sci0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000d0000000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma@D0000000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000003ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000c4000000-0x00000000ffffffff]
[ 0.000000] node 0: [mem 0x0000000240000000-0x00000003ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000c4000000-0x00000003ffffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 23 pages/cpu s55512 r8192 d30504 u94208
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2048256
[ 0.000000] Kernel command line: rw rootwait root=/dev/mmcblk0p2 earlycon
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[ 0.000000] Memory: 7814144K/8323072K available (12928K kernel code, 1090K rwdata, 3800K rodata, 2240K init, 416K bss, 246784K reserved, 262144K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: 960 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000083040000
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[ 0.000007] sched_clock: 56 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[ 0.008284] Console: colour dummy device 80x25
[ 0.012759] printk: console [tty0] enabled
[ 0.016888] printk: bootconsole [sci0] disabled
[ 0.021480] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000)
[ 0.021520] pid_max: default: 32768 minimum: 301
[ 0.021769] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.021837] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.024199] rcu: Hierarchical SRCU implementation.
[ 0.025170] Detected Renesas RZ/T2H r9a09g077
[ 0.135879] renesas,rzt2h-mitigation: Successed Initialization
[ 0.135917] EFI services will not be available.
[ 0.136445] smp: Bringing up secondary CPUs ...
[ 0.137173] Detected VIPT I-cache on CPU1
[ 0.137217] GICv3: CPU1: found redistributor 100 region 0:0x0000000083060000
[ 0.137258] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[ 0.138083] Detected VIPT I-cache on CPU2
[ 0.138120] GICv3: CPU2: found redistributor 200 region 0:0x0000000083080000
[ 0.138156] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[ 0.138966] Detected VIPT I-cache on CPU3
[ 0.138997] GICv3: CPU3: found redistributor 300 region 0:0x00000000830a0000
[ 0.139032] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[ 0.139166] smp: Brought up 1 node, 4 CPUs
[ 0.139299] SMP: Total of 4 processors activated.
[ 0.139322] CPU features: detected: Privileged Access Never
[ 0.139342] CPU features: detected: LSE atomic instructions
[ 0.139362] CPU features: detected: User Access Override
[ 0.139382] CPU features: detected: 32-bit EL0 Support
[ 0.139401] CPU features: detected: Common not Private translations
[ 0.139422] CPU features: detected: Data cache clean to the PoU not required for I/D coherence
[ 0.139449] CPU features: detected: CRC32 instructions
[ 0.139467] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[ 0.139491] CPU features: detected: 32-bit EL1 Support
[ 0.168751] CPU: All CPU(s) started at EL1
[ 0.168812] alternatives: patching kernel code
[ 0.171739] devtmpfs: initialized
[ 0.181827] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.181875] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.193986] pinctrl core: initialized pinctrl subsystem
[ 0.195040] DMI not present or invalid.
[ 0.195745] NET: Registered protocol family 16
[ 0.197638] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[ 0.197963] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.198613] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.198706] audit: initializing netlink subsys (disabled)
[ 0.198979] audit: type=2000 audit(0.192:1): state=initialized audit_enabled=0 res=1
[ 0.199683] thermal_sys: Registered thermal governor 'step_wise'
[ 0.200063] cpuidle: using governor menu
[ 0.200290] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.200444] ASID allocator initialised with 65536 entries
[ 0.236341] gpio-337 (pcie_rstout0): hogged as output/high
[ 0.236392] gpio-269 (pcie_rstout1): hogged as output/high
[ 0.236841] pinctrl-rzt2h 802c0000.pinctrl: pinctrl-rzt2h support registered
[ 0.250320] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.250352] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.250378] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.250403] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.252874] cryptd: max_cpu_qlen set to 1000
[ 0.261784] iommu: Default domain type: Translated
[ 0.263144] vgaarb: loaded
[ 0.263535] SCSI subsystem initialized
[ 0.264023] usbcore: registered new interface driver usbfs
[ 0.264102] usbcore: registered new interface driver hub
[ 0.264164] usbcore: registered new device driver usb
[ 0.265125] mc: Linux media interface: v0.10
[ 0.265191] videodev: Linux video capture interface: v2.00
[ 0.265314] pps_core: LinuxPPS API ver. 1 registered
[ 0.265337] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.265383] PTP clock support registered
[ 0.266299] sh_cmt 80080000.timer: ch0: used for clock events
[ 0.266337] sh_cmt 80080000.timer: ch1: used as clock source
[ 0.266364] clocksource: 80080000.timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 238904522 ns
[ 0.266973] sh_cmt 80080400.timer: ch0: used for clock events
[ 0.267004] sh_cmt 80080400.timer: ch1: used as clock source
[ 0.267029] clocksource: 80080400.timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 238904522 ns
[ 0.267446] sh_cmt 80080800.timer: ch0: used for clock events
[ 0.267477] sh_cmt 80080800.timer: ch1: used as clock source
[ 0.267502] clocksource: 80080800.timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 238904522 ns
[ 0.267889] sh_cmt 80081000.timer: ch0: used for clock events
[ 0.267919] sh_cmt 80081000.timer: ch0: used as clock source
[ 0.267944] clocksource: 80081000.timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 244641337159 ns
[ 0.268333] sh_cmt 80081400.timer: ch0: used for clock events
[ 0.268363] sh_cmt 80081400.timer: ch0: used as clock source
[ 0.268388] clocksource: 80081400.timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 244641337159 ns
[ 0.269256] Advanced Linux Sound Architecture Driver Initialized.
[ 0.270072] Bluetooth: Core ver 2.22
[ 0.270129] NET: Registered protocol family 31
[ 0.270151] Bluetooth: HCI device and connection manager initialized
[ 0.270181] Bluetooth: HCI socket layer initialized
[ 0.270205] Bluetooth: L2CAP socket layer initialized
[ 0.270241] Bluetooth: SCO socket layer initialized
[ 0.271001] clocksource: Switched to clocksource arch_sys_counter
[ 0.271257] VFS: Disk quotas dquot_6.6.0
[ 0.271348] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.281598] NET: Registered protocol family 2
[ 0.281983] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.287413] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[ 0.287559] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.288276] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[ 0.289447] TCP: Hash tables configured (established 65536 bind 65536)
[ 0.289601] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.289817] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.290168] NET: Registered protocol family 1
[ 0.290774] RPC: Registered named UNIX socket transport module.
[ 0.290800] RPC: Registered udp transport module.
[ 0.290819] RPC: Registered tcp transport module.
[ 0.290837] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.291942] PCI: CLS 0 bytes, default 64
[ 0.293076] kvm [1]: HYP mode not available
[ 0.295258] Initialise system trusted keyrings
[ 0.295477] workingset: timestamp_bits=46 max_order=21 bucket_order=0
[ 0.305448] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.306427] NFS: Registering the id_resolver key type
[ 0.306477] Key type id_resolver registered
[ 0.306499] Key type id_legacy registered
[ 0.306644] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.306671] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.306728] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.379287] Key type asymmetric registered
[ 0.379313] Asymmetric key parser 'x509' registered
[ 0.379371] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.379400] io scheduler mq-deadline registered
[ 0.379420] io scheduler kyber registered
[ 0.383981] gpt-rzg2l 90002300.gpt00_3: RZ/G2L GPT Driver probed
[ 0.384822] gpt-rzg2l 90004000.gpt02_0: RZ/G2L GPT Driver probed
[ 0.385461] poeg-rzg2l 90019000.poega: RZ/G2L POEG Driver probed
[ 0.385761] poeg-rzg2l 90019400.poegb: RZ/G2L POEG Driver probed
[ 0.386070] poeg-rzg2l 90019800.poegc: RZ/G2L POEG Driver probed
[ 0.386364] poeg-rzg2l 90019c00.poegd: RZ/G2L POEG Driver probed
[ 0.388279] rzt2h-pcie 92100000.pcie: host bridge /soc/pcie@92100000 ranges:
[ 0.388345] rzt2h-pcie 92100000.pcie: MEM 0x0400000000..0x040fffffff -> 0x00a0000000
[ 0.388421] rzt2h-pcie 92100000.pcie: IB MEM 0x00c4000000..0x00ffffffff -> 0x00c4000000
[ 0.388470] rzt2h-pcie 92100000.pcie: IB MEM 0x0240000000..0x03ffffffff -> 0x0240000000
[ 0.388979] rzt2h-pcie 92100000.pcie: pcie set lane config: num-lanes=1, val=0x300
[ 0.471032] rzt2h-pcie 92100000.pcie: PCIe Linx status [0x106]n
[ 0.471063] rzt2h-pcie 92100000.pcie: PCIe x1: link up Lane number
[ 0.473063] rzt2h-pcie 92100000.pcie: Current link speed is 5.0 GT/s
[ 0.473244] rzt2h-pcie 92100000.pcie: PCI host bridge to bus 0000:00
[ 0.473277] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.473307] pci_bus 0000:00: root bus resource [mem 0x400000000-0x40fffffff] (bus address [0xa0000000-0xafffffff])
[ 0.473384] pci 0000:00:00.0: [1912:1135] type 01 class 0x060400
[ 0.473481] pci 0000:00:00.0: PME# supported from D0 D3hot
[ 0.476958] pci 0000:01:00.0: [1912:0015] type 00 class 0x0c0330
[ 0.477123] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
[ 0.477729] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[ 0.489958] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[ 0.490022] pci 0000:00:00.0: BAR 14: assigned [mem 0x400000000-0x4000fffff]
[ 0.490059] pci 0000:01:00.0: BAR 0: assigned [mem 0x400000000-0x400001fff 64bit]
[ 0.490162] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.490190] pci 0000:00:00.0: bridge window [mem 0x400000000-0x4000fffff]
[ 0.490394] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[ 0.490604] pcieport 0000:00:00.0: PME: Signaling with IRQ 165
[ 0.491019] pci 0000:01:00.0: enabling device (0000 -> 0002)
[ 0.491492] rzt2h-pcie 92110000.pcie: host bridge /soc/pcie@92110000 ranges:
[ 0.491556] rzt2h-pcie 92110000.pcie: MEM 0x0600000000..0x060fffffff -> 0x00b0000000
[ 0.491631] rzt2h-pcie 92110000.pcie: IB MEM 0x00c4000000..0x00ffffffff -> 0x00c4000000
[ 0.491678] rzt2h-pcie 92110000.pcie: IB MEM 0x0240000000..0x03ffffffff -> 0x0240000000
[ 0.492035] rzt2h-pcie 92110000.pcie: pcie set lane config: num-lanes=1, val=0x300
[ 0.575027] rzt2h-pcie 92110000.pcie: PCIe Linx status [0x102]n
[ 0.575055] rzt2h-pcie 92110000.pcie: PCIe x1: link up Lane number
[ 0.576662] rzt2h-pcie 92110000.pcie: PCI host bridge to bus 0001:00
[ 0.576695] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 0.576726] pci_bus 0001:00: root bus resource [mem 0x600000000-0x60fffffff] (bus address [0xb0000000-0xbfffffff])
[ 0.576793] pci 0001:00:00.0: [1912:1135] type 01 class 0x060400
[ 0.576879] pci 0001:00:00.0: PME# supported from D0 D3hot
[ 0.580297] pci 0001:01:00.0: [1b4b:2b42] type 00 class 0x020000
[ 0.580462] pci 0001:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
[ 0.580575] pci 0001:01:00.0: reg 0x18: [mem 0x00000000-0x000fffff 64bit pref]
[ 0.581180] pci 0001:01:00.0: supports D1 D2
[ 0.581203] pci 0001:01:00.0: PME# supported from D0 D1 D3hot D3cold
[ 0.581480] pci 0001:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0001:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[ 0.593957] pci_bus 0001:01: busn_res: [bus 01-ff] end is updated to 01
[ 0.594017] pci 0001:00:00.0: BAR 15: assigned [mem 0x600000000-0x6001fffff 64bit pref]
[ 0.594057] pci 0001:01:00.0: BAR 0: assigned [mem 0x600000000-0x6000fffff 64bit pref]
[ 0.594161] pci 0001:01:00.0: BAR 2: assigned [mem 0x600100000-0x6001fffff 64bit pref]
[ 0.594262] pci 0001:00:00.0: PCI bridge to [bus 01]
[ 0.594291] pci 0001:00:00.0: bridge window [mem 0x600000000-0x6001fffff 64bit pref]
[ 0.594483] pcieport 0001:00:00.0: enabling device (0000 -> 0002)
[ 0.594686] pcieport 0001:00:00.0: PME: Signaling with IRQ 201
[ 0.595593] switchtec: loaded.
[ 0.597476] rz-dmac 800c0000.dma-controller: assigned reserved memory node linux,cma@D0000000
[ 0.598384] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0300000
[ 0.598901] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0301000
[ 0.599442] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0302000
[ 0.599935] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0303000
[ 0.600441] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0304000
[ 0.600934] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0305000
[ 0.601445] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0306000
[ 0.601939] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0307000
[ 0.602450] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0308000
[ 0.602950] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d0309000
[ 0.603475] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030a000
[ 0.603977] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030b000
[ 0.604486] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030c000
[ 0.604990] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030d000
[ 0.605499] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030e000
[ 0.605996] rz-dmac 800c0000.dma-controller: Allocate memory (lmdesc) 0x00000000d030f000
[ 0.607530] rz-dmac 800c1000.dma-controller: Init reserved memory failed.
[ 0.607652] rz-dmac 800c2000.dma-controller: Init reserved memory failed.
[ 0.674122] SuperH (H)SCI(F) driver initialized
[ 0.674781] Renesas SCI(F) driver initialized
[ 0.675188] 80005000.serial: ttySC0 at MMIO 0x80005000 (irq = 14, base_baud = 0) is a scif
[ 2.254096] printk: console [ttySC0] enabled
[ 2.259279] 80005400.serial: ttySC1 at MMIO 0x80005400 (irq = 18, base_baud = 0) is a scif
[ 2.268521] 80005c00.serial: ttySC3 at MMIO 0x80005c00 (irq = 22, base_baud = 0) is a scif
[ 2.277713] 81005000.serial: ttySC5 at MMIO 0x81005000 (irq = 26, base_baud = 0) is a sci
[ 2.304841] loop: module loaded
[ 2.309842] renesas_spi_t2h 80007400.spi: dma_request_slave_channel_compat failed
[ 2.317452] renesas_spi_t2h 80007400.spi: DMA not available, using PIO
[ 2.325585] renesas_spi_t2h 80007400.spi: probed
[ 2.333070] tun: Universal TUN/TAP device driver, 1.6
[ 2.338396] CAN device driver interface
[ 2.343235] rcar_canfd 80040000.can: can_clk rate is 125000000
[ 2.349789] rcar_canfd 80040000.can: device registered (channel 0)
[ 2.356054] rcar_canfd 80040000.can: can_clk rate is 125000000
[ 2.362534] rcar_canfd 80040000.can: device registered (channel 1)
[ 2.368770] rcar_canfd 80040000.can: global operational state (clk 0, fdmode 0)
[ 2.376776] e1000e: Intel(R) PRO/1000 Network Driver
[ 2.381791] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2.388644] rzt2h_ethss 80110000.ethss: SWITCH_MANAGEMENT_PORT: NONE
[ 2.395055] rzt2h_ethss 80110000.ethss: CONV0: GMAC0_PORT
[ 2.400504] rzt2h_ethss 80110000.ethss: CONV1: GMAC1_PORT
[ 2.405951] rzt2h_ethss 80110000.ethss: CONV2: GMAC2_PORT
[ 2.411393] rzt2h_ethss 80110000.ethss: CONV3: NONE
[ 2.416455] rzt2h_ethss 80110000.ethss: ETH Subsystem running in mode 0x7
[ 2.423314] rzt2h_ethss 80110000.ethss: ETH Subsystem probed OK
[ 2.430016] dwc-eth-dwmac 80100000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 2.439781] dwc-eth-dwmac 80100000.ethernet: PTP uses main clock
[ 2.445842] dwc-eth-dwmac 80100000.ethernet: no reset control found
[ 2.452649] dwc-eth-dwmac 92000000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 2.462427] dwc-eth-dwmac 92000000.ethernet: PTP uses main clock
[ 2.468491] dwc-eth-dwmac 92000000.ethernet: no reset control found
[ 2.475272] dwc-eth-dwmac 92010000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 2.485050] dwc-eth-dwmac 92010000.ethernet: PTP uses main clock
[ 2.491113] dwc-eth-dwmac 92010000.ethernet: no reset control found
[ 2.498661] VFIO - User Level meta-driver version: 0.3
[ 2.504120] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.510712] ehci-pci: EHCI PCI platform driver
[ 2.515261] ehci-platform: EHCI generic platform driver
[ 2.547153] ehci-platform 92040100.usb: EHCI Host Controller
[ 2.552889] ehci-platform 92040100.usb: new USB bus registered, assigned bus number 1
[ 2.560883] ehci-platform 92040100.usb: irq 29, io mem 0x92040100
[ 2.583031] ehci-platform 92040100.usb: USB 2.0 started, EHCI 1.10
[ 2.590047] hub 1-0:1.0: USB hub found
[ 2.593879] hub 1-0:1.0: 1 port detected
[ 2.598706] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.604956] ohci-pci: OHCI PCI platform driver
[ 2.609509] ohci-platform: OHCI generic platform driver
[ 2.615088] ohci-platform 92040000.usb: Generic Platform OHCI controller
[ 2.621880] ohci-platform 92040000.usb: new USB bus registered, assigned bus number 2
[ 2.629865] ohci-platform 92040000.usb: irq 29, io mem 0x92040000
[ 2.725772] hub 2-0:1.0: USB hub found
[ 2.729608] hub 2-0:1.0: 1 port detected
[ 2.734735] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 2.740046] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 3
[ 2.752865] xhci_hcd 0000:01:00.0: hcc params 0x014051cf hci version 0x100 quirks 0x0000001100000090
[ 2.763430] hub 3-0:1.0: USB hub found
[ 2.767284] hub 3-0:1.0: 2 ports detected
[ 2.771992] xhci_hcd 0000:01:00.0: xHCI Host Controller
[ 2.777285] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 4
[ 2.784752] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[ 2.791179] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[ 2.800010] hub 4-0:1.0: USB hub found
[ 2.803851] hub 4-0:1.0: 2 ports detected
[ 2.809110] usbcore: registered new interface driver usb-storage
[ 2.815626] renesas_usbhs 92041000.usb: host probed
[ 2.820579] renesas_usbhs 92041000.usb: no transceiver found
[ 2.826451] renesas_usbhs 92041000.usb: gadget probed
[ 2.831877] renesas_usbhs 92041000.usb: probed
[ 2.837701] usbcore: registered new interface driver usbtouchscreen
[ 2.844640] rtc rtc0: invalid alarm value: 1900-01-01T00:00:00
[ 2.851012] rzt2h-rtc 81009000.rtc: registered as rtc0
[ 2.856228] rzt2h-rtc 81009000.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
[ 2.865263] i2c /dev entries driver
[ 2.870938] irq: type mismatch, failed to map hwirq-102 for interrupt-controller@83000000!
[ 2.879284] ili210x_i2c 0-0041: No IRQ!
[ 2.883170] ili210x_i2c: probe of 0-0041 failed with error -22
[ 2.889161] i2c-riic 80088000.i2c: registered with 100000Hz bus speed
[ 2.899893] rtc-isl1208 1-006f: Using internal oscillator
[ 2.911256] rtc-isl1208 1-006f: registered as rtc1
[ 2.919281] pca953x 1-0074: using no AI
[ 2.926181] pca953x 1-0075: using no AI
[ 2.933294] pca953x 1-0076: using no AI
[ 2.940243] i2c-riic 80088400.i2c: registered with 100000Hz bus speed
[ 2.951267] Driver for 1-wire Dallas network protocol.
[ 2.956733] gpio-277 (onewire): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[ 2.993547] w1_master_driver w1_bus_master1: Attaching one wire slave 2d.0000412094b7 crc 17
[ 3.002406] ina2xx 1-0044: error configuring the device: -6
[ 3.008501] ina2xx 1-0045: error configuring the device: -6
[ 3.018594] Bluetooth: HCI UART driver ver 2.3
[ 3.023105] Bluetooth: HCI UART protocol H4 registered
[ 3.028385] usbcore: registered new interface driver btusb
[ 3.035549] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.041622] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[ 3.041630] renesas_sdhi_internal_dmac 92080000.mmc: Got CD GPIO
[ 3.048980] usbcore: registered new interface driver usbhid
[ 3.059729] usbhid: USB HID core driver
[ 3.064711] spi-nor spi1.0: w25q256jwm (32768 Kbytes)
[ 3.069818] 4 fixed-partitions partitions found on MTD device spi1.0
[ 3.076207] Creating 4 MTD partitions on "spi1.0":
[ 3.081019] 0x000000000000-0x000000060000 : "atf"
[ 3.083122] renesas_sdhi_internal_dmac 92090000.mmc: mmc1 base at 0x0000000092090000, max clock rate 200 MHz
[ 3.087653] 0x000000060000-0x000000120000 : "fip"
[ 3.102716] renesas_sdhi_internal_dmac 92080000.mmc: mmc0 base at 0x0000000092080000, max clock rate 200 MHz
[ 3.102831] 0x000000120000-0x000000140000 : "env"
[ 3.119033] 0x000000140000-0x0000003c0000 : "data"
[ 3.129445] GACT probability NOT on
[ 3.133554] netem: version 1.3
[ 3.136701] u32 classifier
[ 3.139446] input device check on
[ 3.143154] Actions configured
[ 3.147808] NET: Registered protocol family 10
[ 3.152939] Segment Routing with IPv6
[ 3.156697] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.162393] mmc0: new high speed SDHC card at address aaaa
[ 3.163035] NET: Registered protocol family 17
[ 3.168514] mmcblk0: mmc0:aaaa SA16G 14.8 GiB
[ 3.172767] can: controller area network core
[ 3.179129] mmcblk0: p1 p2
[ 3.181522] NET: Registered protocol family 29
[ 3.188747] can: raw protocol
[ 3.191733] can: broadcast manager protocol
[ 3.195942] can: netlink gateway - max_hops=1
[ 3.200431] 8021q: 802.1Q VLAN Support v1.8
[ 3.204838] Key type dns_resolver registered
[ 3.209405] registered taskstats version 1
[ 3.213534] Loading compiled-in X.509 certificates
[ 3.224903] thermal emergency: set temperature to 110 celsius
[ 3.230823] thermal emergency: shutdown target cpus 1-3
[ 3.235440] mmc1: new high speed MMC card at address 0001
[ 3.236078] thermal emergency: freq scaled target cpus 0
[ 3.242009] mmcblk1: mmc1:0001 DG4008 7.28 GiB
[ 3.251577] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
[ 3.253628] [drm] Initialized rcar-du 1.0.0 20130110 for 920c0000.display on minor 0
[ 3.257650] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
[ 3.265316] [drm] Device 920c0000.display probed
[ 3.271392] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB, chardev (242:0)
[ 3.287176] mmcblk1: p1
[ 3.324739] Console: switching to colour frame buffer device 100x30
[ 3.354206] rcar-du 920c0000.display: [drm] fb0: rcar-dudrmfb frame buffer device
[ 3.363991] dwc-eth-dwmac 80100000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 3.377087] dwc-eth-dwmac 80100000.ethernet: PTP uses main clock
[ 3.384952] dwc-eth-dwmac 80100000.ethernet: no reset control found
[ 3.394525] dwc-eth-dwmac 80100000.ethernet: GMAC use ETHSW timer 0 for PTP
[ 3.403513] dwc-eth-dwmac 80100000.ethernet: User ID: 0x0, Synopsys ID: 0x52
[ 3.412398] dwc-eth-dwmac 80100000.ethernet: DWMAC4/5
[ 3.419316] dwc-eth-dwmac 80100000.ethernet: DMA HW capability register supported
[ 3.428628] dwc-eth-dwmac 80100000.ethernet: RX Checksum Offload Engine supported
[ 3.437949] dwc-eth-dwmac 80100000.ethernet: Wake-Up On Lan supported
[ 3.446216] dwc-eth-dwmac 80100000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.456061] dwc-eth-dwmac 80100000.ethernet: device MAC address 3e:80:26:0e:45:10
[ 3.465371] dwc-eth-dwmac 80100000.ethernet: Enabled Flow TC (entries=8)
[ 3.473867] dwc-eth-dwmac 80100000.ethernet: Using 32 bits DMA width
[ 3.485667] dwc-eth-dwmac 92000000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 3.498899] dwc-eth-dwmac 92000000.ethernet: PTP uses main clock
[ 3.506735] dwc-eth-dwmac 92000000.ethernet: no reset control found
[ 3.515871] dwc-eth-dwmac 92000000.ethernet: GMAC use ETHSW timer 0 for PTP
[ 3.524701] dwc-eth-dwmac 92000000.ethernet: User ID: 0x0, Synopsys ID: 0x52
[ 3.533484] dwc-eth-dwmac 92000000.ethernet: DWMAC4/5
[ 3.540266] dwc-eth-dwmac 92000000.ethernet: DMA HW capability register supported
[ 3.549450] dwc-eth-dwmac 92000000.ethernet: RX Checksum Offload Engine supported
[ 3.558620] dwc-eth-dwmac 92000000.ethernet: Wake-Up On Lan supported
[ 3.566720] dwc-eth-dwmac 92000000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.576311] dwc-eth-dwmac 92000000.ethernet: device MAC address de:9e:48:0d:91:ea
[ 3.585316] dwc-eth-dwmac 92000000.ethernet: Enabled Flow TC (entries=8)
[ 3.593487] dwc-eth-dwmac 92000000.ethernet: Using 32 bits DMA width
[ 3.617674] dwc-eth-dwmac 92010000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set.
[ 3.630425] dwc-eth-dwmac 92010000.ethernet: PTP uses main clock
[ 3.638057] dwc-eth-dwmac 92010000.ethernet: no reset control found
[ 3.647052] dwc-eth-dwmac 92010000.ethernet: GMAC use ETHSW timer 0 for PTP
[ 3.655757] dwc-eth-dwmac 92010000.ethernet: User ID: 0x0, Synopsys ID: 0x52
[ 3.664432] dwc-eth-dwmac 92010000.ethernet: DWMAC4/5
[ 3.671129] dwc-eth-dwmac 92010000.ethernet: DMA HW capability register supported
[ 3.680197] dwc-eth-dwmac 92010000.ethernet: RX Checksum Offload Engine supported
[ 3.689255] dwc-eth-dwmac 92010000.ethernet: Wake-Up On Lan supported
[ 3.697308] dwc-eth-dwmac 92010000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.706912] dwc-eth-dwmac 92010000.ethernet: device MAC address 86:e5:59:52:4f:52
[ 3.715893] dwc-eth-dwmac 92010000.ethernet: Enabled Flow TC (entries=8)
[ 3.724047] dwc-eth-dwmac 92010000.ethernet: Using 32 bits DMA width
[ 3.748466] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3.759286] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 3.767475] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 3.771075] ALSA device list:
[ 3.777810] cfg80211: failed to load regulatory.db
[ 3.782305] No soundcards found.
[ 3.852244] EXT4-fs (mmcblk0p2): recovery complete
[ 3.860525] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.870368] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.879868] devtmpfs: mounted
[ 3.885616] Freeing unused kernel memory: 2240K
[ 3.891955] Run /sbin/init as init process
[ 4.271443] systemd[1]: System time before build time, advancing clock.
[ 4.312996] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[ 4.340546] systemd[1]: Detected architecture arm64.
Welcome to Poky (Yocto Project Reference Distro) 3.1.31 (dunfell)!
[ 4.392830] systemd[1]: Set hostname to <desk-t2h-usd-devel>.
[ 4.853183] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.862036] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 4.878454] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[ 4.891540] systemd[1]: Created slice system-getty.slice.
[ OK ] Created slice system-getty.slice.
[ 4.915182] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.924914] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ 4.951101] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.960690] systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
[ 4.983307] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
[ 5.011236] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password R…uests to Wall Directory Watch.
[ 5.039214] systemd[1]: Reached target Host and Network Name Lookups.
[ OK ] Reached target Host and Network Name Lookups.
[ 5.063108] systemd[1]: Reached target Paths.
[ OK ] Reached target Paths.
[ 5.083109] systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
[ 5.107111] systemd[1]: Reached target Slices.
[ OK ] Reached target Slices.
[ 5.127125] systemd[1]: Reached target Swap.
[ OK ] Reached target Swap.
[ 5.167350] systemd[1]: Listening on RPCbind Server Activation Socket.
[ OK ] Listening on RPCbind Server Activation Socket.
[ 5.195173] systemd[1]: Reached target RPC Port Mapper.
[ OK ] Reached target RPC Port Mapper.
[ 5.219491] systemd[1]: Listening on Syslog Socket.
[ OK ] Listening on Syslog Socket.
[ 5.239265] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ 5.263599] systemd[1]: Listening on Journal Audit Socket.
[ OK ] Listening on Journal Audit Socket.
[ 5.287348] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 5.311414] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 5.331535] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 5.355413] systemd[1]: Listening on udev Control Socket.
[ OK ] Listening on udev Control Socket.
[ 5.379283] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 5.406475] systemd[1]: Mounting Huge Pages File System...
Mounting Huge Pages File System...
[ 5.430420] systemd[1]: Mounting POSIX Message Queue File System...
Mounting POSIX Message Queue File System...
[ 5.458444] systemd[1]: Mounting Kernel Debug File System...
Mounting Kernel Debug File System...
[ 5.484130] systemd[1]: Mounting Temporary Directory (/tmp)...
Mounting Temporary Directory (/tmp)...
[ 5.513046] systemd[1]: Starting Create list of static device nodes for the current kernel...
Starting Create list of st…odes for the current kernel...
[ 5.542520] systemd[1]: Starting RPC Bind...
Starting RPC Bind...
[ 5.563224] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 5.579801] systemd[1]: Starting Journal Service...
Starting Journal Service...
[ 5.627967] systemd[1]: Condition check resulted in Load Kernel Modules being skipped.
[ 5.640573] systemd[1]: Mounting NFSD configuration filesystem...
Mounting NFSD configuration filesystem...
[ 5.663598] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[ 5.677250] systemd[1]: Mounting Kernel Configuration File System...
Mounting Kernel Configuration File System...
[ 5.706216] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems...
[ 5.726604] systemd[1]: Starting Apply Kernel Variables...
[ 5.730506] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Starting Apply Kernel Variables...
[ 5.758433] systemd[1]: Starting udev Coldplug all Devices...
Starting udev Coldplug all Devices...
[ 5.784452] systemd[1]: Started RPC Bind.
[ OK ] Started RPC Bind.
[ 5.803659] systemd[1]: Mounted Huge Pages File System.
[ OK ] Mounted Huge Pages File System.
[ 5.827556] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Mounted Temporary Directory (/tmp).
[ OK ] Started Create list of sta… nodes for the current kernel.
[FAILED] Failed to mount NFSD configuration filesystem.
See 'systemctl status proc-fs-nfsd.mount' for details.
[DEPEND] Dependency failed for NFS server and services.
[DEPEND] Dependency failed for NFS Mount Daemon.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Started Apply Kernel Variables.
[ 6.041969] random: systemd-journal: uninitialized urandom read (16 bytes read)
[ 6.045409] random: systemd: uninitialized urandom read (16 bytes read)
Startin[ 6.064367] random: systemd-journal: uninitialized urandom read (16 bytes read)
g Flush Journal to Persistent Storage...
[ 6.080975] systemd-journald[241]: Received client request to flush runtime journal.
Starting Create Static Device Nodes in /dev...
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Reached target Local File Systems (Pre).
Mounting /var/volatile...
Starting udev Kernel Device Manager...
[ OK ] Mounted /var/volatile.
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Network Time Synchronization...
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Started udev Kernel Device Manager.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Network Time Synchronization.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Reached target System Time Set.
[ OK ] Reached target System Time Synchronized.
Starting udev Wait for Complete Device Initialization...
[ OK ] Created slice system-systemd\x2dbacklight.slice.
Starting Load/Save Screen …ness of backlight:backlight...
[ OK ] Started Load/Save Screen B…htness of backlight:backlight.
[ OK ] Reached target Hardware activated USB gadget.
[ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[ 6.918768] mwifiex_pcie 0001:01:00.0: enabling device (0000 -> 0002)
[ 6.927396] mwifiex_pcie: PCI memory map Virt0: (____ptrval____) PCI memory map Virt2: (____ptrval____)
[ 7.054585] random: systemd: uninitialized urandom read (16 bytes read)
[ 7.063518] random: systemd: uninitialized urandom read (16 bytes read)
[ 7.072614] random: systemd: uninitialized urandom read (16 bytes read)
[ OK ] Started udev Wait for Complete Device Initialization.
[ 7.407014] random: crng init done
[ 7.412303] random: 307 urandom warning(s) missed due to ratelimiting
[ OK ] Started Load/Save Random Seed.
[ OK ] Started Hardware RNG Entropy Gatherer Daemon.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily rotation of log files.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Listening on D-Bus System Message Bus Socket.
Starting sshd.socket.
[ 7.971191] mwifiex_pcie 0001:01:00.0: info: FW download over, size 632240 bytes
[ OK ] Listening on sshd.socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
[ OK ] Started Job spooling tools.
[ OK ] Started Periodic Command Scheduler.
[ OK ] Started D-Bus System Message Bus.
Starting IPv6 Packet Filtering Framework...
Starting IPv4 Packet Filtering Framework...
Starting Network Time Service (one-shot ntpdate mode)...
Starting Telephony service...
Starting rng-tools.service...
[ OK ] Started System Logging Service.
Starting Login Service...
[ OK ] Started VIN initializing setting.
Starting OpenSSH Key Generation...
[ OK ] Started IPv6 Packet Filtering Framework.
[ OK ] Started IPv4 Packet Filtering Framework.
[ OK ] Reached target Network (Pre).
Starting Connection service...
Starting Network Service...
[ OK ] Started Network Service.
[ OK ] Started Network Time Service (one-shot ntpdate mode).
[ OK ] Started rng-tools.service.
[ OK ] Started OpenSSH Key Generation.
[ OK ] Started Login Service.
[ OK ] Started Telephony service.
[ OK ] Started Connection service.
[ OK ] Reached target Network.
[ OK ] Started NFS status monitor for NFSv2/3 locking..
[ OK ] Started Respond to IPv6 Node Information Queries.
[ OK ] Started Network Router Discovery Daemon.
Starting Permit User Sessions...
Starting Target Communication Framework agent...
[ OK ] Started Permit User Sessions.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttySC0.
[ OK ] Reached target Login Prompts.
Starting Load/Save RF Kill Switch Status...
[ OK ] Started Load/Save RF Kill Switch Status.
Starting WPA supplicant...
Starting Hostname Service...
[ OK ] Started Target Communication Framework agent.
[ OK ] Reached target Multi-User System.
Starting Update UTMP about System Runlevel Changes...
Starting watchdog daemon...
[ OK ] Started WPA supplicant.
[ OK ] Started watchdog daemon.
[ OK ] Started Update UTMP about System Runlevel Changes.
[ OK ] Started Hostname Service.
Poky (Yocto Project Reference Distro) 3.1.31 desk-t2h-usd-devel ttySC0
BSP: //1.0.2
LSI:
Version: 1.0.2
desk-t2h-usd-devel login: root
root@desk-t2h-usd-devel:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mtdblock0 31:0 0 384K 0 disk
mtdblock1 31:1 0 768K 0 disk
mtdblock2 31:2 0 128K 0 disk
mtdblock3 31:3 0 2.5M 0 disk
mmcblk0 179:0 0 14.9G 0 disk
|-mmcblk0p1 179:1 0 19.9M 0 part
`-mmcblk0p2 179:2 0 3.2G 0 part /
mmcblk1 179:8 0 7.3G 0 disk
`-mmcblk1p1 179:9 0 7.3G 0 part
mmcblk1boot0 179:16 0 4M 1 disk
mmcblk1boot1 179:24 0 4M 1 disk
root@desk-t2h-usd-devel:~#
Peripherals[edit | edit source]
Peripheral Ethernet[edit | edit source]
There are multiple Ethernet interfaces available; see RZ/T2H and RZ/N2H User’s Manual – Hardware, section 27 Ethernet Subsystem.
The device provides three GMAC instances, allowing up to three independent Ethernet interfaces. A fourth interface can be used together with the others to achieve an EtherCAT or switch configuration.
As described in the user manual, section 27.3.2, the possible configurations are:
| Mode | Interface 0 | Interface 1 | Interface 2 | Interface 3 |
|---|---|---|---|---|
| 000b | ETHSW Port 0 | ETHSW Port 1 | ETHSW Port 2 | GMAC1 |
| 001b | ESC Port 0 | ESC Port 1 | GMAC2 | GMAC1 |
| 010b | ESC Port 0 | ESC Port 1 | ETHSW Port 2 | GMAC1 |
| 011b | ESC Port 0 | ESC Port 1 | ESC Port 2 | GMAC1 |
| 100b | ETHSW Port 0 | ESC Port 1 | ESC Port 2 | GMAC1 |
| 101b | ETHSW Port 0 | ESC Port 1 | ETHSW Port 2 | GMAC1 |
| 110b | ETHSW Port 0 | ETHSW Port 1 | GMAC2 | GMAC1 |
| 111b | GMAC0 | GMAC1 | GMAC2 | — |
The default/basic setup is:
| Mode | Interface 0 | Interface 1 | Interface 2 | Interface 3 |
|---|---|---|---|---|
| 111b | GMAC0 | GMAC1 | GMAC2 | — |
The Ethernet PHYs are not present on the SoM; they must be provided on the carrier board.
The three Ethernet interfaces share the same MDIO bus. This bus is defined in the GMAC0 block; see the DTS in the following section.
The fourth Ethernet PHY is present but not used in the current configuration and is connected to a different MDIO bus.
The address/mapping is as follows:
| Interface | GMAC | MDIO Bus | Address |
|---|---|---|---|
| ETH_A | gmac0 | GMAC0 | 0 |
| ETH_B | gmac1 | GMAC0 | 1 |
| ETH_C | gmac2 | GMAC0 | 2 |
| ETH_D | — | ETHSW | 3 |
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | ETH_D pins connected to the Ethernet PHY |
| 2003 | Ignore references to the ETH_D port, as the pins are used for the motors |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the DSAB EVK.
The Ethernet PHY reset pins are controlled by a GPIO expander (exp_2) connected on the i2c_0 bus.
From rzt2h-eb23-cb2003.dtsi :
// ETH SubSystem
ðss {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_refclk>,
<ð0_pins>, // ETH_A
<ð1_pins>, // ETH_B
<ð2_pins>; // ETH_C
//renesas,ethss-switch-portmanagement = <ETHSS_GMAC0_PORT>;
ethsw_pulse_gen_timer = <0>; /* Pulse generator use ETHSW timer 0 */
};
// ETH_A
&mii_conv0 {
renesas,ethss-port = <ETHSS_GMAC0_PORT>;
status = "okay";
};
// ETH_B
&mii_conv1 {
renesas,ethss-port = <ETHSS_GMAC1_PORT>;
status = "okay";
};
// ETH_C
&mii_conv2 {
renesas,ethss-port = <ETHSS_GMAC2_PORT>;
status = "okay";
};
// ETH_A
&gmac0 {
status = "okay";
ethss-handle = <ðss>;
phy-handle = <&phy0>;
phy-mode = "rgmii-id";
pcs-handle = <&mii_conv0>;
phy-reset-gpios = <&exp_2 4 GPIO_ACTIVE_HIGH>;
enable-time-based-scheduling;
snps,force_thresh_dma_mode;
snps,tx_threshold = <128>;
snps,mtl-tx-config = <&mtl_tx_setup>;
snps,mtl-rx-config = <&mtl_rx_setup>;
pinctrl-0 = <&mdio_b>;
pinctrl-names = "default";
mdio {
clock-frequency = <2500000>;
#address-cells = <1>;
#size-cells = <0>;
// ETH A
phy0: ethernet-phy@0 {
compatible = "ethernet-phy-id0007.0772";
reg = <0>;
phy-mode = "rgmii-id";
vsc8531,led-0-mode = <VSC8531_LINK_ACTIVITY>;
vsc8531,led-1-mode = <VSC8531_LINK_ACTIVITY>;
vsc8531,led-1-combine-disable;
};
// ETH B
phy1: ethernet-phy@1 {
compatible = "ethernet-phy-id0007.0772";
reg = <1>;
phy-mode = "rgmii-id";
vsc8531,led-0-mode = <VSC8531_LINK_ACTIVITY>;
vsc8531,led-1-mode = <VSC8531_LINK_ACTIVITY>;
vsc8531,led-1-combine-disable;
};
// ETH C
phy2: ethernet-phy@2 {
compatible = "ethernet-phy-id0007.0772";
reg = <2>;
phy-mode = "rgmii-id";
vsc8531,led-0-mode = <VSC8531_LINK_ACTIVITY>;
vsc8531,led-1-mode = <VSC8531_LINK_ACTIVITY>;
vsc8531,led-1-combine-disable;
};
};
};
// ETH_B
&gmac1 {
phy-handle = <&phy1>;
phy-mode = "rgmii-id";
pcs-handle = <&mii_conv1>;
status = "okay";
ethss-handle = <ðss>;
phy-reset-gpios = <&exp_2 5 GPIO_ACTIVE_HIGH>;
enable-time-based-scheduling;
snps,force_thresh_dma_mode;
snps,tx_threshold = <128>;
snps,mtl-tx-config = <&mtl_tx_setup>;
snps,mtl-rx-config = <&mtl_rx_setup>;
};
// ETH_C
&gmac2 {
phy-handle = <&phy2>;
phy-mode = "rgmii-id";
pcs-handle = <&mii_conv2>;
status = "okay";
ethss-handle = <ðss>;
phy-reset-gpios = <&exp_2 15 GPIO_ACTIVE_HIGH>;
enable-time-based-scheduling;
snps,force_thresh_dma_mode;
snps,tx_threshold = <128>;
snps,mtl-tx-config = <&mtl_tx_setup>;
snps,mtl-rx-config = <&mtl_rx_setup>;
};
// I2C A (need to use eth reset)
&i2c0 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
...
// U15
exp_2: gpio_exp_2@76 {
compatible = "ti,tca9539";
reg = <0x76>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
pinctrl-names = "default";
pinctrl-0 = <&tca6424_2_pins>;
interrupt-controller;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 62 GPIO_ACTIVE_LOW>;
};
};
...
&pinctrl {
...
pins_refclk: pins_refclk {
pinmux = <RZT2H_PORT_PINMUX(21, 7, 0x02)>, /* P21_7 ETH0_REFCLK | B_N16 D17 */
<RZT2H_PORT_PINMUX(26, 4, 0x02)>, /* P26_4 ETH1_REFCLK | B_M2 C25 */
<RZT2H_PORT_PINMUX(31, 0, 0x02)>, /* P31_0 ETH2_REFCLK | B_R34 L24 */
<RZT2H_PORT_PINMUX(34, 6, 0x02)>; /* P34_6 ETH3_REFCLK | B_AM2 R23 */
};
eth0_pins: ethss_0 {
pinmux = <RZT2H_PORT_PINMUX(20, 0, 0x0F)>, /* P20_0 ETH0_TXCLK | B_J15 A18 */
<RZT2H_PORT_PINMUX(20, 1, 0x0F)>, /* P20_1 ETH0_TXD0 | B_H15 A17 */
<RZT2H_PORT_PINMUX(20, 2, 0x0F)>, /* P20_2 ETH0_TXD1 | B_G15 E17 */
<RZT2H_PORT_PINMUX(20, 3, 0x0F)>, /* P20_3 ETH0_TXD2 | B_H16 C17 */
<RZT2H_PORT_PINMUX(20, 4, 0x0F)>, /* P20_4 ETH0_TXD3 | B_G16 F17 */
<RZT2H_PORT_PINMUX(20, 5, 0x0F)>, /* P20_5 ETH0_TXEN | B_K16 B17 */
<RZT2H_PORT_PINMUX(20, 6, 0x0F)>, /* P20_6 ETH0_RXCLK | B_R15 C18 */
<RZT2H_PORT_PINMUX(20, 7, 0x0F)>, /* P20_7 ETH0_RXD0 | B_K15 D18 */
<RZT2H_PORT_PINMUX(21, 0, 0x0F)>, /* P21_0 ETH0_RXD1 | B_L15 E18 */
<RZT2H_PORT_PINMUX(21, 1, 0x0F)>, /* P21_1 ETH0_RXD2 | B_N15 G17 */
<RZT2H_PORT_PINMUX(21, 2, 0x0F)>, /* P21_2 ETH0_RXD3 | B_P15 B19 */
<RZT2H_PORT_PINMUX(21, 3, 0x0F)>, /* P21_3 ETH0_RXDV | B_M15 A19 */
<RZT2H_PORT_PINMUX(22, 2, 0x0F)>, /* P22_2 ETH0_RXER | B_L16 E22 */
<RZT2H_PORT_PINMUX(22, 3, 0x0F)>, /* P22_3 ETH0_CRS | B_E16 F20 */
<RZT2H_PORT_PINMUX(22, 4, 0x0F)>; /* P22_4 ETH0_COL | B_F15 E20 */
input-schmitt-disable;
slew-rate = <1>;
drive-strength = <3>;
};
eth1_pins: ethss_1 {
pinmux = <RZT2H_PORT_PINMUX(24, 5, 0x0F)>, /* P24_5 ETH1_TXCLK | B_H1 C24 */
<RZT2H_PORT_PINMUX(24, 6, 0x0F)>, /* P24_6 ETH1_TXD0 | B_G1 A23 */
<RZT2H_PORT_PINMUX(24, 7, 0x0F)>, /* P24_7 ETH1_TXD1 | B_F1 C23 */
<RZT2H_PORT_PINMUX(25, 0, 0x0F)>, /* P25_0 ETH1_TXD2 | B_G2 B25 */
<RZT2H_PORT_PINMUX(25, 1, 0x0F)>, /* P25_1 ETH1_TXD3 | B_F2 A26 */
<RZT2H_PORT_PINMUX(25, 2, 0x0F)>, /* P25_2 ETH1_TXEN | B_J2 A24 */
<RZT2H_PORT_PINMUX(25, 3, 0x0F)>, /* P25_3 ETH1_RXCLK | B_P1 B26 */
<RZT2H_PORT_PINMUX(25, 4, 0x0F)>, /* P25_4 ETH1_RXD0 | B_J1 E23 */
<RZT2H_PORT_PINMUX(25, 5, 0x0F)>, /* P25_5 ETH1_RXD1 | B_K1 F23 */
<RZT2H_PORT_PINMUX(25, 6, 0x0F)>, /* P25_6 ETH1_RXD2 | B_M1 D23 */
<RZT2H_PORT_PINMUX(25, 7, 0x0F)>, /* P25_7 ETH1_RXD3 | B_N1 E24 */
<RZT2H_PORT_PINMUX(26, 0, 0x0F)>, /* P26_0 ETH1_RXDV | B_L1 D25 */
<RZT2H_PORT_PINMUX(26, 7, 0x0F)>, /* P26_7 ETH1_RXER | B_L16 H22 */
<RZT2H_PORT_PINMUX(27, 0, 0x0F)>, /* P27_0 ETH1_CRS | B_E16 G23 */
<RZT2H_PORT_PINMUX(27, 1, 0x0F)>; /* P27_1 ETH1_COL | B_F15 G24 */
input-schmitt-disable;
slew-rate = <1>;
drive-strength = <3>;
};
eth2_pins: ethss_2 {
pinmux = <RZT2H_PORT_PINMUX(29, 1, 0x0F)>, /* P29_1 ETH2_TXCLK | B_N35 J25 */
<RZT2H_PORT_PINMUX(29, 2, 0x0F)>, /* P29_2 ETH2_TXD0 | B_Y35 K23 */
<RZT2H_PORT_PINMUX(29, 3, 0x0F)>, /* P29_3 ETH2_TXD1 | B_AA35 H27 */
<RZT2H_PORT_PINMUX(29, 4, 0x0F)>, /* P29_4 ETH2_TXD2 | B_Y34 L22 */
<RZT2H_PORT_PINMUX(29, 5, 0x0F)>, /* P29_5 ETH2_TXD3 | B_AA34 L23 */
<RZT2H_PORT_PINMUX(29, 6, 0x0F)>, /* P29_6 ETH2_TXEN | B_V34 J23 */
<RZT2H_PORT_PINMUX(29, 7, 0x0F)>, /* P29_7 ETH2_RXCLK | B_W35 L25 */
<RZT2H_PORT_PINMUX(30, 0, 0x0F)>, /* P30_0 ETH2_RXD0 | B_V35 K27 */
<RZT2H_PORT_PINMUX(30, 1, 0x0F)>, /* P30_1 ETH2_RXD1 | B_U35 K25 */
<RZT2H_PORT_PINMUX(30, 2, 0x0F)>, /* P30_2 ETH2_RXD2 | B_R35 L26 */
<RZT2H_PORT_PINMUX(30, 3, 0x0F)>, /* P30_3 ETH2_RXD3 | B_P35 J27 */
<RZT2H_PORT_PINMUX(30, 4, 0x0F)>, /* P30_4 ETH2_RXDV | B_T35 K24 */
<RZT2H_PORT_PINMUX(31, 3, 0x0F)>, /* P31_3 ETH2_RXER | B_L16 E22 */
<RZT2H_PORT_PINMUX(31, 4, 0x0F)>, /* P31_4 ETH2_CRS | B_E16 F20 */
<RZT2H_PORT_PINMUX(31, 5, 0x0F)>; /* P31_5 ETH2_COL | B_F15 E20 */
input-schmitt-disable;
slew-rate = <1>;
drive-strength = <3>;
};
mdio_b: mdio_pins {
pinmux = <RZT2H_PORT_PINMUX(21, 4, 0x10)>, /* P21_4 GMAC0_MDC | B_C6 C19 */
<RZT2H_PORT_PINMUX(21, 5, 0x10)>; /* P21_5 GMAC0_MDIO | B_C7 G16 */
};
i2c0_pins: i2c0 {
pinmux = <RZT2H_PORT_PINMUX(2, 3, 0x17)>, /* P02_3 SDA | B_AA15 AF12 */
<RZT2H_PORT_PINMUX(2, 4, 0x17)>; /* P02_4 SCL | B_AA16 AE12 */
};
...
};
Accessing the peripheral[edit | edit source]
The interfaces are mapped as described in the aliases section of the DTS:
/ {
...
aliases {
...
i2c0 = &i2c0;
eth0 = &gmac0; // ETH_A
eth1 = &gmac1; // ETH_B
eth2 = &gmac2; // ETH_C
};
...
};
U-boot usage[edit | edit source]
In U-Boot, only the ETH_A port is usable.
In the DESK-RZ-L-1.0.0 release, support for the i2c_0 bus is missing; as a result, the reset pins of the Ethernet PHYs cannot be driven by software.
As a workaround, the reset can be handled manually.
As shown in the image below, it is possible to control the reset of the ETH_A Ethernet PHY by pulling pin 6 of connector J54. This is done using a short wire with a 10–12 kΩ series resistor connected to pin 2 of the same J54 connector.
This operation should be performed only when the Ethernet interface is needed.
After using Ethernet in U-Boot, it is recommended to remove the wire before booting Linux.
Leaving it connected interferes with correct Linux operation, since Linux uses the GPIO expander exp_2 to control the PHY reset.
Example: kernel Image download via TFTP
Set IP addresses:
=> setenv ipaddr 192.168.0.168 => setenv serverip 192.168.0.169
If the PHY reset is not performed, the connection will fail:
=> ping 192.168.0.169 Could not get PHY for ethernet@80100000: addr 0 phy_connect() failed FAILED: 0 Using ethernet@80100000 device ARP Retry count exceeded; starting again ping failed; host 192.168.0.169 is not alive
Perform the manual reset.
Note that if the wire was already connected at power-on, it must be removed and reinserted, since the reset timing during boot is incorrect.
=> ping 192.168.0.169 ethernet@80100000 Waiting for PHY auto negotiation to complete...... done Using ethernet@80100000 device host 192.168.0.169 is alive =>
Test Image download:
=> run tftp_loadk
Using ethernet@80100000 device
TFTP from server 192.168.0.169; our IP address is 192.168.0.168
Filename 'boot/Image'.
Load address: 0xc4200000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##########################################
619.1 KiB/s
done
Bytes transferred = 20646400 (13b0a00 hex)
Linux messages at boot time[edit | edit source]
root@desk-t2h-usd-devel:~# dmesg | grep ethernet [ 2.352770] dwc-eth-dwmac 80100000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. [ 2.362538] dwc-eth-dwmac 80100000.ethernet: PTP uses main clock [ 2.368605] dwc-eth-dwmac 80100000.ethernet: no reset control found [ 2.375386] dwc-eth-dwmac 92000000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. [ 2.385154] dwc-eth-dwmac 92000000.ethernet: PTP uses main clock [ 2.391221] dwc-eth-dwmac 92000000.ethernet: no reset control found [ 2.397984] dwc-eth-dwmac 92010000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. [ 2.407748] dwc-eth-dwmac 92010000.ethernet: PTP uses main clock [ 2.413814] dwc-eth-dwmac 92010000.ethernet: no reset control found [ 3.123590] dwc-eth-dwmac 80100000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. [ 3.133331] dwc-eth-dwmac 80100000.ethernet: PTP uses main clock [ 3.143902] dwc-eth-dwmac 80100000.ethernet: no reset control found [ 3.157545] dwc-eth-dwmac 80100000.ethernet: GMAC use ETHSW timer 0 for PTP [ 3.169230] dwc-eth-dwmac 80100000.ethernet: User ID: 0x0, Synopsys ID: 0x52 [ 3.183513] dwc-eth-dwmac 80100000.ethernet: DWMAC4/5 [ 3.188683] dwc-eth-dwmac 80100000.ethernet: DMA HW capability register supported [ 3.196203] dwc-eth-dwmac 80100000.ethernet: RX Checksum Offload Engine supported [ 3.203721] dwc-eth-dwmac 80100000.ethernet: Wake-Up On Lan supported [ 3.210247] dwc-eth-dwmac 80100000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 3.218289] dwc-eth-dwmac 80100000.ethernet: device MAC address a2:2b:06:96:eb:7c [ 3.225807] dwc-eth-dwmac 80100000.ethernet: Enabled Flow TC (entries=8) [ 3.232541] dwc-eth-dwmac 80100000.ethernet: Using 32 bits DMA width [ 3.242723] dwc-eth-dwmac 92000000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. [ 3.252469] dwc-eth-dwmac 92000000.ethernet: PTP uses main clock [ 3.258508] dwc-eth-dwmac 92000000.ethernet: no reset control found [ 3.265907] dwc-eth-dwmac 92000000.ethernet: GMAC use ETHSW timer 0 for PTP [ 3.273045] dwc-eth-dwmac 92000000.ethernet: User ID: 0x0, Synopsys ID: 0x52 [ 3.280131] dwc-eth-dwmac 92000000.ethernet: DWMAC4/5 [ 3.285297] dwc-eth-dwmac 92000000.ethernet: DMA HW capability register supported [ 3.292818] dwc-eth-dwmac 92000000.ethernet: RX Checksum Offload Engine supported [ 3.300336] dwc-eth-dwmac 92000000.ethernet: Wake-Up On Lan supported [ 3.306851] dwc-eth-dwmac 92000000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 3.314903] dwc-eth-dwmac 92000000.ethernet: device MAC address 5a:26:a8:eb:c5:2d [ 3.322422] dwc-eth-dwmac 92000000.ethernet: Enabled Flow TC (entries=8) [ 3.329156] dwc-eth-dwmac 92000000.ethernet: Using 32 bits DMA width [ 3.351900] dwc-eth-dwmac 92010000.ethernet: force_sf_dma_mode is ignored if force_thresh_dma_mode is set. [ 3.361652] dwc-eth-dwmac 92010000.ethernet: PTP uses main clock [ 3.367694] dwc-eth-dwmac 92010000.ethernet: no reset control found [ 3.375088] dwc-eth-dwmac 92010000.ethernet: GMAC use ETHSW timer 0 for PTP [ 3.382228] dwc-eth-dwmac 92010000.ethernet: User ID: 0x0, Synopsys ID: 0x52 [ 3.389320] dwc-eth-dwmac 92010000.ethernet: DWMAC4/5 [ 3.394494] dwc-eth-dwmac 92010000.ethernet: DMA HW capability register supported [ 3.402011] dwc-eth-dwmac 92010000.ethernet: RX Checksum Offload Engine supported [ 3.409529] dwc-eth-dwmac 92010000.ethernet: Wake-Up On Lan supported [ 3.416050] dwc-eth-dwmac 92010000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 3.424104] dwc-eth-dwmac 92010000.ethernet: device MAC address 52:10:cc:7b:cb:c4 [ 3.431624] dwc-eth-dwmac 92010000.ethernet: Enabled Flow TC (entries=8) [ 3.438358] dwc-eth-dwmac 92010000.ethernet: Using 32 bits DMA width [ 8.398894] dwc-eth-dwmac 92010000.ethernet eth2: PHY [stmmac-ethernet@80100000-0:02] driver [Microsemi VSC8541 SyncE] (irq=POLL) [ 8.403336] dwc-eth-dwmac 92010000.ethernet eth2: No Safety Features support found [ 8.403350] dwc-eth-dwmac 92010000.ethernet eth2: IEEE 1588-2008 Advanced Timestamp supported [ 8.406018] dwc-eth-dwmac 92010000.ethernet eth2: registered PTP clock [ 8.411212] dwc-eth-dwmac 92010000.ethernet eth2: configuring for phy/rgmii-id link mode [ 8.576478] dwc-eth-dwmac 92000000.ethernet eth1: PHY [stmmac-ethernet@80100000-0:01] driver [Microsemi VSC8541 SyncE] (irq=POLL) [ 8.579232] dwc-eth-dwmac 92000000.ethernet eth1: No Safety Features support found [ 8.579247] dwc-eth-dwmac 92000000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported [ 8.582118] dwc-eth-dwmac 92000000.ethernet eth1: registered PTP clock [ 8.593622] dwc-eth-dwmac 92000000.ethernet eth1: configuring for phy/rgmii-id link mode [ 8.782966] dwc-eth-dwmac 80100000.ethernet eth0: PHY [stmmac-ethernet@80100000-0:00] driver [Microsemi VSC8541 SyncE] (irq=POLL) [ 8.785710] dwc-eth-dwmac 80100000.ethernet eth0: No Safety Features support found [ 8.785726] dwc-eth-dwmac 80100000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported [ 8.786009] dwc-eth-dwmac 80100000.ethernet eth0: registered PTP clock [ 8.795468] dwc-eth-dwmac 80100000.ethernet eth0: configuring for phy/rgmii-id link mode
Check the interface with ifconfig[edit | edit source]
root@desk-mx93:~# ifconfig eth0
root@desk-t2h-usd-devel:~# ifconfig
...
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 metric 1
ether a2:2b:06:96:eb:7c txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 86
eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 metric 1
ether 6e:bf:f2:c5:e5:b6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 89
eth2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 metric 1
ether ca:bc:12:67:24:db txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 92
...
Test with iperf3[edit | edit source]
root@desk-t2h-usd-devel:~# ifconfig eth0 192.168.0.168 up root@desk-t2h-usd-devel:~# iperf3 -c 192.168.0.111 Connecting to host 192.168.0.111, port 5201 [ 5] local 192.168.0.168 port 48270 connected to 192.168.0.111 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 97.5 MBytes 818 Mbits/sec 170 137 KBytes [ 5] 1.00-2.00 sec 100 MBytes 840 Mbits/sec 282 83.4 KBytes [ 5] 2.00-3.00 sec 100 MBytes 840 Mbits/sec 216 105 KBytes [ 5] 3.00-4.00 sec 100 MBytes 841 Mbits/sec 224 86.3 KBytes [ 5] 4.00-5.00 sec 100 MBytes 843 Mbits/sec 180 133 KBytes [ 5] 5.00-6.00 sec 97.4 MBytes 817 Mbits/sec 183 151 KBytes [ 5] 6.00-7.00 sec 101 MBytes 845 Mbits/sec 141 126 KBytes [ 5] 7.00-8.00 sec 98.9 MBytes 829 Mbits/sec 429 133 KBytes [ 5] 8.00-9.00 sec 97.5 MBytes 818 Mbits/sec 308 132 KBytes [ 5] 9.00-10.00 sec 99.8 MBytes 837 Mbits/sec 204 177 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 993 MBytes 833 Mbits/sec 2337 sender [ 5] 0.00-10.04 sec 991 MBytes 828 Mbits/sec receiver iperf Done. root@desk-t2h-usd-devel:~# ifconfig eth0 down root@desk-t2h-usd-devel:~# ifconfig eth1 192.168.0.168 up root@desk-t2h-usd-devel:~# iperf3 -c 192.168.0.111 Connecting to host 192.168.0.111, port 5201 [ 5] local 192.168.0.168 port 49240 connected to 192.168.0.111 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 102 MBytes 855 Mbits/sec 258 205 KBytes [ 5] 1.00-2.00 sec 100 MBytes 842 Mbits/sec 230 148 KBytes [ 5] 2.00-3.00 sec 98.9 MBytes 830 Mbits/sec 243 136 KBytes [ 5] 3.00-4.00 sec 101 MBytes 844 Mbits/sec 308 97.6 KBytes [ 5] 4.00-5.00 sec 100 MBytes 839 Mbits/sec 281 113 KBytes [ 5] 5.00-6.00 sec 100 MBytes 840 Mbits/sec 268 132 KBytes [ 5] 6.00-7.00 sec 99.4 MBytes 834 Mbits/sec 248 123 KBytes [ 5] 7.00-8.00 sec 99.4 MBytes 834 Mbits/sec 239 182 KBytes [ 5] 8.00-9.00 sec 100 MBytes 842 Mbits/sec 277 132 KBytes [ 5] 9.00-10.00 sec 101 MBytes 846 Mbits/sec 326 136 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1002 MBytes 841 Mbits/sec 2678 sender [ 5] 0.00-10.04 sec 1000 MBytes 835 Mbits/sec receiver iperf Done. root@desk-t2h-usd-devel:~# ifconfig eth1 down root@desk-t2h-usd-devel:~# ifconfig eth2 192.168.0.168 up root@desk-t2h-usd-devel:~# iperf3 -c 192.168.0.111 Connecting to host 192.168.0.111, port 5201 [ 5] local 192.168.0.168 port 48454 connected to 192.168.0.111 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 102 MBytes 854 Mbits/sec 259 120 KBytes [ 5] 1.00-2.00 sec 100 MBytes 839 Mbits/sec 336 79.2 KBytes [ 5] 2.00-3.00 sec 99.7 MBytes 836 Mbits/sec 310 120 KBytes [ 5] 3.00-4.00 sec 99.6 MBytes 835 Mbits/sec 280 103 KBytes [ 5] 4.00-5.00 sec 99.3 MBytes 833 Mbits/sec 283 97.6 KBytes [ 5] 5.00-6.00 sec 99.8 MBytes 837 Mbits/sec 329 93.3 KBytes [ 5] 6.00-7.00 sec 100 MBytes 839 Mbits/sec 221 103 KBytes [ 5] 7.00-8.00 sec 100 MBytes 839 Mbits/sec 260 192 KBytes [ 5] 8.00-9.00 sec 99.6 MBytes 835 Mbits/sec 285 298 KBytes [ 5] 9.00-10.00 sec 100 MBytes 841 Mbits/sec 301 144 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1000 MBytes 839 Mbits/sec 2864 sender [ 5] 0.00-10.04 sec 998 MBytes 834 Mbits/sec receiver iperf Done. root@desk-t2h-usd-devel:~# dmesg ... [ 164.424817] dwc-eth-dwmac 80100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx [ 164.424854] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 224.838926] dwc-eth-dwmac 80100000.ethernet eth0: Link is Down [ 228.744827] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 228.745173] dwc-eth-dwmac 92000000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx [ 262.400967] dwc-eth-dwmac 92000000.ethernet eth1: Link is Down [ 275.688953] dwc-eth-dwmac 92010000.ethernet eth2: Link is Up - 1Gbps/Full - flow control rx/tx [ 275.689049] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready root@desk-t2h-usd-devel:~#
Peripheral USB[edit | edit source]
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | - |
| 2003 | - |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the ZERO SOM Evaluation Kit.
From kernel device tree rzt2h-eb23-cb2003.dts:
...
&ohci {
memory-region = <&global_cma>;
dr_mode = "otg";
status = "okay";
};
&ehci {
memory-region = <&global_cma>;
dr_mode = "otg";
status = "okay";
};
&hsusb {
dr_mode = "otg";
status = "okay";
};
&usb2_phy {
status = "okay";
};
...
Accessing the peripheral[edit | edit source]
USB sticks can be connected using a micro-USB to USB Type-A adapter.
U-boot[edit | edit source]
=> usb start
starting USB...
Bus usb@92040100: USB EHCI 1.10
scanning bus usb@92040100 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
=> ls usb 0:1
System Volume Information/
1965792 test.txt
1 file(s), 1 dir(s)
Linux[edit | edit source]
[ 42.318331] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 42.477574] usb-storage 1-1:1.0: USB Mass Storage device detected [ 42.478517] scsi host0: usb-storage 1-1:1.0 [ 43.896128] scsi 0:0:0:0: Direct-Access ADATA USB Flash Drive 1100 PQ: 0 ANSI: 0 CCS [ 43.897102] sd 0:0:0:0: [sda] 7913472 512-byte logical blocks: (4.05 GB/3.77 GiB) [ 43.897834] sd 0:0:0:0: [sda] Write Protect is off [ 43.897843] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00 [ 43.898597] sd 0:0:0:0: [sda] No Caching mode page found [ 43.898606] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 43.922599] sda: sda1 [ 43.925463] sd 0:0:0:0: [sda] Attached SCSI removable disk
Peripheral PCI express[edit | edit source]
The PCIe bus is available; see details in RZ/T2H and RZ/N2H User’s Manual – Hardware, section 56 PCI Express 3.0 Interface (PCIe).
The PCIe bus can be configured in the following modes:
- 1 lane with 2 channels
- 2 lanes with 1 channel each
The EVK uses the second configuration (2 lanes with 1 channel each).
Warning: If no device is connected at boot, there will be a delay while the PCIe block attempts to communicate with a device until a timeout occurs. If a device is detected during the boot, there will be no interruptions or pauses.
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | - |
| 2003 | - |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on ZERO Evaluation Kit.
From rzt2h-eb23-cb2003.dtsi:
...
&pcie0 {
pcie-lane = <1>;
num-lanes = <1>;
status = "okay";
};
&pcie1 {
pcie-lane = <1>;
num-lanes = <1>;
status = "okay";
};
...
Linux[edit | edit source]
In the example shown, the following devices are connected to the 2 PCIe lanes:
... [ 0.228411] gpio-337 (pcie_rstout0): hogged as output/high [ 0.228463] gpio-269 (pcie_rstout1): hogged as output/high [ 0.375659] rzt2h-pcie 92100000.pcie: host bridge /soc/pcie@92100000 ranges: [ 0.375702] rzt2h-pcie 92100000.pcie: Parsing ranges property... [ 0.375729] rzt2h-pcie 92100000.pcie: MEM 0x0400000000..0x040fffffff -> 0x00a0000000 [ 0.375769] rzt2h-pcie 92100000.pcie: Parsing dma-ranges property... [ 0.375806] rzt2h-pcie 92100000.pcie: IB MEM 0x00c4000000..0x00ffffffff -> 0x00c4000000 [ 0.375856] rzt2h-pcie 92100000.pcie: IB MEM 0x0240000000..0x03ffffffff -> 0x0240000000 [ 0.376362] rzt2h-pcie 92100000.pcie: pcie set lane config: num-lanes=1, val=0x300 [ 0.462183] rzt2h-pcie 92100000.pcie: PCIe Linx status [0x106]n [ 0.462214] rzt2h-pcie 92100000.pcie: PCIe x1: link up Lane number [ 0.464427] rzt2h-pcie 92100000.pcie: Current link speed is 5.0 GT/s [ 0.464615] rzt2h-pcie 92100000.pcie: PCI host bridge to bus 0000:00 [ 0.481984] rzt2h-pcie 92110000.pcie: host bridge /soc/pcie@92110000 ranges: [ 0.482024] rzt2h-pcie 92110000.pcie: Parsing ranges property... [ 0.482051] rzt2h-pcie 92110000.pcie: MEM 0x0600000000..0x060fffffff -> 0x00b0000000 [ 0.482090] rzt2h-pcie 92110000.pcie: Parsing dma-ranges property... [ 0.482127] rzt2h-pcie 92110000.pcie: IB MEM 0x00c4000000..0x00ffffffff -> 0x00c4000000 [ 0.482200] rzt2h-pcie 92110000.pcie: IB MEM 0x0240000000..0x03ffffffff -> 0x0240000000 [ 0.482553] rzt2h-pcie 92110000.pcie: pcie set lane config: num-lanes=1, val=0x300 [ 0.566175] rzt2h-pcie 92110000.pcie: PCIe Linx status [0x102]n [ 0.566205] rzt2h-pcie 92110000.pcie: PCIe x1: link up Lane number [ 0.567838] rzt2h-pcie 92110000.pcie: PCI host bridge to bus 0001:00 ... root@desk-t2h-usd-devel:~# lspci 0000:00:00.0 Unassigned class [ff04]: Renesas Technology Corp. Device 1135 0000:01:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) 0001:00:00.0 Unassigned class [ff04]: Renesas Technology Corp. Device 1135 0001:01:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 2b42 (rev 11)
Note[edit | edit source]
The clock signal must be requested by the PCIe devices. If a device is not found or recognized, first check whether the clock is present. If the clock is missing, the inserted device probably does not drive the Clock Request pin. Manual intervention is possible via test points or components:
- TP140 – to handle the Clock Request for the J15 PCIe connector
- D46.1 (white dot marks pin 1) – to handle the Clock Request for the J18 M.2 connector
Peripheral SD[edit | edit source]
The 4-bit uSD card is mainly used as a kernel and Root File System (RFS) storage device.
N.B.: the Card Detect (CD) signal is not native in the SoC; a GPIO expander is used to hanlde it. The expander used is exp_0 on the i2c_0 bus.
The CD pin is used only by Linux. In U-Boot, since there is no support for the I2C bus, the CD pin is not used to detect whether a uSD card is present or not.
Configuration[edit | edit source]
| ConfigID | Note |
|---|---|
| 2002 | - |
| 2003 | - |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the ZERO Evaluation Kit.
From rzt2h-eb23-cb2003.dtsi:
...
// uSD
&sdhi0 {
pinctrl-0 = <&sdhi0_pins>;
pinctrl-names = "default";
vmmc-supply = <®_3p3v>;
bus-width = <4>;
disable-wp;
cd-gpios = <&exp_0 15 GPIO_ACTIVE_HIGH>;
status = "okay";
};
...
&i2c0 {
...
// U13
exp_0: gpio_exp_0@74 {
compatible = "ti,tca9539";
reg = <0x74>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
};
...
};
...
&pinctrl {
...
sdhi0_pins: sd0 {
sd0_data {
pinmux = <RZT2H_PORT_PINMUX(12, 2, 0x29)>, /* P12_2 SD0_DATA0 | B_G20 E8 */
<RZT2H_PORT_PINMUX(12, 3, 0x29)>, /* P12_3 SD0_DATA1 | B_G21 E7 */
<RZT2H_PORT_PINMUX(12, 4, 0x29)>, /* P12_4 SD0_DATA2 | B_H20 B6 */
<RZT2H_PORT_PINMUX(12, 5, 0x29)>; /* P12_5 SD0_DATA3 | B_H21 G7 */
};
sd0_ctrl {
pinmux = <RZT2H_PORT_PINMUX(12, 0, 0x29)>, /* P12_0 SD0_CLK | B_F21 D7 */
<RZT2H_PORT_PINMUX(12, 1, 0x29)>; /* P12_1 SD0_CMD | B_E20 G8 */
};
};
...
};
Accessing the peripheral[edit | edit source]
The uSD card appears as an MMC device with instance 0, as described in the aliases section of the DTS:
/ {
...
aliases {
...
mmc0 = &sdhi0;
...
};
...
};
...
The following example uses an 8 GB uSD card is used with 2 partitions. The second partition contains the Root File System (RFS), which includes the boot directory where the kernel and DTB binaries are located.
U-boot[edit | edit source]
=> mmc dev 0 switch to partitions #0, OK mmc0 is current device => mmc info Device: mmc@92080000 Manufacturer ID: 3 OEM: 5344 Name: SA08G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.4 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes => mmc part Partition Map for MMC device 0 -- Partition Type: DOS Part Start Sector Num Sectors UUID Type 1 4096 40660 02a87beb-01 0c 2 44760 6687128 02a87beb-02 83
Test: load kernel *Image* from the /boot directory on the RFS partition
=> run mmc_loadk 20515328 bytes read in 819 ms (23.9 MiB/s)
Linux[edit | edit source]
... [ 3.039309] mmc0: new high speed SDHC card at address aaaa [ 3.045360] mmcblk0: mmc0:aaaa SA08G 7.40 GiB [ 3.055065] mmcblk0: p1 p2 ... [ 3.556655] EXT4-fs (mmcblk0p2): recovery complete [ 3.562426] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 5.349916] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) ... root@desk-t2h-usd-devel:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 7.4G 0 disk |-mmcblk0p1 179:1 0 19.9M 0 part `-mmcblk0p2 179:2 0 3.2G 0 part /
Peripheral LCD[edit | edit source]
LCD display interface with a PWM-controlled backlight adjustment
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | LCD is supported |
| 2003 | LCD is not supported: some pins are used to drive the motors |
Device tree configuration[edit | edit source]
/ {
...
lcd_vdd: regulator-lcd-vdd {
compatible = "regulator-fixed";
regulator-name = "LCD_VDD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpio = <&pinctrl RZT2H_GPIO(8, 0) GPIO_ACTIVE_HIGH>;
startup-delay-us = <500>;
status = "okay";
};
lcd_5v: regulator-lcd-5v {
compatible = "regulator-fixed";
regulator-name = "LCD_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&pinctrl RZT2H_GPIO(7, 7) GPIO_ACTIVE_HIGH>;
startup-delay-us = <10000>;
status = "okay";
};
panel_backlight: backlight {
compatible = "pwm-backlight";
pwms = <&gpt00_3 0 5000000>;
pwm-names = "backlight";
power-supply = <&lcd_5v>;
brightness-levels = <0 3 6 8 11 13 16 18 21 23 26 29 31 34 36 39 41 44 46 49 51 54 57 59 62 64 67 69 72 74 77 80 82 85 87 90 92 95 97 100 102 105 108 110 113 115 118 120 123 125 128 131 133 136 138 141 143 146 148 151 153 156 159 161 164 166 169 171 174 176 179 182 184 187 189 192 194 197 199 202 204 207 210 212 215 217 220 222 225 227 230 233 235 238 240 243 245 248 250 253 255>;
default-brightness-level = <75>;
};
panel-rgb@0 {
compatible = "ampire,am_800480btmqw_tbmh_a_mode";
status = "okay";
power-supply = <&lcd_vdd>;
backlight = <&panel_backlight>;
port {
panel_rgb_in: endpoint {
remote-endpoint = <&du_out_rgb>;
};
};
};
};
...
&gpt00_3 {
pinctrl-0 = <&gpt00_3_pins>;
pinctrl-names = "default";
channel = "channel_B";
status = "okay";
};
&du {
pinctrl-0 = <&du_pins>;
pinctrl-names = "default";
status = "okay";
ports {
port@0 {
du_out_rgb: endpoint {
remote-endpoint = <&panel_rgb_in>;
};
};
};
};
&pinctrl {
...
gpt00_3_pins: gpt00 {
pinmux = <RZT2H_PORT_PINMUX(0, 7, 0x9)>; /* P00_7 GTIOC00_3B */
};
du_pins: du {
du_data {
pinmux = <RZT2H_PORT_PINMUX(10, 2, 0x28)>, /* P10_2 DISP_DATAR2 | B_Y7 B2 */
<RZT2H_PORT_PINMUX(10, 3, 0x28)>, /* P10_3 DISP_DATAR3 | B_AA6 B1 */
<RZT2H_PORT_PINMUX(10, 4, 0x28)>, /* P10_4 DISP_DATAR4 | B_Y6 B5 */
<RZT2H_PORT_PINMUX(10, 5, 0x28)>, /* P10_5 DISP_DATAR4 | B_AA5 B3 */
<RZT2H_PORT_PINMUX(10, 6, 0x28)>, /* P10_6 DISP_DATAR6 | B_Y5 A6 */
<RZT2H_PORT_PINMUX(10, 7, 0x28)>, /* P10_7 DISP_DATAR7 | B_Y4 C4 */
<RZT2H_PORT_PINMUX(14, 2, 0x28)>, /* P14_2 DISP_DATAG2 | B_W4 C10 */
<RZT2H_PORT_PINMUX(14, 3, 0x28)>, /* P14_3 DISP_DATAG3 | B_V3 D9 */
<RZT2H_PORT_PINMUX(14, 4, 0x28)>, /* P14_4 DISP_DATAG4 | B_V4 A9 */
<RZT2H_PORT_PINMUX(14, 5, 0x28)>, /* P14_5 DISP_DATAG5 | B_U3 C11 */
<RZT2H_PORT_PINMUX(14, 6, 0x28)>, /* P14_6 DISP_DATAG6 | B_T3 B9 */
<RZT2H_PORT_PINMUX(17, 6, 0x28)>, /* P17_6 DISP_DATAG7 | B_T4 F13 */
<RZT2H_PORT_PINMUX(18, 1, 0x28)>, /* P18_1 DISP_DATAB2 | B_R4 E13 */
<RZT2H_PORT_PINMUX(18, 2, 0x28)>, /* P18_2 DISP_DATAB3 | B_R3 B15 */
<RZT2H_PORT_PINMUX(18, 3, 0x28)>, /* P18_3 DISP_DATAB4 | B_P3 D13 */
<RZT2H_PORT_PINMUX(18, 4, 0x28)>, /* P18_4 DISP_DATAB5 | B_N3 F15 */
<RZT2H_PORT_PINMUX(18, 5, 0x28)>, /* P18_5 DISP_DATAB6 | B_N4 G15 */
<RZT2H_PORT_PINMUX(18, 6, 0x28)>; /* P18_6 DISP_DATAB7 | B_M3 B16 */
drive-strength = <3>;
};
du_clk {
pinmux = <RZT2H_PORT_PINMUX(9, 4, 0x28)>; /* P09_4 DISP_CLK | B_M4 D2 */
drive-strength = <3>;
};
du_de {
pinmux = <RZT2H_PORT_PINMUX(9, 7, 0x28)>; /* P09_7 DISP_DE | B_J4 D5 */
drive-strength = <3>;
};
};
...
};
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 0.384387] gpt-rzg2l 90002300.gpt00_3: RZ/G2L GPT Driver probed ... [ 62.737202] [drm] Initialized rcar-du 1.0.0 20130110 for 920c0000.display on minor 0 [ 62.748512] [drm] Device 920c0000.display probed [ 62.844967] rcar-du 920c0000.display: [drm] fb0: rcar-dudrmfb frame buffer device ...
Backlight management
root@desk-t2h-usd-devel:~# ls /sys/class/backlight/backlight/ actual_brightness bl_power brightness device max_brightness power scale subsystem type event root@desk-t2h-usd-devel:~# echo 5 > /sys/class/backlight/backlight/brightness root@desk-t2h-usd-devel:~# echo 100 > /sys/class/backlight/backlight/brightness
Display power off and on
root@desk-t2h-usd-devel:~# echo 1 > /sys/class/graphics/fb0/blank root@desk-t2h-usd-devel:~# echo 0 > /sys/class/graphics/fb0/blank
Peripheral CAN[edit | edit source]
The two CAN buses have a transceiver that is enabled or disabled via a dedicated pin.
This pin is controlled by the GPIO expander exp_1 and managed as a regulator, so no preliminary operations are required before using the CAN interfaces.
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | - |
| 2003 | - |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on ZERO Evaluation Kit.
From rzt2h-dsab.dts:
/ {
...
stb_can_0: reg_stb_can_0 {
compatible = "regulator-fixed";
regulator-name = "reg_stb_can_0";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&exp_1 14 GPIO_ACTIVE_LOW>;
regulator-boot-on;
regulator-always-on;
};
stb_can_1: reg_stb_can_1 {
compatible = "regulator-fixed";
regulator-name = "reg_stb_can_1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&exp_1 15 GPIO_ACTIVE_LOW>;
regulator-boot-on;
regulator-always-on;
};
...
};
...
&canfd {
pinctrl-0 = <&can0_pins &can1_pins>;
pinctrl-names = "default";
status = "okay";
renesas,no-can-fd;
canstb0-supply = <&stb_can_0>;
canstb1-supply = <&stb_can_1>;
channel0 {
status = "okay";
};
channel1 {
status = "okay";
};
};
...
&pinctrl {
...
can0_pins: can0 {
pinmux = <RZT2H_PORT_PINMUX(24, 3, 0x19)>, /* P24_3 CANRX0 | B_AB17 B20 */
<RZT2H_PORT_PINMUX(24, 4, 0x19)>; /* P24_4 CANTX0 | B_AC17 G22 */
};
can1_pins: can1 {
pinmux = <RZT2H_PORT_PINMUX(22, 5, 0x19)>, /* P22_5 CANRX1 | B_AB19 E21 */
<RZT2H_PORT_PINMUX(22, 6, 0x19)>; /* P22_6 CANTX1 | B_AC19 C22 */
};
...
};
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 61.906321] rcar_canfd 80040000.can: can_clk rate is 125000000 [ 61.912864] rcar_canfd 80040000.can: device registered (channel 0) [ 61.919132] rcar_canfd 80040000.can: can_clk rate is 125000000 [ 61.925643] rcar_canfd 80040000.can: device registered (channel 1) [ 61.931884] rcar_canfd 80040000.can: global operational state (clk 0, fdmode 0) [ 62.656269] can: controller area network core [ 62.665208] can: raw protocol [ 62.668219] can: broadcast manager protocol [ 62.672459] can: netlink gateway - max_hops=1 ...
root@desk-t2h-usd-devel:~# ip link set can0 type can bitrate 200000
root@desk-t2h-usd-devel:~# ip link set can0 up
root@desk-t2h-usd-devel:~# ifconfig can0
can0: flags=193<UP,RUNNING,NOARP> mtu 16 metric 1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@desk-t2h-usd-devel:~# ifconfig can1
can1: flags=128<NOARP> mtu 16 metric 1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@desk-t2h-usd-devel:~# ip link set can0 type can bitrate 200000 root@desk-t2h-usd-devel:~# ifconfig can0 up root@desk-t2h-usd-devel:~# candump can0 can0 123 [8] 01 01 02 03 04 05 06 07
Peripheral UART[edit | edit source]
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | Available UARTs: console, A, B, D |
| 2003 | Available UARTs: console, A, D (B - Bluetooth interface - pins are required to drive motors) |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on ZERO Evaluation Kit.
From rzt2h-dsab.dtsi:
...
// Console
&sci0 {
pinctrl-0 = <&sci0_pins>;
pinctrl-names = "default";
status = "okay";
};
...
&pinctrl {
// Done
sci0_pins: sci0 {
pinmux = <RZT2H_PORT_PINMUX(27, 5, 0x14)>, /* P27_5 TXD0 | B_D22 H26 */
<RZT2H_PORT_PINMUX(27, 4, 0x14)>; /* P27_4 RXD0 | B_D23 F25 */
};
...
};
From rzt2h-eb23-cb2002.dts:
...
// UART A
&sci3 {
pinctrl-0 = <&sci3_pins>;
pinctrl-names = "default";
/delete-property/dmas;
/delete-property/dma-names;
uart-has-rtscts;
status = "okay";
};
// UART B - BT
&sci1 {
pinctrl-0 = <&sci1_pins>;
pinctrl-names = "default";
/delete-property/dmas;
/delete-property/dma-names;
uart-has-rtscts;
status = "disabled";
};
// UART D
&sci5 {
pinctrl-0 = <&sci5_pins>;
pinctrl-names = "default";
status = "okay";
};
...
&pinctrl {
sci1_pins: sci1 {
pinmux = <RZT2H_PORT_PINMUX(11, 1, 0x14)>, /* P11_1 TXD1 | B_D13 C1 */
<RZT2H_PORT_PINMUX(11, 0, 0x14)>, /* P11_0 RXD0 | B_D14 C5 */
<RZT2H_PORT_PINMUX(11, 2, 0x14)>, /* P11_2 RTS1 | B_D15 C3 */
<RZT2H_PORT_PINMUX(11, 3, 0x14)>; /* P11_3 CTS1 | B_D16 D1 */
};
sci3_pins: sci3 {
pinmux = <RZT2H_PORT_PINMUX(13, 4, 0x14)>, /* P13_4 RXD3 | B_A14 B8 */
<RZT2H_PORT_PINMUX(13, 5, 0x14)>, /* P13_5 TXD3 | B_B13 B7 */
<RZT2H_PORT_PINMUX(13, 6, 0x14)>, /* P13_6 RTS3 | B_C13 A8 */
<RZT2H_PORT_PINMUX(13, 7, 0x14)>; /* P13_7 CTS3 | B_C14 C8 */
};
sci5_pins: sci5 {
pinmux = <RZT2H_PORT_PINMUX(16, 4, 0x14)>, /* P16_4 TXD5 | B_C23 A12 */
<RZT2H_PORT_PINMUX(16, 3, 0x14)>; /* P16_3 RXD5 | B_C22 B12 */
};
...
};
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 60.513530] 80005000.serial: ttySC0 at MMIO 0x80005000 (irq = 14, base_baud = 0) is a scif [ 61.831885] 80005400.serial: ttySC1 at MMIO 0x80005400 (irq = 18, base_baud = 0) is a scif [ 61.841098] 80005c00.serial: ttySC3 at MMIO 0x80005c00 (irq = 22, base_baud = 0) is a scif [ 61.850337] 81005000.serial: ttySC5 at MMIO 0x81005000 (irq = 26, base_baud = 0) is a sci ...
Peripheral I2C[edit | edit source]
Notice: On the I2C bus B, there is the PCIe clock generator and RTC, which is located in the SoM. If the EVK is used with ConfigID 2003 (I2C B pins used for motors), the PCIe blocks and RTC are not initialized; therefore, no side effects are observed when running motor demos.
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | Available I2C buses are A and B; the attached devices are split across the two buses |
| 2003 | Only I2C bus A is available; all devices except the touch controller and RTC are moved from I2C B to I2C A (I2C B pins are used to drive motors) |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on ZERO Evaluation Kit.
From rzt2h-dsab.dtsi (SOM device tree):
...
// I2C B
&i2c1 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c1_pins>;
pinctrl-names = "default";
rtc@6f {
compatible = "isil,isl1208";
reg = <0x6f>;
//external-oscillator;
};
};
...
&pinctrl {
...
i2c1_pins: i2c1 {
pinmux = <RZT2H_PORT_PINMUX(5, 0, 0x17)>, /* P05_0 SDA | B_AA21 AA10 */
<RZT2H_PORT_PINMUX(4, 7, 0x17)>; /* P04_7 SCL | B_AA20 AC11 */
};
};
From rzt2h-eb23-cb2002.dts (I2C A & I2C B):
// I2C A
&i2c0 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
tlv320aic3100: tlv320aic3100@18 {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3100";
reg = <0x18>;
status = "disable";
};
tpl0102_100:tpl0102_100@57 {
compatible = "tpl0102-104";
reg = <0x57>;
status = "disable";
};
// PTN5110NHQZ
ptn5110: tcpc@50 {
compatible = "nxp,ptn5110";
reg = <0x50>;
status = "disable";
};
ilitek@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
vin-supply = <&touch_vdd>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_FALLING>;
ilitek,irq-gpio = <&pinctrl RZT2H_GPIO(7, 0) GPIO_ACTIVE_LOW>;
ilitek,reset-gpio = <&exp_1 13 GPIO_ACTIVE_LOW>;
ilitek,name = "ilitek_i2c";
touchscreen-size-x = <16384>;
touchscreen-size-y = <9600>;
};
};
// I2C B
&i2c1 {
status = "okay";
rtc@6f {
compatible = "isil,isl1208";
reg = <0x6f>;
//external-oscillator;
};
ina226_cb: ina226@44 {
compatible = "ti,ina226";
reg = <0x44>;
#io-channel-cells = <1>;
label = "5v_cb";
shunt-resistor = <9000>;
};
ina226_som: ina226@45 {
compatible = "ti,ina226";
reg = <0x45>;
#io-channel-cells = <1>;
label = "5v_som";
shunt-resistor = <9000>;
};
// U13
exp_0: gpio_exp_0@74 {
compatible = "ti,tca9539";
reg = <0x74>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
};
// U14
exp_1: gpio_exp_1@75 {
compatible = "ti,tca9539";
reg = <0x75>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
};
// U15
exp_2: gpio_exp_2@76 {
compatible = "ti,tca9539";
reg = <0x76>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
pinctrl-names = "default";
pinctrl-0 = <&tca6424_2_pins>;
interrupt-controller;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 62 GPIO_ACTIVE_LOW>;
};
};
...
&pinctrl {
...
i2c0_pins: i2c0 {
pinmux = <RZT2H_PORT_PINMUX(2, 3, 0x17)>, /* P02_3 SDA | B_AA15 AF12 */
<RZT2H_PORT_PINMUX(2, 4, 0x17)>; /* P02_4 SCL | B_AA16 AE12 */
};
...
};
From rzt2h-eb23-cb2003.dts (only I2C A):
// I2C A
&i2c0 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
tlv320aic3100: tlv320aic3100@18 {
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic3100";
reg = <0x18>;
status = "disable";
};
tpl0102_100:tpl0102_100@57 {
compatible = "tpl0102-104";
reg = <0x57>;
status = "disable";
};
// PTN5110NHQZ
ptn5110: tcpc@50 {
compatible = "nxp,ptn5110";
reg = <0x50>;
status = "disable";
};
ina226_cb: ina226@44 {
compatible = "ti,ina226";
reg = <0x44>;
#io-channel-cells = <1>;
label = "5v_cb";
shunt-resistor = <9000>;
};
ina226_som: ina226@45 {
compatible = "ti,ina226";
reg = <0x45>;
#io-channel-cells = <1>;
label = "5v_som";
shunt-resistor = <9000>;
};
// U13
exp_0: gpio_exp_0@74 {
compatible = "ti,tca9539";
reg = <0x74>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
};
// U14
exp_1: gpio_exp_1@75 {
compatible = "ti,tca9539";
reg = <0x75>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
};
// U15
exp_2: gpio_exp_2@76 {
compatible = "ti,tca9539";
reg = <0x76>;
vcc-supply = <®_exp_3p3v>;
#address-cells = <1>;
#size-cells = <0>;
#gpio-cells = <2>;
gpio-controller;
pinctrl-names = "default";
pinctrl-0 = <&tca6424_2_pins>;
interrupt-controller;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 62 GPIO_ACTIVE_LOW>;
};
};
Accessing the peripheral[edit | edit source]
The examples shown are obtained using a board with ConfigID 2002 (both I2C buses A and B present).
Attention:
Touch devices are detected only if they are physically connected to the board.
In the following example, the touch device is not present; therefore, the device at address 0x41 is not visible on the I2C bus.
The INA226 devices are expected to be visible by default and usable from Linux at addresses 0x44 and 0x45.
Using connector J53, it is possible to disconnect these devices from the on-board I2C bus and instead use them on an external I2C bus, for example, to perform measurements during suspend or in other states where the embedded system cannot access or perform sensor readings.
Refer to the image below for the connector location and additional details.
| Pin | Description |
|---|---|
| 1 | GND |
| 2 | SCL (normally on-board I2C bus); see pin 4 (EN). If EN = GND, use an external I2C bus |
| 3 | SDA (normally on-board I2C bus); see pin 4 (EN). If EN = GND, use an external I2C bus |
| 4 | EN (normally tied to the voltage level of pin 6); pull to GND to disconnect the INA226 devices |
| 5 | NC |
| 6 | V_INA |
If pin 4 (EN) is left unchanged, the I2C bus can be routed externally.
Linux[edit | edit source]
- I2C_A is mapped to
i2c0 - I2C_B is mapped to
i2c1
... [ 62.385806] i2c-riic 80088000.i2c: registered with 100000Hz bus speed [ 62.439432] i2c-riic 80088400.i2c: registered with 100000Hz bus speed ...
root@desk-t2h-usd-devel:~# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@desk-t2h-usd-devel:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- UU UU -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- UU
70: -- -- -- -- UU UU UU --
Example INA226 usage:
root@desk-t2h-usd-devel:~# echo $(cat /sys/class/hwmon/hwmon1/of_node/label) 5v_som root@desk-t2h-usd-devel:~# cat /sys/class/hwmon/hwmon1/curr1_input 327 root@desk-t2h-usd-devel:~# echo $(cat /sys/class/hwmon/hwmon0/of_node/label) 5v_cb root@desk-t2h-usd-devel:~# cat /sys/class/hwmon/hwmon0/curr1_input 690
Peripheral SPI[edit | edit source]
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | SPI available on mikroBUS connector
|
| 2003 | SPI s not available (the pins are used to drive motors) |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the DSAB EVK.
From rzt2h-eb23-cb2002.dts:
...
&spi1 {
pinctrl-0 = <&spi1_pins>;
pinctrl-names = "default";
status = "okay";
spidev@0 {
compatible = "rohm,dh2228fv";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
...
&pinctrl {
...
spi1_pins: spi1 {
pinmux = <RZT2H_PORT_PINMUX(32, 6, 0x1A)>, /* SSL */
<RZT2H_PORT_PINMUX(32, 3, 0x1A)>, /* SCK */
<RZT2H_PORT_PINMUX(32, 4, 0x1A)>, /* MOSI */
<RZT2H_PORT_PINMUX(32, 5, 0x1A)>; /* MISO */
};
};
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 61.881578] renesas_spi_t2h 80007400.spi: dma_request_slave_channel_compat failed [ 61.889128] renesas_spi_t2h 80007400.spi: DMA not available, using PIO [ 61.897223] renesas_spi_t2h 80007400.spi: probed ...
root@desk-t2h-usd-devel:~# ls /dev/spidev0.0 /dev/spidev0.0
Peripheral xSPI[edit | edit source]
There is one Expanded Serial Peripheral Interface (xSPI).
The xSPI protocol defines the interface for memory devices, offering high data throughput, a low signal count, and a limited backward compatibility with legacy SPI devices.
This bus is a boot bus: an SPI NOR flash is connected to it on the carrier board.
This bus can also be used via the bare-metal tool Flash Programmer to program the NOR memory, enabling boot from SCI.
By storing the correct binaries in the proper layout/position in the NOR, it is possible to boot through the xSPI bus.
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | - |
| 2003 | - |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on ZERO Evaluation Kit.
From rzt2h-eb23-cb2002.dts:
...
&xspi0 {
pinctrl-0 = <&xspi0_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
compatible = "sst,w25q256jwm", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <30000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "atf";
reg = <0x0 0x60000>;
};
partition@60000 {
label = "fip";
reg = <0x60000 0xC0000>;
};
partition@120000 {
label = "env";
reg = <0x120000 0x20000>;
};
partition@140000 {
label = "data";
reg = <0x140000 0x280000>;
};
};
};
};
...
&pinctrl {
...
xspi0_pins: xspi0 {
xspi0_clk {
pinmux = <RZT2H_PORT_PINMUX(5, 1, 0x1C)>; /* P05_1 XSPI1_CKP */
};
xspi0_data {
pinmux = <RZT2H_PORT_PINMUX(5, 6, 0x1C)>, /* P05_6 XSPI0_IO0 */
<RZT2H_PORT_PINMUX(5, 7, 0x1C)>, /* P05_7 XSPI0_IO1 */
<RZT2H_PORT_PINMUX(6, 0, 0x1C)>, /* P06_0 XSPI0_IO2 */
<RZT2H_PORT_PINMUX(6, 1, 0x1C)>; /* P06_1 XSPI0_IO3 */
};
xspi0_cs {
pinmux = <RZT2H_PORT_PINMUX(5, 3, 0x1C)>; /* P05_3 XSPI0_CS0 */
};
};
...
};
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 62.577410] spi-nor spi1.0: w25q256jwm (32768 Kbytes) [ 62.582516] 4 fixed-partitions partitions found on MTD device spi1.0 [ 62.588899] Creating 4 MTD partitions on "spi1.0": [ 62.593720] 0x000000000000-0x000000060000 : "atf" [ 62.603538] 0x000000060000-0x000000120000 : "fip" [ 62.624430] 0x000000120000-0x000000140000 : "env" [ 62.631481] 0x000000140000-0x0000003c0000 : "data" ...
root@desk-t2h-usd-devel:~# mtdinfo -a Count of MTD devices: 4 Present MTD devices: mtd0, mtd1, mtd2, mtd3 Sysfs interface supported: yes mtd0 Name: atf Type: nor Eraseblock size: 4096 bytes, 4.0 KiB Amount of eraseblocks: 96 (393216 bytes, 384.0 KiB) Minimum input/output unit size: 1 byte Sub-page size: 1 byte Character device major/minor: 90:0 Bad blocks are allowed: false Device is writable: true mtd1 Name: fip Type: nor Eraseblock size: 4096 bytes, 4.0 KiB Amount of eraseblocks: 192 (786432 bytes, 768.0 KiB) Minimum input/output unit size: 1 byte Sub-page size: 1 byte Character device major/minor: 90:2 Bad blocks are allowed: false Device is writable: true mtd2 Name: env Type: nor Eraseblock size: 4096 bytes, 4.0 KiB Amount of eraseblocks: 32 (131072 bytes, 128.0 KiB) Minimum input/output unit size: 1 byte Sub-page size: 1 byte Character device major/minor: 90:4 Bad blocks are allowed: false Device is writable: true mtd3 Name: data Type: nor Eraseblock size: 4096 bytes, 4.0 KiB Amount of eraseblocks: 640 (2621440 bytes, 2.5 MiB) Minimum input/output unit size: 1 byte Sub-page size: 1 byte Character device major/minor: 90:6 Bad blocks are allowed: false Device is writable: true
Peripheral PWM[edit | edit source]
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | PWM is used for display backlight & two pins on CN24 |
| 2003 | All PWM channels are required for motors |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the DSAB EVK.
From rzt2h-eb23-cb2002.dts:
...
&gpt00_3 {
pinctrl-0 = <&gpt00_3_pins>;
pinctrl-names = "default";
channel = "channel_B";
status = "okay";
};
&gpt02_0 {
pinctrl-0 = <&gpt02_0_pins>;
pinctrl-names = "default";
channel = "both_AB";
status = "okay";
};
...
&pinctrl {
...
gpt00_3_pins: gpt00 {
pinmux = <RZT2H_PORT_PINMUX(0, 7, 0x9)>; /* P00_7 GTIOC00_3B */
};
gpt02_0_pins: gpt02 {
pinmux = <RZT2H_PORT_PINMUX(2, 5, 0x9)>, /* P02_5 GTIOC02_0A | B_AB10 AD11 */
<RZT2H_PORT_PINMUX(2, 6, 0x9)>; /* P02_6 GTIOC02_0B | B_AB8 AD9 */
};
...
};
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 0.384899] gpt-rzg2l 90002300.gpt00_3: RZ/G2L GPT Driver probed [ 0.385742] gpt-rzg2l 90004000.gpt02_0: RZ/G2L GPT Driver probed [ 1054.619013] gpt-rzg2l 90004000.gpt02_0: In both channel A and B output please set duty cycle via buff [ 1070.343009] gpt-rzg2l 90004000.gpt02_0: In both channel A and B output please set duty cycle via buff [ 1074.775003] gpt-rzg2l 90004000.gpt02_0: In both channel A and B output please set duty cycle via buff ...
The GPT cell gpt00_3 is dedicated to the backlight and cannot be used directly as a PWM; see the LCD display page.
The cell gpt02_0 is usable as a PWM. By default, the channels are set to both_AB; as reported in dmesg, the duty cycle must be set differently.
Example of using a single PWM (switching to single-channel mode):
echo 0 > /sys/class/pwm/pwmchip1/export echo channel_B > /sys/class/pwm/pwmchip1/device/gpt_channel
PWM configuration and enablement:
echo 1000000 > /sys/class/pwm/pwmchip1/pwm0/period echo 500000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable
The pin controlled in this example is CN24.28.
Channel A is routed to pin J54.27, next to the pin shown in the image.
Peripheral ADC[edit | edit source]
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | - |
| 2003 | - |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the DSAB EVK.
From rzt2h-eb23-cb2002.dts:
...
&adc2 {
status = "okay";
};
...
Accessing the peripheral[edit | edit source]
There are 2 ADCs on a specific bank adc2. This bank has 16 channels, but only 2 are used on the carrier board via potentiometers:
- Potentiometer A →
/sys/bus/platform/drivers/rzt2h-adc/80008000.adc2/iio\:device0/in_voltage4_raw - Potentiometer B →
/sys/bus/platform/drivers/rzt2h-adc/80008000.adc2/iio\:device0/in_voltage5_raw
Linux[edit | edit source]
... root@desk-t2h-usd-devel:~# cat /sys/bus/platform/drivers/rzt2h-adc/80008000.adc2/iio\:device0/in_voltage4_raw 20 root@desk-t2h-usd-devel:~# cat /sys/bus/platform/drivers/rzt2h-adc/80008000.adc2/iio\:device0/in_voltage5_raw 4073 ...
Peripheral RTC[edit | edit source]
There are 2 RTCs:
- Internal, integrated into the SoC
- External (on the SoM), at address
0x6Fon I2C B
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | All RTCs are available |
| 2003 | The RTC on I2C B is not available (I2C B pins are used to drive motors) |
Device tree configuration[edit | edit source]
Below is an example of a device tree configuration used on a standard DAVE kit for the DSAB EVK.
From rzt2h-dsab.dtsi:
...
&rtc {
status = "okay";
};
...
&i2c1 {
...
rtc@6f {
compatible = "isil,isl1208";
reg = <0x6f>;
//external-oscillator;
};
};
...
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
... [ 2.848396] rtc rtc0: invalid alarm value: 1900-01-01T00:00:00 [ 2.854742] rzt2h-rtc 81009000.rtc: registered as rtc0 [ 2.859967] rzt2h-rtc 81009000.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800) [ 2.902759] rtc-isl1208 1-006f: rtc power failure detected, please set clock. [ 2.910764] rtc-isl1208 1-006f: Using internal oscillator [ 2.917678] rtc-isl1208 1-006f: registered as rtc1 ...
RTC0[edit | edit source]
RTC integrated into the SoC, device /dev/rtc0, does not have backup power.
root@desk-t2h-usd-devel:~# hwclock -r -f /dev/rtc0 2000-01-01 00:17:22.068661+00:00 root@desk-t2h-usd-devel:~# date -s "2025-12-16 13:00:00" Tue Dec 16 13:00:00 UTC 2025 root@desk-t2h-usd-devel:~# hwclock -w -f /dev/rtc0 root@desk-t2h-usd-devel:~# hwclock -r -f /dev/rtc0 2025-12-16 13:00:07.248735+00:00 root@desk-t2h-usd-devel:~# sleep 10 root@desk-t2h-usd-devel:~# hwclock -r -f /dev/rtc0 2025-12-16 13:00:21.072782+00:00
RTC1[edit | edit source]
The external RTC is present on the SoM on I2C bus B and is not available in the carrier board configured as ConfigID 2003.
Backup power can be provided via the connector J5 or battery on J6:
The command hwclock -r -f /dev/rtc1 cannot be used; access must be done through the driver.
root@desk-t2h-usd-devel:~# hwclock --systohc -w -f /dev/rtc1 root@desk-t2h-usd-devel:~# cat /sys/class/rtc/rtc1/time 13:09:58 root@desk-t2h-usd-devel:~# sleep 10 root@desk-t2h-usd-devel:~# cat /sys/class/rtc/rtc1/time 13:10:11
Peripheral Wifi[edit | edit source]
The Wi-Fi peripheral is connected via the PCIe bus. See the documentation DESK-RZ-L/Peripherals/PCIe for further details about the bus.
Configuration[edit | edit source]
These peripheral(s) can only be used with the following ConfigID(s) (see the associated BOM):
| ConfigID | Note |
|---|---|
| 2002 | Wi-Fi & BLE are available |
| 2003 | Only Wi-Fi is available; thepins for BLE are used to drive motors |
Accessing the peripheral[edit | edit source]
Linux[edit | edit source]
The driver for the Wi-Fi module is available as a kernel module.
The provided kernel correctly links the modules; if the kernel has been modified for development purposes, the modules might not link properly.
The driver is automatically loaded at boot time.
... [ 7.089493] mwifiex_pcie 0001:01:00.0: assign IRQ: got 160 [ 7.113616] mwifiex_pcie 0001:01:00.0: enabling device (0000 -> 0002) [ 7.176632] mwifiex_pcie 0001:01:00.0: enabling bus mastering [ 7.176717] mwifiex_pcie: PCI memory map Virt0: (____ptrval____) PCI memory map Virt2: (____ptrval____) [ 8.180697] mwifiex_pcie 0001:01:00.0: info: FW download over, size 632240 bytes [ 9.058758] mwifiex_pcie 0001:01:00.0: WLAN FW is active [ 9.122178] mwifiex_pcie 0001:01:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p179) [ 9.122191] mwifiex_pcie 0001:01:00.0: driver_version = mwifiex 1.0 (16.68.1.p179) [ 9.268923] mwifiex_pcie 0001:01:00.0 wlP1p1s0: renamed from mlan0 ...
Check for Wi-Fi module detection:
root@desk-t2h-usd-devel:~# lspci 0000:00:00.0 PCI bridge: Renesas Technology Corp. Device 1135 0000:01:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) 0001:00:00.0 PCI bridge: Renesas Technology Corp. Device 1135 0001:01:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 2b42 (rev 11) <----
Check for Wi-Fi kernel module:
root@desk-t2h-usd-devel:~# lsmod Module Size Used by mwifiex_pcie 40960 0 mwifiex 253952 1 mwifiex_pcie ...
Example wifi static connection[edit | edit source]
Check that the interface is properly initialized:
root@desk-t2h-usd-devel:~# ifconfig
...
wlP1p1s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 metric 1
ether c0:bf:be:d8:22:d1 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Check rfkill status and in case unblock device:
root@desk-t2h-usd-devel:~# rfkill list
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
root@desk-t2h-usd-devel:~# rfkill unblock 0
Setup the wpa_supplicant.conf configuration file for handling the WiFi connection, for example:
root@desk-t2h-usd-devel:~# cat /etc/wpa_supplicant.conf
network={
ssid="ZyXEL"
key_mgmt=NONE
}
Apply the wpa_supplicant.conf configuration file manually starting the wpa_supplicant:
wpa_supplicant -i wlP1p1s0 -c /etc/wpa_supplicant.conf -B Successfully initialized wpa_supplicant ...
root@desk-t2h-usd-devel:~# ifconfig wlP1p1s0 192.168.11.168
Then the network access is enabled:
root@desk-t2h-usd-devel:~# ping 192.168.11.243 -I wlP1p1s0 -c 4 PING 192.168.11.243 (192.168.11.243) from 192.168.11.168 wlP1p1s0: 56(84) bytes of data. 64 bytes from 192.168.11.243: icmp_seq=1 ttl=64 time=6.36 ms 64 bytes from 192.168.11.243: icmp_seq=2 ttl=64 time=1.21 ms 64 bytes from 192.168.11.243: icmp_seq=3 ttl=64 time=1.24 ms 64 bytes from 192.168.11.243: icmp_seq=4 ttl=64 time=1.21 ms --- 192.168.11.243 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 1.206/2.504/6.360/2.226 ms root@desk-t2h-usd-devel:~#
Example BLE[edit | edit source]
Attention: The BLE interface is available only with ConfigID 2002.
Configure the UART to communicate with the BLE module:
root@desk-t2h-usd-devel:~# stty -F /dev/ttySC1 115200 -echo -echoe crtscts
Attach the BLE module:
root@desk-t2h-usd-devel:~# hciattach /dev/ttySC1 any 115200 flow Device setup complete
Check if the interface is blocked using rfkill:
root@desk-t2h-usd-devel:~# rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
root@desk-t2h-usd-devel:~# rfkill unblock 1
Check the available hci interfaces:
root@desk-t2h-usd-devel:~# hciconfig list
hci0: Type: Primary Bus: UART
BD Address: C0:BF:BE:D8:22:D0 ACL MTU: 1021:7 SCO MTU: 120:6
UP RUNNING
RX bytes:1505 acl:0 sco:0 events:91 errors:0
TX bytes:1272 acl:0 sco:0 commands:91 errors:0
Set up the interface and scan for devices:
root@desk-t2h-usd-devel:~# hciconfig hci0 up
root@desk-t2h-usd-devel:~# hcitool dev
Devices:
hci0 C0:BF:BE:D8:22:D0
root@desk-t2h-usd-devel:~# bluetoothctl
Agent registered
[CHG] Controller C0:BF:BE:D8:22:D0 Pairable: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller C0:BF:BE:D8:22:D0 Discovering: yes
[NEW] Device 12:27:BE:82:00:77 12-27-BE-82-00-77
[NEW] Device 62:78:A9:98:38:95 62-78-A9-98-38-95
[NEW] Device 7D:6E:DE:37:76:27 7D-6E-DE-37-76-27
[CHG] Device 62:78:A9:98:38:95 RSSI: -78
[CHG] Device 12:27:BE:82:00:77 RSSI: -69
[CHG] Device 62:78:A9:98:38:95 RSSI: -65
[CHG] Device 12:27:BE:82:00:77 RSSI: -77
[NEW] Device 73:A5:FE:43:F0:90 73-A5-FE-43-F0-90
[CHG] Device 62:78:A9:98:38:95 RSSI: -82
[bluetooth]# scan off
Discovery stopped
[CHG] Device 73:A5:FE:43:F0:90 RSSI is nil
[CHG] Device 7D:6E:DE:37:76:27 TxPower is nil
[CHG] Device 7D:6E:DE:37:76:27 RSSI is nil
[CHG] Device 62:78:A9:98:38:95 TxPower is nil
[CHG] Device 62:78:A9:98:38:95 RSSI is nil
[CHG] Device 12:27:BE:82:00:77 RSSI is nil
[CHG] Controller C0:BF:BE:D8:22:D0 Discovering: no
[bluetooth]#
