09 Feb, 2017

2 commits


08 Feb, 2017

1 commit

  • At present devices use a simple integer offset to record the device tree
    node associated with the device. In preparation for supporting a live
    device tree, which uses a node pointer instead, refactor existing code to
    access this field through an inline function.

    Signed-off-by: Simon Glass

    Simon Glass
     

29 Jan, 2017

2 commits

  • I missed to update them when DT files were resynced with Linux.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Clock Driver

    This driver is ast2500-specific and is not compatible with earlier
    versions of this chip. The differences are not that big, but they are
    in somewhat random places, so making it compatible with ast2400 is not
    worth the effort at the moment.

    SDRAM MC driver

    The driver is very ast2500-specific and is completely incompatible
    with previous versions of the chip.

    The memory controller is very poorly documented by Aspeed in the
    datasheet, with any mention of the whole range of registers missing. The
    initialization procedure has been basically taken from Aspeed SDK, where
    it is implemented in assembly. Here it is rewritten in C, with very limited
    understanding of what exactly it is doing.
    Reviewed-by: Simon Glass

    maxims@google.com
     

10 Jan, 2017

1 commit


26 Nov, 2016

1 commit


31 Oct, 2016

4 commits


29 Oct, 2016

3 commits

  • For the peripheral clock, provide the clock ops for the clock
    provider, such as spi0_clk. The .of_xlate is to get the clk->id,
    the .enable is to enable the spi0 peripheral clock, the .get_rate
    is to get the clock frequency.

    The driver for periph32ck node is responsible for recursively
    binding its children as clk devices, not provide the clock ops.

    So do the generated clock and system clock.

    Signed-off-by: Wenyou Yang
    Acked-by: Stephen Warren

    Wenyou Yang
     
  • In order to make clk->dev available in ops->of_xlate() to get the
    clock ID from the 'reg' property of the clock node, assign the
    clk->dev before calling ops->of_xlate().

    Signed-off-by: Wenyou Yang
    Acked-by: Stephen Warren
    Acked-by: Simon Glass

    Wenyou Yang
     
  • The at91-pmc and at91-sckc aren't the clock providers, change their
    class ID from UCLASS_CLK to UCLASS_SIMPLE_BUS, they also don't
    need to bind the child nodes explicitly, the .post_bind callback
    of simple_bus uclass will do it for them.

    Signed-off-by: Wenyou Yang
    Acked-by: Stephen Warren
    Reviewed-by: Simon Glass

    Wenyou Yang
     

18 Oct, 2016

1 commit


14 Oct, 2016

1 commit

  • These have now landed upstream. The naming is different and in one case the
    function signature has changed. Update the code to match.

    This applies the following upstream commits by
    Thierry Reding :

    604e61e fdt: Add functions to retrieve strings
    8702bd1 fdt: Add a function to get the index of a string
    2218387 fdt: Add a function to count strings

    Signed-off-by: Simon Glass

    Simon Glass
     

28 Sep, 2016

1 commit

  • Implement a clock uclass driver for the Tegra CAR. This allows clients to
    use standard clock APIs on Tegra. This device is intended to be
    instantiated by the core Tegra CAR driver, rather than being instantiated
    directly from DT. The implementation uses the existing custom Tegra-
    specific clock APIs to avoid coupling the series with significant
    refactoring of the existing Tegra clock/clock code. The driver currently
    only supports peripheral clocks, and avoids support for other clocks such
    as PLLs and external clocks. This should be sufficient to convert over all
    Tegra peripheral drivers, and avoids a complex implementation which calls
    different Tegra-specific clock APIs based on the type of clock being
    manipulated.

    Signed-off-by: Stephen Warren
    Signed-off-by: Tom Warren

    Stephen Warren
     

23 Sep, 2016

4 commits


22 Sep, 2016

2 commits


21 Sep, 2016

1 commit


16 Aug, 2016

3 commits


06 Aug, 2016

4 commits


26 Jul, 2016

3 commits


23 Jul, 2016

1 commit


22 Jul, 2016

1 commit

  • Simple version of clk_get_by_index() added by:
    "dm: clk: Add a simple version of clk_get_by_index()"
    (sha1: a4b10c088c4f6ef2e2bba33e8cfea369bcbbce44)
    is only working for #clock-cells= but not for
    any other values. Fixed clocks is using #clock-cells=
    which requires full implementation.

    Remove simplified versions of clk_get_by_index() and use full version.
    Also remove empty clk_get_by_name() which is failing when it is called
    which is useless.

    Signed-off-by: Michal Simek
    Acked-by: Stephen Warren

    Michal Simek
     

15 Jul, 2016

3 commits


25 Jun, 2016

1 commit

  • clk->id is unsigned, so it can't be < 0. Remove the check for that.

    FWIW, this issue was introduced when the clock API converted e.g.
    clk_get_rate()'s clock ID parameter from an int to an unsigned long
    (with a struct clk), without removing this check.

    Fixes: 135aa9500264 ("clk: convert API to match reset/mailbox style")
    Reported-by: Coverity Scan
    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren