27 Aug, 2020

1 commit

  • The eSDHC adapter card identification and multiplexing configuration
    through FPGA had been implemented in both common mmc driver and
    fsl_esdhc driver. However it is proper to move these code to board
    files and do it during board initialization. The FPGA registers are
    also board specific.

    This patch is to move eSDHC adapter card identification and
    multiplexing configuration from mmc driver to specific board files.
    And the option CONFIG_FSL_ESDHC_ADAPTER_IDENT is no longer needed.

    Signed-off-by: Yangbo Lu
    [Rebased, Removed T1040QDS change as board does not exist]
    Signed-off-by: Priyanka Jain

    Yangbo Lu
     

29 Feb, 2020

1 commit


13 Feb, 2020

1 commit


11 Feb, 2020

1 commit


06 Feb, 2020

1 commit

  • This is needed when importing mainline DTs into U-Boot, as some started
    using this /omit-if-no-ref/ tag, so won't compile with U-Boot's current
    dtc copy. This is just a cherry-pick of the patch introducing this
    feature.
    Original commit message from Maxime:
    ------------------
    A number of platforms have a need to reduce the number of DT nodes,
    mostly because of two similar constraints: the size of the DT blob, and
    the time it takes to parse it.

    As the DT is used in more and more SoCs, and by more projects, some
    constraints start to appear in bootloaders running from SRAM with an
    order of magnitude of 10kB. A typical DT is in the same order of
    magnitude, so any effort to reduce the blob size is welcome in such an
    environment.

    Some platforms also want to reach very fast boot time, and the time it
    takes to parse a typical DT starts to be noticeable.

    Both of these issues can be mitigated by reducing the number of nodes in
    the DT. The biggest provider of nodes is usually the pin controller and
    its subnodes, usually one for each valid pin configuration in a given
    SoC.

    Obviously, a single, fixed, set of these nodes will be used by a given
    board, so we can introduce a node property that will tell the DT
    compiler to drop the nodes when they are not referenced in the tree, and
    as such wouldn't be useful in the targetted system.

    Signed-off-by: Maxime Ripard
    Reviewed-by: Rob Herring
    Signed-off-by: Andre Przywara
    Reviewed-by: Simon Glass

    Maxime Ripard
     

03 Feb, 2020

1 commit

  • Migrate CONFIG_DESIGNWARE_WATCHDOG to Kconfig and update the headers
    accordingly, no functional change. The S10 enables the WDT only in
    SPL, but does not enable it in U-Boot itself, hence disable it in
    the config again.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dalon Westergreen
    Cc: Dinh Nguyen
    Cc: Jagan Teki
    Cc: Ley Foon Tan
    Cc: Philipp Tomisch
    Cc: Simon Goldschmidt
    Cc: Tien Fong Chee

    Marek Vasut
     

31 Jan, 2020

2 commits

  • Same as the upstream fix for building dtc with gcc 10.

    Signed-off-by: Peter Robinson

    Peter Robinson
     
  • In upstream libfdt, 6dcb8ba4 "libfdt: Add helpers for accessing
    unaligned words" introduced changes to support unaligned reads for ARM
    platforms and 11738cf01f15 "libfdt: Don't use memcpy to handle unaligned
    reads on ARM" improved the performance of these helpers.

    In practice however, this only occurs when the user has forced the
    device tree to be placed in memory in a non-aligned way, which in turn
    violates both our rules and the Linux Kernel rules for how things must
    reside in memory to function.

    This "in practice" part is important as handling these other cases adds
    visible (1 second or more) delay to boot in what would be considered the
    fast path of the code.

    Cc: Patrice CHOTARD
    Cc: Patrick DELAUNAY
    Link: https://www.spinics.net/lists/devicetree-compiler/msg02972.html
    Signed-off-by: Tom Rini
    Tested-by: Patrice Chotard

    Tom Rini
     

28 Jan, 2020

1 commit

  • This can be used for device tree size reduction similar as
    CONFIG_OF_SPL_REMOVE_PROPS option. Some boards must pass the
    built-in DTB unchanged to the kernel, thus we may not cut it
    down unconditionally. Therefore enable the property removal
    list option only if CONFIG_OF_DTB_PROPS_REMOVE is selected.

    Signed-off-by: Anatolij Gustschin

    Anatolij Gustschin
     

23 Jan, 2020

4 commits


18 Jan, 2020

3 commits


16 Jan, 2020

1 commit

  • The below patch added eSDHC periperhal clock code initially.
    2d9ca2c mmc: fsl_esdhc: Add peripheral clock support

    The purpose was to fix up device tree properties "peripheral-frequency"
    so that linux could get the periperhal clock by it.
    However the implementation on both u-boot and linux was only
    for a Freescale SDK release. The linux part implementation had never
    been upstreamed. These code should not have been exist on u-boot
    mainline.

    Let's remove the powerpc part changes but keep the changes in
    fsl_esdhc driver. The changes in fsl_esdhc driver could be utilized
    to support SD UHS and eMMC HS200/HS400 speed modes for current
    Layerscape ARM platforms.

    Signed-off-by: Yangbo Lu

    Yangbo Lu
     

10 Jan, 2020

2 commits


08 Jan, 2020

1 commit


07 Jan, 2020

3 commits


23 Dec, 2019

2 commits


15 Dec, 2019

2 commits

  • When device-tree compilation fails it is sometimes tricky to see which
    line is broken, since the input file to dtc is a pre-processed version
    of the device tree.

    Add a line that points to the file that needs to be checked:

    When the error is in the main .dts file, output is something like this:

    output: 'Error: arch/x86/dts/.chromebook_coral.dtb.pre.tmp:478.46-47
    syntax error
    FATAL ERROR: Unable to parse input tree

    but in fact looking at that file shows nothing useful:

    PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_157, UP_20K, DEEP, NF1, HIZCRX1, DISPUPD)

    Instead we need to look at the preprocessed file, which shows:

    163 ((1U << 30) | (1 << 10)) ((0xb << 10) | PAD_CFG1_IOSSTATE_HIZCRX1)

    Here it is clear that PAD_CFG1_IOSSTATE_HIZCRX1 is not defined and so is
    not being resolved by the preprocessor.

    This commit adds an additional useful message:

    Check arch/x86/dts/.chromebook_coral.dtb.dts.tmp for errors

    Note that if the error is reported in an included file, such as
    u-boot.dtsi then the output is the following:

    Error: arch/x86/dts/u-boot.dtsi:137.14-15 syntax error
    FATAL ERROR: Unable to parse input tree

    But again, if the error is due to a preprocessor failure, like this:

    filename = CONFIG_IFW_INPUT_FILE;

    then you can't tell what the problem is by looking at the source. All you
    see is the original code:

    intel-ifwi {
    filename = CONFIG_IFW_INPUT_FILE;
    ...
    };
    };
    intel-fsp-m {
    filename = CONFIG_FSP_FILE_M;
    };

    Everything looks fine. But looking at the output of the preprocessor:

    intel-ifwi {
    filename = CONFIG_IFW_INPUT_FILE;
    ...
    };
    intel-fsp-m {
    filename = "fsp_m.bin";
    };

    This shows that the filename (normally "fitimage.bin") has not been
    inserted the preprocess, leading to the realisation that the value should
    be CONFIG_IFWI_INPUT_FILE.

    If the above does not make sense, I encourage people to try introducing
    errors in the device tree preprocessed values.

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

    Simon Glass
     
  • At present if CONFIG_SPL_GPIO_SUPPORT is enabled then the GPIO uclass
    is included in SPL/TPL without any control for boards. Some boards may
    want to disable this to reduce code size where GPIOs are not needed in
    SPL or TPL.

    Add a new Kconfig option to permit this. Default it to 'y' so that
    existing boards work correctly.

    Change existing uses of CONFIG_DM_GPIO to CONFIG_IS_ENABLED(DM_GPIO) to
    preserve the current behaviour. Also update the 74x164 GPIO driver since
    it cannot build with SPL.

    This allows us to remove the hacks in config_uncmd_spl.h and
    Makefile.uncmd_spl (eventually those files should be removed).

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

    Simon Glass
     

07 Dec, 2019

4 commits


05 Dec, 2019

1 commit


03 Dec, 2019

2 commits


24 Nov, 2019

1 commit


23 Nov, 2019

1 commit

  • The 'debug' and 'printf' functions were previously added to the list of
    logFunctions in commit 0cab42110dbf ("checkpatch.pl: Add 'debug' to
    the list of logFunctions") and commit 397bfd4642c1 ("checkpatch.pl:
    Add 'printf' to logFunctions") but these additions were lost when newer
    versions of checkpatch were pulled in from the upstream Linux
    kernel version.

    This restores them so that you don't end up in a situation where
    checkpatch will give a warning for "quoted string split across lines"
    which you cannot fix without getting a warning for "line over 80
    characters" instead.

    Signed-off-by: James Byrne

    James Byrne
     

21 Nov, 2019

3 commits

  • Rsync all defconfig files using moveconfig.py

    Signed-off-by: Tom Rini

    Tom Rini
     
  • - In ARMv8 NXP Layerscape platforms we also need to make use of
    CONFIG_SYS_RELOC_GD_ENV_ADDR now, do so.
    - On ENV_IS_IN_REMOTE, CONFIG_ENV_OFFSET is never used, drop the define
    to 0.
    - Add Kconfig entry for ENV_ADDR.
    - Make ENV_ADDR / ENV_OFFSET depend on the env locations that use it.
    - Add ENV_xxx_REDUND options that depend on their primary option and
    SYS_REDUNDAND_ENVIRONMENT
    - On a number of PowerPC platforms, use SPL_ENV_ADDR not CONFIG_ENV_ADDR
    for the pre-main-U-Boot environment location.
    - On ENV_IS_IN_SPI_FLASH, check not for CONFIG_ENV_ADDR being set but
    rather it being non-zero, as it will now be zero by default.
    - Rework the env_offset absolute in env/embedded.o to not use
    CONFIG_ENV_OFFSET as it was the only use of ENV_OFFSET within
    ENV_IS_IN_FLASH.
    - Migrate all platforms.

    Cc: Wolfgang Denk
    Cc: Joe Hershberger
    Cc: Patrick Delaunay
    Cc: uboot-stm32@st-md-mailman.stormreply.com
    Signed-off-by: Tom Rini
    Acked-by: Joe Hershberger
    Reviewed-by: Simon Goldschmidt

    Tom Rini
     
  • We have CONFIG_ENV_SIZE_IS_REDUND but don't really use it. We have one
    board where we can simply multiple CONFIG_ENV_SIZE by two for the same
    result. The other place where we could but were not previously using
    this is for where env_internal.h checks for if we should set
    ENV_IS_EMBEDDED. This seems like the most likely use, historically, of
    the variable, but it was not used. Add logic to check for this now.

    Cc: Wolfgang Denk
    Cc: Joe Hershberger
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Acked-by: Joe Hershberger

    Tom Rini
     

17 Nov, 2019

1 commit

  • Right now enabling SPL_FRAMEWORK will also enable it for the TPL in all
    cases, making the TPL bigger. There may be cases where the TPL is really
    size constrained due to its underlying ram size.

    Therefore introduce a new TPL_FRAMEWORK option and make the relevant
    conditionals check for both. The default is set to "y if SPL_FRAMEWORK"
    to mimic the previous behaviour where the TPL would always get the
    SPL framework if it was enabled in SPL.

    Signed-off-by: Heiko Stuebner
    Reviewed-by: Kever Yang

    Heiko Stuebner