1. 21 Jun, 2016 1 commit
    • Hans de Goede's avatar
      Kconfig: Add a new DISTRO_DEFAULTS Kconfig option · 9f823615
      Hans de Goede authored and Tom Rini's avatar Tom Rini committed
      
      
      DISTRO_DEFAULTS is intended to mirror / replace
      include/config_distro_defaults.h.
      
      The intend is for boards which include this file to select this from
      their Kconfig files and when moving setting to Kconfig which are #define-ed
      in config_distro_defaults.h to select this from DISTRO_DEFAULTS so that
      boards which have selected DISTRO_DEFAULTS will keep the same configuration
      as before without needing any defconfig file changes.
      
      The initial list of selected things matches all settings recently removed
      from config_distro_defaults.h because they have been converted to Kconfig,
      with the exception of CMD_ELF and CMD_NET, which have a default of y, if
      the default of these ever changes they should be selected by DISTRO_DEFAULTS
      too.
      
      For testing and example purposes this commit also converts ARCH_SUNXI
      to use DISTRO_DEFAULT instead of selecting everything it needs itself.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      9f823615
  2. 20 Jun, 2016 33 commits
  3. 19 Jun, 2016 6 commits
    • Boris Brezillon's avatar
      spl: nand: sunxi: remove support for so-called 'syndrome' mode · c4adf9db
      Boris Brezillon authored
      
      
      The sunxi SPL NAND controller driver supports use 'BootROM'-like configs,
      that is, configs where the ECC bytes and real data are interleaved in the
      page instead of putting ECC bytes in the OOB area.
      
      Doing that has several drawbacks:
      - since you're interleaving data and ECC bytes you can't use the whole page
        otherwise you might override the bad block marker with non-FF bytes.
      - to solve the bad block marker problem, the ROM code supports partially
        using the page, but this introduces a huge penalty both in term of read
        speed and NAND memory usage. While this is fine for rather small
        binaries(like the SPL one which is at maximum 24KB large), it becomes
        non-negligible for the bootloader image (several hundred of KB).
      - auto-detection of the page size is not reliable (this is in my opinion
        the biggest problem). If you get the page size wrong, you'll end up
        reading data at a different offset than what was specified by the caller
        and the reading may succeed (if valid data were written at this address).
      
      For all those reasons I think it's wiser to completely remove support for
      'syndrome' configs. If we ever need to support it again, then I'd recommend
      specifying all the config parameters through Kconfig options.
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
      c4adf9db
    • Stephen Warren's avatar
      clk: convert API to match reset/mailbox style · 135aa950
      Stephen Warren authored and Simon Glass's avatar Simon Glass committed
      
      
      The following changes are made to the clock API:
      * The concept of "clocks" and "peripheral clocks" are unified; each clock
        provider now implements a single set of clocks. This provides a simpler
        conceptual interface to clients, and better aligns with device tree
        clock bindings.
      * Clocks are now identified with a single "struct clk", rather than
        requiring clients to store the clock provider device and clock identity
        values separately. For simple clock consumers, this isolates clients
        from internal details of the clock API.
      * clk.h is split so it only contains the client/consumer API, whereas
        clk-uclass.h contains the provider API. This aligns with the recently
        added reset and mailbox APIs.
      * clk_ops .of_xlate(), .request(), and .free() are added so providers
        can customize these operations if needed. This also aligns with the
        recently added reset and mailbox APIs.
      * clk_disable() is added.
      * All users of the current clock APIs are updated.
      * Sandbox clock tests are updated to exercise clock lookup via DT, and
        clock enable/disable.
      * rkclk_get_clk() is removed and replaced with standard APIs.
      
      Buildman shows no clock-related errors for any board for which buildman
      can download a toolchain.
      
      test/py passes for sandbox (which invokes the dm clk test amongst
      others).
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      135aa950
    • Stephen Warren's avatar
      reset: implement a reset test · 4581b717
      Stephen Warren authored and Simon Glass's avatar Simon Glass committed
      
      
      This adds a sandbox reset implementation (provider), a test client
      device, instantiates them both from Sandbox's DT, and adds a DM test
      that excercises everything.
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      4581b717
    • Stephen Warren's avatar
      Add a reset driver framework/uclass · 89c1e2da
      Stephen Warren authored and Simon Glass's avatar Simon Glass committed
      
      
      A reset controller is a hardware module that controls reset signals that
      affect other hardware modules or chips.
      
      This patch defines a standard API that connects reset clients (i.e. the
      drivers for devices affected by reset signals) to drivers for reset
      controllers/providers. Initially, DT is the only supported method for
      connecting the two.
      
      The DT binding specification (reset.txt) was taken from Linux kernel
      v4.5's Documentation/devicetree/bindings/reset/reset.txt.
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      89c1e2da
    • Stephen Warren's avatar
      mailbox: add Tegra186 HSP driver · 0f67e239
      Stephen Warren authored and Simon Glass's avatar Simon Glass committed
      
      
      Tegra186's HSP module implements doorbells, mailboxes, semaphores, and
      shared interrupts. This patch provides a driver for HSP, and hooks it
      into the mailbox API. Currently, only doorbells are supported.
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      0f67e239
    • Stephen Warren's avatar
      mailbox: rename headers · 769d52ef
      Stephen Warren authored and Simon Glass's avatar Simon Glass committed
      
      
      Rename mailbox*.h to match the naming convention requested during review
      of the new reset subsystem.
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      769d52ef