Skip to content
Permalink
Branch: master
Commits on Jul 20, 2019
  1. dts: riscv32: rv32m1: Disable unused interrupt multiplexers

    ulfalizer authored and galak committed Jul 19, 2019
    Commit 948ef47 ("dts: riscv32: Add rv32m1 zero-riscy core") put
    common ri5cy and zero_riscy DT parts in rv32m1.dtsi, with two separate
    rv32m1_ri5cy.dtsi rv32m1_zero_riscy.dtsi files that #include it.
    
    The two interrupt multiplexers are defined in the common rv32m1.dtsi
    file, but rv32m1_ri5cy.dtsi rv32m1_zero_riscy.dtsi each only specify
    'interrupts' for one of them. Since 'interrupts' is 'category: required'
    in openisa,rv32m1-intmux.yaml, this leads to warnings (or errors with
    the new DT parser).
    
    Disable (status = "disabled") the two interrupt multiplexers in the
    common rv32m1.dtsi file and enable them in the board-specific files to
    fix it. Required props. are only checked for enabled nodes.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. boards/arm/mps2_an521: Add missing timer labels to dts

    ulfalizer authored and nashif committed Jul 19, 2019
    The bindings for arm,cmsdk-{d}timer requires a label so add it into the
    dts since its missing on mps2_an521.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
    Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Commits on Jul 19, 2019
  1. dts: bindings: Do not require 'interrupts' on STM32 GPIO nodes

    ulfalizer authored and galak committed Jul 16, 2019
    I'm guessing STM32 GPIO nodes don't generate interrupts, because I can't
    find any device tree nodes with 'compatible = "st,stm32-gpio"' and an
    'interrupts' property.
    
    Remove the required 'interrupts' property from the binding. This fixes a
    bunch of errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. dts: Add missing spi-max-frequency for mimxrt/nxp/hifive1/qemu_riscv2

    ulfalizer authored and galak committed Jul 16, 2019
    spi-max-frequency is marked as required in
    dts/bindings/mtd/jedec,spi-nor.yaml.
    
    I took the value from the datasheets (133 MHz for all), and guessed that
    a dummy entry is fine for QEMU.
    
    Fixes some errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  3. dts: bindings: simplify !include in jedec,spi-nor

    ulfalizer authored and galak committed Jul 18, 2019
    No need to use an array when !including a single binding.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jul 17, 2019
  1. dts: bindings: Make 'clocks' optional in nxp,{imx-uart,lpc-usart}.yaml

    ulfalizer authored and galak committed Jul 16, 2019
    These bindings override the 'category: optional' for 'clocks' from
    uart.yaml with 'category: required', but none of the nodes that use the
    bindings set 'clocks'.
    
    Maybe it's a copy-paste error. Remove the 'clock' overrides.
    
    Fixes some errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. dts: bindings: Make 'clocks' optional in adc.yaml

    ulfalizer authored and galak committed Jul 16, 2019
    These bindings !include adc.yaml, but their device tree nodes never set
    'clocks':
    
        dts/bindings/iio/adc/atmel,sam-afec.yaml
        dts/bindings/iio/adc/atmel,sam0-adc.yaml
        dts/bindings/iio/adc/nordic,nrf-adc.yaml
        dts/bindings/iio/adc/nordic,nrf-saadc.yaml
    
    The nodes for these bindings do set it (think it's consistent for
    st,stm32-adc.yaml):
    
        dts/bindings/iio/adc/nxp,kinetis-adc12.yaml
        dts/bindings/iio/adc/st,stm32-adc.yaml
    
    Make 'clocks' optional in adc.yaml. Maybe it should be changed to
    required on some platforms (!including bindings can change 'optional' to
    'required').
    
    Fixes a bunch of errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  3. dts: bindings: Make 'clocks' optional in pwm.yaml

    ulfalizer authored and galak committed Jul 16, 2019
    Looks like no nodes with bindings that inherit pwm.yaml might be setting
    'clocks'.
    
    Fixes some errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  4. dts: bindings: Make 'clocks' optional in i2c.yaml

    ulfalizer authored and galak committed Jul 16, 2019
    Setting it seems rare. Maybe it could be changed to required on just
    some platforms (!including bindings can change 'optional' to
    'required').
    
    Fixes a bunch of errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  5. dts: bindings: Do not require a 'reg' property for snps,arcv2-intc

    ulfalizer authored and galak committed Jul 16, 2019
    None of the interrupt controller nodes that use this binding in the
    device tree files set 'reg' (or have a unit address).
    
    Fixes a bunch of errors in
    #17532.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jul 16, 2019
  1. dts: bindings: Remove dead 'label:' keys on properties

    ulfalizer authored and galak committed Jul 15, 2019
    Note that these appear as
    
      properties: {erase,write}-block-size: label: ...
    
    rather than as
    
      properties: label: ...
    
    I can't see anything looking at 'label' for individual properties in
    bindings, so it's probably dead code. Labels are fetched from the device
    tree in extract/flash.py.
    
    Piggyback removal of some 'generation: define's and a redundant pair of
    YAML document separators.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jul 10, 2019
  1. dts/bindings: Clarify #cells in template

    ulfalizer authored and galak committed Jul 9, 2019
    Add a device tree example to make it easier to see how things fit
    together.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 24, 2019
  1. genrest: De-spam docs by skipping direct deps. in more places

    ulfalizer authored and andrewboie committed Jun 24, 2019
    Similar deal to commit cc14c40 ("kconfiglib: Unclutter symbol
    strings, avoid redundant writes, misc.").
    
    Hide the direct dependencies in the defaults, selects, and implies
    sections. Do the same in menuconfig/guiconfig as well.
    
    This uses a new Kconfiglib API, so update Kconfiglib to upstream
    revision 164ef007a8. This also includes some minor optimizations and
    cleanups.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 20, 2019
  1. scripts/dts: Clarify extract/flash.py some more

    ulfalizer authored and carlescufi committed Jun 17, 2019
    Think I understand it now, and that was the goal.
    
     - _extract_partition() adds index-based entries. extract_partition()
       adds label-based entries.
    
       Rename them to _add_partition_index_entries() and
       _add_partition_label_entries(), and call them from a top-level
       extract_partition() function.
    
       This makes the logic clearer. It took me a long time to spot it.
    
     - Generate indicies with a simple counter and remove the _flash_area
       logic. This would break if partitions were extracted more than once,
       but they aren't, and now you know that they can't be.
    
     - Rename _create_legacy_label() to add_legacy_alias() and make it
       global. It doesn't use 'self'.
    
     - Break the logic for finding the flash controller into a separate
       helper function
    
     - Add doc-comments for the new functions
    
     - Misc. other small clean-ups
    
    generated_dts_board.conf and generated_dts_board_unfixed.h were verified
    to be identical for disco_l475_iot1 and frdm_kw41z before and after the
    cleanup.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 19, 2019
  1. yaml: Remove redundant document separators

    ulfalizer authored and carlescufi committed Jun 18, 2019
    YAML document separators are needed e.g. when doing
    
      $ cat doc1.yaml doc2.yaml | <parser>
    
    For the bindings, we never parse concatenated documents. Assume we don't
    for any other .yaml files either.
    
    Having document separators in e.g. base.yaml makes !include a bit
    confusing, since the !included files are merged and not separate
    documents (the merging is done in Python code though, so it makes no
    difference for behavior).
    
    The replacement was done with
    
        $ git ls-files '*.yaml' | \
            xargs sed -i -e '${/\s*\.\.\.\s*/d;}' -e 's/^\s*---\s*$//'
    
    First pattern removes ... at the end of files, second pattern clears a
    line with a lone --- on it.
    
    Some redundant blank lines at the end of files were cleared with
    
        $ git ls-files '*.yaml' | xargs sed -i '${/^\s*$/d}'
    
    This is more about making sure people can understand why every part of a
    binding is there than about removing some text.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 18, 2019
  1. drivers: pinmux: stm32l4: Fix CONFIG_SOC_STM32L496XX references

    ulfalizer authored and andrewboie committed Jun 18, 2019
    CONFIG_SOC_STM32L496XG was renamed to CONFIG_SOC_STM32L496XX by commit
    dbad99e ("soc: stm32: STM32L4: Remove useless package digit").
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 16, 2019
  1. scripts/dts: Make extract/flash.py easier to read

    ulfalizer authored and nashif committed Jun 13, 2019
    Clean up the code a bit:
    
     - Simplify the loops over the flash 'reg' properties by using range()
    
     - Build identifier names with a plain .format() where possible. This
       makes them stand out better in the code.
    
     - Remove redundant variables
    
     - Move variables close to where they're used
    
     - Misc. other minor improvements
    
    generated_dts_board.conf and generated_dts_board_unfixed.h were verified
    to be identical for disco_l475_iot1 and frdm_kw41z before and after the
    cleanup.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 15, 2019
  1. dts: Replace status = "ok" with status = "okay"

    ulfalizer authored and galak committed Jun 14, 2019
    The DT spec. only has "okay" and not "ok". The Linux kernel has around
    12k "okay"s and 300 "ok"s.
    
    The scripts/dts scripts only check for "disabled", so should be safe re.
    those at least.
    
    The replacement was done with
    
        git ls-files | xargs sed -i 's/status\s*=\s*"ok"/status = "okay"/'
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on Jun 7, 2019
  1. kconfig.py: Use messages returned by load_config() and write_config()

    ulfalizer authored and carlescufi committed Jun 3, 2019
    load_config() and write_config() now return a message to print. This
    message also says whether the configuration was loaded (replace=True) or
    merged (replace=False), and whether the new .config is different from
    the old (for write_config()).
    
    Print the returned messages and remove some old print()s.
    
    Also switch to an improved warning control API (the old one is still
    supported, but might as well).
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. genrest: Mention that dependencies are only propagated to 'depends on'

    ulfalizer authored and carlescufi committed Jun 3, 2019
    A recent Kconfiglib change turns
    
        config A
                bool
                prompt "foo" if C && D
                default A if B && C && D
                depends on C && D
    
    into
    
        config A
                bool "foo"
                default A if B
                depends on C && D
    
    Where e.g. D might be from a surrounding menu/if.
    
    Update the note at the end of symbol pages to clarify that only the
    'depends on' includes propagated dependencies.
    
    Piggyback some minor cleanup.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  3. kconfiglib: Unclutter symbol strings, avoid redundant writes, misc.

    ulfalizer authored and carlescufi committed Jun 3, 2019
    Update kconfiglib, menuconfig, and guiconfig to upstream revision
    5c904f4549 to get various improvements and fixes in:
    
     - Marc Herbert found an issue involving symlinks, absolute paths,
       and rsource that could lead to files not being found. The root cause
       was relpath() assuming that symlink/../bar is the same as bar/, which
       isn't guaranteed.
    
       Fix it by handling paths in a simpler, more textual way.
    
     - Propagated dependencies from 'depends on' are now stripped from
       properties when symbols are printed (e.g. in information dialogs and
       generated documentation).
    
       The printed representation now also uses shorthands.
    
       Before:
    
         config A
                 bool
                 prompt "foo" if C && D
                 default A if B && C && D
                 depends on C && D
    
       After:
    
         config A
                 bool "foo"
                 default A if B
                 depends on C && D
    
     - Before writing a configuration file or header, Kconfiglib now
       compares the previous contents of the file against the new contents,
       and skips the write if there's no change. This avoids updating the
       modification time, and can save work.
    
       A message like "No change to '.config'" is shown when there's no
       change.
    
     - .config now has '# end of <menu>' comments to make it easier to see
       where a menu ends. This was taken from a change to the C tools.
    
     - load_config() and write_(min_)config() now return a message that can
       be printed with print(kconf.load_config()). This allows messages to
       be reused in e.g. the configuration interfaces (nice now that there's
       also a "No change to..." string).
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 30, 2019
  1. doc: Add guiconfig documentation

    ulfalizer authored and nashif committed May 6, 2019
    Add documentation for the new GUI configuration interface in the
    Application Development guide.
    
    Also update all the images, touch up the language a bit, and tweak some
    minor stuff:
    
     - Say *.conf instead of .conf to make it clearer that .conf isn't the
       literal name
    
     - Add a missing -D<board> argument when running cmake
    
     - Use figure:: instead of image::. Comes out left-aligned and with
       space between the images, which looks nicer.
    
     - Explain what '- -' and '-*-' means in the terminal menuconfig.
    
    tkinter isn't included by default in many Python installations, despite
    being part of the Python standard library, so also add the required
    packages to the Development Environment Setup section of the manual. Add
    a note to the Application Development section as well, to help
    debugging.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. guiconfig: Add a graphical configuration interface

    ulfalizer authored and nashif committed May 6, 2019
    This is a graphical configuration interface written in Tkinter. Like
    menuconfig.py, it supports showing all symbols (with invisible symbols
    in red) and jumping directly to symbols. Symbol values can also be
    changed directly from the jump-to dialog.
    
    This interface should feel a lot smoother than menuconfig.py on Windows.
    
    When single-menu mode is enabled, a single menu is shown at a time, like
    in the terminal menuconfig. Only this mode distinguishes between symbols
    defined with 'config' and symbols defined with 'menuconfig'.
    
    Compatible with both Python 2 and Python 3. Has been tested on X11,
    Windows, and macOS.
    
    To avoid having to carry around a bunch of GIFs, the image data is
    embedded in guiconfig.py. To use separate GIF files instead, change
    _USE_EMBEDDED_IMAGES to False. The image files can be found in
    https://github.com/ulfalizer/Kconfiglib/tree/screenshots/guiconfig.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  3. menuconfig: Small Space/Enter improvement + fix for obscure bug

    ulfalizer authored and nashif committed May 6, 2019
    Update menuconfig (and Kconfiglib, just to sync) to upstream revision
    7e0b9f7ae1, to get these commits in:
    
      menuconfig: Improve space/enter behavior slightly
    
      Space toggles value is possible, and enters menus otherwise. Enter
      works the other way around.
    
      Make this explicit in the code, which also fixes some corner cases,
      like space doing nothing on a y-selected menuconfig symbol.
    
      -------------------------------------------------------------------
    
      menuconfig: Fix display issue for unsatisfied-deps selected symbol
      with children
    
      A symbol with unsatisfied direct dependencies can end up with visible
      children in an implicit submenu if it is selected (though that
      generates a warning), so the optimization in _shown_nodes() isn't
      safe, and causes the child nodes to not be shown outside show-all
      mode.
    
      Just remove the optimization. Trying things out some more,
      everything's plenty fast enough anyway.
    
      Checking the direct dependencies of the parent instead would be safe.
    
    The menu path now says "(Top)" instead of "(top menu)" too, which is a
    bit more compact. Make the same change in genrest.py.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 24, 2019
  1. doc: kconfig: Fix typo in documentation for 'optional' on choices

    ulfalizer authored and nashif committed May 23, 2019
    Like for other choices, it's the prompt that gets displayed within the
    parentheses, not the symbol name.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. doc: kconfig: Encourage dropping 'Enable ...' from most prompts

    ulfalizer authored and nashif committed May 23, 2019
    Usually, it's clear from context, and it makes things consistent.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  3. doc: kconfig: Explain the 'menuconfig' keyword and good uses for it

    ulfalizer authored and nashif committed May 23, 2019
    Takes a while to figure out what it's there for, so explain what it does
    and give an example of a good use for it.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  4. doc: kconfig: Clarify that 'depends on' works for string/int/hex

    ulfalizer authored and nashif committed May 23, 2019
    Seems people are a bit hazy on this, so explain how it works.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 21, 2019
  1. lvgl: kconfig: Remove menu and use a 'menuconfig' symbol

    ulfalizer authored and MaureenHelm committed May 21, 2019
    The 'Graphical user interface' menu currently contains just the
    'LittlevGL Support' symbol and its indented children.
    
    To remove one menu level, remove the 'Graphical user interface' menu,
    rename the symbol to 'LittlevGL GUI library' (consistent with e.g.
    'Logging' and 'Bluetooth'), and turn it into a 'menuconfig' symbol.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 20, 2019
  1. disk: kconfig: Group related symbols and use 'menuconfig' symbol

    ulfalizer authored and nashif committed May 15, 2019
    Put the symbols that depend on DISK_ACCESS_{RAM,FLASH,SDHC} directly
    after the symbol they depend on, so that they end up in an implicit
    indented menu. That makes it easier to see which symbols are related.
    
    It also indirectly makes all symbols children of DISK_ACCESS. To save a
    menu level, turn DISK_ACCESS into a 'menuconfig' symbol and put it in
    the top-level menu. Change its prompt from "Enable Disk Interface" to
    "Disk Interface", to be consistent with e.g. "Logging".
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 18, 2019
  1. doc: kconfig: Fix accidental SPDX-License-Identifier in generated doc

    ulfalizer authored and galak committed May 17, 2019
    RST uses '..' for comments, not '#'. The license line currently shows up
    on https://docs.zephyrproject.org/latest/guides/kconfig/index.html
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. kconfig: Use 'CONFIG_FOO_*' in #endif comments to avoid CI failures

    ulfalizer authored and galak committed May 17, 2019
    zephyrproject-rtos/ci-tools#65 tweaks the check
    for references to undefined Kconfig symbol to whitelist anything on the
    form 'CONFIG_FOO_*' (or 'CONFIG_FOO_*_...'). This is meant for #endif
    comments that talk about many related symbols.
    
    Fix two existing #endif comments to use that format, so that some
    entries can be removed from the whitelist in the CI check.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 16, 2019
  1. c++: kconfig: Fix choice dependencies and use 'menuconfig' symbol

    ulfalizer authored and galak committed May 15, 2019
     - Make the 'C++ Standard' choice depend on CPLUSPLUS, so that it only
       shows up when C++ support is enabled.
    
       Also check that CPLUSPLUS is enabled before checking the standard in
       the top-level CMakeLists.txt, to avoid triggering an assert.
    
     - The 'C++ Options' menu now contains just CPLUSPLUS and its indented
       children. Remove one menu level by removing the menu and turning
       CPLUSPLUS into a 'menuconfig' symbol. Also change the prompt from
       "Enable C++ support for the application" to just "C++ support for the
       application", to make it consistent with e.g. "Logging".
    
     - Factor out the common CPLUSPLUS dependency with an 'if CPLUSPLUS'.
    
     - Order symbol properties more consistently with other Kconfig files,
       with the prompt at the top, etc.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Commits on May 15, 2019
  1. subsys/random: Hide 'Random generator' choice when empty

    ulfalizer authored and galak committed May 13, 2019
    Prevent the choice from showing up in the menu when none of the choice
    symbols are visible.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
  2. console: kconfig: Put 'menuconfig CONSOLE_SUBSYS' in top-level menu

    ulfalizer authored and galak committed May 13, 2019
    The 'Console' menu contains just 'config CONSOLE_SUBSYS' and its
    indented children.
    
    Remove one menu level by removing the 'Console' menu and turning
    CONSOLE_SUBSYS into a 'menuconfig' symbol.
    
    Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Older
You can’t perform that action at this time.