Difference between revisions of "APF51 PMIC"

From ArmadeusWiki
Jump to: navigation, search
(Touchscreen)
Line 69: Line 69:
 
==Touchscreen==
 
==Touchscreen==
 
===Load driver===
 
===Load driver===
<pre class="apf">
 
# modprobe wm831x-ts
 
</pre>
 
 
 
* everything else is generic and driven by [[Tslib]]
 
* everything else is generic and driven by [[Tslib]]
  

Revision as of 18:05, 19 July 2011

Page under construction... Construction.png 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.

RTC

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: