19 Feb, 2019

1 commit

  • If a device has relevant power domain, we will check the power up
    result in probing the device. If the power up is failed, the device_probe
    will return failure immediately.

    The only exception is the new FLAG (DM_FLAG_IGNORE_POWER_ON) is set by driver
    to indicate ignore the power up result.

    Signed-off-by: Ye Li
    (cherry picked from commit 8524ca764d8fbd05da1593abfed62bb075c50cd4)

    Ye Li
     

26 Apr, 2018

1 commit

  • Commit 286ede6 ("drivers: core: Add translation in live tree case") made
    dev_get_addr always use proper bus translations for addresses read from
    the device tree. But this leads to problems with certain busses, e.g.
    I2C busses, which run into an error during translation, and hence stop
    working.

    It turns out that of_translate_address() and fdt_translate_address()
    stop the address translation with an error when they're asked to
    translate addresses for busses where #size-cells == 0 (comment from
    drivers/core/of_addr.c):

    * Note: We consider that crossing any level with #size-cells == 0 to mean
    * that translation is impossible (that is we are not dealing with a value
    * that can be mapped to a cpu physical address). This is not really specified
    * that way, but this is traditionally the way IBM at least do things

    To fix this case, we check in both the live-tree and non-live tree-case,
    whether the bus of the device whose address is about to be translated
    has size-cell size zero. If this is the case, we just read the address
    as a plain integer and return it, and only apply bus translations if the
    size-cell size if greater than zero.

    Signed-off-by: Mario Six
    Signed-off-by: Martin Fuzzey
    Reported-by: Martin Fuzzey
    Fixes: 286ede6 ("drivers: core: Add translation in live tree case")
    Reviewed-by: Simon Glass

    Mario Six
     

24 Feb, 2018

2 commits

  • We need to get ofnode from a phandle, add interface to support
    both live dt and fdt.

    Signed-off-by: Kever Yang
    Reviewed-by: Simon Glass
    Reviewed-by: Philipp Tomsich
    Tested-by: Klaus Goger
    Signed-off-by: Philipp Tomsich

    Kever Yang
     
  • The Rockchip video drivers need to walk the ofnode-parrents to find
    an enclosing device that has a UCLASS_DISPLAY driver bound. This
    adds a ofnode_get_parent()-function that returns the parent-node.

    Signed-off-by: Philipp Tomsich
    Tested-by: Klaus Goger
    Reviewed-by: Anatolij Gustschin

    Philipp Tomsich
     

14 Feb, 2018

1 commit


04 Feb, 2018

1 commit


29 Jan, 2018

1 commit


28 Jan, 2018

1 commit


25 Jan, 2018

1 commit


23 Jan, 2018

1 commit

  • This patch provides
    * a uclass for EFI drivers
    * a EFI driver for block devices

    For each EFI driver the uclass
    * creates a handle
    * adds the driver binding protocol

    The uclass provides the bind, start, and stop entry points for the driver
    binding protocol.

    In bind() and stop() it checks if the controller implements the protocol
    supported by the EFI driver. In the start() function it calls the bind()
    function of the EFI driver. In the stop() function it destroys the child
    controllers.

    The EFI block driver binds to controllers implementing the block io
    protocol.

    When the bind function of the EFI block driver is called it creates a
    new U-Boot block device. It installs child handles for all partitions and
    installs the simple file protocol on these.

    The read and write functions of the EFI block driver delegate calls to the
    controller that it is bound to.

    A usage example is as following:

    U-Boot loads the iPXE snp.efi executable. iPXE connects an iSCSI drive and
    exposes a handle with the block IO protocol. It calls ConnectController.

    Now the EFI block driver installs the partitions with the simple file
    protocol.

    iPXE uses the simple file protocol to load Grub or the Linux Kernel.

    Signed-off-by: Heinrich Schuchardt
    [agraf: add comment on calloc len]
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

22 Jan, 2018

4 commits


01 Jan, 2018

1 commit


17 Nov, 2017

1 commit


05 Oct, 2017

2 commits

  • As we discussed before in ML, dm_dbg() causes undefined reference
    error if #define DEBUG is added to users, but not drivers/core/util.c

    We do not need this macro because we can use pr_debug() instead, and
    it is pretty easy to enable it for the DM core by using ccflags-y.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Many drivers had started to use dev_err, dev_info, etc. for log
    functions. Currently, we are relying on , but I
    guess the best home is , taking into account that
    Linux defines them in .

    For now, I am leaving the ones in because lots of
    Linux-originated code uses dev_*(), but the first argument is not
    struct udevice, so we need to ignore the bogus argument. More
    efforts are needed to iron out the issues.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

22 Sep, 2017

1 commit


19 Sep, 2017

1 commit

  • The dev_read_addr_ptr() mimics the behaviour of the devfdt_get_addr_ptr(),
    retrieving the first address of the node's reg-property and returning
    it as a pointer (or NULL on failure).

    Signed-off-by: Philipp Tomsich
    Acked-by: Philipp Tomsich
    Reviewed-by: Simon Glass

    Philipp Tomsich
     

12 Sep, 2017

2 commits

  • Currently, all fixed-clock declared in "clocks" node in device tree
    can be binded by clk_fixed_rate.c driver only if each of them have
    the "simple-bus" compatible string.
    This constraint has been invoked here [1].

    This patch offers a solution to avoid adding "simple-bus" compatible
    string to nodes that are not busses.

    [1] https://patchwork.ozlabs.org/patch/558837/

    Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass

    Patrice Chotard
     
  • Add a convenience macro to iterate over subnodes of a node. Make use of
    this where appropriate in the code.

    Signed-off-by: Simon Glass

    Simon Glass
     

11 Sep, 2017

1 commit


29 Aug, 2017

1 commit


17 Aug, 2017

1 commit


14 Aug, 2017

1 commit


29 Jul, 2017

4 commits


26 Jul, 2017

1 commit

  • This allow to remove include/dm/platform_data/serial_stm32x7.h
    which was included in the past by stm32x7 driver and by
    stm32f746-disco.c board file.
    Since patch 42bf5e7c27 "serial: stm32f7: add device tree support"
    this file is no more needed in board file.

    Signed-off-by: Patrice Chotard
    Acked-by: Vikas MANOCHA

    Patrice Chotard
     

12 Jul, 2017

8 commits


01 Jun, 2017

1 commit