Skip to content
Snippets Groups Projects
  1. Feb 06, 2020
    • Maxime Ripard's avatar
      dtc: add ability to make nodes conditional on them being referenced · 5ed2dc56
      Maxime Ripard authored
      
      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: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      5ed2dc56
  2. Feb 03, 2020
    • Marek Vasut's avatar
      watchdog: designware: Migrate CONFIG_DESIGNWARE_WATCHDOG to Kconfig · 8941f841
      Marek Vasut authored
      
      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: default avatarMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <chin.liang.see@intel.com>
      Cc: Dalon Westergreen <dwesterg@gmail.com>
      Cc: Dinh Nguyen <dinguyen@kernel.org>
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Cc: Ley Foon Tan <ley.foon.tan@intel.com>
      Cc: Philipp Tomisch <philipp.tomisch@theobroma-systems.com>
      Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
      Cc: Tien Fong Chee <tien.fong.chee@intel.com>
      8941f841
  3. Jan 30, 2020
  4. Jan 28, 2020
  5. Jan 24, 2020
  6. Jan 23, 2020
  7. Jan 22, 2020
  8. Jan 17, 2020
  9. Jan 16, 2020
    • Yangbo Lu's avatar
      powerpc/mpc85xx: drop eSDHC periperhal clock code · c2a8b4f8
      Yangbo Lu authored
      
      The below patch added eSDHC periperhal clock code initially.
      2d9ca2c7 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: default avatarYangbo Lu <yangbo.lu@nxp.com>
      c2a8b4f8
  10. Jan 10, 2020
  11. Jan 07, 2020
  12. Dec 23, 2019
  13. Dec 15, 2019
    • Simon Glass's avatar
      fdt: Show the preprocessed .dts file on error · 1653b6a4
      Simon Glass authored
      
      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: default avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
      1653b6a4
    • Simon Glass's avatar
      dm: gpio: Allow control of GPIO uclass in SPL · bcee8d67
      Simon Glass authored
      
      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: default avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
      bcee8d67
  14. Dec 06, 2019
  15. Dec 04, 2019
  16. Dec 03, 2019
  17. Dec 02, 2019
  18. Nov 23, 2019
  19. Nov 21, 2019
  20. Nov 20, 2019
    • Tom Rini's avatar
      env: Finish migration of common ENV options · a09fea1d
      Tom Rini authored
      
      - 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 <wd@denx.de>
      Cc: Joe Hershberger <joe.hershberger@ni.com>
      Cc: Patrick Delaunay <patrick.delaunay@st.com>
      Cc: uboot-stm32@st-md-mailman.stormreply.com
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Acked-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
      Reviewed-by: default avatarSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
      a09fea1d
    • Tom Rini's avatar
      env: Remove useless CONFIG_ENV_SIZE_REDUND and fix ENV_IS_REDUND check · a8992e78
      Tom Rini authored
      
      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 <wd@denx.de>
      Cc: Joe Hershberger <joe.hershberger@ni.com>
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      Acked-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
      a8992e78
  21. Nov 17, 2019
  22. Nov 12, 2019
  23. Nov 07, 2019
Loading