Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
software:driver:linux:adp5520 [24 Sep 2010 13:24] – add files hennerichresources:tools-software:linux-drivers:multifunction-device:adp5520 [05 Sep 2012 14:16] – [Status] Michael Hennerich
Line 1: Line 1:
-====== Source Code ======+====== ADP5520/01 MFD Linux Driver ======
  
-===== Status =====+===== Supported Devices =====
  
-^  Source  ^  Mainlined? +  * [[adi>ADP5520]] 
-|  [[bf>project/linux-kernel/scmsvn/trunk/drivers/mfd/adp5520.c|svn]]  [[bfin>git/?p=readonly-mirrors/linux-kernel.git;a=history;f=drivers/mfd/adp5520.c;hb=HEAD|git]]   [[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/mfd/adp5520.c;hb=HEAD|Yes]] +  [[adi>ADP5501]]
- +
-===== Files ===== +
- +
-^ Function ^ File ^ +
-| MFD-CORE | drivers/mfd/adp5520.c | +
-| include | include/linux/mfd/adp5520.h | +
-| BACKLIGHT | drivers/video/backlight/adp5520_bl.c |  +
-| LED | drivers/led/leds-adp5520.c | +
-| GPIO | drivers/gpio/adp5520-gpio.c (ADP5520 only) | +
-| KEYPAD | drivers/input/keyboard/adp5520-keys.c (ADP5520 only) |+
  
-====== Driver Overview ======+===== Evaluation Boards =====
  
-More information on the:\\ +  * [[adi>ADP5520-EVALZ]]   
-  ADP5520 can be found here [[:adp5520]] +===== Description =====
-  * ADP5501 can be found here [[:adp5501]]+
  
-The ADP5520/01 utilizes several Linux device-driver subsystems and provides +The ADP5520/01 driver utilizes several Linux device-driver subsystems and provides 
 various software interfaces. It is therefore implemented as a multifunction device (MFD). various software interfaces. It is therefore implemented as a multifunction device (MFD).
 In this particular case the ADP5520 backlight driver and I/O expander, concurrently In this particular case the ADP5520 backlight driver and I/O expander, concurrently
 leverages the Linux backlight, LED, GPIO, and input subsystems for its keypad functionality. leverages the Linux backlight, LED, GPIO, and input subsystems for its keypad functionality.
  
-<graphviz dot>+<graphviz dot 650x200>
 digraph { digraph {
 + size="8,5"
  ADP5520_MFD_CORE [shape=box]  ADP5520_MFD_CORE [shape=box]
  ADP5520_BACKLIGHT [shape=box]  ADP5520_BACKLIGHT [shape=box]
Line 89: Line 79:
   * Configurable number of dedicated GPIOs, up to 8 GPIOs   * Configurable number of dedicated GPIOs, up to 8 GPIOs
   * Configurable Pull-Ups     * Configurable Pull-Ups  
 +
 +
 +
 +====== Source Code ======
 +
 +===== Status =====
 +
 +^  Source  ^  Mainlined?  ^
 +| [[git.linux.org>drivers/mfd/adp5520.c|git]] |  [[git.linux.org>drivers/mfd/adp5520.c|Yes]]  |
 +
 +
 +===== Files =====
 +
 +^ Function ^ File ^
 +| MFD-CORE  | [[git.linux.org>drivers/mfd/adp5520.c]] |
 +| include   | [[git.linux.org>include/linux/mfd/adp5520.h]] |
 +| BACKLIGHT | [[git.linux.org>drivers/video/backlight/adp5520_bl.c]] | 
 +| LED       | [[git.linux.org>drivers/led/leds-adp5520.c]] |
 +| GPIO      | [[git.linux.org>drivers/gpio/adp5520-gpio.c]]((ADP5520 only)) |
 +| KEYPAD    | [[git.linux.org>drivers/input/keyboard/adp5520-keys.c]]((ADP5520 only)) |
  
 ====== Example platform device initialization ====== ====== Example platform device initialization ======
 +
 +{{page>software/linux/docs/platform_and_bus_model#Platform Data&noheader&firstseconly&noeditbtn}}
  
 <note important> <note important>
Line 102: Line 114:
  
 <note tip>  <note tip> 
-Please refer to include/linux/mfd/adp5520.h for detailed configuration defines.+Please refer to [[git.linux.org>include/linux/mfd/adp5520.h]] for detailed configuration defines.
 </note> </note>
- 
-<source trunk/include/linux/mfd/adp5520.h:/LEDs/ssubdevice/sbits/sand/smasks/1-/functions/ c linux-kernel> 
  
 ==== Backlight ===== ==== Backlight =====
Line 128: Line 138:
  
 ==== ADP5520/ADP5501 MFD Core Support ===== ==== ADP5520/ADP5501 MFD Core Support =====
 +
 +{{page>software/linux/docs/platform_and_bus_model#Declaring I2C devices&firstseconly&noeditbtn}}
  
 <source trunk/arch/blackfin/mach-bf537/boards/stamp.c:adp5520_pdev_data{} c linux-kernel> <source trunk/arch/blackfin/mach-bf537/boards/stamp.c:adp5520_pdev_data{} c linux-kernel>
Line 198: Line 210:
  
 ====== Hardware configuration ====== ====== Hardware configuration ======
 +
 +{{:software:driver:linux:adp5520_brd.jpg?800|ADP5520 Demo Mother/Daughter Board}}
  
 There is no dedicated Blackfin STAMP evaluation board for the ADP5520. There is no dedicated Blackfin STAMP evaluation board for the ADP5520.
 During test and driver development we used the ADP5520 Demo Mother/Daughter Board. During test and driver development we used the ADP5520 Demo Mother/Daughter Board.
 +Connect the ADP5520 Demo Mother to an USB port.
  
 It can be easily wired to the Blackfin STAMP TWI/I2C header. It can be easily wired to the Blackfin STAMP TWI/I2C header.
Line 206: Line 221:
 ^ BF537-STAMP (P10) TWI/I2C header  ^^ ADP5520 Daughter Board ^ ^ BF537-STAMP (P10) TWI/I2C header  ^^ ADP5520 Daughter Board ^
 ^ PIN ^ Function ^ PIN/Function ^ ^ PIN ^ Function ^ PIN/Function ^
-| 2 | (+3.3V) | VCC | 
 | 5 | SCL | SCL | | 5 | SCL | SCL |
 | 6 | SDA| SDA | | 6 | SDA| SDA |
Line 242: Line 256:
 root:/sys/devices/platform/i2c-bfin-twi.0/i2c-adapter/i2c-0/0-0032/backlight/adp5520-backlight> **echo 0 > brightness** root:/sys/devices/platform/i2c-bfin-twi.0/i2c-adapter/i2c-0/0-0032/backlight/adp5520-backlight> **echo 0 > brightness**
 </xterm> </xterm>
 +
 +__**For more information on Backlight handling in Linux read:**__ [[git.linux.org>Documentation/ABI/stable/sysfs-class-backlight]] 
  
 ==== LED ===== ==== LED =====
Line 269: Line 285:
 root:/> root:/>
 </xterm> </xterm>
 +
 +__**For more information on LEDs handling in Linux read:**__ [[git.linux.org>Documentation/leds-class.txt]] 
  
 ==== GPIO ===== ==== GPIO =====
Line 289: Line 307:
                    [*] Input event device test                    [*] Input event device test
 </xterm> </xterm>
 +
 +__**For more information on GPIO handling in Linux read:**__ [[git.linux.org>Documentation/gpio.txt]] 
 +
  
 ==== Keypad ===== ==== Keypad =====
Line 337: Line 358:
 root:/> root:/>
 </xterm> </xterm>
 +
 +__**For more information on Input handling in Linux read:**__ [[git.linux.org>Documentation/input/input.txt]]
 +
 +====== More Information ======
 +
 +{{page>resources/tools-software/linux-drivers/snippets#input_pointers&noheader&firstseconly&noeditbtn}} 
 +
resources/tools-software/linux-drivers/multifunction-device/adp5520.txt · Last modified: 16 Feb 2015 11:50 by Lars-Peter Clausen