03 Jan, 2019

1 commit


10 Dec, 2018

1 commit


29 Nov, 2018

1 commit


17 Nov, 2018

1 commit

  • K3 based AM654 devices has DDR memory subsystem that comprises
    Synopys DDR controller, Synopsis DDR phy and wrapper logic to
    intergrate these blocks into the device. This DDR subsystem
    provides an interface to external SDRAM devices. Adding support
    for the initialization of the external SDRAM devices by
    configuring the DDRSS registers and using the buitin PHY
    routines.

    Reviewed-by: Tom Rini
    Signed-off-by: Lokesh Vutla
    Signed-off-by: Andreas Dannenberg
    Signed-off-by: Keerthy
    Signed-off-by: Schuyler Patton
    Signed-off-by: James Doublesin

    Lokesh Vutla
     

15 Nov, 2018

1 commit

  • When a driver declares DM_FLAG_PRE_RELOC flag, it wishes to be
    bound before relocation. However due to a bug in the DM core,
    the flag only takes effect when devices are statically declared
    via U_BOOT_DEVICE(). This bug has been fixed recently by commit
    "dm: core: Respect drivers with the DM_FLAG_PRE_RELOC flag in
    lists_bind_fdt()", but with the fix, it has a side effect that
    all existing drivers that declared DM_FLAG_PRE_RELOC flag will
    be bound before relocation now. This may expose potential boot
    failure on some boards due to insufficient memory during the
    pre-relocation stage.

    To mitigate this potential impact, the following changes are
    implemented:

    - Remove DM_FLAG_PRE_RELOC flag in the driver, if the driver
    only supports configuration from device tree (OF_CONTROL)
    - Keep DM_FLAG_PRE_RELOC flag in the driver only if the device
    is statically declared via U_BOOT_DEVICE()
    - Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check, for
    drivers that support both statically declared devices and
    configuration from device tree

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     

28 Oct, 2018

1 commit


18 Sep, 2018

1 commit


08 Aug, 2018

1 commit


01 Jun, 2018

1 commit


27 May, 2018

1 commit


08 May, 2018

1 commit


07 May, 2018

2 commits

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have multiple licenses (in
    these cases, dual license) declared in the SPDX-License-Identifier tag.
    In this case we change from listing "LICENSE-A LICENSE-B" or "LICENSE-A
    or LICENSE-B" or "(LICENSE-A OR LICENSE-B)" to "LICENSE-A OR LICENSE-B"
    as per the Linux Kernel style document. Note that parenthesis are
    allowed so when they were used before we continue to use them.

    Reviewed-by: Fabio Estevam
    Signed-off-by: Tom Rini

    Tom Rini
     
  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

28 Apr, 2018

1 commit


29 Mar, 2018

1 commit


20 Mar, 2018

1 commit


26 Jan, 2018

1 commit


10 Jan, 2018

1 commit

  • This allows to controls the memory internal mapping at
    address 0x0000 0000.
    We can either map at 0x0000 0000 :
    _ main flash memory
    _ system flash memory
    _ FMC bank1 (NOR/PSRAM 1 and 2)
    _ embedded SRAM
    _ FMC/SDRAM bank1

    This is needed for future STM32F469-disco board

    Signed-off-by: Patrice Chotard

    Patrice Chotard
     

01 Dec, 2017

1 commit

  • RK3128 support up to 2GB DDR3 sdram, one channel, 32bit data width.

    This patch is only used for U-Boot, but not for SPL which will
    comes later, maybe after we merge all the common code into a common
    file.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     

06 Nov, 2017

1 commit


04 Oct, 2017

1 commit

  • U-Boot widely uses error() as a bit noisier variant of printf().

    This macro causes name conflict with the following line in
    include/linux/compiler-gcc.h:

    # define __compiletime_error(message) __attribute__((error(message)))

    This prevents us from using __compiletime_error(), and makes it
    difficult to fully sync BUILD_BUG macros with Linux. (Notice
    Linux's BUILD_BUG_ON_MSG is implemented by using compiletime_assert().)

    Let's convert error() into now treewide-available pr_err().

    Done with the help of Coccinelle, excluing tools/ directory.

    The semantic patch I used is as follows:

    //
    @@@@
    -error
    +pr_err
    (...)
    //

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass
    [trini: Re-run Coccinelle]
    Signed-off-by: Tom Rini

    Masahiro Yamada
     

01 Oct, 2017

6 commits


19 Sep, 2017

1 commit

  • With the new 32/64bit-aware dtoc, the type of reg is fdt64_t and the
    OF_PLATDATA structure layout changes. This adjusts the DMC driver for
    the RK3368 to track these changes.

    For the time being (i.e. until regmap_init_mem_platdata works for the
    64bit case), we won't use regmap_init_mem_platdata here and simply
    access of_plat.reg[] directly.

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

    Philipp Tomsich
     

27 Aug, 2017

1 commit


13 Aug, 2017

3 commits

  • This adds a DRAM controller driver for the RK3368 and places it in
    drivers/ram/rockchip (where the other DM-enabled DRAM controller
    drivers for rockchip devices should also be moved eventually).

    At this stage, only the following feature-set is supported:
    - DDR3
    - 32-bit configuration (i.e. fully populated)
    - dual-rank (i.e. no auto-detection of ranks)
    - DDR3-1600K speed-bin

    This driver expects to run from a TPL stage that will later return to
    the RK3368 BROM. It communicates with later stages through the
    os_reg2 in the pmugrf (i.e. using the same mechanism as Rockchip's DDR
    init code).

    Unlike other DMC drivers for RK32xx and RK33xx parts, the required
    timings are calculated within the driver based on a target frequency
    and a DDR3 speed-bin (only the DDR3-1600K speed-bin is support at this
    time).

    The RK3368 also has the DDRC0_CON0 (DDR ch. 0, control-register 0)
    register for controlling the operation of its (single-channel) DRAM
    controller in the GRF block. This provides for selecting DDR3, mobile
    DDR modes, and control low-power operation.
    As part of this change, DDRC0_CON0 is also added to the GRF structure
    definition (at offset 0x600).

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

    Philipp Tomsich
     
  • To allow finer grained selection of features for TPL, we introduce
    TPL_RAM (in analogy to SPL_RAM).

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini

    Philipp Tomsich
     
  • This commit models the dependency from SPL_RAM to SPL_DM in Kconfig.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass
    Reviewed-by: Tom Rini

    Philipp Tomsich
     

26 Jul, 2017

5 commits


06 Jun, 2017

1 commit

  • If CONFIG_CLK flag is not set, compilation raises the
    following error message:

    drivers/ram/stm32_sdram.c: In function 'stm32_fmc_probe':
    drivers/ram/stm32_sdram.c:154:2: error: 'ret' undeclared (first use in this function)
    ret = stm32_sdram_init(dev);

    Signed-off-by: Patrice Chotard
    cc: Vikas Manocha

    Patrice Chotard
     

01 Jun, 2017

2 commits

  • 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
     
  • These support the flat device tree. We want to use the dev_read_..()
    prefix for functions that support both flat tree and live tree. So rename
    the existing functions to avoid confusion.

    In the end we will have:

    1. dev_read_addr...() - works on devices, supports flat/live tree
    2. devfdt_get_addr...() - current functions, flat tree only
    3. of_get_address() etc. - new functions, live tree only

    All drivers will be written to use 1. That function will in turn call
    either 2 or 3 depending on whether the flat or live tree is in use.

    Note this involves changing some dead code - the imx_lpi2c.c file.

    Signed-off-by: Simon Glass

    Simon Glass