Skip to content
Snippets Groups Projects
  1. Jul 21, 2015
    • Simon Glass's avatar
      dm: Add a clock uclass · f26c8a8e
      Simon Glass authored
      
      Clocks are an important feature of platforms and have become increasing
      complex with time. Most modern SoCs have multiple PLLs and dozens of clock
      dividers which distribute clocks to on-chip peripherals.
      
      Some SoC implementations have a clock API which is private to that SoC family,
      e.g. Tegra and Exynos. This is useful but it would be better to have a
      common API that can be understood and used throughout U-Boot.
      
      Add a simple clock API as a starting point. It supports querying and setting
      the rate of a clock. Each clock is a device. To reduce memory and processing
      overhead the concept of peripheral clocks is provided. These do not need to
      be explicit devices - it is possible to write a driver that can adjust the
      I2C clock (for example) without an explicit I2C clock device. This can
      dramatically reduce the number of devices (and associated overhead) in a
      complex SoC.
      
      Clocks are referenced by a number, and it is expected that SoCs will define
      that numbering themselves via an enum.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      f26c8a8e
    • Simon Glass's avatar
      dm: Add a system reset uclass · f9917454
      Simon Glass authored
      
      It is common for system reset to be available at multiple levels in modern
      hardware. For example, an SoC may provide a reset option, and a board may
      provide its own reset for reasons of security or thoroughness. It is useful
      to be able to model this hardware without hard-coding the behaviour in the
      SoC or board. Also there is a distinction sometimes between resetting just
      the CPU (leaving GPIO state alone) and resetting all the PMICs, just cutting
      power.
      
      To achieve this, add a simple system reset uclass. It allows multiple devices
      to provide reset functionality and provides a way to walk through them,
      requesting a particular reset type until is it provided.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      f9917454
    • Simon Glass's avatar
      dm: Add support for RAM drivers · 6c51df68
      Simon Glass authored
      
      Add support for a driver which sets up DRAM and can return information about
      the amount of RAM available. This is a first step towards moving RAM init
      to driver model.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      6c51df68
    • Simon Glass's avatar
      dm: mmc: Add an MMC uclass · e7ecf7cb
      Simon Glass authored
      
      Add basic support for MMC, providing a uclass which can set up an MMC
      device. This allows MMC drivers to move to using driver model.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      e7ecf7cb
    • Simon Glass's avatar
      dm: Add support for LEDs · 5917112c
      Simon Glass authored
      
      Add a simple uclass for LEDs, so that these can be controlled by the device
      tree and activated when needed. LEDs are referred to by their label.
      
      This implementation requires a driver for each type of LED (e.g GPIO, I2C).
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      5917112c
    • Simon Glass's avatar
      dm: Add support for generic system controllers (syscon) · 57251285
      Simon Glass authored
      
      Many SoCs have a number of system controllers which are dealt with as a
      group by a single driver. It is a pain to have to add lots of compatible
      strings and/or separate drivers for each. Instead we can identify the
      controllers by a number and request the address of the one we want.
      
      Add a simple implementation of this which can be used by SoC driver code.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      57251285
  2. Jun 04, 2015
  3. May 15, 2015
    • Przemyslaw Marczak's avatar
      dm: regulator: add implementation of driver model regulator uclass · af41e8db
      Przemyslaw Marczak authored
      
      This commit introduces the implementation of dm regulator API.
      Device tree support allows for auto binding. And by the basic
      uclass operations, it allows to driving the devices in a common
      way. For detailed informations, please look into the header file.
      
      Core files:
      - drivers/power/regulator-uclass.c - provides regulator common functions api
      - include/power/regulator.h - define all structures required by the regulator
      
      Changes:
      - new uclass-id: UCLASS_REGULATOR
      - new config: CONFIG_DM_REGULATOR
      
      Signed-off-by: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      af41e8db
    • Przemyslaw Marczak's avatar
      dm: pmic: add implementation of driver model pmic uclass · 4d9057e8
      Przemyslaw Marczak authored
      
      This commit introduces the PMIC uclass implementation.
      It allows providing the basic I/O interface for PMIC devices.
      For the multi-function PMIC devices, this can be used as I/O
      parent device, for each IC's interface. Then, each PMIC particular
      function can be provided by the child device's operations, and the
      child devices will use its parent for read/write by the common API.
      
      Core files:
      - 'include/power/pmic.h'
      - 'drivers/power/pmic/pmic-uclass.c'
      
      The old pmic framework is still kept and is independent.
      
      For more detailed informations, please look into the header file.
      
      Changes:
      - new uclass-id: UCLASS_PMIC
      - new config: CONFIG_DM_PMIC
      
      Signed-off-by: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      4d9057e8
  4. May 13, 2015
  5. May 06, 2015
  6. Apr 30, 2015
  7. Apr 18, 2015
  8. Apr 17, 2015
    • Simon Glass's avatar
      dm: sandbox: pci: Add a PCI emulation uclass · 36d0d3b4
      Simon Glass authored
      
      Since sandbox does not have real devices (unless it borrows those from the
      host) it must use emulations. Provide a uclass which permits PCI operations
      to be passed through to an emulation device.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      36d0d3b4
    • Simon Glass's avatar
      dm: pci: Add a uclass for PCI · ff3e077b
      Simon Glass authored
      
      Add a uclass for PCI controllers and a generic one for PCI devices. Adjust
      the 'pci' command and the existing PCI support to work with this new uclass.
      Keep most of the compatibility code in a separate file so that it can be
      removed one day.
      
      TODO: Add more header file comments to the new parts of pci.h
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      ff3e077b
  9. Jan 30, 2015
  10. Dec 11, 2014
  11. Nov 21, 2014
  12. Oct 22, 2014
  13. Sep 10, 2014
  14. Jul 23, 2014
  15. Mar 04, 2014
Loading