ADP150
ADP150 Regulator Fixed Voltage Linux Driver.
Supported Devices
Evaluation Boards
Reference Circuits
Description
The fixed regulator voltage driver can be used to control these chips. Please connect the ENable switch pin to any available GPIO port on your CPU. This driver adapts to voltage and current regulator framework in Linux kernel.
Configuration
Software configurable features
Source Code
Status
Files
Function |
File |
|---|---|
driver |
|
include |
Example platform device initialization
The default platform info defined in bf537-stamp board file is for ad122. If you want to customize this driver for other switch only regulator, you should revise the platform information accordingly.
Define device supply name exported by the adp_switch driver.
Define regulator init data of this supply.
Add new userspace consumer platform device for this supply.
adp122_bulk_data{} adp122_userspace_comsumer_data{} adp122_userspace_consumer_device{}
Adding Linux driver support
Enable generic GPIO lib in kernel option.
Device Drivers --->
[*] GPIO Support --->
Select voltage and current regulator framework support and enable adp_switch driver. Don’t forget to select userspace regulator consumer driver as a module. adp_switch driver is initialized after userspace consumer driver, if both are built into kernel.
Device Drivers --->
[*] Voltage and Current Regulator Support --->
<*> Fixed voltage regulator support
<*> Userspace regulator consumer support
Hardware configuration
Driver testing
Check regulator driver initialization information at kernel booting.
regulator: core version 0.5
regulator: adp122: 2500 mV
Check if adp122 is probed properly.
root:/> ls sys/class/regulator/
regulator.0
root:/> ls sys/class/regulator/regulator.0/
device name power subsystem uevent
microvolts num_users state type
root:/> cat sys/class/regulator/regulator.0/name
adp122
root:/> cat sys/class/regulator/regulator.0/type
voltage
root:/> cat sys/class/regulator/regulator.0/microvolts
2500000
root:/> cat sys/class/regulator/regulator.0/state
disabled
root:/> cat sys/class/regulator/regulator.0/num_users
0
Insert user space consumer driver module and check usability.
root:/> modprobe userspace-consumer
root:/> ls sys/devices/platform/reg-userspace-consumer.0/
driver power
microamps_requested_adp122 state
modalias subsystem
name uevent
root:/> cat sys/devices/platform/reg-userspace-consumer.0/name
adp122
root:/> cat sys/devices/platform/reg-userspace-consumer.0/state
disabled
root:/> echo enabled > sys/devices/platform/reg-userspace-consumer.0/state
root:/> cat sys/devices/platform/reg-userspace-consumer.0/state
enabled