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

Nuvoton: Fix degrading QSPI to SPI #13536

Merged
merged 1 commit into from
Sep 7, 2020

Conversation

ccli8
Copy link
Contributor

@ccli8 ccli8 commented Sep 3, 2020

Summary of changes

This PR tries to fix logic with degrading QSPI to SPI. In most cases, we can control degraded QSPI H/W to standard through BSP SPI driver directly as if it is just SPI H/W. However, BSP SPI driver distinguishes among SPI H/W instances in functions:

  • SPI_Open
  • SPI_Close
  • SPI_SetBusClock
  • SPI_GetBusClock

In these cases, we must change to QSPI version instead for QSPI H/W.


Pull request type

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

In most cases, we can control degraded QSPI H/W to standard through BSP SPI driver directly as if it is just SPI H/W.
However, BSP SPI driver distinguishes among SPI H/W instances in below functions:
-   SPI_Open
-   SPI_Close
-   SPI_SetBusClock
-   SPI_GetBusClock
In these cases, we must change to QSPI version instead for QSPI H/W.

Change target:
-   NUMAKER_PFM_M487
-   NUMAKER_IOT_M487
-   NU_PFM_M2351*
@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Sep 3, 2020
@ciarmcom ciarmcom requested a review from a team September 3, 2020 04:00
@ciarmcom
Copy link
Member

ciarmcom commented Sep 3, 2020

@ccli8, thank you for your changes.
@ARMmbed/mbed-os-maintainers please review.

@mergify mergify bot added needs: CI and removed needs: review labels Sep 3, 2020
@0xc0170
Copy link
Contributor

0xc0170 commented Sep 3, 2020

How does this work if SPI and QSPI are used in the app (they could share QSPI if SPI is using qspi hw) ?

@ccli8
Copy link
Contributor Author

ccli8 commented Sep 4, 2020

How does this work if SPI and QSPI are used in the app (they could share QSPI if SPI is using qspi hw) ?

@0xc0170 Currently, DEVICE_QSPI is not supported on Nuvoton targets. If DEVICE_QSPI is supported in the feature, the collision iis actually an issue. To fix it, SPI/QSPI HAL need to add QSPI H/W resource management. Or just leave it to application note to not complicate this logic.

@0xc0170
Copy link
Contributor

0xc0170 commented Sep 4, 2020

CI started

@mbed-ci
Copy link

mbed-ci commented Sep 4, 2020

Jenkins CI Test : ✔️ SUCCESS

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_build-ARM ✔️
jenkins-ci/mbed-os-ci_build-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️
jenkins-ci/mbed-os-ci_dynamic-memory-usage ✔️
jenkins-ci/mbed-os-ci_cloud-client-pytest ✔️

@0xc0170 0xc0170 merged commit 1f735a6 into ARMmbed:master Sep 7, 2020
@mergify mergify bot removed the ready for merge label Sep 7, 2020
@mbedmain mbedmain added release-version: 6.3.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Sep 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants