Linux Peripheral Features
Contents
ADC
analogue to digital converters
Backlight
Enable/read and modify backlight brightness
Camera
Example
CAN Bus
Prerequisites
Testing
- Connect can0 and can1
<CAN1_D+> connect to <CAN2_D+>
<CAN1_D-> connect to <CAN2_D->
- Configure
# ip link set can0 up type can bitrate 125000 # ip link set can1 up type can bitrate 125000
- Command
- Test 1
# candump can1 & # cansend can0 12345678#123412341234
The following shows the result
can1 12345678 [6] 12 34 12 34 12 34
- Test 2
# cansend can0 133#ababdede
The following shows the result
can1 133 [4] AB AB DE DE
CPU Frequency
Testing
- Using available CPU frequency policies
Read CPU frequency
# cpufreq-info | grep "current CPU frequency" current CPU frequency is 396 MHz (asserted by call to hardware). current CPU frequency is 396 MHz (asserted by call to hardware). current CPU frequency is 396 MHz (asserted by call to hardware). current CPU frequency is 396 MHz (asserted by call to hardware).
Check available CPU frequency policy
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors conservative ondemand userspace powersave interactive performance
Change CPU frequency policy
# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Check CPU frequency
# cpufreq-info | grep "current CPU frequency" current CPU frequency is 996 MHz (asserted by call to hardware). current CPU frequency is 996 MHz (asserted by call to hardware). current CPU frequency is 996 MHz (asserted by call to hardware). current CPU frequency is 996 MHz (asserted by call to hardware).
- Setting the CPU frequency explicitly
Read cpu available CPU frequenies
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 396000 792000 996000
Change CPU frequency explicitly
# echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # echo 792000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Check CPU frequency
# cpufreq-info | grep "current CPU frequency" current CPU frequency is 792 MHz (asserted by call to hardware). current CPU frequency is 792 MHz (asserted by call to hardware). current CPU frequency is 792 MHz (asserted by call to hardware). current CPU frequency is 792 MHz (asserted by call to hardware).
Ethernet
Example
Framebuffer
Example
GPIO
Example
I2C
Example
IR
To decode the infrared signals and provide an uniform interface
lircd -d /dev/lirc0
used parameters:
-d --device=device read from given device -u --uinput generate Linux input events
Executes commands on an IR signal decoded by lircd,
irexec -d /devlirc0
Note: if show these message after running lircd
lircd: can't open or create /var/run/lirc/lircd.pid lircd: No such file or directory
It has to add the "/var/run/lirc" folder
mkdir /var/run/lirc
How to debug:
1. To check that signals are decoded correctly
mode2 -d /dev/lirc0
It repeats to show "space" and "pulse" while clicking a control button
space 8451531 pulse 476
2. To check input events.
First, It must add the parameter,"-u", in lircd command
lircd -d /dev/lirc0 -u
It will register at inputX,
input: lircd as /devices/virtual/input/input1
Run evtest to check events
evtest -d /dev/input/event1
One Wire
Example
RTC
Example
SATA
Example
SD/MMC
Example
SPI
Example
SPWG/JEDIA
Standard Panels Working Group (SPWG)
Japan Electronic Industry Development Association (JEIDA)
How to setting SPWG/JEIDA mode in RISC?
Modify Register GPR(IOMUXC_GPR2)value
Address : 0x020E0008(h)
BIT6 and BIT8 set "0" (SPWG)
BIT6 and BIT8 set "1" (JEIDA)
UART
Example
USB
Example
Watchdog
Example