APF51 PMIC
From ArmadeusWiki
Page under construction... Informations on this page are not guaranteed !!
APF51 has a Wolfson WM8311 Power Management IC (PMIC), which adds to the i.MX51 some useful functionalities. This page explain how to use them.
Contents
RTC
Voltage supervisor / Battery charger
- Load driver:
# modprobe wm831x_power wm831x 1-0034: No battery charger configuration
- If power supplied with Wall (main power supply):
# cat /sys/class/power_supply/wm831x-wall/online 1 # cat /sys/class/power_supply/wm831x-wall/voltage_now 4550290 (? micro volts ?)
- others:
# ls /sys/class/power_supply/ wm831x-battery wm831x-usb wm831x-wall
ADC / Temperature
- Load driver:
# modprobe wm831x-hwmon
- Show what we can do:
# ls /sys/class/hwmon/hwmon0/device/ driver in3_input in6_input in8_label temp1_input hwmon in4_input in6_label modalias temp1_label in0_input in4_label in7_input name temp2_input in1_input in5_input in7_label power temp2_label in2_input in5_label in8_input subsystem uevent
- temperatures:
# cat /sys/class/hwmon/hwmon0/device/temp1_label PMIC # cat /sys/class/hwmon/hwmon0/device/temp1_input 65720 (m°C, internal temp) # cat /sys/class/hwmon/hwmon0/device/temp2_label Battery # cat /sys/class/hwmon/hwmon0/device/temp2_input 1327 (a battery should be connected)
- analog values:
- in[0-3]_input corresponds to AUXADCIN[1-4] of APF51 connector
- in[4-8]_input are monitoring system voltage:
# cat /sys/class/hwmon/hwmon0/device/in4_label SYSVDD # cat /sys/class/hwmon/hwmon0/device/in5_label USB # cat /sys/class/hwmon/hwmon0/device/in6_label Battery # cat /sys/class/hwmon/hwmon0/device/in7_label WALL # cat /sys/class/hwmon/hwmon0/device/in8_label Backup battery
Touchscreen
Load driver
- everything else is generic and driven by Tslib
GPIO
Only GPIO6 and GPIO7 are usable on the APF51 (others are reserved or not available on connector).
Load driver
# modprobe wm831x-gpio
and locate corresponding interface:
# ls /sys/class/gpio/ export gpiochip240 gpiochip64 unexport gpiochip0 gpiochip32 gpiochip96 # cd /sys/class/gpio/gpiochip240/ # ls base device label ngpio power subsystem uevent # cat label wm831x # cat ngpio 16
Usage
Then you can use standard GPIOlib instructions with GPIO numbers 245 & 246.
# echo 246 > /sys/class/gpio/export ... etc ...
LEDs
LED1 and LED2 of APF51Dev board are controlled by the PMIC and are software programmable thanks to the LED API of Linux.
Load driver
# modprobe leds-wm831x-status # ls /sys/class/leds/ /sys/class/leds/LED1:red:/ /sys/class/leds/LED2:green:/
Choose LED functionality
# cd /sys/class/leds/LED1\:red\:/ # cat src otp [power] charger soft # echo soft > src # cat src otp power charger [soft]
Blink it
# echo 0 > brightness # echo 255 > brightness
Links
- WM8311 Datasheet: