30 Jun, 2016

3 commits

  • Add a reset-controller driver for performing reset management of
    various devices present on the SoC, with the reset registers shared
    between devices in a common register memory space. This driver uses
    the syscon/regmap frameworks to actually implement the various reset
    functionalities needed by the reset consumer devices.

    Signed-off-by: Andrew F. Davis
    [s-anna@ti.com: add documentation, syscon name change]
    Signed-off-by: Suman Anna
    Signed-off-by: Philipp Zabel

    Andrew F. Davis
     
  • Add hi6220 media subsystem reset controller.

    Signed-off-by: Chen Feng
    Signed-off-by: Xia Qing
    Signed-off-by: Xinliang Liu
    Signed-off-by: Philipp Zabel

    Xinliang Liu
     
  • There are two reset controllers in hi6220 SoC:
    The peripheral reset controller bits are part of sysctrl registers.
    The media reset controller bits are part of mediactrl registers.

    So change register access to syscon way.
    And rename current reset controller to peripheral one.

    Signed-off-by: Chen Feng
    Signed-off-by: Xia Qing
    Signed-off-by: Xinliang Liu
    Signed-off-by: Philipp Zabel

    Chen Feng
     

01 Jun, 2016

1 commit


30 May, 2016

8 commits


01 Apr, 2016

1 commit


30 Mar, 2016

4 commits

  • Moving the notifier_block into the drivers priv struct allows us
    to retrive the priv struct with container_of and remove the
    global variables.

    Signed-off-by: Joachim Eastwood
    Signed-off-by: Philipp Zabel

    Joachim Eastwood
     
  • In some SoCs some hw-blocks share a reset control. Add support for this
    setup by adding new:

    reset_control_get_shared()
    devm_reset_control_get_shared()
    devm_reset_control_get_shared_by_index()

    methods to get a reset_control. Note that this patch omits adding of_
    variants, if these are needed later they can be easily added.

    This patch also changes the behavior of the existing exclusive
    reset_control_get() variants, if these are now called more then once
    for the same reset_control they will return -EBUSY. To catch existing
    drivers triggering this error (there should not be any) a WARN_ON(1)
    is added in this path.

    When a reset_control is shared, the behavior of reset_control_assert /
    deassert is changed, for shared reset_controls these will work like the
    clock-enable/disable and regulator-on/off functions. They will keep a
    deassert_count, and only (re-)assert the reset after reset_control_assert
    has been called as many times as reset_control_deassert was called.

    Calling reset_control_assert without first calling reset_control_deassert
    is not allowed on a shared reset control. Calling reset_control_reset is
    also not allowed on a shared reset control.

    Signed-off-by: Hans de Goede
    Signed-off-by: Philipp Zabel

    Hans de Goede
     
  • Now that struct reset_control no longer stores the device pointer for
    the device calling reset_control_get we can share a single struct
    reset_control when multiple calls to reset_control_get are made for
    the same reset line (same id / index).

    This is a preparation patch for adding support for shared reset lines.

    Signed-off-by: Hans de Goede
    Signed-off-by: Philipp Zabel

    Hans de Goede
     
  • With both the regular, _by_index and _optional variants we already have
    quite a few variants of [of_]reset_control_get[_foo], the upcoming
    addition of shared reset lines support makes this worse.

    This commit changes all the variants into wrappers around common core
    functions. For completeness sake this commit also adds a new
    devm_get_reset_control_by_index wrapper.

    Signed-off-by: Hans de Goede
    Signed-off-by: Philipp Zabel

    Hans de Goede
     

10 Feb, 2016

5 commits


09 Feb, 2016

3 commits


08 Feb, 2016

1 commit


05 Feb, 2016

2 commits


25 Jan, 2016

3 commits


12 Dec, 2015

1 commit

  • We need to include to build the driver as a loadable
    module:

    drivers/reset/hisilicon/hi6220_reset.c:108:1: warning: data definition has no type or storage class
    postcore_initcall(hi6220_reset_init);

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

25 Nov, 2015

1 commit


20 Nov, 2015

1 commit


18 Nov, 2015

1 commit


16 Nov, 2015

5 commits