Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream changes into mbed-ce #117

Merged
merged 59 commits into from
Jan 1, 2023
Merged

Merge upstream changes into mbed-ce #117

merged 59 commits into from
Jan 1, 2023

Commits on Aug 4, 2022

  1. Fix for calculating CAN timing settings.

    NominalPrescaler value needs to be as high as possible to ensure a good approximation of the target CAN speed.
    Previous usage of macro IS_FDCAN_DATA_TSEG1 refers to (unsupported by Mbed ) FDCAN CAN controller settings and leads to too low prescaler values.
    Usage Macro IS_FDCAN_NOMINAL_TSEG1 yields optimum results.
    See also correct macro usage in line #158.
    chdelfs committed Aug 4, 2022
    Configuration menu
    Copy the full SHA
    581cd80 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2022

  1. Add complete support of DHCP relay interface ID option

    RFC3315 specifies the following: "The relay agent MAY send the Interface-id
    option to identify the interface on which the client message was received.
    If a relay agent  receives a Relay-reply message with an Interface-id
    option, the relay agent relays the message to the client through the
    interface identified by the option."
    
    The current implementation of the DHCP relay reply handling, the interface
    ID field from the server response is ignored. Managing the interface ID
    is very important especially as DHCP requests/replies use link-local
    addresses. The consequence of this is that the interface must always be
    specified because the routing layer cannot guess the correct interface.
    Moreover, Mbed provides a mechanism to enable/disable the interface ID
    option on a DHCP relay instance, so it is important to fully support it.
    
    The reason why this issue has not been discoverd until now is that the DHCP
    relay is mainly used on systems that use only one interface (such as Wi-SUN
    routers). By default, when no interface ID is specified for the socket, the
    latter will choose 6loWPAN interface by default. This means that if two
    interfaces are used on the same device, the 6loWPAN interface is always
    selected.
    
    The commit adds code to retrieve the interface-id value contained within
    the DHCP relay reply message and write it to a control message header
    that is added to the socket message. This tells the socket which
    interface to choose. If the interface-id option is not enabled on the
    relay, this procedure is simply ignored.
    YannCharbon committed Aug 30, 2022
    Configuration menu
    Copy the full SHA
    0d2badf View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2022

  1. Support Nuvoton target NUMAKER_IOT_M467

    1.  Based on alpha version BSP (85564a2716548e7b6d6a79a490c6d94a24cf9bcf)
    2.  Continuing above, tweak BSP:
        (1) Add EPWM_ConfigOutputChannel2() to enable below 1Hz and below 1% duty cycle for PWM output (m460_epwm.h/c).
        (2) Add dummy RTC_WaitAccessEnable() for consistency with previous ports (m460_rtc.h).
    3.  Target NuMaker-M467HJ V0.1 board temporarily
    4.  Support Arduino UNO form factor for NUMAKER_IOT_M467 target
    5.  Enable export to Keil/IAR project
        -   tools/arm_pack_manager/index.json
        -   tools/export/iar/iar_definitions.json
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    df77485 View commit details
    Browse the repository at this point in the history
  2. M467: Fix Greentea reset_reason test failure

    HRESETRF is combined reset flag. Filter it out to avoid interference with reset reason check.
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    8da2e31 View commit details
    Browse the repository at this point in the history
  3. M467: Support HyperRAM

    1.  For GCC, support multi-block .data/.bss initialization
    2.  HyperRAM is mapped to two regions: 0x0A000000 and 0x80000000
        According to default system address map, 0x0A000000 is located at 'Code' region and 0x80000000 at 'RAM' region.
        With MPU enabled on Mbed OS, 'Code' region is write-never and 'RAM' region execute-never.
        0x80000000 is chosen because 'RAM' regioin is naturally for HyperRAM.
    3.  Configurable multi-function pins for HBI
    4.  To locate code/data at external HyperRAM:
        -   Specify __attribute__((section(".text.nu.exthyperram"))) for RO/.text/readonly section type
            Invoke mbed_mpu_manager_lock_ram_execution()/mbed_mpu_manager_unlock_ram_execution() to run HyperRAM code
        -   Specify __attribute__((section(".data.nu.exthyperram"))) for RW/.data/readwrite section type
        -   Specify __attribute__((section(".bss.nu.exthyperram"))) for ZI/.bss/zeroinit section type
    5.  Add readme
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    0494866 View commit details
    Browse the repository at this point in the history
  4. Config for M460 EMAC

    cyliangtw authored and ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    501aa00 View commit details
    Browse the repository at this point in the history
  5. Add M460 EMAC driver

    cyliangtw authored and ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    877541d View commit details
    Browse the repository at this point in the history
  6. Adjust M460 EMAC RX/TX buffer

    cyliangtw authored and ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    679c747 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ec2c155 View commit details
    Browse the repository at this point in the history
  8. M467: Support Crypto SHA/ECC H/W

    1.  Prepare crypto common code
    2.  Support list
        -   SHA
        -   ECC
        NOTE: AES/RSA are to support in other works
        NOTE: Compared to M487, M467's SHA supports context save & restore (DMA Cascade mode) and so no software fallback is needed.
        NOTE: M467's ECC, following M487, goes partial-module replacement and it can just improve primitives e.g. point addition/doubling by 2X,
              and cannot improve high level point multiplication because MbedTLS doesn’t open it.
              To improve performance best, full-module replacement is needed.
        NOTE: Continuing above, add support for Montgomery curve
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    24b0feb View commit details
    Browse the repository at this point in the history
  9. M467 H/W AES self-test pass

    cyliangtw authored and ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    627a0b4 View commit details
    Browse the repository at this point in the history
  10. M467 Support crypto GCM H/W

    cyliangtw authored and ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    9dc7cd2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9f01968 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    655ec90 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    3fe95b2 View commit details
    Browse the repository at this point in the history
  14. M467: Improve Crypto H/W wait helper routine

    Add crypto_xxx_wait2 helper routine to replace crypto_xxx_wait for Crypto H/W control
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    d92d75e View commit details
    Browse the repository at this point in the history
  15. M467: Seed PRNG with TRNG for SCAP

    According to TRM, it is suggested PRNG be seeded by TRNG on every Crypto H/W reset.
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    21970e3 View commit details
    Browse the repository at this point in the history
  16. M467: Support Crypto RSA H/W

    1.  Crypto RSA H/W supports 1024/2048/3072/4096 key bits. Fall back to software implementation for other key bits.
    2.  For decrypt, if MBEDTLS_RSA_NO_CRT isn't defined, go CRT, or normal.
    3.  For decrypt, when blinding (f_rng != NULL), enable SCAP mode.
    4.  Recover from Crypto RSA H/W failure:
        (1) Enable timed-out wait to escape from RSA H/W trap
        (2) On RSA H/W timeout, stop this RSA H/W operation
        (3) Fall back to S/W implementation on failure
    
    NOTE: RSA 4096 key bits can fail with default mbedtls configuration MBEDTLS_MPI_MAX_SIZE.
          Enlarge MBEDTLS_MPI_MAX_SIZE to 1024 or larger if this feature is required.
    NOTE: Fixed in BSP RSA driver, for non-CRT+SCAP mode, temporary buffer for MADDR6 requires to be key length plus 128 bits.
    NOTE: Fixed in BSP RSA driver, DMA buffer must be 4-word aligned, or RSA H/W will trap.
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    88a5291 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    a430d70 View commit details
    Browse the repository at this point in the history
  18. M467: Support Crypto ECC H/W in full-module replacement

    1.  Replace ecp.c full-module, and other ec modules dependent on ecp.c (ecdh.c/ecdsa.c/ecjpake.c) will improve followingly.
    2.  Recover from Crypto ECC H/W failure:
        (1) Enable timed-out wait to escape from ECC H/W trap
        (2) On ECC H/W timeout, stop this ECC H/W operation
        (3) Fall back to S/W implementation on failure
    3.  Support Short Weierstrass curve
    4.  Support Montgomery curve
        Montgomery curve has the form: B y^2 = x^3 + A x^2 + x
        (1) In S/W impl, A is used as (A + 2) / 4. Figure out its original value for engine.
            https://github.com/ARMmbed/mbed-os/blob/2eb06e76208588afc6cb7580a8dd64c5429a10ce/connectivity/mbedtls/include/mbedtls/ecp.h#L219-L220
        (2) In S/W impl, B is unused. Actually, B is 1 for Curve25519/Curve448 and needs to configure to engine.
            https://github.com/ARMmbed/mbed-os/blob/2eb06e76208588afc6cb7580a8dd64c5429a10ce/connectivity/mbedtls/include/mbedtls/ecp.h#L221-L222
        (3) In S/W impl, y-coord is absent, but engine needs it. Deduce it from x-coord following:
            https://tools.ietf.org/id/draft-jivsov-ecc-compact-05.html
            https://www.rieselprime.de/ziki/Modular_square_root
        NOTE: Fix Curve448 has wrong order value
              Mbed-TLS/mbedtls#5811
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    087daea View commit details
    Browse the repository at this point in the history
  19. M467: Disable SCAP in RSA H/W

    This is to follow designer's resolution.
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    196d106 View commit details
    Browse the repository at this point in the history
  20. M467: support fullspeed usb device

    cyliangtw authored and ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    2f8b60d View commit details
    Browse the repository at this point in the history
  21. M467: Fix mbedtls_ecp_point_cmp() call with null argument

    Guard from null argument passed to mbedtls_ecp_point_cmp() in ECC H/W port
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    1dd9546 View commit details
    Browse the repository at this point in the history
  22. M467: Make mbedtls H/W port removable

    Some M460 chips don't support AES/SHA/ECC/RSA H/W.
    Make them removable from mbedtls H/W port through '"target.macros_remove": ["MBEDTLS_CONFIG_HW_SUPPORT"]'.
    ccli8 committed Sep 1, 2022
    Configuration menu
    Copy the full SHA
    e8dd9f4 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2022

  1. Added TMPM4NR Platform

    New Platform for Toshiba Added
    Deepak V. Shreshti authored and Deepak V. Shreshti committed Sep 8, 2022
    Configuration menu
    Copy the full SHA
    2a72a70 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2022

  1. Removed UTF8 Chars

    Deepak V. Shreshti authored and Deepak V. Shreshti committed Sep 9, 2022
    Configuration menu
    Copy the full SHA
    c5ca907 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2022

  1. M467: I2C: Fix potential role switch failure

    Fix in i2c_do_trsn(), interrupt doesn't change back to enabled due to premature return.
    ccli8 committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    42cfb84 View commit details
    Browse the repository at this point in the history
  2. M467: Exclude UNO SPI pins from FPGA CI Test Shield test

    UNO D8/D9/D10/D11/D12/D13 can wire to on-board SPI flash.
    Exclude these pins from FPGA CI Test Shield test.
    ccli8 committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    a0a5086 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eaaec1c View commit details
    Browse the repository at this point in the history
  4. M467: Support NuMaker-IoT-M467 board

    Pinout comparison between NuMaker-M467HJ and NuMaker-IoT-M467 boards:
    1.  UNO are unchanged
    2.  LEDs are unchanged
    3.  Buttons are unchanged, except button names
    4.  NuMaker-M467HJ has HBI but NuMaker-IoT-M467 does
    5.  NuMaker-M467HJ doesn't have ESP8266 but NuMaker-IoT-M467 does
    6.  SDHC are unchanged
    ccli8 committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    5ba8afb View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. Nuvoton: I2C: Fix potential role switch failure

    Fix in i2c_do_trsn(), interrupt doesn't change back to enabled due to premature return.
    
    Fix targets:
    -   NUMAKER_PFM_NANO130
    -   NUMAKER_PFM_NUC472
    -   NUMAKER_PFM_M453
    -   NUMAKER_PFM_M487/NUMAKER_IOT_M487
    -   NUMAKER_IOT_M252
    -   NUMAKER_IOT_M263A
    -   NU_M2354
    ccli8 committed Sep 23, 2022
    Configuration menu
    Copy the full SHA
    dbc0f5b View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. Merge pull request ARMmbed#15333 from OpenNuvoton/nuvoton_fix_i2c_rol…

    …e_switch
    
    Nuvoton: I2C: Fix potential role switch failure
    0xc0170 committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    7bb01c1 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Merge pull request ARMmbed#15330 from deepak-shreshti/master

    Add TMPM4NR Platform
    0xc0170 committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    e4e1c10 View commit details
    Browse the repository at this point in the history
  2. Merge pull request ARMmbed#15329 from YannCharbon/master

    Add complete support of DHCP relay interface ID option
    0xc0170 committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    881a901 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2022

  1. Update can_api.c

    Modified comment as discussed.
    chdelfs committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    9cd4854 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2022

  1. Configuration menu
    Copy the full SHA
    733512d View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. Replace MAX32660, MAX32670 I2C driver with final one in MSDK

    - apply clang-format
    - Fix i2c repeated start issue
    
    Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>
    ozersa committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    fb1d9c2 View commit details
    Browse the repository at this point in the history
  2. Add proper support for NUCLEO-H723ZG.

    - add board specific EMAC setup to connectivity/drivers/emac/TARGET_STM/TARGET_STM32H7
      - stm32h7_eth_init.c was derived from the NUCLEO-H743ZI2 code whilst comparing to the output of STM32CubeIDE
    - complete board specific code in targets/TARGET_STM/TARGET_STM32H7/TARGET_STM32H723xG
      - PeripheralPins.c and PinNames.h were created by targets/TARGET_STM/tools/STM32_gen_PeripheralPins.py
      - ST ZIO connector pins in PinNames.h have been adapted from NUCLEO-H743ZI2
      - CONSOLE_TX and CONSOLE_RX have been interchanged in PinNames.h to match the actual board layout
      - startup_stm32h723xx.S was derived from startup_stm32h743xx.S
      - stm32h723xg.ld was completely rewritten to match the actual MCU including:
        - split heap support
        - SRAM2 and SRAM4 support
        - crash dump support
        - proper use of DTCM as stack
      - system_clock.c has been changed to support the maximal main clock speed of 550 MHz
    - fix handling of HS in FS mode for the target board in targets/TARGET_STM/USBPhy_STM32.cpp
    - add board definition to targets/targets.json and correct linker setup for the chip
    
    Signed-off-by: Daniel Starke <daniel-email@gmx.net>
    daniel-starke committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    53d043d View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. Fix I2C for MCU_STM32H723xG

    Add I2C configuration to MCU_STM32H723xG in target.json as suggested by @jeromecoutant.
    
    Signed-off-by: Daniel Starke <daniel-email@gmx.net>
    daniel-starke committed Oct 28, 2022
    Configuration menu
    Copy the full SHA
    540d78e View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2022

  1. Correct MAX32620 boards macro for USB library.

    Ahmet Alincak authored and Ahmet Alincak committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    1432f81 View commit details
    Browse the repository at this point in the history
  2. Merge pull request ARMmbed#15341 from MaximIntegrated/update-i2c-driver

    Replace MAX32660, MAX32670 I2C driver with final one in MSDK
    0xc0170 committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    f0643b1 View commit details
    Browse the repository at this point in the history
  3. Merge pull request ARMmbed#15344 from MaximIntegrated/master

    Correct MAX32620 boards macro for USB library.
    0xc0170 committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    4f156de View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2022

  1. Merge pull request ARMmbed#15317 from chdelfs/master

    Fix for calculating CAN timing settings for STM32
    0xc0170 committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    102d2f8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request ARMmbed#15337 from OpenNuvoton/nuvoton_m467_iot

    Nuvoton: Support new target NUMAKER_IOT_M467
    0xc0170 committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    90837c5 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2022

  1. Limit NUCLEO_H723ZG toolchain to GCC_ARM

    Limit NUCLEO_H723ZG toolchain to GCC_ARM only.
    This is the only toolchain this target has been tested with yet.
    
    Signed-off-by: Daniel Starke <daniel-email@gmx.net>
    daniel-starke committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    ffcfa2f View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2022

  1. Merge pull request ARMmbed#15343 from daniel-starke/complete-nucleo-h…

    …723zg
    
    Add proper support for NUCLEO-H723ZG.
    0xc0170 committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    7ab5260 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2022

  1. Configuration menu
    Copy the full SHA
    89ddd3f View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2022

  1. Merge pull request ARMmbed#15352 from OpenNuvoton/nuvoton_m2354_usbd

    M2354: Support FS-USBD
    0xc0170 committed Nov 25, 2022
    Configuration menu
    Copy the full SHA
    7d16811 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2022

  1. Configuration menu
    Copy the full SHA
    0751932 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    63fbaaf View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. Configuration menu
    Copy the full SHA
    0c2ee4f View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Added TMPM4GR Platform

    New Platform for Toshiba Added
    Deepak V. Shreshti authored and Deepak V. Shreshti committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    92bfbcc View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Resolve delimeter issues for target.json

    Deepak V. Shreshti authored and Deepak V. Shreshti committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    e4db5d1 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2022

  1. Configuration menu
    Copy the full SHA
    d59c34b View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2022

  1. Merge pull request ARMmbed#15350 from mbed-ce/upstreamed/rethink-stm3…

    …2-i2c-hal
    
    Rethink STM32 I2C v2 HAL
    0xc0170 committed Dec 5, 2022
    Configuration menu
    Copy the full SHA
    d4df713 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2022

  1. Merge pull request ARMmbed#15353 from deepak-shreshti/master

    Add TMPM4GR Platform
    0xc0170 committed Dec 6, 2022
    Configuration menu
    Copy the full SHA
    da7c0b7 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2022

  1. github: Fix click version

    Signed-off-by: Martin Kojtal <martin.kojtal@arm.com>
    0xc0170 committed Dec 22, 2022
    Configuration menu
    Copy the full SHA
    239a210 View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2022

  1. Merge pull request ARMmbed#15357 from 0xc0170/dev/martin.kojtal/fix-s…

    …cancode-error-version
    
    scancode: Limit click version to <8
    0xc0170 committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    c299c8b View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2023

  1. Configuration menu
    Copy the full SHA
    d6d97ca View commit details
    Browse the repository at this point in the history