Refer the Hardware and System reference manual to check out the PIN Numbers and PORT numbers etc. of respective interfaces.
In case of any doubts you can Ask questions in RuggedBoard forum.
| |
Targeted Hardware | SOM Version: PICM-001-A1 CB : RuggedBoard-A5D2x CB Version : RB-A5D2x-V1.1 |
Targeted Software | RBNR-20.0.0/RBSD-20.0.0 - AT91Bootstrap-3.8.12 - Uboot-2018-07 - Linux Kernel v4.9.151 - Yocto 2.5.2 (sumo HEAD commit 623b77885051) |
To test GPIO let us use the On-board LED on RuggedBoard. For this demonstration let's use LED_1 which is connected to GPIO PC13 (Refer hardware manual for more information).
.
-NA-
Boot the board from NOR/MMC. After booting check toggling of USER LED.
Type the following commands in a sequence to toggle led.
echo 77 > /sys/class/gpio/exportecho out > /sys/class/gpio/PC13/directionecho 1 > /sys/class/gpio/PC13/valueecho 0 > /sys/class/gpio/PC13/valueecho 1 > /sys/class/gpio/PC13/valueecho 0 > /sys/class/gpio/PC13/value
root@ruggedboard-a5d2x:~# echo 77 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PC13/directionroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PC13/valueroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PC13/value
Try the above steps again replacing 77 with 81 & 83 respectively to toggle other two LEDs present on the board.
You can use remaining two user LED or any GPIO PIN mentioned in the Hardware manual with the same method. In case of any doubt post your detailed question into the RuggedBoard forum.
To check UART 3 node in /dev/.
To test the UART3 Port functionality in Kernel by shorting Transmitter and receiver pins.
To test the UART3 Port funcationaly in Kernel by connecting Transmitter pin of first board to receiver pin of second board and connect Receiver pin of first board to transmitter pin of second board using patch cards.
UART PORT .
PATCH CORDS
Boot the board from NOR/MMC.
Check weather the node is created in /dev
$ ls /dev/ttyS3
root@ruggedboard-a5d2x:~# ls /dev/ttyS3/dev/ttyS3
Boot the board from NOR/MMC, Check the Log file whether node is created or not.
Open the microcom and enter some random data, to open microcom type the command given below.
$ microcom -s <baud-rate> /dev/ttyS3
root@ruggedboard-a5d2x:~# microcom -s 9600 /dev/ttyS3atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan0 for rx DMA transfersatmel_usart_serial atmel_usart_serial.3.auto: using dma0chan1 for tx DMA transfersWelcome to phytec
Boot the board from NOR/MMC, Check the Log file whether node is created or not.
Open microcom on both the boards and send data.
$ microcom -s <baud-rate> /dev/ttyS3
RB-Device-1:
root@ruggedboard-a5d2x:~# microcom -s 115200 /dev/ttyS3atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan0 for rx DMA transfersatmel_usart_serial atmel_usart_serial.3.auto: using dma0chan1 for tx DMA transfershelloooo....................
RB-Device-2:
root@ruggedboard-a5d2x:~# microcom -s 115200 /dev/ttyS3atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan0 for rx DMA transfersatmel_usart_serial atmel_usart_serial.3.auto: using dma0chan1 for tx DMA transfersruggedboard......
To test the read and write functionality of i2c based eeprom
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Boot the board from NOR/MMC.
Give the below command to write the data on eeprom
$echo phytec > /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
Please give the below command to read the data from eeprom.
$cat /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
root@rugged-board-a5d2x:~# echo phytec > /sys/class/i2c-adapter/i2c-0/0-0050/eepromroot@rugged-board-a5d2x:~# cat /sys/class/i2c-adapter/i2c-0/0-0050/eepromphytec
To test the USB1 Port functionality using the dmesg in Kernel with Pen-drive.
To test the USB1 Port functionality in Kernel with Pen-drive to read and write the data.
To test the USB1 Port functionality in Kernel with USB host performance test.
USB PORT/Hub. -USB Stick.
USB-STICK should be detected.
Boot the board from NOR/MMC. After booting insert the USB Stick into Board USB port/USB-HUB, Check the Log file whether node is created or not.
Type the command given below for getting the log.
$ dmesg | tail
root@ruggedboard-a5d2x:~# dmesg | tailusb-storage 1-1:1.0: USB Mass Storage device detectedscsi host0: usb-storage 1-1:1.0scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6sd 0:0:0:0: [sda] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)sd 0:0:0:0: [sda] Write Protect is offsd 0:0:0:0: [sda] Mode Sense: 43 00 00 00sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUAsda:sd 0:0:0:0: [sda] Attached SCSI removable disk
Boot the board from NOR/MMC. After booting insert the USB Stick into Board USB port/USB-HUB, Check the Log file whether node is creadted or not using dmesg.
Once the node is detected, mount the node and do the read and write by typing the command given below.
$ mount /dev/mmcblk1p1 /mnt/
root@ruggedboard-a5d2x:~# mount /dev/mmcblk1p1 /mnt/FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.root@ruggedboard-a5d2x:~# cd /mnt/root@ruggedboard-a5d2x:/mnt# lsBOOT.BIN u-boot.bina5d2x-rugged_board.dtb zImageat91-sama5d27_som1_ek.dtbroot@ruggedboard-a5d2x:/mnt# cdroot@ruggedboard-a5d2x:~# mount usb 1-1: USB disconnect, device number 2usb 1-1: new full-speed USB device number 3 using at91_ohciusb 1-1: New USB device found, idVendor=0781, idProduct=5567usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3usb 1-1: Product: Cruzer Bladeusb 1-1: Manufacturer: SanDiskusb 1-1: SerialNumber: 4C530001280707107415usb-storage 1-1:1.0: USB Mass Storage device detectedscsi host0: usb-storage 1-1:1.0scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6sd 0:0:0:0: [sda] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)sd 0:0:0:0: [sda] Write Protect is offsd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUAsda:sd 0:0:0:0: [sda] Attached SCSI removable disk/dev/root on / type ext4 (rw,relatime,data=ordered)devtmpfs on /dev type devtmpfs (rw,relatime,size=27004k,nr_inodes=6751,mode=755)proc on /proc type proc (rw,relatime)sysfs on /sys type sysfs (rw,relatime)devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)tmpfs on /var/volatile type tmpfs (rw,relatime)/dev/mmcblk1p1 on /mnt type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)root@ruggedboard-a5d2x:~# mount /dev/sda /mnt/FAT-fs (sda): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.root@ruggedboard-a5d2x:~# cd /mnt/root@ruggedboard-a5d2x:/mnt# lsadc i2c spidev_test readroot@ruggedboard-a5d2x:/mnt# vi hello.croot@ruggedboard-a5d2x:/mnt# lsadc i2c spidev_test read hello.croot@ruggedboard-a5d2x:/mnt# ./read
Boot the board from NOR/MMC
After booting run the script file and insert the USB Stick into Board USB port/USB-HUB.
$ sh usb_host_test.sh
root@sama5d27-a5d2x:~# sh usb_host_test.shinsert usb flash stickusb 1-1: new full-speed USB device number 3 using at91_ohciusb 1-1: New USB device found, idVendor=0781, idProduct=5567usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3usb 1-1: Product: Cruzer Bladeusb 1-1: Manufacturer: SanDiskusb 1-1: SerialNumber: 4C530001280707107415usb-storage 1-1:1.0: USB Mass Storage device detectedscsi host0: usb-storage 1-1:1.0scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6sd 0:0:0:0: [sda] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)sd 0:0:0:0: [sda] Write Protect is offsd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUAsda:sd 0:0:0:0: [sda] Attached SCSI removable diskdmesg -chdparm -t /dev/sdahdparm -T /dev/sdadd if=/dev/urandom bs=1M count=32 of=/tmp/test.imgmount -o rw,uid=1000 /dev/sda1 /mnttime cp /tmp/test.img /mnt/test.imgtime syncmd5sum -c /tmp/test.md5time cp /mnt/test.img /tmp/test.imgmd5sum -c /tmp/test.md5mount -o rw,uid=1000,remount,sync /dev/sda1time cp /tmp/test.img /mnt/test.imgmd5sum -c /tmp/test.md5umount /dev/sda1
To test the Ethernet ping functionality in Kernel.
Ethernet Switch / Hub / Router, Ethernet cable.
Make sure the network configuration & connection between Host & Target is established, connected to same switch / router.
Boot the board with NOR/MMC.
Before the ping test for Ethernet in Linux,we need to set the ip address by using below command on the target board. Make sure both the Target and Host are in the same sub-net
$ ifconfig eth0 192.168.1.11 up
4.Next ping to your host ip address by using below command.
$ ping 192.168.1.12
root@ruggedboard-a5d2x:~# ping 192.168.1.12PING 192.168.1.12 (192.168.1.12): 56 data bytes64 bytes from 192.168.1.12: seq=0 ttl=64 time=0.791 ms64 bytes from 192.168.1.12: seq=1 ttl=64 time=0.533 ms64 bytes from 192.168.1.12: seq=2 ttl=64 time=0.468 ms64 bytes from 192.168.1.12: seq=3 ttl=64 time=0.503 ms64 bytes from 192.168.1.12: seq=4 ttl=64 time=0.487 ms64 bytes from 192.168.1.12: seq=5 ttl=64 time=0.510 ms^C--- 192.168.1.12 ping statistics ---6 packets transmitted, 6 packets received, 0% packet lossround-trip min/avg/max = 0.468/0.548/0.791 ms
Note : Use the working IP address of your LAN. Ping command is used to test net connectivity between two IP based devices. Here 192.168.1.12 is general IP address of server ip
To test the CAN Device functionality in Kernel.
CAN Phy should be mounted on Board.
P CAN-USB Adapter
CAN Adapter Driver , can-utils on host.
Boot the board from MMC.Due to size issue we are not providing can utils package for NOR flash,so please boot from SD card.
After booting,check the interface is available or not by giving the below command.
$ ifconfig can0
To Transmit packets from board to PC
Target side:
$ ip link set can0 down$ ip link set can0 type can bitrate 50000$ ip link set can0 up$ cansend can0 123#1232
Host side:
$ sudo ip link set can0 down$ sudo ip link set can0 type can bitrate 50000$ sudo ip link set can0 up$ candump can0$ can0 123 [2] 12 32
To Transmit packets from PC to Board
Host side :
sudo ip link set can0 downsudo ip link set can0 type can bitrate 50000sudo ip link set can0 upsudo cansend can0 123#1232
Target side :
ip link set can0 downip link set can0 type can bitrate 50000ip link set can0 upcandump can0can0 123 [2] 12 32
To Transmit packets from board to PC
Target side:
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# cansend can0 123#1232
Host side:
USER@ubuntudesk:~$ sudo ip link set can0 downUSER@ubuntudesk:~$ sudo ip link set can0 type can bitrate 50000USER@ubuntudesk:~$ sudo ip link set can0 upUSER@ubuntudesk:~$ sudo candump can0can0 123 [2] 12 32
To Transmit packets from PC to Board
Host side :
USER@ubuntudesk:~$ sudo ip link set can0 downUSER@ubuntudesk:~$ sudo ip link set can0 type can bitrate 50000USER@ubuntudesk:~$ sudo ip link set can0 upUSER@ubuntudesk:~$ sudo cansend can0 123#1232
Target side:
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# candump can0can0 123 [2] 12 32
Take 2 boards and Boot the boards from NOR/MMC.
After booting,check the interface is available or not by giving the below command.
$ ifconfig can0
Case1: Test the CAN through commands.
To Transmit packets from Board1 to Board2
Board1 side:
ip link set can0 downip link set can0 type can bitrate 50000ip link set can0 upcansend can0 123#1232
Board2 side:
ip link set can0 downip link set can0 type can bitrate 50000ip link set can0 upcandump can0can0 123 [2] 12 32
To Transmit packets from Board2 to Board1
Board2 side :
ip link set can0 downip link set can0 type can bitrate 50000ip link set can0 upcansend can0 123#1232
Board1 side :
ip link set can0 downip link set can0 type can bitrate 50000ip link set can0 upcandump can0can0 123 [2] 12 32
Case2: Test the CAN through the application
After booting,run the cansend application in board1 and canreceive in board2 and vice versa by using like below commands.
./cansend./canrecv
Case1 :
To Transmit packets from Board1 to Board2
Board1 side:
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# cansend can0 123#1232
Board2 side:
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# candump can0can0 123 [2] 12 32
To Transmit packets from Board2 to Board1
Board2 side :
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# cansend can0 123#1232
Board1 side :
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# candump can0can0 123 [2] 12 32
Case2 :
To Transmit packets from Board1 to Board2
Board1 side :
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# ./cansCan Send Testcan0 at index 2Wrote 16 bytes
Board2 side :
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# ./canrCan Recieve Testcan0 at index 2Can frames recieved<0x123> [2] 11 22
To Transmit packets from Board2 to Board1
Board1 side :
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# ./canrCan Recieve Testcan0 at index 2Can frames recieved<0x123> [2] 11 22
Board2 side :
root@ruggedboard-a5d2x:~# ip link set can0 downroot@ruggedboard-a5d2x:~# ip link set can0 type can bitrate 50000root@ruggedboard-a5d2x:~# ip link set can0 uproot@ruggedboard-a5d2x:~# ./cansCan Send Testcan0 at index 2Wrote 16 bytes
To test the digital input pin on the carrier board.
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Patch card
Boot the board from NOR/MMC
Carrier board having 4 digital input pins on P5 connector.Fifth pin of P5 connector is ground.
After completion of board booting, connect the one end of patch card to first pin of P5 connector and other end to input voltage pin.
Give the below commands to test the digital inputs.
$ echo 84 > sys/class/gpio/export$ echo in > /sys/class/gpio/PC20/direction$ cat /sys/class/gpio/PC20/value
Remove the patch card and give the below command
$ cat /sys/class/gpio/PC20/value
The value of digital pin is changed one to zero.
Meanwhile we can check the rest of the digital pins on P5 connector.Please have a look on below expected output for all digital input pins on P5 connector.
root@ruggedboard-a5d2x:~# echo 84 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo in > /sys/class/gpio/PC20/directionroot@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC20/value0root@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC20/value1root@ruggedboard-a5d2x:~# echo 88 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo in > /sys/class/gpio/PC24/directionroot@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC24/value1root@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC24/value0root@ruggedboard-a5d2x:~# echo 79 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo in > /sys/class/gpio/PC15/directionroot@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC15/value0root@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC15/value1root@ruggedboard-a5d2x:~# echo 86 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo in > /sys/class/gpio/PC22/directionroot@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC22/value1root@ruggedboard-a5d2x:~# cat /sys/class/gpio/PC22/value0
To test the digital output pins on carrier board
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
External LED
Boot the board from NOR/MMC
Carrier board having 4 digital outpins on P6 connector.Please refer the schematic to p6 connector pins.
After booting connect the External LED postive to 5th pin of P6 connector and other end to Ground.
Please give a below commands and observe the led status.
$echo 97 > /sys/class/gpio/export$echo out > /sys/class/gpio/PD1/direction$echo 1 > /sys/class/gpio/PD1/value$echo 0 > /sys/class/gpio/PD1/value
Please have a look on below expected output for testing rest of gpios in P6 connector.
root@ruggedboard-a5d2x:~# echo 17 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PA17/directionroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PA17/valueroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PA17/root@ruggedboard-a5d2x:~# echo 14 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PA14/directionroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PA14valueroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PA14/valueroot@ruggedboard-a5d2x:~# echo 16 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PA16/directionroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PA16/valueroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PA16/valueroot@ruggedboard-a5d2x:~# echo 97 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PD1/directionroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PD1/valueroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PD1/value
To test the SD card Port functionality in Kernel with SD card.
To test the SD card Port functionality in Kernel with SD card and read the data from SD card.
To test the SD card Port functionality in Kernel with SD card and write the data to SD card.
SD card.
SD card should be detected.
Boot the board from NOR/MMC. After booting or while booting insert the SD card into Board MMC slot, Check the Log file whether node is created or not.
Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard-a5d2x /dev/ttyS0ruggedboard-a5d2x login:mmc1: Problem switching card into high-speed mode!mmc1: new SDHC card at address 0001mmcblk1: mmc1:0001 SD 7.44 GiBmmcblk1: p1 p2
Boot the board from NOR/MMC. After booting or while booting insert the SD card into Board MMC slot, Check the Log file whether node is created or not.
Mount the SD-Card using the mount command.
$ mount /dev/mmcblkp1 /mnt/
root@ruggedboard-a5d2x:~# mount /dev/mmcblk1p1 /mnt/FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.root@ruggedboard-a5d2x:~# cd /mnt/root@ruggedboard-a5d2x:/mnt# lsBOOT.BIN u-boot.bina5d2x-rugged_board.dtb zImageat91-sama5d27_som1_ek.dtb read.croot@ruggedboard-a5d2x:/mnt# vi read.c
Boot the board from NOR/MMC. After booting or while booting insert the SD card into Board MMC slot, Check the Log file whether node is creadted or not.
mount /dev/mmcblkp1 /mnt/
root@ruggedboard-a5d2x:~# mount /dev/mmcblk1p1 /mnt/FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.root@ruggedboard-a5d2x:~# cd /mnt/root@ruggedboard-a5d2x:/mnt# lsBOOT.BIN u-boot.bina5d2x-rugged_board.dtb zImageat91-sama5d27_som1_ek.dtb read.croot@ruggedboard-a5d2x:/mnt# vi write.croot@ruggedboard-a5d2x:/mnt# lsBOOT.BIN u-boot.bina5d2x-rugged_board.dtb zImageat91-sama5d27_som1_ek.dtb read.cwrite.c
To test the ADC functionality with Potentio meter
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Potentiometer
Boot the board from NOR/MMC. After board booting connect the Potentiometer signal pin to Analog signal pin.
Give the below command to read the digital value of ADC.
cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/buffer/ in_voltage6-voltage7_rawcurrent_timestamp_clock in_voltage6_rawdev in_voltage7_rawin_voltage-voltage_scale in_voltage8-voltage9_rawin_voltage0-voltage1_raw in_voltage8_rawin_voltage0_raw in_voltage9_rawin_voltage10-voltage11_raw in_voltage_scalein_voltage10_raw namein_voltage11_raw of_node/in_voltage1_raw power/in_voltage2-voltage3_raw sampling_frequencyin_voltage2_raw scan_elements/in_voltage3_raw subsystem/in_voltage4-voltage5_raw trigger/in_voltage4_raw ueventin_voltage5_rawroot@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw4095root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw3500root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw2337root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw1222root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw1094root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw878root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw779root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw671root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw173root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw73root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw33root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw28root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw18root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw0root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw0root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage7_raw497root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage7_raw493root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage8_raw2452root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage8_raw2449root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage8_raw2453root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage9_raw2389root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage9_raw2385root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage9_raw2386root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_raw8root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_raw13root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_raw18root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_raw19root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage11_raw2463root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage11_raw2461root@ruggedboard-a5d2x:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage11_raw2462
To test the debug console on carrier board.
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Connect the USB cabel to board to PC.
Follow the RB-Quick start guide to set the minicom settings.
Please give the below commands to open the debug console in PC.
$ sudo minicom
U-Boot 2018.07-linux4sam_6.0-00025-g3bff827-dirty (Dec 02 2019 - 01:35:03 +0530)CPU: SAMA5D27 512M bits DDR2 SDRAMCrystal frequency: 24 MHzCPU clock : 492 MHzMaster clock : 164 MHzDRAM: 64 MiBMMC: sdio-host@a0000000: 0, sdio-host@b0000000: 1Loading Environment from SPI Flash... SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiB*** Warning - bad CRC, using default environmentFailed (-5)In: serial@f8020000Out: serial@f8020000Err: serial@f8020000Net: eth0: ethernet@f8008000Hit any key to stop autoboot: 0Unknown command 'console=ttyS0,115200' - try 'help'SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiBdevice 0 offset 0xa6000, size 0x500000SF: 5242880 bytes @ 0xa6000 Read: OKdevice 0 offset 0x96000, size 0x10000SF: 65536 bytes @ 0x96000 Read: OK## Flattened Device Tree blob at 21000000Booting using the fdt blob at 0x21000000Loading Device Tree to 23b6b000, end 23b763d9 ... OKStarting kernel ...Booting Linux on physical CPU 0x0Linux version 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty (ganesh@phytec) (gcc version 7.3.0 (GCC) ) #3 Wed Jan 29 16:06:33 IST 2020CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7dCPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cacheOF: fdt:Machine model: RUGGED BOARD A5D2Xcma: Failed to reserve 64 MiBMemory policy: Data cache writebackCPU: All CPU(s) started in SVC mode.Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16240Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mtdblock5 rw rootwait rootfstype=squashfsPID hash table entries: 256 (order: -2, 1024 bytes)Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory: 54004K/65536K available (7168K kernel code, 215K rwdata, 1188K rodata, 1024K init, 220K bss, 11532K reserved, 0K cma-reserved)Virtual kernel memory layout:vector : 0xffff0000 - 0xffff1000 ( 4 kB)fixmap : 0xffc00000 - 0xfff00000 (3072 kB)vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)modules : 0xbf000000 - 0xc0000000 ( 16 MB).text : 0xc0008000 - 0xc0800000 (8160 kB).init : 0xc0a00000 - 0xc0b00000 (1024 kB).data : 0xc0b00000 - 0xc0b35fc8 ( 216 kB).bss : 0xc0b35fc8 - 0xc0b6d208 ( 221 kB)NR_IRQS:16 nr_irqs:16 16L2C-310 ID prefetch enabled, offset 2 linesL2C-310 dynamic clock gating enabled, standby mode enabledL2C-310 cache controller enabled, 8 ways, 128 kBL2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x36020000clocksource: pit: mask: 0x7ffffff max_cycles: 0x7ffffff, max_idle_ns: 11654027029 nssched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000nsConsole: colour dummy device 80x30Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304)pid_max: default: 32768 minimum: 301Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)CPU: Testing write buffer coherency: okSetting up static identity map for 0x20100000 - 0x20100058devtmpfs: initializedVFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 nsfutex hash table entries: 256 (order: -1, 3072 bytes)pinctrl core: initialized pinctrl subsystemNET: Registered protocol family 16DMA: preallocated 256 KiB pool for atomic coherent allocationscpuidle: using governor menuAT91: PM: standby: standby, suspend: ulp0clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 186464433812 nsat_xdmac f0010000.dma-controller: 16 channels, mapped at 0xc4883000at_xdmac f0004000.dma-controller: 16 channels, mapped at 0xc4885000AT91: Detected SoC family: sama5d2AT91: Detected SoC: sama5d27c 64MB SiP, revision 2VDDANA: supplied by VDDIN_3V3advref: supplied by VDDANASCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbat91_i2c f8028000.i2c: could not find pctldev for node /ahb/apb/pinctrl@fc038000/i2c0_default, deferring probemedia: Linux media interface: v0.10Linux video capture interface: v2.00Advanced Linux Sound Architecture Driver Initialized.Bluetooth: Core ver 2.22NET: Registered protocol family 31Bluetooth: HCI device and connection manager initializedBluetooth: HCI socket layer initializedBluetooth: L2CAP socket layer initializedBluetooth: SCO socket layer initializedclocksource: Switched to clocksource tcb_clksrcNET: Registered protocol family 2TCP established hash table entries: 1024 (order: 0, 4096 bytes)TCP bind hash table entries: 1024 (order: 0, 4096 bytes)TCP: Hash tables configured (established 1024 bind 1024)UDP hash table entries: 256 (order: 0, 4096 bytes)UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)NET: Registered protocol family 1RPC: Registered named UNIX socket transport module.RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.workingset: timestamp_bits=14 max_order=14 bucket_order=0squashfs: version 4.0 (2009/01/31) Phillip Lougherjffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.JFS: nTxBlock = 421, nTxLock = 3375io scheduler noop registered (default)pinctrl-at91-pio4 fc038000.pinctrl: atmel pinctrl initialized[drm] Initializedbrd: module loadedloop: module loadedatmel_usart_serial.0.auto: ttyS1 at MMIO 0xf801c000 (irq = 33, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.1.auto: ttyS0 at MMIO 0xf8020000 (irq = 34, base_baud = 5125000) is a ATMEL_SERIALconsole [ttyS0] enabledatmel_usart_serial.2.auto: ttyS2 at MMIO 0xf8024000 (irq = 35, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.3.auto: ttyS3 at MMIO 0xfc008000 (irq = 39, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.4.auto: ttyS4 at MMIO 0xfc00c000 (irq = 40, base_baud = 5125000) is a ATMEL_SERIALatmel_qspi f0024000.spi: mx25l25645g (32768 Kbytes)7 ofpart partitions found on MTD device f0024000.spiCreating 7 MTD partitions on "f0024000.spi":0x000000000000-0x000000006000 : "at91bootstrap"0x000000006000-0x000000016000 : "bootloader env"0x000000016000-0x000000096000 : "bootloader"0x000000096000-0x0000000a6000 : "device tree"0x0000000a6000-0x0000005a6000 : "kernel"0x0000005a6000-0x0000019a6000 : "rootfs"0x0000019a6000-0x000002000000 : "data"atmel_spi fc018400.spi: DMA TX channel not available, SPI unable to use DMAatmel_spi fc018400.spi: Atmel SPI Controller using PIO onlyatmel_spi fc018400.spi: Using FIFO (16 data)atmel_spi fc018400.spi: Atmel SPI Controller version 0x311 at 0xfc018400 (irq 178)libphy: Fixed MDIO Bus: probedCAN device driver interfacem_can fc050000.can: m_can device registered (irq=48, version=31)libphy: MACB_mii_bus: probedrandom: fast init doneMicrel KSZ8081 or KSZ8091 f8008000.ethernet-ffffffff:07: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=f8008000.ethernet-f)macb f8008000.ethernet eth0: Cadence GEM rev 0x00020203 at 0xf8008000 irq 28 (80:1f:12:4e:24:9e)usbcore: registered new interface driver asixusbcore: registered new interface driver ax88179_178ausbcore: registered new interface driver cdc_etherusbcore: registered new interface driver net1080usbcore: registered new interface driver cdc_subsetusbcore: registered new interface driver zaurususbcore: registered new interface driver sierra_netusbcore: registered new interface driver cdc_ncmusbcore: registered new interface driver qmi_wwanehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driverehci-atmel: EHCI Atmel driverohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driverohci-atmel: OHCI Atmel driverat91_ohci 400000.ohci: USB Host Controllerat91_ohci 400000.ohci: new USB bus registered, assigned bus number 1at91_ohci 400000.ohci: irq 18, io mem 0x00400000usb usb1: New USB device found, idVendor=1d6b, idProduct=0001usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1usb usb1: Product: USB Host Controllerusb usb1: Manufacturer: Linux 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty ohci_hcdusb usb1: SerialNumber: at91hub 1-0:1.0: USB hub foundhub 1-0:1.0: 2 ports detectedusbcore: registered new interface driver cdc_acmcdc_acm: USB Abstract Control Model driver for USB modems and ISDN adaptersusbcore: registered new interface driver cdc_wdmusbcore: registered new interface driver usb-storageusbcore: registered new interface driver usbserialusbcore: registered new interface driver usbserial_genericusbserial: USB Serial support registered for genericusbcore: registered new interface driver ftdi_siousbserial: USB Serial support registered for FTDI USB Serial Deviceusbcore: registered new interface driver optionusbserial: USB Serial support registered for GSM modem (1-port)usbcore: registered new interface driver pl2303usbserial: USB Serial support registered for pl2303usbcore: registered new interface driver qcauxusbserial: USB Serial support registered for qcauxusbcore: registered new interface driver qcserialusbserial: USB Serial support registered for Qualcomm USB modemrtc rtc0: invalid alarm value: 1900-1-1 0:0:0at91_rtc f80480b0.rtc: rtc core: registered f80480b0.rtc as rtc0at91_rtc f80480b0.rtc: AT91 Real Time Clock driver.i2c /dev entries driverAT91: Starting after general resetsama5d4_wdt f8048040.watchdog: initialized (timeout = 16 sec, nowayout = 0)usbcore: registered new interface driver bfusbusbcore: registered new interface driver btusbsdhci: Secure Digital Host Controller Interface driversdhci: Copyright(c) Pierre Ossmansdhci-pltfm: SDHCI platform and OF driver helpersdhci-at91 a0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzmmc0: SDHCI controller on a0000000.sdio-host [a0000000.sdio-host] using ADMAsdhci-at91 b0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzmmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMAledtrig-cpu: registered to indicate activity on CPUsatmel_aes f002c000.aes: version: 0x500atmel_aes f002c000.aes: Atmel AES - Using dma0chan0, dma0chan1 for DMA transfersatmel_sha f0028000.sha: version: 0x510atmel_sha f0028000.sha: using dma0chan2 for DMA transfersatmel_sha f0028000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512atmel_tdes fc044000.tdes: version: 0x703atmel_tdes fc044000.tdes: using dma0chan3, dma0chan4 for DMA transfersatmel_tdes fc044000.tdes: Atmel DES/TDESusbcore: registered new interface driver usbhidusbhid: USB HID core driverat91-sama5d2_adc fc030000.adc: setting up trigger as external_risingat91-sama5d2_adc fc030000.adc: version: 800NET: Registered protocol family 10sit: IPv6, IPv4 and MPLS over IPv4 tunneling driverNET: Registered protocol family 17can: controller area network core (rev 20120528 abi 9)NET: Registered protocol family 29can: raw protocol (rev 20120528)can: broadcast manager protocol (rev 20161123 t)can: netlink gateway (rev 20130117) max_hops=1Bluetooth: HIDP (Human Interface Emulation) ver 1.2Bluetooth: HIDP socket layer initializedat91_i2c f8028000.i2c: can't get DMA channel, continue without DMA supportat91_i2c f8028000.i2c: Using FIFO (16 data)at24 0-0050: 256 byte 24c02 EEPROM, writable, 8 bytes/writeat91_i2c f8028000.i2c: AT91 i2c bus driver (hw version: 0x704).at91_rtc f80480b0.rtc: setting system clock to 2012-01-01 00:00:10 UTC (1325376010)ALSA device list:No soundcards found.atmel_usart_serial atmel_usart_serial.1.auto: using dma0chan5 for rx DMA transfersatmel_usart_serial atmel_usart_serial.1.auto: using dma0chan6 for tx DMA transfersVFS: Mounted root (squashfs filesystem) readonly on device 31:5.devtmpfs: mountedFreeing unused kernel memory: 1024Kstarting pid 112, tty '': '/bin/mount -t proc proc /proc'starting pid 113, tty '': '/bin/mount -t sysfs sysfs /sys'starting pid 114, tty '': '/bin/mount -t devtmpfs devtmpfs /dev'mount: mounting devtmpfs on /dev failed: Resource busystarting pid 115, tty '': '/bin/mount -o remount,rw /'starting pid 116, tty '': '/bin/mkdir -p /dev/pts'starting pid 117, tty '': '/bin/mount -t devpts devpts /dev/pts'starting pid 118, tty '': '/bin/mount -a'starting pid 119, tty '': '/etc/init.d/rcS'starting pid 123, tty '/dev/ttyS0': '/sbin/getty 115200 ttyS0'Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard /dev/ttyS0ruggedboard login: root-sh: command: not foundroot@ruggedboard:~#root@ruggedboard:~#root@ruggedboard:~#root@ruggedboard:~#
To test the Expansion Header GPIOs functionality in Kernel whether they are toggling.
External LED.
External LED should glow.
Boot the board from NOR/MMC. After booting check whether Expansion Header GPIOs are toggling or not.
$ echo <gpiono> sys/class/gpio/export
$ echo out > /sys/class/gpio/<gpiopinno>/direction
$ echo 1 > /sys/class/gpio/<gpiopinno>/value
$ echo 0 > /sys/class/gpio/<gpiopinno>/value
root@ruggedboard-a5d2xroot@ruggedboard-a5d2x:~# echo 115 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PD19/directionroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PD19/valueroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PD19/valueroot@ruggedboard-a5d2x:~# echo 116 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PD20/directionroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PD20/valueroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PD20/value
To test the mini pcie connector on the carrier board.
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
PCIE Module
Boot the board from NOR/MMC. After booting insert the mPCIe module to the mPCIe connector.
After inserting module ,log will appear on shell.Please have a look on below expected output.
root@ruggedboard-a5d2x:~# usb 1-2: new full-speed USB device number 2 using at91_ohci|usb 1-2: config 1 has an invalid interface number: 8 but max is 3usb 1-2: config 1 has no interface number 1usb 1-2: New USB device found, idVendor=1199, idProduct=68c0usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3usb 1-2: Product: Sierra Wireless WP7608usb 1-2: Manufacturer: Sierra Wireless, Incorporatedusb 1-2: SerialNumber: XG85120024011021qcserial 1-2:1.0: Qualcomm USB modem converter detectedusb 1-2: Qualcomm USB modem converter now attached to ttyUSB0qcserial 1-2:1.2: Qualcomm USB modem converter detectedusb 1-2: Qualcomm USB modem converter now attached to ttyUSB1qcserial 1-2:1.3: Qualcomm USB modem converter detectedusb 1-2: Qualcomm USB modem converter now attached to ttyUSB2qmi_wwan 1-2:1.8: cdc-wdm0: USB WDM deviceqmi_wwan 1-2:1.8 wwan0: register 'qmi_wwan' at usb-at91-2, WWAN/QMI device, 9a:c1:df:e1:6f:18
To test the PWM functionality in Kernel with External LED.
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
External LED
Boot the board from NOR/MMC.
Please connect the positive pin of LED to the 16 th pin of the M1 connector.And connect the other pin of led to ground.
Give the below commands the and observe the brightness of LED pin.
$echo 0 > /sys/class/pwm/pwmchip0/export$echo 50000 > /sys/class/pwm/pwmchip0/pwm0/period$echo 4000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle$echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable$echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable
root@ruggedboard-a5d2x:~# cat /sys/class/pwm/pwmchip0/npwm4root@ruggedboard-a5d2x:~# echo 0 > /sys/class/pwm/pwmchip0/exportroot@ruggedboard-a5d2x:~# cat /sys/class/pwm/pwmchip0/pwm0/polaritynormalroot@ruggedboard-a5d2x:~# echo 50000 > /sys/class/pwm/pwmchip0/pwm0/periodroot@ruggedboard-a5d2x:~# echo 4000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycleroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/pwm/pwmchip0/pwm0/enableroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/pwm/pwmchip0/pwm0/enableroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
To test the reset switch in carrier board.
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Boot the board from NOR/MMC.
After completion of board booting press the reset switch.
Please check the board is whether reboot or not.
U-Boot 2018.07-linux4sam_6.0-00025-g3bff827-dirty (Dec 02 2019 - 01:35:03 +0530)CPU: SAMA5D27 512M bits DDR2 SDRAMCrystal frequency: 24 MHzCPU clock : 492 MHzMaster clock : 164 MHzDRAM: 64 MiBMMC: sdio-host@a0000000: 0, sdio-host@b0000000: 1Loading Environment from SPI Flash... SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiB*** Warning - bad CRC, using default environmentFailed (-5)In: serial@f8020000Out: serial@f8020000Err: serial@f8020000Net: eth0: ethernet@f8008000Hit any key to stop autoboot: 0Unknown command 'console=ttyS0,115200' - try 'help'SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiBdevice 0 offset 0xa6000, size 0x500000SF: 5242880 bytes @ 0xa6000 Read: OKdevice 0 offset 0x96000, size 0x10000SF: 65536 bytes @ 0x96000 Read: OK## Flattened Device Tree blob at 21000000Booting using the fdt blob at 0x21000000Loading Device Tree to 23b6b000, end 23b763d9 ... OKStarting kernel ...Booting Linux on physical CPU 0x0Linux version 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty (ganesh@phytec) (gcc version 7.3.0 (GCC) ) #3 Wed Jan 29 16:06:33 IST 2020CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7dCPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cacheOF: fdt:Machine model: RUGGED BOARD A5D2Xcma: Failed to reserve 64 MiBMemory policy: Data cache writebackCPU: All CPU(s) started in SVC mode.Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16240Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mtdblock5 rw rootwait rootfstype=squashfsPID hash table entries: 256 (order: -2, 1024 bytes)Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory: 54004K/65536K available (7168K kernel code, 215K rwdata, 1188K rodata, 1024K init, 220K bss, 11532K reserved, 0K cma-reserved)Virtual kernel memory layout:vector : 0xffff0000 - 0xffff1000 ( 4 kB)fixmap : 0xffc00000 - 0xfff00000 (3072 kB)vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)modules : 0xbf000000 - 0xc0000000 ( 16 MB).text : 0xc0008000 - 0xc0800000 (8160 kB).init : 0xc0a00000 - 0xc0b00000 (1024 kB).data : 0xc0b00000 - 0xc0b35fc8 ( 216 kB).bss : 0xc0b35fc8 - 0xc0b6d208 ( 221 kB)NR_IRQS:16 nr_irqs:16 16L2C-310 ID prefetch enabled, offset 2 linesL2C-310 dynamic clock gating enabled, standby mode enabledL2C-310 cache controller enabled, 8 ways, 128 kBL2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x36020000clocksource: pit: mask: 0x7ffffff max_cycles: 0x7ffffff, max_idle_ns: 11654027029 nssched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000nsConsole: colour dummy device 80x30Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304)pid_max: default: 32768 minimum: 301Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)CPU: Testing write buffer coherency: okSetting up static identity map for 0x20100000 - 0x20100058devtmpfs: initializedVFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 nsfutex hash table entries: 256 (order: -1, 3072 bytes)pinctrl core: initialized pinctrl subsystemNET: Registered protocol family 16DMA: preallocated 256 KiB pool for atomic coherent allocationscpuidle: using governor menuAT91: PM: standby: standby, suspend: ulp0clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 186464433812 nsat_xdmac f0010000.dma-controller: 16 channels, mapped at 0xc4883000at_xdmac f0004000.dma-controller: 16 channels, mapped at 0xc4885000AT91: Detected SoC family: sama5d2AT91: Detected SoC: sama5d27c 64MB SiP, revision 2VDDANA: supplied by VDDIN_3V3advref: supplied by VDDANASCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbat91_i2c f8028000.i2c: could not find pctldev for node /ahb/apb/pinctrl@fc038000/i2c0_default, deferring probemedia: Linux media interface: v0.10Linux video capture interface: v2.00Advanced Linux Sound Architecture Driver Initialized.Bluetooth: Core ver 2.22NET: Registered protocol family 31Bluetooth: HCI device and connection manager initializedBluetooth: HCI socket layer initializedBluetooth: L2CAP socket layer initializedBluetooth: SCO socket layer initializedclocksource: Switched to clocksource tcb_clksrcNET: Registered protocol family 2TCP established hash table entries: 1024 (order: 0, 4096 bytes)TCP bind hash table entries: 1024 (order: 0, 4096 bytes)TCP: Hash tables configured (established 1024 bind 1024)UDP hash table entries: 256 (order: 0, 4096 bytes)UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)NET: Registered protocol family 1RPC: Registered named UNIX socket transport module.RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.workingset: timestamp_bits=14 max_order=14 bucket_order=0squashfs: version 4.0 (2009/01/31) Phillip Lougherjffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.JFS: nTxBlock = 421, nTxLock = 3375io scheduler noop registered (default)pinctrl-at91-pio4 fc038000.pinctrl: atmel pinctrl initialized[drm] Initializedbrd: module loadedloop: module loadedatmel_usart_serial.0.auto: ttyS1 at MMIO 0xf801c000 (irq = 33, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.1.auto: ttyS0 at MMIO 0xf8020000 (irq = 34, base_baud = 5125000) is a ATMEL_SERIALconsole [ttyS0] enabledatmel_usart_serial.2.auto: ttyS2 at MMIO 0xf8024000 (irq = 35, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.3.auto: ttyS3 at MMIO 0xfc008000 (irq = 39, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.4.auto: ttyS4 at MMIO 0xfc00c000 (irq = 40, base_baud = 5125000) is a ATMEL_SERIALatmel_qspi f0024000.spi: mx25l25645g (32768 Kbytes)7 ofpart partitions found on MTD device f0024000.spiCreating 7 MTD partitions on "f0024000.spi":0x000000000000-0x000000006000 : "at91bootstrap"0x000000006000-0x000000016000 : "bootloader env"0x000000016000-0x000000096000 : "bootloader"0x000000096000-0x0000000a6000 : "device tree"0x0000000a6000-0x0000005a6000 : "kernel"0x0000005a6000-0x0000019a6000 : "rootfs"0x0000019a6000-0x000002000000 : "data"atmel_spi fc018400.spi: DMA TX channel not available, SPI unable to use DMAatmel_spi fc018400.spi: Atmel SPI Controller using PIO onlyatmel_spi fc018400.spi: Using FIFO (16 data)atmel_spi fc018400.spi: Atmel SPI Controller version 0x311 at 0xfc018400 (irq 178)libphy: Fixed MDIO Bus: probedCAN device driver interfacem_can fc050000.can: m_can device registered (irq=48, version=31)libphy: MACB_mii_bus: probedrandom: fast init doneMicrel KSZ8081 or KSZ8091 f8008000.ethernet-ffffffff:07: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=f8008000.ethernet-f)macb f8008000.ethernet eth0: Cadence GEM rev 0x00020203 at 0xf8008000 irq 28 (80:1f:12:4e:24:9e)usbcore: registered new interface driver asixusbcore: registered new interface driver ax88179_178ausbcore: registered new interface driver cdc_etherusbcore: registered new interface driver net1080usbcore: registered new interface driver cdc_subsetusbcore: registered new interface driver zaurususbcore: registered new interface driver sierra_netusbcore: registered new interface driver cdc_ncmusbcore: registered new interface driver qmi_wwanehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driverehci-atmel: EHCI Atmel driverohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driverohci-atmel: OHCI Atmel driverat91_ohci 400000.ohci: USB Host Controllerat91_ohci 400000.ohci: new USB bus registered, assigned bus number 1at91_ohci 400000.ohci: irq 18, io mem 0x00400000usb usb1: New USB device found, idVendor=1d6b, idProduct=0001usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1usb usb1: Product: USB Host Controllerusb usb1: Manufacturer: Linux 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty ohci_hcdusb usb1: SerialNumber: at91hub 1-0:1.0: USB hub foundhub 1-0:1.0: 2 ports detectedusbcore: registered new interface driver cdc_acmcdc_acm: USB Abstract Control Model driver for USB modems and ISDN adaptersusbcore: registered new interface driver cdc_wdmusbcore: registered new interface driver usb-storageusbcore: registered new interface driver usbserialusbcore: registered new interface driver usbserial_genericusbserial: USB Serial support registered for genericusbcore: registered new interface driver ftdi_siousbserial: USB Serial support registered for FTDI USB Serial Deviceusbcore: registered new interface driver optionusbserial: USB Serial support registered for GSM modem (1-port)usbcore: registered new interface driver pl2303usbserial: USB Serial support registered for pl2303usbcore: registered new interface driver qcauxusbserial: USB Serial support registered for qcauxusbcore: registered new interface driver qcserialusbserial: USB Serial support registered for Qualcomm USB modemrtc rtc0: invalid alarm value: 1900-1-1 0:0:0at91_rtc f80480b0.rtc: rtc core: registered f80480b0.rtc as rtc0at91_rtc f80480b0.rtc: AT91 Real Time Clock driver.i2c /dev entries driverAT91: Starting after general resetsama5d4_wdt f8048040.watchdog: initialized (timeout = 16 sec, nowayout = 0)usbcore: registered new interface driver bfusbusbcore: registered new interface driver btusbsdhci: Secure Digital Host Controller Interface driversdhci: Copyright(c) Pierre Ossmansdhci-pltfm: SDHCI platform and OF driver helpersdhci-at91 a0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzmmc0: SDHCI controller on a0000000.sdio-host [a0000000.sdio-host] using ADMAsdhci-at91 b0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzmmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMAledtrig-cpu: registered to indicate activity on CPUsatmel_aes f002c000.aes: version: 0x500atmel_aes f002c000.aes: Atmel AES - Using dma0chan0, dma0chan1 for DMA transfersatmel_sha f0028000.sha: version: 0x510atmel_sha f0028000.sha: using dma0chan2 for DMA transfersatmel_sha f0028000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512atmel_tdes fc044000.tdes: version: 0x703atmel_tdes fc044000.tdes: using dma0chan3, dma0chan4 for DMA transfersatmel_tdes fc044000.tdes: Atmel DES/TDESusbcore: registered new interface driver usbhidusbhid: USB HID core driverat91-sama5d2_adc fc030000.adc: setting up trigger as external_risingat91-sama5d2_adc fc030000.adc: version: 800NET: Registered protocol family 10sit: IPv6, IPv4 and MPLS over IPv4 tunneling driverNET: Registered protocol family 17can: controller area network core (rev 20120528 abi 9)NET: Registered protocol family 29can: raw protocol (rev 20120528)can: broadcast manager protocol (rev 20161123 t)can: netlink gateway (rev 20130117) max_hops=1Bluetooth: HIDP (Human Interface Emulation) ver 1.2Bluetooth: HIDP socket layer initializedat91_i2c f8028000.i2c: can't get DMA channel, continue without DMA supportat91_i2c f8028000.i2c: Using FIFO (16 data)at24 0-0050: 256 byte 24c02 EEPROM, writable, 8 bytes/writeat91_i2c f8028000.i2c: AT91 i2c bus driver (hw version: 0x704).at91_rtc f80480b0.rtc: setting system clock to 2012-01-01 00:00:10 UTC (1325376010)ALSA device list:No soundcards found.atmel_usart_serial atmel_usart_serial.1.auto: using dma0chan5 for rx DMA transfersatmel_usart_serial atmel_usart_serial.1.auto: using dma0chan6 for tx DMA transfersVFS: Mounted root (squashfs filesystem) readonly on device 31:5.devtmpfs: mountedFreeing unused kernel memory: 1024Kstarting pid 112, tty '': '/bin/mount -t proc proc /proc'starting pid 113, tty '': '/bin/mount -t sysfs sysfs /sys'starting pid 114, tty '': '/bin/mount -t devtmpfs devtmpfs /dev'mount: mounting devtmpfs on /dev failed: Resource busystarting pid 115, tty '': '/bin/mount -o remount,rw /'starting pid 116, tty '': '/bin/mkdir -p /dev/pts'starting pid 117, tty '': '/bin/mount -t devpts devpts /dev/pts'starting pid 118, tty '': '/bin/mount -a'starting pid 119, tty '': '/etc/init.d/rcS'starting pid 123, tty '/dev/ttyS0': '/sbin/getty 115200 ttyS0'Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard /dev/ttyS0ruggedboard login: root-sh: command: not foundroot@ruggedboard:~# RomBOOTAT91Bootstrap 3.8.12-dirty (Sun Dec 1 22:45:37 IST 2019)SF: Got Manufacturer and Device ID: c22019SF: WARNING: can't read above 16MiBSF: Copy 0x80000 bytes from 0x16000 to 0x22000000SF: Done to load image<debug_uart>U-Boot 2018.07-linux4sam_6.0-00025-g3bff827-dirty (Dec 02 2019 - 01:35:03 +0530)CPU: SAMA5D27 512M bits DDR2 SDRAMCrystal frequency: 24 MHzCPU clock : 492 MHzMaster clock : 164 MHzDRAM: 64 MiBMMC: sdio-host@a0000000: 0, sdio-host@b0000000: 1Loading Environment from SPI Flash... SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiB*** Warning - bad CRC, using default environmentFailed (-5)In: serial@f8020000Out: serial@f8020000Err: serial@f8020000Net: eth0: ethernet@f8008000Hit any key to stop autoboot: 0Unknown command 'console=ttyS0,115200' - try 'help'SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiBdevice 0 offset 0xa6000, size 0x500000SF: 5242880 bytes @ 0xa6000 Read: OKdevice 0 offset 0x96000, size 0x10000SF: 65536 bytes @ 0x96000 Read: OK## Flattened Device Tree blob at 21000000Booting using the fdt blob at 0x21000000Loading Device Tree to 23b6b000, end 23b763d9 ... OKStarting kernel ...Booting Linux on physical CPU 0x0Linux version 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty (ganesh@phytec) (gcc version 7.3.0 (GCC) ) #3 Wed Jan 29 16:06:33 IST 2020CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7dCPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cacheOF: fdt:Machine model: RUGGED BOARD A5D2Xcma: Failed to reserve 64 MiBMemory policy: Data cache writebackCPU: All CPU(s) started in SVC mode.Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16240Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mtdblock5 rw rootwait rootfstype=squashfsPID hash table entries: 256 (order: -2, 1024 bytes)Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory: 54004K/65536K available (7168K kernel code, 215K rwdata, 1188K rodata, 1024K init, 220K bss, 11532K reserved, 0K cma-reserved)Virtual kernel memory layout:vector : 0xffff0000 - 0xffff1000 ( 4 kB)fixmap : 0xffc00000 - 0xfff00000 (3072 kB)vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)modules : 0xbf000000 - 0xc0000000 ( 16 MB).text : 0xc0008000 - 0xc0800000 (8160 kB).init : 0xc0a00000 - 0xc0b00000 (1024 kB).data : 0xc0b00000 - 0xc0b35fc8 ( 216 kB).bss : 0xc0b35fc8 - 0xc0b6d208 ( 221 kB)NR_IRQS:16 nr_irqs:16 16L2C-310 ID prefetch enabled, offset 2 linesL2C-310 dynamic clock gating enabled, standby mode enabledL2C-310 cache controller enabled, 8 ways, 128 kBL2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x36020000clocksource: pit: mask: 0x7ffffff max_cycles: 0x7ffffff, max_idle_ns: 11654027029 nssched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000nsConsole: colour dummy device 80x30Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304)pid_max: default: 32768 minimum: 301Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)CPU: Testing write buffer coherency: okSetting up static identity map for 0x20100000 - 0x20100058devtmpfs: initializedVFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 nsfutex hash table entries: 256 (order: -1, 3072 bytes)pinctrl core: initialized pinctrl subsystemNET: Registered protocol family 16DMA: preallocated 256 KiB pool for atomic coherent allocationscpuidle: using governor menuAT91: PM: standby: standby, suspend: ulp0clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 186464433812 nsat_xdmac f0010000.dma-controller: 16 channels, mapped at 0xc4883000at_xdmac f0004000.dma-controller: 16 channels, mapped at 0xc4885000AT91: Detected SoC family: sama5d2AT91: Detected SoC: sama5d27c 64MB SiP, revision 2VDDANA: supplied by VDDIN_3V3advref: supplied by VDDANASCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbat91_i2c f8028000.i2c: could not find pctldev for node /ahb/apb/pinctrl@fc038000/i2c0_default, deferring probemedia: Linux media interface: v0.10Linux video capture interface: v2.00Advanced Linux Sound Architecture Driver Initialized.Bluetooth: Core ver 2.22NET: Registered protocol family 31Bluetooth: HCI device and connection manager initializedBluetooth: HCI socket layer initializedBluetooth: L2CAP socket layer initializedBluetooth: SCO socket layer initializedclocksource: Switched to clocksource tcb_clksrcNET: Registered protocol family 2TCP established hash table entries: 1024 (order: 0, 4096 bytes)TCP bind hash table entries: 1024 (order: 0, 4096 bytes)TCP: Hash tables configured (established 1024 bind 1024)UDP hash table entries: 256 (order: 0, 4096 bytes)UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)NET: Registered protocol family 1RPC: Registered named UNIX socket transport module.RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.workingset: timestamp_bits=14 max_order=14 bucket_order=0squashfs: version 4.0 (2009/01/31) Phillip Lougherjffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.JFS: nTxBlock = 421, nTxLock = 3375io scheduler noop registered (default)pinctrl-at91-pio4 fc038000.pinctrl: atmel pinctrl initialized[drm] Initializedbrd: module loadedloop: module loadedatmel_usart_serial.0.auto: ttyS1 at MMIO 0xf801c000 (irq = 33, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.1.auto: ttyS0 at MMIO 0xf8020000 (irq = 34, base_baud = 5125000) is a ATMEL_SERIALconsole [ttyS0] enabledatmel_usart_serial.2.auto: ttyS2 at MMIO 0xf8024000 (irq = 35, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.3.auto: ttyS3 at MMIO 0xfc008000 (irq = 39, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.4.auto: ttyS4 at MMIO 0xfc00c000 (irq = 40, base_baud = 5125000) is a ATMEL_SERIALatmel_qspi f0024000.spi: mx25l25645g (32768 Kbytes)7 ofpart partitions found on MTD device f0024000.spiCreating 7 MTD partitions on "f0024000.spi":0x000000000000-0x000000006000 : "at91bootstrap"0x000000006000-0x000000016000 : "bootloader env"0x000000016000-0x000000096000 : "bootloader"0x000000096000-0x0000000a6000 : "device tree"0x0000000a6000-0x0000005a6000 : "kernel"0x0000005a6000-0x0000019a6000 : "rootfs"0x0000019a6000-0x000002000000 : "data"atmel_spi fc018400.spi: DMA TX channel not available, SPI unable to use DMAatmel_spi fc018400.spi: Atmel SPI Controller using PIO onlyatmel_spi fc018400.spi: Using FIFO (16 data)atmel_spi fc018400.spi: Atmel SPI Controller version 0x311 at 0xfc018400 (irq 178)libphy: Fixed MDIO Bus: probedCAN device driver interfacem_can fc050000.can: m_can device registered (irq=48, version=31)libphy: MACB_mii_bus: probedMicrel KSZ8081 or KSZ8091 f8008000.ethernet-ffffffff:07: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=f8008000.ethernet-f)macb f8008000.ethernet eth0: Cadence GEM rev 0x00020203 at 0xf8008000 irq 28 (80:1f:12:4e:24:9e)usbcore: registered new interface driver asixusbcore: registered new interface driver ax88179_178ausbcore: registered new interface driver cdc_etherusbcore: registered new interface driver net1080usbcore: registered new interface driver cdc_subsetusbcore: registered new interface driver zaurususbcore: registered new interface driver sierra_netusbcore: registered new interface driver cdc_ncmusbcore: registered new interface driver qmi_wwanehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driverehci-atmel: EHCI Atmel driverohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driverohci-atmel: OHCI Atmel driverat91_ohci 400000.ohci: USB Host Controllerat91_ohci 400000.ohci: new USB bus registered, assigned bus number 1at91_ohci 400000.ohci: irq 18, io mem 0x00400000usb usb1: New USB device found, idVendor=1d6b, idProduct=0001usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1usb usb1: Product: USB Host Controllerusb usb1: Manufacturer: Linux 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty ohci_hcdusb usb1: SerialNumber: at91hub 1-0:1.0: USB hub foundhub 1-0:1.0: 2 ports detectedusbcore: registered new interface driver cdc_acmcdc_acm: USB Abstract Control Model driver for USB modems and ISDN adaptersusbcore: registered new interface driver cdc_wdmusbcore: registered new interface driver usb-storageusbcore: registered new interface driver usbserialusbcore: registered new interface driver usbserial_genericusbserial: USB Serial support registered for genericusbcore: registered new interface driver ftdi_siousbserial: USB Serial support registered for FTDI USB Serial Deviceusbcore: registered new interface driver optionusbserial: USB Serial support registered for GSM modem (1-port)usbcore: registered new interface driver pl2303usbserial: USB Serial support registered for pl2303usbcore: registered new interface driver qcauxusbserial: USB Serial support registered for qcauxusbcore: registered new interface driver qcserialusbserial: USB Serial support registered for Qualcomm USB modemrtc rtc0: invalid alarm value: 1900-1-1 0:0:0at91_rtc f80480b0.rtc: rtc core: registered f80480b0.rtc as rtc0at91_rtc f80480b0.rtc: AT91 Real Time Clock driver.i2c /dev entries driverAT91: Starting after user resetsama5d4_wdt f8048040.watchdog: initialized (timeout = 16 sec, nowayout = 0)usbcore: registered new interface driver bfusbusbcore: registered new interface driver btusbsdhci: Secure Digital Host Controller Interface driversdhci: Copyright(c) Pierre Ossmansdhci-pltfm: SDHCI platform and OF driver helpersdhci-at91 a0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzmmc0: SDHCI controller on a0000000.sdio-host [a0000000.sdio-host] using ADMAsdhci-at91 b0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzrandom: fast init donemmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMAledtrig-cpu: registered to indicate activity on CPUsatmel_aes f002c000.aes: version: 0x500atmel_aes f002c000.aes: Atmel AES - Using dma0chan0, dma0chan1 for DMA transfersatmel_sha f0028000.sha: version: 0x510atmel_sha f0028000.sha: using dma0chan2 for DMA transfersatmel_sha f0028000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512atmel_tdes fc044000.tdes: version: 0x703atmel_tdes fc044000.tdes: using dma0chan3, dma0chan4 for DMA transfersatmel_tdes fc044000.tdes: Atmel DES/TDESusbcore: registered new interface driver usbhidusbhid: USB HID core driverat91-sama5d2_adc fc030000.adc: setting up trigger as external_risingat91-sama5d2_adc fc030000.adc: version: 800NET: Registered protocol family 10sit: IPv6, IPv4 and MPLS over IPv4 tunneling driverNET: Registered protocol family 17can: controller area network core (rev 20120528 abi 9)NET: Registered protocol family 29can: raw protocol (rev 20120528)can: broadcast manager protocol (rev 20161123 t)can: netlink gateway (rev 20130117) max_hops=1Bluetooth: HIDP (Human Interface Emulation) ver 1.2Bluetooth: HIDP socket layer initializedat91_i2c f8028000.i2c: can't get DMA channel, continue without DMA supportat91_i2c f8028000.i2c: Using FIFO (16 data)at24 0-0050: 256 byte 24c02 EEPROM, writable, 8 bytes/writeat91_i2c f8028000.i2c: AT91 i2c bus driver (hw version: 0x704).at91_rtc f80480b0.rtc: setting system clock to 2012-01-01 00:00:29 UTC (1325376029)ALSA device list:No soundcards found.atmel_usart_serial atmel_usart_serial.1.auto: using dma0chan5 for rx DMA transfersatmel_usart_serial atmel_usart_serial.1.auto: using dma0chan6 for tx DMA transfersVFS: Mounted root (squashfs filesystem) readonly on device 31:5.devtmpfs: mountedFreeing unused kernel memory: 1024Kstarting pid 112, tty '': '/bin/mount -t proc proc /proc'starting pid 113, tty '': '/bin/mount -t sysfs sysfs /sys'starting pid 114, tty '': '/bin/mount -t devtmpfs devtmpfs /dev'mount: mounting devtmpfs on /dev failed: Resource busystarting pid 115, tty '': '/bin/mount -o remount,rw /'starting pid 116, tty '': '/bin/mkdir -p /dev/pts'starting pid 117, tty '': '/bin/mount -t devpts devpts /dev/pts'starting pid 118, tty '': '/bin/mount -a'starting pid 119, tty '': '/etc/init.d/rcS'starting pid 123, tty '/dev/ttyS0': '/sbin/getty 115200 ttyS0'Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard /dev/ttyS0ruggedboard login: root-sh: command: not foundroot@ruggedboard:~#
To test the RS485/UART Device functionality using two boards.
RS485 Phy should be mounted on Board.
Patch cords
PinMuxing for uart signals should be done in Board file.
Uart pins should be available in Expansion.
Boot the board from NOR/MMC.
check the Device nodes are available or not in /dev by using below command
$ ls /dev/ttyS2
Take two boards in two different terminals and open microcom with the respective node and read and write to the node, connect the Rx and Tx pins of uart2 of board1 to Rx and Tx pins of uart2 of board2.
Type the Tx command in one terminal and Rx command in another terminal.Those Rx and Tx commands are given below
Board1_TX:
microcom -s 115200 /dev/ttyS2
Board2_RX:
microcom -s 115200 /dev/ttyS2
ruggedboard-a5d2x login: root-sh: command: not foundroot@ruggedboard-a5d2x:~# ls /dev/ttySttyS0 ttyS1 ttyS2 ttyS3 ttyS4root@ruggedboard-a5d2x:~# ls /dev/ttyS2
Board1_Tx:
root@ruggedboard-a5d2x:~# microcom -s 115200 /dev/ttyS2atmel_usart_serial atmel_usart_serial.2.auto: using dma0chan7 for rx DMA transfersatmel_usart_serial atmel_usart_serial.2.auto: using dma0chan8 for tx DMA transfers
Board2_Rx:
root@ruggedboard-a5d2x:~# microcom -s 115200 /dev/ttyS2atmel_usart_serial atmel_usart_serial.2.auto: using dma0chan7 for rx DMA transfersatmel_usart_serial atmel_usart_serial.2.auto: using dma0chan8 for tx DMA transfersGood Morning!!!
To test the microbus sensor tag on carrier board
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Microbus Sensor Tag
Connect the microbus sensor connector to M1 connector
Boot the board with Sdcard or NOR
Run the below programs in after the board booting.
vi lsm6sdl.py
from __future__ import print_functionimport time, sys, atexitfrom upm import pyupm_lsm6dsl as sensorObjdef main():# Instantiate a BMP250E instance using default i2c bus and addresssensor = sensorObj.LSM6DSL(2,0x6b,-1)# For SPI, bus 0, you would pass -1 as the address, and a valid pin for CS:#LSM6DSL(0, -1, 10);# now output data every 250 millisecondswhile (1):sensor.update()data = sensor.getAccelerometer()print("Accelerometer x:", data[0], end=' ')print(" y:", data[1], end=' ')print(" z:", data[2], end=' ')print(" g")data = sensor.getGyroscope()print("Gyroscope x:", data[0], end=' ')print(" y:", data[1], end=' ')print(" z:", data[2], end=' ')print(" dps")# we show both C and F for temperatureprint("Compensation Temperature:", sensor.getTemperature(), "C /", end=' ')print(sensor.getTemperature(True), "F")print()time.sleep(.250)if __name__ == '__main__':main()
vi mcp9808.py
#!/usr/bin/env pythonfrom __future__ import print_functionimport time, sys, atexitfrom upm import pyupm_mcp9808 as MCP9808def main():# Instantiate the Infrared-Thermopile Sensor on I2C on bus 1mySensor = MCP9808.MCP9808(2,0x18)while(1):print("Temperature : "+str(mySensor.getTemp()))time.sleep(.5)# Print out temperature value and config-reg in hex every 0.5 secondsif __name__ == '__main__':main()
vi bme280.py
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.from __future__ import print_functionimport time, sys,atexitfrom upm import pyupm_bmp280 as sensorObjdef main():# Instantiate a BME280 instance using default i2c bus and addresssensor = sensorObj.BME280(2,0x76,-1)# For SPI, bus 0, you would pass -1 as the address, and a valid pin for CS:#BME280(3, -1, 60)while (1):sensor.update()print("Compensation Temperature:", sensor.getTemperature(), "C /", end=' ')print(sensor.getTemperature(True), "F")print("Pressure: ", sensor.getPressure(), "Pa")print("Computed Altitude:", sensor.getAltitude(), "m")print("Humidity:", sensor.getHumidity(), "%RH")print()time.sleep(1)if __name__ == '__main__':main()
To get the temparature reading please give the below commands
$python3 mcp9808.py
To get the prassure,humadity and computed Altitude readings,please give the below command
$python3 bme280.py
To get the 3D Accelerometer and 3D Gyroscope sensor readings please give the below commands.
$python3 lsm6dsl.py
root@ruggedboard-a5d2x:/mnt# python3 bme280.pyrandom: python3: uninitialized urandom read (24 bytes read)libmraa[128]: libmraa version v2.0.0 initialised by user 'root' with EUID 0libmraa[128]: gpio: platform doesn't support chardev, falling back to sysfslibmraa[128]: libmraa initialised for platform 'Atmel SAMA5' of type 20libmraa[128]: i2c_init: Selected bus 2Compensation Temperature: 24.940000534057617 C /Pressure: 68838.75 PaComputed Altitude: 3142.17626953125 mHumidity: 24.5361328125 %RHCompensation Temperature: 30.420000076293945 C /Pressure: 91305.078125 PaComputed Altitude: 869.25738525390625 mHumidity: 32.8759765625 %RHCompensation Temperature: 30.540000915527344 C /Pressure: 91306.65625 PaComputed Altitude: 869.114501953125 mHumidity: 32.875 %RHCompensation Temperature: 30.579999923706055 C /Pressure: 91308.1875 PaComputed Altitude: 868.97589111328125 mHumidity: 32.8681640625 %RH^CTraceback (most recent call last):File "bme280.py", line 37, in <module>main()File "bme280.py", line 34, in maintime.sleep(1)root@ruggedboard-a5d2x:/mnt# python3 mcp9808.pylibmraa[130]: libmraa version v2.0.0 initialised by user 'root' with EUID 0libmraa[130]: gpio: platform doesn't support chardev, falling back to sysfslibmraa[130]: libmraa initialised for platform 'Atmel SAMA5' of type 20libmraa[130]: i2c_init: Selected bus 2libmraa[130]: MCP9808: I2c.frequency(I2C_FAST) failed, using default speedTemperature : 30.625Temperature : 30.5625Temperature : 30.625Temperature : 30.5625Temperature : 30.625Temperature : 30.625Temperature : 30.6875Temperature : 30.8125Temperature : 30.875Temperature : 30.9375Temperature : 30.875Temperature : 30.9375Temperature : 31.0Temperature : 31.0625Temperature : 31.4375Temperature : 31.625Temperature : 32.3125Temperature : 32.8125Temperature : 32.875Temperature : 32.875Temperature : 32.875Temperature : 32.9375Temperature : 32.6875Temperature : 32.5Temperature : 32.375^CTraceback (most recent call last):File "mcp9808.py", line 20, in <module>main()File "mcp9808.py", line 15, in maintime.sleep(.5)root@ruggedboard-a5d2x:~# python3 lsm6dsl.pyrandom: python3: uninitialized urandom read (24 bytes read)libmraa[130]: libmraa version v2.0.0 initialised by user 'root' with EUID 0libmraa[130]: gpio: platform doesn't support chardev, falling back to sysfslibmraa[130]: libmraa initialised for platform 'Atmel SAMA5' of type 20libmraa[130]: i2c_init: Selected bus 2Accelerometer x: 0.71211403608322144 y: -0.58724701404571533 z: 0.42596301436424255 gGyroscope x: -0.21500000357627869 y: -0.21600000560283661 z: -0.10999999940395355 dpsCompensation Temperature: 25.004379272460938 C / 77.007881164550781 FAccelerometer x: 0.29932698607444763 y: -0.39009499549865723 z: 0.83008801937103271 gGyroscope x: 17.12299919128418 y: 27.13599967956543 z: -0.41499999165534973 dpsCompensation Temperature: 25.004364013671875 C / 77.007858276367188 FAccelerometer x: -0.36465799808502197 y: 0.0088450005277991295 z: 0.91768401861190796 gGyroscope x: 7.1449999809265137 y: 10.666999816894531 z: 1.0060000419616699 dpsCompensation Temperature: 25.004364013671875 C / 77.007858276367188 FAccelerometer x: -0.63769400119781494 y: 0.11248400062322617 z: 0.92195403575897217 gGyroscope x: 2.4489998817443848 y: 5.2210001945495605 z: 0.60399997234344482 dpsCompensation Temperature: 25.004409790039062 C / 77.0079345703125 FAccelerometer x: -0.058072000741958618 y: -0.77482199668884277 z: 0.63135004043579102 gGyroscope x: -1.9639999866485596 y: -0.60199999809265137 z: -0.40400001406669617 dpsCompensation Temperature: 25.004318237304688 C / 77.007774353027344 FAccelerometer x: 0.47494602203369141 y: -0.7088809609413147 z: 0.43212398886680603 gGyroscope x: -3.7339999675750732 y: -14.078000068664551 z: -9.0010004043579102 dpsCompensation Temperature: 25.004531860351562 C / 77.008155822753906 FAccelerometer x: 0.79263401031494141 y: -0.56644600629806519 z: 0.40717500448226929 gGyroscope x: 0.36000001430511475 y: -1.3760000467300415 z: -1.3530000448226929 dpsCompensation Temperature: 25.004531860351562 C / 77.008155822753906 FAccelerometer x: 0.87199497222900391 y: -0.51355904340744019 z: 0.055936999619007111 gGyroscope x: -0.62999999523162842 y: 0.032999999821186066 z: -0.7160000205039978 dpsCompensation Temperature: 25.004501342773438 C / 77.008102416992188 F^CTraceback (most recent call last):File "lsm6dsl.py", line 37, in <module>main()File "lsm6dsl.py", line 34, in maintime.sleep(.250)
To test the SOM health LED on carrier board SOM.
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Boot the board from NOR/MMC. After booting check whether green led is blinking on som Module.
LED is blinking on som Module in green colour.
To test the spi with loop back in carrier board
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
Patch cable
Boot the board and check the spidev3.0 present or not.Please follow the below command.
$ cd /dev/$ ls
Short the miso (5th pin of microbus connector) and mosi (6th pin of microbus connector) pins with patch card.
Cross compile the below code with ruged board sdk.
/** SPI testing utility (using spidev driver)** Copyright (c) 2007 MontaVista Software, Inc.* Copyright (c) 2007 Anton Vorontsov <avorontsov@ru.mvista.com>** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License.** Cross-compile with cross-gcc -I/path/to/cross-kernel/include*/#include <stdint.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <getopt.h>#include <fcntl.h>#include <sys/ioctl.h>#include <linux/ioctl.h>#include <sys/stat.h>#include <linux/types.h>#include <linux/spi/spidev.h>#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))static void pabort(const char *s){perror(s);abort();}static const char *device = "/dev/spidev1.1";static uint32_t mode;static uint8_t bits = 8;static char *input_file;static char *output_file;static uint32_t speed = 500000;static uint16_t delay;static int verbose;uint8_t default_tx[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0x40, 0x00, 0x00, 0x00, 0x00, 0x95,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xF0, 0x0D,};uint8_t default_rx[ARRAY_SIZE(default_tx)] = {0, };char *input_tx;static void hex_dump(const void *src, size_t length, size_t line_size,char *prefix){int i = 0;const unsigned char *address = src;const unsigned char *line = address;unsigned char c;printf("%s | ", prefix);while (length-- > 0) {printf("%02X ", *address++);if (!(++i % line_size) || (length == 0 && i % line_size)) {if (length == 0) {while (i++ % line_size)printf("__ ");}printf(" | "); /* right close */while (line < address) {c = *line++;printf("%c", (c < 33 || c == 255) ? 0x2E : c);}printf("\n");if (length > 0)printf("%s | ", prefix);}}}/** Unescape - process hexadecimal escape character* converts shell input "\x23" -> 0x23*/static int unescape(char *_dst, char *_src, size_t len){int ret = 0;int match;char *src = _src;char *dst = _dst;unsigned int ch;while (*src) {if (*src == '\\' && *(src+1) == 'x') {match = sscanf(src + 2, "%2x", &ch);if (!match)pabort("malformed input string");src += 4;*dst++ = (unsigned char)ch;} else {*dst++ = *src++;}ret++;}return ret;}static void transfer(int fd, uint8_t const *tx, uint8_t const *rx, size_t len){int ret;int out_fd;struct spi_ioc_transfer tr = {.tx_buf = (unsigned long)tx,.rx_buf = (unsigned long)rx,.len = len,.delay_usecs = delay,.speed_hz = speed,.bits_per_word = bits,};if (mode & SPI_TX_QUAD)tr.tx_nbits = 4;else if (mode & SPI_TX_DUAL)tr.tx_nbits = 2;if (mode & SPI_RX_QUAD)tr.rx_nbits = 4;else if (mode & SPI_RX_DUAL)tr.rx_nbits = 2;if (!(mode & SPI_LOOP)) {if (mode & (SPI_TX_QUAD | SPI_TX_DUAL))tr.rx_buf = 0;else if (mode & (SPI_RX_QUAD | SPI_RX_DUAL))tr.tx_buf = 0;}ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);if (ret < 1)pabort("can't send spi message");if (verbose)hex_dump(tx, len, 32, "TX");if (output_file) {out_fd = open(output_file, O_WRONLY | O_CREAT | O_TRUNC, 0666);if (out_fd < 0)pabort("could not open output file");ret = write(out_fd, rx, len);if (ret != len)pabort("not all bytes written to output file");close(out_fd);}if (verbose || !output_file)hex_dump(rx, len, 32, "RX");}static void print_usage(const char *prog){printf("Usage: %s [-DsbdlHOLC3]\n", prog);puts(" -D --device device to use (default /dev/spidev1.1)\n"" -s --speed max speed (Hz)\n"" -d --delay delay (usec)\n"" -b --bpw bits per word\n"" -i --input input data from a file (e.g. \"test.bin\")\n"" -o --output output data to a file (e.g. \"results.bin\")\n"" -l --loop loopback\n"" -H --cpha clock phase\n"" -O --cpol clock polarity\n"" -L --lsb least significant bit first\n"" -C --cs-high chip select active high\n"" -3 --3wire SI/SO signals shared\n"" -v --verbose Verbose (show tx buffer)\n"" -p Send data (e.g. \"1234\\xde\\xad\")\n"" -N --no-cs no chip select\n"" -R --ready slave pulls low to pause\n"" -2 --dual dual transfer\n"" -4 --quad quad transfer\n");exit(1);}static void parse_opts(int argc, char *argv[]){while (1) {static const struct option lopts[] = {{ "device", 1, 0, 'D' },{ "speed", 1, 0, 's' },{ "delay", 1, 0, 'd' },{ "bpw", 1, 0, 'b' },{ "input", 1, 0, 'i' },{ "output", 1, 0, 'o' },{ "loop", 0, 0, 'l' },{ "cpha", 0, 0, 'H' },{ "cpol", 0, 0, 'O' },{ "lsb", 0, 0, 'L' },{ "cs-high", 0, 0, 'C' },{ "3wire", 0, 0, '3' },{ "no-cs", 0, 0, 'N' },{ "ready", 0, 0, 'R' },{ "dual", 0, 0, '2' },{ "verbose", 0, 0, 'v' },{ "quad", 0, 0, '4' },{ NULL, 0, 0, 0 },};int c;c = getopt_long(argc, argv, "D:s:d:b:i:o:lHOLC3NR24p:v",lopts, NULL);if (c == -1)break;switch (c) {case 'D':device = optarg;break;case 's':speed = atoi(optarg);break;case 'd':delay = atoi(optarg);break;case 'b':bits = atoi(optarg);break;case 'i':input_file = optarg;break;case 'o':output_file = optarg;break;case 'l':mode |= SPI_LOOP;break;case 'H':mode |= SPI_CPHA;break;case 'O':mode |= SPI_CPOL;break;case 'L':mode |= SPI_LSB_FIRST;break;case 'C':mode |= SPI_CS_HIGH;break;case '3':mode |= SPI_3WIRE;break;case 'N':mode |= SPI_NO_CS;break;case 'v':verbose = 1;break;case 'R':mode |= SPI_READY;break;case 'p':input_tx = optarg;break;case '2':mode |= SPI_TX_DUAL;break;case '4':mode |= SPI_TX_QUAD;break;default:print_usage(argv[0]);break;}}if (mode & SPI_LOOP) {if (mode & SPI_TX_DUAL)mode |= SPI_RX_DUAL;if (mode & SPI_TX_QUAD)mode |= SPI_RX_QUAD;}}static void transfer_escaped_string(int fd, char *str){size_t size = strlen(str);uint8_t *tx;uint8_t *rx;tx = malloc(size);if (!tx)pabort("can't allocate tx buffer");rx = malloc(size);if (!rx)pabort("can't allocate rx buffer");size = unescape((char *)tx, str, size);transfer(fd, tx, rx, size);free(rx);free(tx);}static void transfer_file(int fd, char *filename){ssize_t bytes;struct stat sb;int tx_fd;uint8_t *tx;uint8_t *rx;if (stat(filename, &sb) == -1)pabort("can't stat input file");tx_fd = open(filename, O_RDONLY);if (fd < 0)pabort("can't open input file");tx = malloc(sb.st_size);if (!tx)pabort("can't allocate tx buffer");rx = malloc(sb.st_size);if (!rx)pabort("can't allocate rx buffer");bytes = read(tx_fd, tx, sb.st_size);if (bytes != sb.st_size)pabort("failed to read input file");transfer(fd, tx, rx, sb.st_size);free(rx);free(tx);close(tx_fd);}int main(int argc, char *argv[]){int ret = 0;int fd;parse_opts(argc, argv);fd = open(device, O_RDWR);if (fd < 0)pabort("can't open device");/** spi mode*/ret = ioctl(fd, SPI_IOC_WR_MODE32, &mode);if (ret == -1)pabort("can't set spi mode");ret = ioctl(fd, SPI_IOC_RD_MODE32, &mode);if (ret == -1)pabort("can't get spi mode");/** bits per word*/ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits);if (ret == -1)pabort("can't set bits per word");ret = ioctl(fd, SPI_IOC_RD_BITS_PER_WORD, &bits);if (ret == -1)pabort("can't get bits per word");/** max speed hz*/ret = ioctl(fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed);if (ret == -1)pabort("can't set max speed hz");ret = ioctl(fd, SPI_IOC_RD_MAX_SPEED_HZ, &speed);if (ret == -1)pabort("can't get max speed hz");printf("spi mode: 0x%x\n", mode);printf("bits per word: %d\n", bits);printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000);if (input_tx && input_file)pabort("only one of -p and --input may be selected");if (input_tx)transfer_escaped_string(fd, input_tx);else if (input_file)transfer_file(fd, input_file);elsetransfer(fd, default_tx, default_rx, sizeof(default_tx));close(fd);return ret;}
After cross compiling above code copy the binary into your carrier board.
Please run the the binary with below command
./spidevbinary -D /dev/spidev3.0
Expected Output
root@rugged-board-a5d2x:~# ./spidevbinary -D /dev/spidev3.0spi mode: 0x0bits per word: 8max speed: 500000 Hz (500 KHz)RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@....�..................�.
To test the USER LED's functionality in Kernel whether they are toggling.
-NA-
Boot the board from NOR/MMC. After booting check toggling of USER LEDs
$ echo <gpiono> sys/class/gpio/export
$ echo out > /sys/class/gpio/<gpiopinno>/direction
$ echo 1 > /sys/class/gpio/<gpiopinno>/value
$ echo 0 > /sys/class/gpio/<gpiopinno>/value
root@ruggedboard-a5d2x:~# echo 77 > /sys/class/gpio/exportroot@ruggedboard-a5d2x:~# echo out > /sys/class/gpio/PC13/directionroot@ruggedboard-a5d2x:~# echo 1 > /sys/class/gpio/PC13/valueroot@ruggedboard-a5d2x:~# echo 0 > /sys/class/gpio/PC13/valueroot@ruggedboard:~# echo 81 > /sys/class/gpio/exportroot@ruggedboard:~# echo out > /sys/class/gpio/PC17/directionroot@ruggedboard:~# echo 1 > /sys/class/gpio/PC17/valueroot@ruggedboard:~# echo 0 > /sys/class/gpio/PC17/valueroot@ruggedboard:~# echo 83 > /sys/class/gpio/exportroot@ruggedboard:~# echo out > /sys/class/gpio/PC19/directionroot@ruggedboard:~# echo 1 > /sys/class/gpio/PC19/valueroot@ruggedboard:~# echo 0 > /sys/class/gpio/PC19/value
To test the USER Switch functionality in Kernel with application.
-NA-
Boot the board from NOR/MMC. After booting run the application and check USER Switch
root@ruggedboard-a5d2x:~# ./btngpiolibmraa[138]: libmraa version v2.0.0 initialised by user 'root' with EUID 0libmraa[138]: gpio: platform doesn't support chardev, falling back to sysfslibmraa[138]: libmraa initialised for platform 'Atmel SAMA5' of type 20gpio 83gpio pin 83gpio 76gpio pin 76STATUS = 1..LED ONSTATUS = 1..LED ONSTATUS = 1..LED ONSTATUS = 0..LED OFFSTATUS = 1..LED ONSTATUS = 1..LED ONSTATUS = 1..LED ON
To test the wifi on carrier board
phyCORE-A5d2x System on Module
phyCORE-A5d2 Rugged Board
USB cable
WIFi module
Boot the board give the below command
$ modprobe wilc-sdio
Create the wpa_supplicant.conf file in mnt partition. Please follow the below command to create file in mnt partition.
$ vi /mnt/wpa_supplicant.conf
Write the below content in above file.
ctrl_interface=/var/run/wpa_supplicantctrl_interface_group=0update_config=1network={ssid="PHYTEC_777VR1"proto=WPA2key_mgmt=WPA-PSKpsk="777vr1@phytec"}
Give the wifi name in above file in place of PHYTEC_777VR1.
Give the password of your wifi in place of 777vr1@phytec.
Give the below command to connect the wifi network.
$ wpa_supplicant -B -Dnl80211 -i wlan0 -c /mnt/wpa_supplicant.conf
Give the below command to assign the ip address to wifi node.
$udhcpc -i wlan0
To test the internet give the below command.
$ping google.com
root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~# dmesg | grep mmcKernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p2 rw rootwaitmmc0: SDHCI controller on a0000000.sdio-host [a0000000.sdio-host] using ADMAmmc0: new high speed SDIO card at address 0001mmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMAmmc1: Problem switching card into high-speed mode!mmc1: new SDHC card at address 0001mmcblk1: mmc1:0001 SD 7.44 GiBmmcblk1: p1 p2EXT4-fs (mmcblk1p2): mounting ext3 file system using the ext4 subsystemEXT4-fs (mmcblk1p2): recovery completeEXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)EXT4-fs (mmcblk1p2): re-mounted. Opts: data=orderedroot@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~# modprobe wilc-sdiowilc_sdio: module is from the staging directory, the quality is unknown, you have been warned.Registering wifi deviceMax scan ids= 10,Max scan IE len= 1000,Signal Type= 1,Interface Modes= 844Initializing Locks ...wifi_pm : 0wilc_sdio mmc0:0001:1: failed to get Reset GPIO, try defaultwifi_pm : 1wilc_sdio mmc0:0001:1: failed to get Reset GPIO, try defaultwilc_sdio mmc0:0001:1: Driver Initializing successroot@sama5d27-som1-ek-sd:~# cat wifi.shifconfig eth0 downifconfig wlan0 downifconfig wlan0 192.168.0.15root@sama5d27-som1-ek-sd:~# wpa_supplicant -B -Dnl80211 -i wlan0 -c /mnt/wpa_supplicant.confSuccessfully initialized wpa_supplicantwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mgmt_frame_register]Return since mac is closedrfkill: winnot open RFKILL control devicelc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]MAC OPEN[c2358000] wlan0WILC POWER UPwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_host_int]Host[c2358000][c2359460]wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]*** re-init ***wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_init]Initializing WILC_Wlanwilc_sdio mmc0:0001:1: SDIO speed: 50000000wilc_sdio mmc0:0001:1: chipid 003000d0wilc_sdio mmc0:0001:1 wlan0: INFO [init_chip]Bootrom sts = dwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Initialization donewilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Initializing Threads ...wilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for transmissionwilc_sdio mmc0:0001:1 wlan0: INFO [wlan_initialize_threads]Creating kthread for Debuggingwilc_sdio mmc0:0001:1: failed to get IRQ GPIO, load defaultwilc_sdio mmc0:0001:1 wlan0: INFO [init_irq]IRQ request succeeded IRQ-NUM= 139wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]Detect chip WILC3000wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]loading firmware mchp/wilc3000_wifi_firmware.binwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_get_firmware]WLAN firmware: mchp/wilc3000_wifi_firmware.binwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_firmware_download]Downloading Firmware ...wilc_wlan_firmware_downloadDownloading firmware size = 136336wilc_wlan_firmware_download Offset = 119508wilc_wlan_firmware_download Offset = 136336wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_firmware_download]Download Succeededwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Starting Firmware ...wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Waiting for FW to get ready ...cfg_indicate_rx: Info message receivedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_start_firmware]Firmware successfully startedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_initialize]WILC Firmware Ver = WILC_WIFI_FW_REL_15_3 Build: 11616wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_init_fw_config]Start configuring Firmwarewilc_sdio mmc0:0001:1 wlan0: INFO [wilc_mac_open]Mac address: f8:f0:05:d9:38:74wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 1.wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01wilc_sdio mmc0:0001:1 wlan0: INFO [set_power_mgmt]dev [wlan0]wilc_sdio mmc0:0001:1 wlan0: INFO [set_power_mgmt] Power save Enabled= 1 , TimeOut = -1wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 3.wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[2]: 33:33:ff:d9:38:74wilc_sdio mmc0:0001:1 wlan0: INFO [flush_pmksa]Flushing PMKID key valuesroot@sama5d27-som1-ek-sd:~# wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Requested num of channel 14wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Scan Request IE len = 126wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Number of SSIDs 1wilc_sdio mmc0:0001:1 wlan0: INFO [scan]Trigger Scan Requestcfg_indicate_rx: Scan Notification Receivedwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_scan_complete_received]Scan notification receivedwilc_sdio mmc0:0001:1 wlan0: INFO [cfg_scan_result]Scan Done[c2358000]wilc_sdio mmc0:0001:1 wlan0: INFO [connect]Connecting to SSID [test] on netdev [c2358000] host if [c3d9ce00]wilc_sdio mmc0:0001:1 wlan0: INFO [connect]Adding key with cipher group fac04wilc_sdio mmc0:0001:1 wlan0: INFO [connect]Authentication Type = 0wilc_sdio mmc0:0001:1 wlan0: INFO [connect]In OPEN SYSTEMwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_wlan_set_bssid]set bssid [d8:32:e3:34:8f:86]wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_send_connect_wid]send HOST_IF_WAITING_CONN_RESPwilc_sdio mmc0:0001:1 wlan0: INFO [wilc_send_connect_wid]set HOST_IF_WAITING_CONN_RESPcfg_indicate_rx: Info message receivedwilc_sdio mmc0:0001:1 wlan0: INFO [handle_rcvd_gnrl_async_info]Current State = 3,Received state = 1wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Connection response received=1 connect_stat[0]wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Connection Successful: BSSID: d832e3348f86wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Association request info elements length = 22wilc_sdio mmc0:0001:1 wlan0: INFO [cfg_connect_result]Association response info elements length = 97NOHZ: local_softirq_pending 08wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]Adding key with cipher suite = fac04wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]c3d8a180 c2358000 0wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]key 68 f1 36wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]Adding key with cipher suite = fac04wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]c3d8a180 c2358000 1wilc_sdio mmc0:0001:1 wlan0: INFO [add_key]key 29 ce 65root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~# udhcpc -i wlan0udhcpc: started, v1.27.2wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Setting mcast List with count = 2.wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[0]: 33:33:00:00:00:01wilc_sdio mmc0:0001:1 wlan0: INFO [wilc_set_multicast_list]Entry[1]: 01:00:5e:00:00:01udhcpc: sending discoverudhcpc: sending select for 192.168.43.83udhcpc: lease of 192.168.43.83 obtained, lease time 3600/etc/udhcpc.d/50default: Adding DNS 192.168.43.1root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~#root@sama5d27-som1-ek-sd:~# ifconfiglo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)wlan0 Link encap:Ethernet HWaddr f8:f0:05:d9:38:74inet addr:192.168.43.83 Bcast:192.168.43.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:5 errors:0 dropped:0 overruns:0 frame:0TX packets:16 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:1126 (1.0 KiB) TX bytes:1964 (1.9 KiB)root@sama5d27-som1-ek-sd:~# ping google.comPING google.com (172.217.26.206): 56 data bytes64 bytes from 172.217.26.206: seq=0 ttl=54 time=40.510 ms64 bytes from 172.217.26.206: seq=1 ttl=54 time=40.565 ms64 bytes from 172.217.26.206: seq=2 ttl=54 time=50.549 ms64 bytes from 172.217.26.206: seq=3 ttl=54 time=42.379 ms64 bytes from 172.217.26.206: seq=4 ttl=54 time=56.464 ms64 bytes from 172.217.26.206: seq=5 ttl=54 time=189.331 ms64 bytes from 172.217.26.206: seq=6 ttl=54 time=41.802 ms64 bytes from 172.217.26.206: seq=7 ttl=54 time=36.771 ms64 bytes from 172.217.26.206: seq=8 ttl=54 time=65.930 ms64 bytes from 172.217.26.206: seq=9 ttl=54 time=42.998 ms64 bytes from 172.217.26.206: seq=10 ttl=54 time=55.471 ms64 bytes from 172.217.26.206: seq=11 ttl=54 time=52.683 ms64 bytes from 172.217.26.206: seq=12 ttl=54 time=61.580 ms64 bytes from 172.217.26.206: seq=13 ttl=54 time=49.698 ms64 bytes from 172.217.26.206: seq=14 ttl=54 time=47.361 ms64 bytes from 172.217.26.206: seq=15 ttl=54 time=76.849 ms64 bytes from 172.217.26.206: seq=16 ttl=54 time=37.855 ms^C--- google.com ping statistics ---
To test the RTC node functionality in Kernel.
-NA-
Boot the board from NOR/MMC.Check how many nodes are there in /dev directory for rtc
$ ls /dev/rtc0
root@ruggedboard-a5d2x:~# ls /dev/rtc0/dev/rtc0
Boot the board from NOR/MMC
Set the date to board in kernel # date mmddhhminyyyy.sec (e.g 021811582020.12 ) is the syntax
Set the time and check by using below command to rtc.
# hwclock -w -f /dev/rtcX
# hwclock -r -f /dev/rtcX ( # here 'X' is available node numbers ).
Reboot the board, wait few minutes. Check date and time both are same or not.
oot@ruggedboard-a5d2x:~# dateSun Jan 1 00:00:15 UTC 2012root@ruggedboard-a5d2x:~# date 021917202020.13Wed Feb 19 17:20:13 UTC 2020root@ruggedboard-a5d2x:~# hwclock -w -f /dev/rtc0root@ruggedboard-a5d2x:~# hwclock -r -f /dev/rtc0Wed Feb 19 17:20:27 2020 0.000000 secondsroot@ruggedboard-a5d2x:~# dateWed Feb 19 17:20:28 UTC 2020root@ruggedboard-a5d2x:~# rebootstarting pid 128, tty '': '/etc/init.d/rcK'starting pid 129, tty '': '/sbin/swapoff -a'starting pid 130, tty '': '/bin/umount -a -r'umount: devtmpfs busy - remounted read-onlyThe system is going down NOW!Sent SIGTERM to all processesRequesting system rebootesses�RomBOOTRestarting systemAT91Bootstrap 3.8.12-dirty (Sun Dec 1 22:45:37 IST 2019)SF: Got Manufacturer and Device ID: c22019SF: WARNING: can't read above 16MiBSF: Copy 0x80000 bytes from 0x16000 to 0x22000000SF: Done to load image<debug_uart>U-Boot 2018.07-linux4sam_6.0-00025-g3bff827-dirty (Dec 02 2019 - 01:35:03 +0530)CPU: SAMA5D27 512M bits DDR2 SDRAMCrystal frequency: 24 MHzCPU clock : 492 MHzMaster clock : 164 MHzDRAM: 64 MiBMMC: sdio-host@a0000000: 0, sdio-host@b0000000: 1Loading Environment from SPI Flash... SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiB*** Warning - bad CRC, using default environmentFailed (-5)In: serial@f8020000Out: serial@f8020000Err: serial@f8020000Net: eth0: ethernet@f8008000Hit any key to stop autoboot: 0Unknown command 'console=ttyS0,115200' - try 'help'SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiBdevice 0 offset 0xa6000, size 0x500000SF: 5242880 bytes @ 0xa6000 Read: OKdevice 0 offset 0x96000, size 0x10000SF: 65536 bytes @ 0x96000 Read: OK## Flattened Device Tree blob at 21000000Booting using the fdt blob at 0x21000000Loading Device Tree to 23b6b000, end 23b763d9 ... OKStarting kernel ...Booting Linux on physical CPU 0x0Linux version 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty (ganesh@phytec) (gcc version 7.3.0 (GCC) ) #3 Wed Jan 29 16:06:33 IST 2020CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7dCPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cacheOF: fdt:Machine model: RUGGED BOARD A5D2Xcma: Failed to reserve 64 MiBMemory policy: Data cache writebackCPU: All CPU(s) started in SVC mode.Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16240Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mtdblock5 rw rootwait rootfstype=squashfsPID hash table entries: 256 (order: -2, 1024 bytes)Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory: 54004K/65536K available (7168K kernel code, 215K rwdata, 1188K rodata, 1024K init, 220K bss, 11532K reserved, 0K cma-reserved)Virtual kernel memory layout:vector : 0xffff0000 - 0xffff1000 ( 4 kB)fixmap : 0xffc00000 - 0xfff00000 (3072 kB)vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)modules : 0xbf000000 - 0xc0000000 ( 16 MB).text : 0xc0008000 - 0xc0800000 (8160 kB).init : 0xc0a00000 - 0xc0b00000 (1024 kB).data : 0xc0b00000 - 0xc0b35fc8 ( 216 kB).bss : 0xc0b35fc8 - 0xc0b6d208 ( 221 kB)NR_IRQS:16 nr_irqs:16 16L2C-310 ID prefetch enabled, offset 2 linesL2C-310 dynamic clock gating enabled, standby mode enabledL2C-310 cache controller enabled, 8 ways, 128 kBL2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x36020000clocksource: pit: mask: 0x7ffffff max_cycles: 0x7ffffff, max_idle_ns: 11654027029 nssched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000nsConsole: colour dummy device 80x30Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304)pid_max: default: 32768 minimum: 301Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)CPU: Testing write buffer coherency: okSetting up static identity map for 0x20100000 - 0x20100058devtmpfs: initializedVFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 nsfutex hash table entries: 256 (order: -1, 3072 bytes)pinctrl core: initialized pinctrl subsystemNET: Registered protocol family 16DMA: preallocated 256 KiB pool for atomic coherent allocationscpuidle: using governor menuAT91: PM: standby: standby, suspend: ulp0clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 186464433812 nsat_xdmac f0010000.dma-controller: 16 channels, mapped at 0xc4883000at_xdmac f0004000.dma-controller: 16 channels, mapped at 0xc4885000AT91: Detected SoC family: sama5d2AT91: Detected SoC: sama5d27c 64MB SiP, revision 2VDDANA: supplied by VDDIN_3V3advref: supplied by VDDANASCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbat91_i2c f8028000.i2c: could not find pctldev for node /ahb/apb/pinctrl@fc038000/i2c0_default, deferring probemedia: Linux media interface: v0.10Linux video capture interface: v2.00Advanced Linux Sound Architecture Driver Initialized.Bluetooth: Core ver 2.22NET: Registered protocol family 31Bluetooth: HCI device and connection manager initializedBluetooth: HCI socket layer initializedBluetooth: L2CAP socket layer initializedBluetooth: SCO socket layer initializedclocksource: Switched to clocksource tcb_clksrcNET: Registered protocol family 2TCP established hash table entries: 1024 (order: 0, 4096 bytes)TCP bind hash table entries: 1024 (order: 0, 4096 bytes)TCP: Hash tables configured (established 1024 bind 1024)UDP hash table entries: 256 (order: 0, 4096 bytes)UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)NET: Registered protocol family 1RPC: Registered named UNIX socket transport module.RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.workingset: timestamp_bits=14 max_order=14 bucket_order=0squashfs: version 4.0 (2009/01/31) Phillip Lougherjffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.JFS: nTxBlock = 421, nTxLock = 3375io scheduler noop registered (default)pinctrl-at91-pio4 fc038000.pinctrl: atmel pinctrl initialized[drm] Initializedbrd: module loadedloop: module loadedatmel_usart_serial.0.auto: ttyS1 at MMIO 0xf801c000 (irq = 33, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.1.auto: ttyS0 at MMIO 0xf8020000 (irq = 34, base_baud = 5125000) is a ATMEL_SERIALconsole [ttyS0] enabledatmel_usart_serial.2.auto: ttyS2 at MMIO 0xf8024000 (irq = 35, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.3.auto: ttyS3 at MMIO 0xfc008000 (irq = 39, base_baud = 5125000) is a ATMEL_SERIALatmel_usart_serial.4.auto: ttyS4 at MMIO 0xfc00c000 (irq = 40, base_baud = 5125000) is a ATMEL_SERIALatmel_qspi f0024000.spi: mx25l25645g (32768 Kbytes)7 ofpart partitions found on MTD device f0024000.spiCreating 7 MTD partitions on "f0024000.spi":0x000000000000-0x000000006000 : "at91bootstrap"0x000000006000-0x000000016000 : "bootloader env"0x000000016000-0x000000096000 : "bootloader"0x000000096000-0x0000000a6000 : "device tree"0x0000000a6000-0x0000005a6000 : "kernel"0x0000005a6000-0x0000019a6000 : "rootfs"0x0000019a6000-0x000002000000 : "data"atmel_spi fc018400.spi: DMA TX channel not available, SPI unable to use DMAatmel_spi fc018400.spi: Atmel SPI Controller using PIO onlyatmel_spi fc018400.spi: Using FIFO (16 data)atmel_spi fc018400.spi: Atmel SPI Controller version 0x311 at 0xfc018400 (irq 178)libphy: Fixed MDIO Bus: probedCAN device driver interfacem_can fc050000.can: m_can device registered (irq=48, version=31)libphy: MACB_mii_bus: probedMicrel KSZ8081 or KSZ8091 f8008000.ethernet-ffffffff:07: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=f8008000.ethernet-f)macb f8008000.ethernet eth0: Cadence GEM rev 0x00020203 at 0xf8008000 irq 28 (80:1f:12:4e:24:9e)usbcore: registered new interface driver asixusbcore: registered new interface driver ax88179_178ausbcore: registered new interface driver cdc_etherusbcore: registered new interface driver net1080usbcore: registered new interface driver cdc_subsetusbcore: registered new interface driver zaurususbcore: registered new interface driver sierra_netusbcore: registered new interface driver cdc_ncmusbcore: registered new interface driver qmi_wwanehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driverehci-atmel: EHCI Atmel driverohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driverohci-atmel: OHCI Atmel driverat91_ohci 400000.ohci: USB Host Controllerat91_ohci 400000.ohci: new USB bus registered, assigned bus number 1at91_ohci 400000.ohci: irq 18, io mem 0x00400000usb usb1: New USB device found, idVendor=1d6b, idProduct=0001usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1usb usb1: Product: USB Host Controllerusb usb1: Manufacturer: Linux 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty ohci_hcdusb usb1: SerialNumber: at91hub 1-0:1.0: USB hub foundhub 1-0:1.0: 2 ports detectedusbcore: registered new interface driver cdc_acmcdc_acm: USB Abstract Control Model driver for USB modems and ISDN adaptersusbcore: registered new interface driver cdc_wdmusbcore: registered new interface driver usb-storageusbcore: registered new interface driver usbserialusbcore: registered new interface driver usbserial_genericusbserial: USB Serial support registered for genericusbcore: registered new interface driver ftdi_siousbserial: USB Serial support registered for FTDI USB Serial Deviceusbcore: registered new interface driver optionusbserial: USB Serial support registered for GSM modem (1-port)usbcore: registered new interface driver pl2303usbserial: USB Serial support registered for pl2303usbcore: registered new interface driver qcauxusbserial: USB Serial support registered for qcauxusbcore: registered new interface driver qcserialusbserial: USB Serial support registered for Qualcomm USB modemrtc rtc0: invalid alarm value: 1900-1-1 0:0:0at91_rtc f80480b0.rtc: rtc core: registered f80480b0.rtc as rtc0at91_rtc f80480b0.rtc: AT91 Real Time Clock driver.i2c /dev entries driverAT91: Starting after software resetsama5d4_wdt f8048040.watchdog: initialized (timeout = 16 sec, nowayout = 0)usbcore: registered new interface driver bfusbusbcore: registered new interface driver btusbsdhci: Secure Digital Host Controller Interface driversdhci: Copyright(c) Pierre Ossmansdhci-pltfm: SDHCI platform and OF driver helpersdhci-at91 a0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzmmc0: SDHCI controller on a0000000.sdio-host [a0000000.sdio-host] using ADMAsdhci-at91 b0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hzrandom: fast init donemmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMAledtrig-cpu: registered to indicate activity on CPUsatmel_aes f002c000.aes: version: 0x500atmel_aes f002c000.aes: Atmel AES - Using dma0chan0, dma0chan1 for DMA transfersatmel_sha f0028000.sha: version: 0x510atmel_sha f0028000.sha: using dma0chan2 for DMA transfersatmel_sha f0028000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512atmel_tdes fc044000.tdes: version: 0x703atmel_tdes fc044000.tdes: using dma0chan3, dma0chan4 for DMA transfersatmel_tdes fc044000.tdes: Atmel DES/TDESusbcore: registered new interface driver usbhidusbhid: USB HID core driverat91-sama5d2_adc fc030000.adc: setting up trigger as external_risingat91-sama5d2_adc fc030000.adc: version: 800NET: Registered protocol family 10sit: IPv6, IPv4 and MPLS over IPv4 tunneling driverNET: Registered protocol family 17can: controller area network core (rev 20120528 abi 9)NET: Registered protocol family 29can: raw protocol (rev 20120528)can: broadcast manager protocol (rev 20161123 t)can: netlink gateway (rev 20130117) max_hops=1Bluetooth: HIDP (Human Interface Emulation) ver 1.2Bluetooth: HIDP socket layer initializedat91_i2c f8028000.i2c: can't get DMA channel, continue without DMA supportat91_i2c f8028000.i2c: Using FIFO (16 data)at24 0-0050: 256 byte 24c02 EEPROM, writable, 8 bytes/writeat91_i2c f8028000.i2c: AT91 i2c bus driver (hw version: 0x704).at91_rtc f80480b0.rtc: setting system clock to 2020-02-19 17:20:42 UTC (1582132842)ALSA device list:No soundcards found.atmel_usart_serial atmel_usart_serial.1.auto: using dma0chan5 for rx DMA transfersatmel_usart_serial atmel_usart_serial.1.auto: using dma0chan6 for tx DMA transfersVFS: Mounted root (squashfs filesystem) readonly on device 31:5.devtmpfs: mountedFreeing unused kernel memory: 1024Kstarting pid 112, tty '': '/bin/mount -t proc proc /proc'starting pid 113, tty '': '/bin/mount -t sysfs sysfs /sys'starting pid 114, tty '': '/bin/mount -t devtmpfs devtmpfs /dev'mount: mounting devtmpfs on /dev failed: Resource busystarting pid 115, tty '': '/bin/mount -o remount,rw /'starting pid 116, tty '': '/bin/mkdir -p /dev/pts'starting pid 117, tty '': '/bin/mount -t devpts devpts /dev/pts'starting pid 118, tty '': '/bin/mount -a'starting pid 119, tty '': '/etc/init.d/rcS'starting pid 123, tty '/dev/ttyS0': '/sbin/getty 115200 ttyS0'Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard /dev/ttyS0ruggedboard login: root-sh: command: not foundroot@ruggedboard-a5d2x:~#root@ruggedboard-a5d2x:~#root@ruggedboard-a5d2x:~# dateWed Feb 19 17:20:48 UTC 2020root@ruggedboard-a5d2x:~#