diff --git a/.github/workflows/bsim-tests-publish.yaml b/.github/workflows/bsim-tests-publish.yaml index 3ce3fa1acbbf..25a0b5c23584 100644 --- a/.github/workflows/bsim-tests-publish.yaml +++ b/.github/workflows/bsim-tests-publish.yaml @@ -20,7 +20,7 @@ jobs: steps: - name: Download artifacts - uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 + uses: dawidd6/action-download-artifact@57aa996fc1713cc1579039614f4645a7f4841fd4 # v23 with: run_id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/bsim-tests.yaml b/.github/workflows/bsim-tests.yaml index 9219772b4862..4e33c9f62b17 100644 --- a/.github/workflows/bsim-tests.yaml +++ b/.github/workflows/bsim-tests.yaml @@ -27,6 +27,7 @@ on: - "include/zephyr/net/ieee802154*" - "drivers/serial/*nrfx*" - "tests/drivers/uart/**" + - "drivers/gpio/*nrfx*" - '!**.rst' permissions: @@ -141,11 +142,20 @@ jobs: drivers/serial/*nrfx* tests/drivers/uart/ + - name: Check if GPIO files changed + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 + id: check-gpio-files + with: + files: | + tests/bsim/drivers/gpio/ + drivers/gpio/*nrfx* + - name: Update BabbleSim to manifest revision if: > steps.check-bluetooth-files.outputs.any_modified == 'true' || steps.check-networking-files.outputs.any_modified == 'true' || steps.check-uart-files.outputs.any_modified == 'true' + || steps.check-gpio-files.outputs.any_modified == 'true' || steps.check-common-files.outputs.any_modified == 'true' run: | export BSIM_VERSION=$( west list bsim -f {revision} ) @@ -171,9 +181,14 @@ jobs: run: | tests/bsim/ci.uart.sh + - name: Run GPIO Tests with BSIM + if: steps.check-gpio-files.outputs.any_modified == 'true' || steps.check-common-files.outputs.any_modified == 'true' + run: | + tests/bsim/ci.gpio.sh + - name: Merge Test Results run: | - junitparser merge --glob "./bsim_*/*bsim_results.*.xml" "./twister-out/twister.xml" junit.xml + junitparser merge --glob "./bsim_*/*bsim_results.*.xml" "./twister-out/twister.xml" "./twister-out-gpio/twister.xml" junit.xml junit2html junit.xml junit.html - name: Upload Unit Test Results in HTML diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 550bbf190d70..f78de6812e45 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -47,7 +47,7 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 + uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} @@ -61,6 +61,6 @@ jobs: exit 0 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 + uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/compliance.yml b/.github/workflows/compliance.yml index 6210e2c68928..012c93be16bd 100644 --- a/.github/workflows/compliance.yml +++ b/.github/workflows/compliance.yml @@ -90,7 +90,7 @@ jobs: # Increase rename limit to allow for large PRs git config diff.renameLimit 10000 excludes="-e KconfigBasic -e SysbuildKconfigBasic -e ClangFormat" - ./scripts/ci/check_compliance.py --annotate $excludes --parallel -c origin/${BASE_REF}.. + ./scripts/ci/check_compliance.py --annotate $excludes -c origin/${BASE_REF}.. - name: upload-results uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index c1aaa13115d3..e0276cb7c69f 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -113,6 +113,13 @@ jobs: - name: Install Python packages required for documentation build run: | + # FIXME: The requirements files pin an unreleased reuse-tool change + # (custom_properties) needed by the zephyr-licensing-exceptions:: + # directive. The snapshot reports the same version as the + # release the CI image ships, so pip skips it unless reuse is + # uninstalled first. Drop this and the pin once the API is in a + # reuse release. + pip uninstall -y reuse pip install -r scripts/requirements-actions.txt --require-hashes pip install -r doc/requirements.txt --require-hashes diff --git a/.github/workflows/doc-publish-pr.yml b/.github/workflows/doc-publish-pr.yml index 4a3633aaf9f1..e20b401cdd5a 100644 --- a/.github/workflows/doc-publish-pr.yml +++ b/.github/workflows/doc-publish-pr.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Download artifacts id: download-artifacts - uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 + uses: dawidd6/action-download-artifact@57aa996fc1713cc1579039614f4645a7f4841fd4 # v23 with: workflow: doc-build.yml run_id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/doc-publish.yml b/.github/workflows/doc-publish.yml index 137a88b1b635..fc2a8928c773 100644 --- a/.github/workflows/doc-publish.yml +++ b/.github/workflows/doc-publish.yml @@ -28,7 +28,7 @@ jobs: steps: - name: Download artifacts - uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 + uses: dawidd6/action-download-artifact@57aa996fc1713cc1579039614f4645a7f4841fd4 # v23 with: workflow: doc-build.yml run_id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/doxygen-checks.yml b/.github/workflows/doxygen-checks.yml index 2d86282c2383..ef4a215e57f3 100644 --- a/.github/workflows/doxygen-checks.yml +++ b/.github/workflows/doxygen-checks.yml @@ -114,4 +114,4 @@ jobs: - name: Check for new top-level Doxygen groups if: ${{ !cancelled() }} run: | - python3 scripts/ci/doxygen_toplevel_groups.py --xml-dir doc/_build/doxygen/xml + python3 scripts/ci/doxygen_toplevel_groups.py --xml-dir doc/_build/doxygen-xml/xml diff --git a/.github/workflows/gcc-analyzer.yml b/.github/workflows/gcc-analyzer.yml index fc5c0d4b3a98..d647d5aa6001 100644 --- a/.github/workflows/gcc-analyzer.yml +++ b/.github/workflows/gcc-analyzer.yml @@ -177,7 +177,7 @@ jobs: - name: Upload SARIF to code scanning if: steps.merge.outputs.found == 'true' - uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: results.sarif # Keeps these alerts in their own lane in the dashboard, so they diff --git a/.github/workflows/pinned-gh-actions.yml b/.github/workflows/pinned-gh-actions.yml index 3240038dd6eb..745c9f80a4f6 100644 --- a/.github/workflows/pinned-gh-actions.yml +++ b/.github/workflows/pinned-gh-actions.yml @@ -23,4 +23,4 @@ jobs: with: persist-credentials: false - name: Ensure SHA pinned actions - uses: zgosalvez/github-actions-ensure-sha-pinned-actions@46cfe808a5f1588656ef299eedd0ce2fd7ec0dcc # v5.0.6 + uses: zgosalvez/github-actions-ensure-sha-pinned-actions@c5fc58bd0be7a4b94b73ce40250322d5b838a108 # v5.0.7 diff --git a/.github/workflows/sanitizers.yml b/.github/workflows/sanitizers.yml index f6a7d339351b..4b85bbc211ca 100644 --- a/.github/workflows/sanitizers.yml +++ b/.github/workflows/sanitizers.yml @@ -116,7 +116,7 @@ jobs: run: python3 scripts/ci/sarif_summary.py results-${{ matrix.sanitizer }}.sarif - name: Upload SARIF to code scanning - uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: results-${{ matrix.sanitizer }}.sarif # One category per sanitizer. They report disjoint rule sets, and a diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 797a3383e6d5..4c500e118fc4 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -57,6 +57,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: results.sarif diff --git a/.github/workflows/twister-publish.yaml b/.github/workflows/twister-publish.yaml index 9e6fb069e62d..a0a63085145a 100644 --- a/.github/workflows/twister-publish.yaml +++ b/.github/workflows/twister-publish.yaml @@ -40,7 +40,7 @@ jobs: - name: Download Artifacts id: download-artifacts - uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 + uses: dawidd6/action-download-artifact@57aa996fc1713cc1579039614f4645a7f4841fd4 # v23 with: path: artifacts workflow: twister.yml diff --git a/.github/workflows/twister.yaml b/.github/workflows/twister.yaml index 75b941097849..fae310634290 100644 --- a/.github/workflows/twister.yaml +++ b/.github/workflows/twister.yaml @@ -286,6 +286,11 @@ jobs: fi fi + if [ ! -f twister-out/twister.json ]; then + echo "Twister did not produce a twister.json file, something went wrong." + exit 1 + fi + - name: Print ccache stats if: always() run: | @@ -299,6 +304,7 @@ jobs: if-no-files-found: ignore path: | twister-out/twister.xml + twister-out/twister.log twister-out/twister.json module_tests/twister.xml testplan.json diff --git a/LICENSES/BSD-2-Clause.txt b/LICENSES/BSD-2-Clause.txt new file mode 100644 index 000000000000..c2f3d37bef47 --- /dev/null +++ b/LICENSES/BSD-2-Clause.txt @@ -0,0 +1,24 @@ +BSD 2-Clause License + +Copyright (c) [year], [fullname] + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt new file mode 100644 index 000000000000..ddd44f66e975 --- /dev/null +++ b/LICENSES/BSD-3-Clause.txt @@ -0,0 +1,28 @@ +BSD 3-Clause License + +Copyright (c) [year], [fullname] + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/CC-BY-3.0.txt b/LICENSES/CC-BY-3.0.txt new file mode 100644 index 000000000000..1a16e05564d2 --- /dev/null +++ b/LICENSES/CC-BY-3.0.txt @@ -0,0 +1,319 @@ +Creative Commons Legal Code + +Attribution 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined above) for the purposes of this + License. + c. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + d. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + e. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + f. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + g. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + h. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + i. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(b), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(b), as requested. + b. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Section 3(b), in the case of an Adaptation, + a credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4 (b) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, at + a minimum such credit will appear, if a credit for all contributing + authors of the Adaptation or Collection appears, then as part of these + credits and in a manner at least as prominent as the credits for the + other contributing authors. For the avoidance of doubt, You may only + use the credit required by this Section for the purpose of attribution + in the manner set out above and, by exercising Your rights under this + License, You may not implicitly or explicitly assert or imply any + connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your + use of the Work, without the separate, express prior written + permission of the Original Author, Licensor and/or Attribution + Parties. + c. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of this License. + + Creative Commons may be contacted at https://creativecommons.org/. diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt new file mode 100644 index 000000000000..0e259d42c996 --- /dev/null +++ b/LICENSES/CC0-1.0.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/LICENSES/GCC-exception-3.1.txt b/LICENSES/GCC-exception-3.1.txt new file mode 100644 index 000000000000..f45e79128320 --- /dev/null +++ b/LICENSES/GCC-exception-3.1.txt @@ -0,0 +1,69 @@ +GCC RUNTIME LIBRARY EXCEPTION + +Version 3.1, 31 March 2009 + +General information: http://www.gnu.org/licenses/gcc-exception.html Copyright +(C) 2009 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. This GCC Runtime Library Exception +("Exception") is an additional permission under section 7 of the GNU General +Public License, version 3 ("GPLv3"). It applies to a given file (the "Runtime +Library") that bears a notice placed by the copyright holder of the file +stating that the file is governed by GPLv3 along with this Exception. + +When you use GCC to compile a program, GCC may combine portions of certain +GCC header files and runtime libraries with the compiled program. The purpose +of this Exception is to allow compilation of non-GPL (including proprietary) +programs to use, in this way, the header files and runtime libraries covered +by this Exception. + +0. Definitions. + +A file is an "Independent Module" if it either requires the Runtime Library for +execution after a Compilation Process, or makes use of an interface provided +by the Runtime Library, but is not otherwise based on the Runtime Library. + +"GCC" means a version of the GNU Compiler Collection, with or without +modifications, governed by version 3 (or a specified later version) of the +GNU General Public License (GPL) with the option of using any subsequent +versions published by the FSF. + +"GPL-compatible Software" is software whose conditions of propagation, +modification and use would permit combination with GCC in accord with the +license of GCC. + +"Target Code" refers to output from any compiler for a real or virtual +target processor architecture, in executable form or suitable for input to +an assembler, loader, linker and/or execution phase. Notwithstanding that, +Target Code does not include data in any format that is used as a compiler +intermediate representation, or used for producing a compiler intermediate +representation. + +The "Compilation Process" transforms code entirely represented in +non-intermediate languages designed for human-written code, and/or in +Java Virtual Machine byte code, into Target Code. Thus, for example, use +of source code generators and preprocessors need not be considered part of +the Compilation Process, since the Compilation Process can be understood as +starting with the output of the generators or preprocessors. + +A Compilation Process is "Eligible" if it is done using GCC, alone or with +other GPL-compatible software, or if it is done without using any work based +on GCC. For example, using non-GPL-compatible Software to optimize any GCC +intermediate representations would not qualify as an Eligible Compilation +Process. + +1. Grant of Additional Permission. + +You have permission to propagate a work of Target Code formed by combining +the Runtime Library with Independent Modules, even if such propagation +would otherwise violate the terms of GPLv3, provided that all Target Code +was generated by Eligible Compilation Processes. You may then convey such +a combination under terms of your choice, consistent with the licensing of +the Independent Modules. + +2. No Weakening of GCC Copyleft. + +The availability of this Exception does not imply any general presumption +that third-party software is unaffected by the copyleft requirements of the +license of GCC. diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt new file mode 100644 index 000000000000..d159169d1050 --- /dev/null +++ b/LICENSES/GPL-2.0-or-later.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/LICENSES/GPL-2.0.txt b/LICENSES/GPL-2.0.txt new file mode 100644 index 000000000000..d159169d1050 --- /dev/null +++ b/LICENSES/GPL-2.0.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/LICENSES/GPL-3.0-or-later.txt b/LICENSES/GPL-3.0-or-later.txt new file mode 100644 index 000000000000..f288702d2fa1 --- /dev/null +++ b/LICENSES/GPL-3.0-or-later.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/LICENSES/ISC.txt b/LICENSES/ISC.txt new file mode 100644 index 000000000000..b42456020f29 --- /dev/null +++ b/LICENSES/ISC.txt @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) [year] [fullname] + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENSES/Linux-syscall-note.txt b/LICENSES/Linux-syscall-note.txt new file mode 100644 index 000000000000..fcd056364e09 --- /dev/null +++ b/LICENSES/Linux-syscall-note.txt @@ -0,0 +1,12 @@ + NOTE! This copyright does *not* cover user programs that use kernel + services by normal system calls - this is merely considered normal use + of the kernel, and does *not* fall under the heading of "derived work". + Also note that the GPL below is copyrighted by the Free Software + Foundation, but the instance of code that it refers to (the Linux + kernel) is copyrighted by me and others who actually wrote it. + + Also note that the only valid version of the GPL as far as the kernel + is concerned is _this_ particular version of the license (ie v2, not + v2.2 or v3.x or whatever), unless explicitly otherwise stated. + + Linus Torvalds diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 000000000000..8aa26455d23a --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) [year] [fullname] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSES/SHL-0.51.txt b/LICENSES/SHL-0.51.txt new file mode 100644 index 000000000000..62ea22cb3cb8 --- /dev/null +++ b/LICENSES/SHL-0.51.txt @@ -0,0 +1,194 @@ +SOLDERPAD HARDWARE LICENSE version 0.51 + +This license is based closely on the Apache License Version 2.0, but is not +approved or endorsed by the Apache Foundation. A copy of the non-modified +Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0. + +As this license is not currently OSI or FSF approved, the Licensor permits +any Work licensed under this License, at the option of the Licensee, to be +treated as licensed under the Apache License Version 2.0 (which is so approved). + +This License is licensed under the terms of this License and in particular +clause 7 below (Disclaimer of Warranties) applies in relation to its use. + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the Rights owner or entity authorized by the Rights +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control with that +entity. For the purposes of this definition, "control" means (i) the power, +direct or indirect, to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Rights" means copyright and any similar right including design right +(whether registered or unregistered), semiconductor topography (mask) rights +and database rights (but excluding Patents and Trademarks). + +"Source" form shall mean the preferred form for making modifications, +including but not limited to source code, net lists, board layouts, CAD files, +documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object +code, generated documentation, the instantiation of a hardware design and +conversions to other media types, including intermediate forms such as +bytecodes, FPGA bitstreams, artwork and semiconductor topographies (mask works). + +"Work" shall mean the work of authorship, whether in Source form or other +Object form, made available under the License, as indicated by a Rights +notice that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, as +a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, or +merely link (or bind by name) or physically connect to or interoperate with +the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any design or work of authorship, including the +original version of the Work and any modifications or additions to that Work +or Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the Rights owner or by an individual or Legal +Entity authorized to submit on behalf of the Rights owner. For the purposes +of this definition, "submitted" means any form of electronic, verbal, +or written communication sent to the Licensor or its representatives, +including but not limited to communication on electronic mailing lists, +source code control systems, and issue tracking systems that are managed by, +or on behalf of, the Licensor for the purpose of discussing and improving the +Work, but excluding communication that is conspicuously marked or otherwise +designated in writing by the Rights owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on +behalf of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of License. Subject to the terms and conditions of this License, +each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable license under the Rights to reproduce, +prepare Derivative Works of, publicly display, publicly perform, sublicense, +and distribute the Work and such Derivative Works in Source or Object form +and do anything in relation to the Work as if the Rights did not exist. + +3. Grant of Patent License. Subject to the terms and conditions of this License, +each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, and +otherwise transfer the Work, where such license applies only to those patent +claims licensable by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) with the +Work to which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim in +a lawsuit) alleging that the Work or a Contribution incorporated within the +Work constitutes direct or contributory patent infringement, then any patent +licenses granted to You under this License for that Work shall terminate as +of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work +or Derivative Works thereof in any medium, with or without modifications, +and in Source or Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works a + copy of this License; and + + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that You + distribute, all copyright, patent, trademark, and attribution notices + from the Source form of the Work, excluding those notices that do not + pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable copy + of the attribution notices contained within such NOTICE file, excluding + those notices that do not pertain to any part of the Derivative Works, in + at least one of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or documentation, + if provided along with the Derivative Works; or, within a display generated + by the Derivative Works, if and wherever such third-party notices normally + appear. The contents of the NOTICE file are for informational purposes + only and do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such additional + attribution notices cannot be construed as modifying the License. You may + add Your own copyright statement to Your modifications and may provide + additional or different license terms and conditions for use, reproduction, + or distribution of Your modifications, or for any such Derivative Works + as a whole, provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work by You +to the Licensor shall be under the terms and conditions of this License, +without any additional terms or conditions. Notwithstanding the above, +nothing herein shall supersede or modify the terms of any separate license +agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, except +as required for reasonable and customary use in describing the origin of +the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to +in writing, Licensor provides the Work (and each Contributor provides its +Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +ANY KIND, either express or implied, including, without limitation, any +warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or +FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining +the appropriateness of using or redistributing the Work and assume any risks +associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether +in tort (including negligence), contract, or otherwise, unless required by +applicable law (such as deliberate and grossly negligent acts) or agreed to +in writing, shall any Contributor be liable to You for damages, including +any direct, indirect, special, incidental, or consequential damages of +any character arising as a result of this License or out of the use or +inability to use the Work (including but not limited to damages for loss +of goodwill, work stoppage, computer failure or malfunction, or any and +all other commercial damages or losses), even if such Contributor has been +advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, and +charge a fee for, acceptance of support, warranty, indemnity, or other +liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on +Your sole responsibility, not on behalf of any other Contributor, and only +if You agree to indemnify, defend, and hold each Contributor harmless for +any liability incurred by, or claims asserted against, such Contributor by +reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply this license to your work + +To apply this license to your work, attach the following boilerplate notice, +with the fields enclosed by brackets "[]" replaced with your own identifying +information. (Don't include the brackets!) The text should be enclosed in the +appropriate comment syntax for the file format. We also recommend that a file +or class name and description of purpose be included on the same "printed page" +as the copyright notice for easier identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] Copyright and related rights are +licensed under the Solderpad Hardware License, Version 0.51 (the "License"); +you may not use this file except in compliance with the License. You may +obtain a copy of the License at http://solderpad.org/licenses/SHL-0.51. Unless +required by applicable law or agreed to in writing, software, hardware and +materials distributed under this License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See +the License for the specific language governing permissions and limitations +under the License. diff --git a/MAINTAINERS.yml b/MAINTAINERS.yml index a0049f906c83..f8b20c303034 100644 --- a/MAINTAINERS.yml +++ b/MAINTAINERS.yml @@ -691,6 +691,7 @@ Bluetooth Controller: - doc/services/connectivity/bluetooth/img/ctlr* - doc/services/connectivity/bluetooth/api/controller.rst - include/zephyr/bluetooth/controller.h + - samples/bluetooth/hci_*/ - subsys/bluetooth/common/ - subsys/bluetooth/controller/ - subsys/bluetooth/crypto/ @@ -700,9 +701,17 @@ Bluetooth Controller: - "area: Bluetooth Controller" - "area: Bluetooth" tests: - - bluetooth.controller - bluetooth + - bluetooth.controller - bluetooth.ll + - sample.bluetooth.hci_ipc + - sample.bluetooth.hci_pwr_ctrl + - sample.bluetooth.hci_spi + - sample.bluetooth.hci_uart + - sample.bluetooth.hci_uart_3wire + - sample.bluetooth.hci_uart_async + - sample.bluetooth.hci_usb + - sample.bluetooth.hci_vs_scan_req Bluetooth HCI: status: maintained @@ -1009,6 +1018,7 @@ Build system: - version.h.in - scripts/schemas/arch-schema.yaml - scripts/schemas/board-schema.yaml + - scripts/schemas/module-schema.yaml - scripts/schemas/soc-schema.yaml - scripts/list_shields.py - scripts/snippets.py @@ -4225,6 +4235,15 @@ NEORV32 platform: tests: - boards.neorv32 +NUCODE Platforms: + status: maintained + maintainers: + - manjae-cho + files: + - boards/nucode/ + labels: + - "platform: NUCODE" + NVMEM: status: maintained maintainers: @@ -6148,6 +6167,7 @@ TI K3 Platforms: - vaishnavachath - natto1784 - Kronosblaster + - soumya-TI files: - boards/ti/*am2*/ - boards/ti/*am6*/ @@ -6178,6 +6198,7 @@ TI MSPM Platforms: - karthi012 - Girinandha-M - santhosh-c-c + - soumya-TI files: - soc/ti/mspm/ - boards/ti/*mspm*/ @@ -7213,6 +7234,8 @@ West: - vaishnavachath - ssekar15 - d-philpot + collaborators: + - Aman-Lachhiramka-ti files: [] labels: - "platform: TI" diff --git a/REUSE.toml b/REUSE.toml index 0796e2952d3e..32d7245bf721 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -28,3 +28,377 @@ SPDX-FileCopyrightText = "Copyright The Zephyr Project Contributors" path = "**/*.rst" SPDX-License-Identifier = "CC-BY-4.0" SPDX-FileCopyrightText = "Copyright The Zephyr Project Contributors" + +# ----------------------------------------------------------------------------- +# Licensing exceptions +# ----------------------------------------------------------------------------- +# +# Zephyr as a whole is Apache-2.0 licensed, but it imports or reuses a few +# components that use other licenses. Each such component is described below as +# a single REUSE annotation and is rendered on the licensing documentation page +# (see doc/LICENSING.rst) by the "zephyr.licensing" Sphinx extension. +# +# The license metadata is standard REUSE/SPDX and the standard SPDX-FileComment +# holds the free-text rationale ("Impact"). SPDX has no non-deprecated file-level +# field for an upstream URL (the ArtifactOf* file tags were deprecated in favour +# of relationships, which REUSE.toml cannot express, and Package* fields are not +# valid on files), so three Zephyr-specific keys are used (the `reuse` tool +# ignores keys it does not know about): +# +# Zephyr-Description Short human description of the component, used as +# its title on the page. Its presence promotes a +# plain REUSE annotation to a documented exception. +# Zephyr-Origin URL of the upstream project the files come from. +# Zephyr-Kconfig-Condition Kconfig option(s) gating whether the files end up in +# a build, rendered as :kconfig:option: references. + +[[annotations]] +path = [ + "scripts/dashboard/static/css/bootstrap-chop.css", + "scripts/dashboard/static/js/bootstrap-chop.js", +] +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Used by the dashboard tool only and never linked into a Zephyr firmware image." +Zephyr-Description = "Bootstrap JavaScript and CSS Files" +Zephyr-Origin = "https://getbootstrap.com/" + +[[annotations]] +path = "drivers/sensor/bosch/bmi08x/bmi08x_config_file.h" +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Sensor configuration data compiled into the firmware only when the BMI08x driver is enabled." +Zephyr-Description = "Bosch BMI08x Sensor Configuration File" +Zephyr-Origin = "https://github.com/BoschSensortec/BMI08x-Sensor-API" +Zephyr-Kconfig-Condition = "CONFIG_BMI08X" + +[[annotations]] +path = [ + "scripts/coccicheck", + "scripts/coccinelle/array_size.cocci", + "scripts/coccinelle/deref_null.cocci", + "scripts/coccinelle/mini_lock.cocci", + "scripts/coccinelle/noderef.cocci", + "scripts/coccinelle/returnvar.cocci", + "scripts/coccinelle/semicolon.cocci", + "scripts/coccinelle/unsigned_lesser_than_zero.cocci", +] +SPDX-License-Identifier = "GPL-2.0" +SPDX-FileComment = "Used by Coccinelle, a tool for transforming C code, and never linked into the firmware." +Zephyr-Description = "Coccinelle Scripts" +Zephyr-Origin = "https://coccinelle.gitlabpages.inria.fr/website/" + +[[annotations]] +path = [ + "scripts/checkpatch.pl", + "scripts/checkstack.pl", + "scripts/spelling.txt", +] +SPDX-License-Identifier = "GPL-2.0" +SPDX-FileComment = "Used in Continuous Integration (CI) and never linked into the firmware." +Zephyr-Description = "Continuous Integration Scripts" +Zephyr-Origin = "https://www.kernel.org/" + +[[annotations]] +path = [ + "doc/_doxygen/doxygen-awesome-darkmode-toggle.js", + "doc/_doxygen/doxygen-awesome-sidebar-only-darkmode-toggle.css", + "doc/_doxygen/doxygen-awesome-sidebar-only.css", + "doc/_doxygen/doxygen-awesome.css", +] +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Style the Doxygen API documentation and are never linked into a firmware." +Zephyr-Description = "Doxygen Awesome CSS Theme Files" +Zephyr-Origin = "https://github.com/jothepro/doxygen-awesome-css" + +[[annotations]] +path = "boards/ene/kb1200_evb/support/openocd.cfg" +SPDX-License-Identifier = "GPL-2.0-or-later" +SPDX-FileComment = "Used by OpenOCD when programming and debugging the kb1200_evb board. Never linked into the firmware." +Zephyr-Description = "ENE KB1200_EVB Board OpenOCD Configuration" +Zephyr-Origin = "https://openocd.org/" + +[[annotations]] +path = "subsys/fs/fuse_client/fuse_abi.h" +SPDX-License-Identifier = "((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)" +SPDX-FileComment = "Used under the BSD-2-Clause option of its dual license. Only built when the gating option is enabled." +Zephyr-Description = "FUSE Interface Definition Header File" +Zephyr-Kconfig-Condition = "CONFIG_FUSE_CLIENT" + +[[annotations]] +path = "subsys/testsuite/coverage/coverage.h" +SPDX-License-Identifier = "GPL-3.0-or-later WITH GCC-exception-3.1" +SPDX-FileComment = "Linked into the firmware only when GCOV coverage is enabled; covered by the GCC Runtime Library Exception." +Zephyr-Description = "GCOV Coverage Header File" +Zephyr-Origin = "https://gcc.gnu.org/" +Zephyr-Kconfig-Condition = "CONFIG_COVERAGE_GCOV" + +[[annotations]] +path = [ + "lib/utils/getopt/README", + "lib/utils/getopt/getopt.c", + "lib/utils/getopt/getopt_long.c", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Compiled into the firmware only when getopt() support is enabled." +Zephyr-Description = "getopt Command-line Parsing Files" +Zephyr-Origin = "https://www.netbsd.org/" +Zephyr-Kconfig-Condition = "CONFIG_GETOPT" + +[[annotations]] +path = [ + "doc/_static/css/custom.css", + "doc/_static/css/dark.css", + "doc/_static/css/light.css", + "doc/_static/js/custom.js", +] +SPDX-License-Identifier = "CC-BY-3.0" +SPDX-FileComment = "Customize the Sphinx theme used to render the documentation and are never linked into a firmware." +Zephyr-Description = "Godot Documentation Theme Files" +Zephyr-Origin = "https://github.com/godotengine/godot-docs" + +[[annotations]] +path = [ + "include/zephyr/net/http/parser.h", + "include/zephyr/net/http/parser_state.h", + "include/zephyr/net/http/parser_url.h", + "subsys/net/lib/http/http_parser.c", + "subsys/net/lib/http/http_parser_url.c", +] +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Compiled into the firmware only when the HTTP parser is enabled." +Zephyr-Description = "HTTP Parser Files" +Zephyr-Origin = "https://github.com/nodejs/http-parser" +Zephyr-Kconfig-Condition = "CONFIG_HTTP_PARSER" + +[[annotations]] +path = [ + "scripts/kconfig/guiconfig.py", + "scripts/kconfig/kconfig.py", + "scripts/kconfig/kconfiglib.py", + "scripts/kconfig/menuconfig.py", +] +SPDX-License-Identifier = "ISC" +SPDX-FileComment = "Used to process Kconfig files at build time and never linked into the firmware." +Zephyr-Description = "Kconfiglib Configuration Library" +Zephyr-Origin = "https://github.com/ulfalizer/Kconfiglib" + +[[annotations]] +path = [ + "modules/littlefs/zephyr_lfs_config.h", + "modules/littlefs/zephyr_lfs_crc.c", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Compiled into the firmware only when the littlefs file system is enabled." +Zephyr-Description = "littlefs Configuration Files" +Zephyr-Origin = "https://github.com/littlefs-project/littlefs" +Zephyr-Kconfig-Condition = "CONFIG_FILE_SYSTEM_LITTLEFS" + +[[annotations]] +path = "lib/libc/minimal/source/stdlib/atoi.c" +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Compiled into the firmware only when the minimal C library is selected." +Zephyr-Description = "Minimal libc atoi File" +Zephyr-Origin = "https://musl.libc.org/" +Zephyr-Kconfig-Condition = "CONFIG_MINIMAL_LIBC" + +[[annotations]] +path = [ + "lib/libc/minimal/source/stdlib/strtol.c", + "lib/libc/minimal/source/stdlib/strtoll.c", + "lib/libc/minimal/source/stdlib/strtoul.c", + "lib/libc/minimal/source/stdlib/strtoull.c", + "lib/libc/minimal/source/string/strstr.c", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Compiled into the firmware only when the minimal C library is selected." +Zephyr-Description = "Minimal libc BSD String and Conversion Files" +Zephyr-Kconfig-Condition = "CONFIG_MINIMAL_LIBC" + +[[annotations]] +path = [ + "doc/_extensions/moderncmakedomain/__init__.py", + "doc/_extensions/moderncmakedomain/cmake.py", + "doc/_extensions/moderncmakedomain/colors.py", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Provide the CMake domain used to render the documentation and are never linked into a firmware." +Zephyr-Description = "Modern CMake Sphinx Domain" +Zephyr-Origin = "https://gitlab.kitware.com/cmake/cmake/-/tree/master/Utilities/Sphinx" + +[[annotations]] +path = [ + "doc/_extensions/zephyr/domain/static/css/nouislider.min.css", + "doc/_extensions/zephyr/domain/static/js/nouislider.min.js", +] +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Provides the flash/RAM range sliders in the board catalog and is never linked into a firmware." +Zephyr-Description = "noUiSlider Library" +Zephyr-Origin = "https://refreshless.com/nouislider/" + +[[annotations]] +path = [ + "drivers/tee/optee/optee_msg.h", + "drivers/tee/optee/optee_rpc_cmd.h", + "drivers/tee/optee/optee_smc.h", +] +SPDX-License-Identifier = "BSD-2-Clause" +SPDX-FileComment = "Compiled into the firmware only when the OP-TEE driver is enabled." +Zephyr-Description = "OP-TEE Message Interface Headers" +Zephyr-Origin = "https://www.op-tee.org/" +Zephyr-Kconfig-Condition = "CONFIG_OPTEE" + +[[annotations]] +path = [ + "modules/openthread/platform/hdlc_interface.cpp", + "modules/openthread/platform/hdlc_interface.hpp", + "modules/openthread/platform/radio_spinel.cpp", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Linked into the firmware only when the Spinel HDLC RCP host interface is enabled." +Zephyr-Description = "OpenThread Spinel HDLC RCP Host Interface Files" +Zephyr-Origin = "https://openthread.io/" +Zephyr-Kconfig-Condition = "CONFIG_HDLC_RCP_IF" + +[[annotations]] +path = "doc/_extensions/zephyr/doxytooltip/static/tippy/popper.min.js" +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Used by Tippy.js to position the documentation's Doxygen tooltips and is never linked into a firmware." +Zephyr-Description = "Popper.js Library" +Zephyr-Origin = "https://popper.js.org/" + +[[annotations]] +path = [ + "include/zephyr/posix/fnmatch.h", + "subsys/portability/posix/c_lib_ext/fnmatch.c", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Compiled into the firmware only when the POSIX C library extensions are enabled." +Zephyr-Description = "POSIX fnmatch Files" +Zephyr-Kconfig-Condition = "CONFIG_POSIX_C_LIB_EXT" + +[[annotations]] +path = "include/zephyr/posix/sys/stat.h" +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Provides the POSIX file-status definitions; compiled into the firmware wherever it is included." +Zephyr-Description = "POSIX sys/stat.h Header" + +[[annotations]] +path = [ + "scripts/dts/gen_defines.py", + "scripts/dts/python-devicetree/src/devicetree/_private.py", + "scripts/dts/python-devicetree/src/devicetree/dtlib.py", + "scripts/dts/python-devicetree/src/devicetree/edtlib.py", + "scripts/dts/python-devicetree/tests/test-multidir.dts", + "scripts/dts/python-devicetree/tests/test.dts", + "scripts/dts/python-devicetree/tests/test_dtlib.py", + "scripts/dts/python-devicetree/tests/test_edtlib.py", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Parse devicetree sources at build time and are never linked into the firmware." +Zephyr-Description = "Python Devicetree Library Files" +Zephyr-Origin = "https://github.com/zephyrproject-rtos/python-devicetree" + +[[annotations]] +path = "scripts/dts/python-devicetree/tests/**/*.yaml" +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Used only when testing the python-devicetree library and never linked into the firmware." +Zephyr-Description = "Python Devicetree Library Test Files" +Zephyr-Origin = "https://github.com/zephyrproject-rtos/python-devicetree" + +[[annotations]] +path = "include/zephyr/arch/riscv/csr.h" +SPDX-License-Identifier = "SHL-0.51" +SPDX-FileComment = "RISC-V control and status register access helpers, also available under Apache-2.0; compiled into the firmware only on RISC-V targets." +Zephyr-Description = "RISC-V Control and Status Register Header" +Zephyr-Kconfig-Condition = "CONFIG_RISCV" + +[[annotations]] +path = [ + "boards/openisa/rv32m1_vega/support/openocd_rv32m1_vega_ri5cy.cfg", + "boards/openisa/rv32m1_vega/support/openocd_rv32m1_vega_zero_riscy.cfg", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Used by OpenOCD when programming and debugging the rv32m1_vega board. Never linked into the firmware." +Zephyr-Description = "RV32M1 VEGA Board OpenOCD Configuration" + +[[annotations]] +path = [ + "samples/tfm_integration/tfm_secure_partition/dummy_partition/tfm_dummy_partition.yaml.in", + "samples/tfm_integration/tfm_secure_partition/dummy_partition/tfm_manifest_list.yaml.in", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Used only when building the TF-M secure partition integration sample." +Zephyr-Description = "TF-M Secure Partition Sample Files" +Zephyr-Origin = "https://www.trustedfirmware.org/projects/tf-m/" + +[[annotations]] +path = [ + "tests/benchmarks/thread_metric/src/*.c", + "tests/benchmarks/thread_metric/src/*.h", + "tests/benchmarks/thread_metric/thread_metric_readme.txt", +] +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Linked only into the Thread-Metric RTOS Test Suite test firmware." +Zephyr-Description = "Thread-Metric RTOS Test Suite Source Files" +Zephyr-Origin = "https://github.com/eclipse-threadx/threadx" + +[[annotations]] +path = "doc/_extensions/zephyr/doxytooltip/static/tippy/tippy-bundle.umd.min.js" +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Renders the tooltips of the documentation's Doxygen tooltip extension and is never linked into a firmware." +Zephyr-Description = "Tippy.js Library" +Zephyr-Origin = "https://atomiks.github.io/tippyjs/" + +[[annotations]] +path = "scripts/build/uf2conv.py" +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Converts firmware images to UF2 at build time and is never linked into the firmware." +Zephyr-Description = "UF2 Conversion Script" +Zephyr-Origin = "https://github.com/microsoft/uf2" + +[[annotations]] +path = [ + "include/zephyr/usb/class/usb_dfu.h", + "include/zephyr/usb/usb_device.h", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Part of the legacy USB device stack, compiled into the firmware only when it is enabled." +Zephyr-Description = "USB Device Stack Headers" +Zephyr-Kconfig-Condition = "CONFIG_USB_DEVICE_STACK" + +[[annotations]] +path = [ + "subsys/net/lib/wireguard/crypto/**/*.c", + "subsys/net/lib/wireguard/crypto/**/*.h", + "subsys/net/lib/wireguard/wg_crypto.c", +] +SPDX-License-Identifier = "BSD-3-Clause" +SPDX-FileComment = "Compiled into the firmware only when WireGuard is enabled." +Zephyr-Description = "WireGuard VPN Files" +Zephyr-Origin = "https://github.com/smartalock/wireguard-lwip" +Zephyr-Kconfig-Condition = "CONFIG_WIREGUARD" + +[[annotations]] +path = "drivers/xen/gnttab.c" +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Compiled into the firmware only when Xen guest support is enabled." +Zephyr-Description = "Xen Hypervisor Interface Files" +Zephyr-Origin = "https://xenproject.org/" +Zephyr-Kconfig-Condition = "CONFIG_XEN" + +[[annotations]] +path = "subsys/random/random_xoshiro128.c" +SPDX-License-Identifier = "CC0-1.0" +SPDX-FileComment = "Compiled into the firmware only when the xoshiro128++ PRNG is selected." +Zephyr-Description = "xoshiro128++ PRNG" +Zephyr-Origin = "https://prng.di.unimi.it/" +Zephyr-Kconfig-Condition = "CONFIG_XOSHIRO_RANDOM_GENERATOR" + +[[annotations]] +path = [ + "arch/xtensa/core/startup/memctl_default.S", + "arch/xtensa/core/startup/memerror_vector.S", +] +SPDX-License-Identifier = "MIT" +SPDX-FileComment = "Compiled into the firmware only when the Xtensa reset vector is enabled." +Zephyr-Description = "Xtensa Startup Assembly Files" +Zephyr-Kconfig-Condition = "CONFIG_XTENSA_RESET_VECTOR" diff --git a/arch/Kconfig b/arch/Kconfig index 9a9624ca0511..647497678cb1 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -1323,23 +1323,28 @@ config CACHE_MANAGEMENT This option enables the cache management functions backed by arch or driver code. +config DCACHE_LINE_SIZE_DETECT_SUPPORT + bool + help + Platform implements querying some SoC register for finding the d-cache + line size. + + Only the software component (arch/SoC layer, driver) implementing the + cache API shall select this option. + if DCACHE config DCACHE_LINE_SIZE_DETECT bool "Detect d-cache line size at runtime" - depends on CACHE_MANAGEMENT + depends on CACHE_MANAGEMENT && DCACHE_LINE_SIZE_DETECT_SUPPORT help - This option enables querying some architecture-specific hardware for - finding the d-cache line size at the expense of taking more memory and - code and a slightly increased boot time. - - If the CPU's d-cache line size is known in advance, disable this option and - manually enter the value for DCACHE_LINE_SIZE or set it in the DT - using the 'd-cache-line-size' property. + Enable querying some SoC register for finding the d-cache + line size at the expense of taking more memory and code and a slightly + increased boot time. config DCACHE_LINE_SIZE int "d-cache line size" - depends on !DCACHE_LINE_SIZE_DETECT + range 2 $(UINT32_MAX) default $(dt_node_int_prop_int,/cpus/cpu@0,d-cache-line-size) \ if $(dt_node_has_prop,/cpus/cpu@0,d-cache-line-size) default 64 if 64BIT @@ -1347,27 +1352,30 @@ config DCACHE_LINE_SIZE help Size in bytes of a CPU d-cache line. - Detect automatically at runtime by selecting DCACHE_LINE_SIZE_DETECT. - endif # DCACHE +config ICACHE_LINE_SIZE_DETECT_SUPPORT + bool + help + Platform implements querying some SoC register for finding the i-cache + line size. + + Only the software component (arch/SoC layer, driver) implementing the + cache API shall select this option. + if ICACHE config ICACHE_LINE_SIZE_DETECT bool "Detect i-cache line size at runtime" - depends on CACHE_MANAGEMENT + depends on CACHE_MANAGEMENT && ICACHE_LINE_SIZE_DETECT_SUPPORT help - This option enables querying some architecture-specific hardware for - finding the i-cache line size at the expense of taking more memory and - code and a slightly increased boot time. - - If the CPU's i-cache line size is known in advance, disable this option and - manually enter the value for ICACHE_LINE_SIZE or set it in the DT - using the 'i-cache-line-size' property. + Enable querying some SoC register for finding the i-cache + line size at the expense of taking more memory and code and a slightly + increased boot time. config ICACHE_LINE_SIZE int "i-cache line size" - depends on !ICACHE_LINE_SIZE_DETECT + range 2 $(UINT32_MAX) default $(dt_node_int_prop_int,/cpus/cpu@0,i-cache-line-size) \ if $(dt_node_has_prop,/cpus/cpu@0,i-cache-line-size) default 64 if 64BIT @@ -1375,8 +1383,6 @@ config ICACHE_LINE_SIZE help Size in bytes of a CPU i-cache line. - Detect automatically at runtime by selecting ICACHE_LINE_SIZE_DETECT. - endif # ICACHE if CACHE_MANAGEMENT diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 360458727ef3..91f1653337c0 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -97,6 +97,8 @@ config CPU_EM6 select CPU_ARCEM select CPU_HAS_DCACHE select CPU_HAS_ICACHE + select DCACHE_LINE_SIZE_DETECT_SUPPORT + select ICACHE_LINE_SIZE_DETECT_SUPPORT help If y, the SoC uses an ARC EM6 CPU @@ -105,6 +107,8 @@ config CPU_HS3X select CPU_ARCHS select CPU_HAS_DCACHE select CPU_HAS_ICACHE + select DCACHE_LINE_SIZE_DETECT_SUPPORT + select ICACHE_LINE_SIZE_DETECT_SUPPORT help If y, the SoC uses an ARC HS3x CPU @@ -113,6 +117,8 @@ config CPU_HS4X select CPU_ARCHS select CPU_HAS_DCACHE select CPU_HAS_ICACHE + select DCACHE_LINE_SIZE_DETECT_SUPPORT + select ICACHE_LINE_SIZE_DETECT_SUPPORT help If y, the SoC uses an HS4X CPU @@ -125,6 +131,8 @@ config CPU_HS5X select CPU_ARCHS select CPU_HAS_DCACHE select CPU_HAS_ICACHE + select DCACHE_LINE_SIZE_DETECT_SUPPORT + select ICACHE_LINE_SIZE_DETECT_SUPPORT help If y, the SoC uses an ARC HS6x CPU @@ -134,6 +142,8 @@ config CPU_HS6X select 64BIT select CPU_HAS_DCACHE select CPU_HAS_ICACHE + select DCACHE_LINE_SIZE_DETECT_SUPPORT + select ICACHE_LINE_SIZE_DETECT_SUPPORT help If y, the SoC uses an ARC HS6x CPU diff --git a/arch/arm/core/Kconfig b/arch/arm/core/Kconfig index 7f5c9c8d5108..552243a8c8c5 100644 --- a/arch/arm/core/Kconfig +++ b/arch/arm/core/Kconfig @@ -84,6 +84,8 @@ config CPU_AARCH32_CORTEX_A select ARCH_HAS_GDBSTUB # GDB on ARM needs the extra registers select EXTRA_EXCEPTION_INFO if GDBSTUB + select DCACHE_LINE_SIZE_DETECT_SUPPORT + select ICACHE_LINE_SIZE_DETECT_SUPPORT help This option signifies the use of a CPU of the Cortex-A family. diff --git a/arch/arm/core/__aeabi_atexit.c b/arch/arm/core/__aeabi_atexit.c index d811bdd6a947..768840171e7a 100644 --- a/arch/arm/core/__aeabi_atexit.c +++ b/arch/arm/core/__aeabi_atexit.c @@ -11,7 +11,7 @@ #include -EXTERN_C int __cxa_atexit(void (*destructor)(void *), void *objptr, void *dso); +EXTERN_C int __cxa_atexit(void (*destructor)(void *obj), void *objptr, void *dso); /** * @brief Register destructor for a global object @@ -22,7 +22,7 @@ EXTERN_C int __cxa_atexit(void (*destructor)(void *), void *objptr, void *dso); * * Wrapper for __cxa_atexit() */ -int __aeabi_atexit(void *objptr, void (*destructor)(void *), void *dso) +int __aeabi_atexit(void *objptr, void (*destructor)(void *obj), void *dso) { return __cxa_atexit(destructor, objptr, dso); } diff --git a/arch/arm/core/cortex_a_r/Kconfig b/arch/arm/core/cortex_a_r/Kconfig index 8d9e8d012b9a..64ba77e18447 100644 --- a/arch/arm/core/cortex_a_r/Kconfig +++ b/arch/arm/core/cortex_a_r/Kconfig @@ -51,15 +51,24 @@ config CPU_CORTEX_A32 if CPU_AARCH32_CORTEX_A +config ARM_A_PROFILE_AARCH32 + bool + help + Capability flag enabled for any ARM A-profile processor running in the + AArch32 execution state (ARMv7-A or ARMv8-A AArch32). + + This option is not user-selectable; A-profile AArch32 architecture + symbols select it. + config ARMV7_A bool + select ARM_A_PROFILE_AARCH32 select ATOMIC_OPERATIONS_BUILTIN select ISA_ARM -# TODO: Introduce an ARM_A_PROFILE_AARCH32 capability flag selected by both -# ARMV7_A and AARCH32_ARMV8_A to simplify the conditional guards in shared code. config AARCH32_ARMV8_A bool + select ARM_A_PROFILE_AARCH32 select ATOMIC_OPERATIONS_BUILTIN select ISA_ARM help diff --git a/arch/arm/core/cortex_a_r/fault.c b/arch/arm/core/cortex_a_r/fault.c index 2688c7b9cd1f..c4695fbbdea9 100644 --- a/arch/arm/core/cortex_a_r/fault.c +++ b/arch/arm/core/cortex_a_r/fault.c @@ -101,7 +101,7 @@ static uint32_t dump_fault(uint32_t status, uint32_t addr) reason = K_ERR_ARM_UNSUPPORTED_EXCLUSIVE_ACCESS_FAULT; EXCEPTION_DUMP("Unsupported Exclusive Access Fault @ 0x%08x", addr); break; -#elif defined(CONFIG_ARMV7_A) || defined(CONFIG_AARCH32_ARMV8_A) +#elif defined(CONFIG_ARM_A_PROFILE_AARCH32) case FSR_FS_PERMISSION_FAULT_2ND_LEVEL: reason = K_ERR_ARM_PERMISSION_FAULT_2ND_LEVEL; EXCEPTION_DUMP("2nd Level Permission Fault @ 0x%08x", addr); diff --git a/arch/arm/core/cortex_a_r/prep_c.c b/arch/arm/core/cortex_a_r/prep_c.c index 85eb73db6483..a549d47149fb 100644 --- a/arch/arm/core/cortex_a_r/prep_c.c +++ b/arch/arm/core/cortex_a_r/prep_c.c @@ -27,7 +27,7 @@ #include #include -#if defined(CONFIG_ARMV7_R) || defined(CONFIG_ARMV7_A) || defined(CONFIG_AARCH32_ARMV8_A) +#if defined(CONFIG_ARMV7_R) || defined(CONFIG_ARM_A_PROFILE_AARCH32) #include #endif @@ -110,8 +110,8 @@ FUNC_NORETURN void z_prep_c(void) #endif arch_bss_zero(); arch_data_copy(); -#if ((defined(CONFIG_ARMV7_R) || defined(CONFIG_ARMV7_A) || \ - defined(CONFIG_AARCH32_ARMV8_A)) && defined(CONFIG_INIT_STACKS)) +#if (defined(CONFIG_ARMV7_R) || defined(CONFIG_ARM_A_PROFILE_AARCH32)) && \ + defined(CONFIG_INIT_STACKS) z_arm_init_stacks(); #endif z_arm_interrupt_init(); diff --git a/arch/arm/core/cortex_m/Kconfig b/arch/arm/core/cortex_m/Kconfig index dd63b022d411..fefdf83dc5ea 100644 --- a/arch/arm/core/cortex_m/Kconfig +++ b/arch/arm/core/cortex_m/Kconfig @@ -506,14 +506,18 @@ config CORTEX_M_NULL_POINTER_EXCEPTION_PAGE_SIZE endif # CORTEX_M_NULL_POINTER_EXCEPTION -config ARM_GCC_FP_WORKAROUND - bool "GCC/gas frame pointer workaround" - help - Enables a two-instruction workaround for a GNU toolchain - buglet in arch_switch() when the kernel must unavoidably be - compiled with -fno-omit-frame-pointer. Most code doesn't - want this, but in at least one case it's necessary. See - comment in arm-m-switch.h +config ARM_FP_CLOBBER_WORKAROUND + bool "Frame pointer clobber workaround" + depends on USE_SWITCH + default y if FRAME_POINTER + default y if SCHED_SCALABLE + help + Enables a two-instruction workaround for a GNU and clang toolchain + limitation in which inline assembly cannot clobber the frame pointer. + Most code doesn't want this, but it's necessary if the kernel is to + be compiled with -fno-omit-frame-pointer, or if the red-black tree + scheduler queue is used, which requires dynamic stack allocation in + sched.c. rsource "tz/Kconfig" diff --git a/arch/arm/core/mpu/arm_mpu.c b/arch/arm/core/mpu/arm_mpu.c index fb802c0e2a32..a6d3e3723a9e 100644 --- a/arch/arm/core/mpu/arm_mpu.c +++ b/arch/arm/core/mpu/arm_mpu.c @@ -39,13 +39,6 @@ LOG_MODULE_DECLARE(mpu); #define MPU_NODEID DT_INST(0, arm_armv6m_mpu) #endif -#define NODE_HAS_PROP_AND_OR(node_id, prop) \ - DT_NODE_HAS_PROP(node_id, prop) || - -BUILD_ASSERT((DT_FOREACH_STATUS_OKAY_NODE_VARGS( - NODE_HAS_PROP_AND_OR, zephyr_memory_region_mpu) false) == false, - "`zephyr,memory-region-mpu` was deprecated in favor of `zephyr,memory-attr`"); - #define NULL_PAGE_DETECT_NODE_FINDER(node_id, prop) \ (DT_NODE_HAS_PROP(node_id, prop) && (DT_REG_ADDR(node_id) == 0) && \ (DT_REG_SIZE(node_id) >= CONFIG_CORTEX_M_NULL_POINTER_EXCEPTION_PAGE_SIZE)) || diff --git a/arch/arm/core/mpu/arm_mpu_v7_internal.h b/arch/arm/core/mpu/arm_mpu_v7_internal.h index 17cf2cb38e62..5165cb20f9ed 100644 --- a/arch/arm/core/mpu/arm_mpu_v7_internal.h +++ b/arch/arm/core/mpu/arm_mpu_v7_internal.h @@ -29,11 +29,11 @@ static void mpu_init(void) static void region_init(const uint32_t index, const struct arm_mpu_region *region_conf) { + /* Configure the region */ +#if defined(CONFIG_CPU_AARCH32_CORTEX_R) /* Select the region you want to access */ set_region_number(index); - /* Configure the region */ -#if defined(CONFIG_CPU_AARCH32_CORTEX_R) /* * Clear size register, which disables the entry. It cannot be * enabled as we reconfigure it. @@ -44,6 +44,10 @@ static void region_init(const uint32_t index, set_region_attributes(region_conf->attr.rasr); set_region_size(region_conf->size | MPU_RASR_ENABLE_Msk); #else + /* Writing the region number in RBAR.REGION with RBAR.VALID set + * also updates RNR, so the region does not need to be selected + * with a separate RNR write first. + */ MPU->RBAR = (region_conf->base & MPU_RBAR_ADDR_Msk) | MPU_RBAR_VALID_Msk | index; MPU->RASR = region_conf->attr.rasr | MPU_RASR_ENABLE_Msk; diff --git a/arch/arm/core/mpu/nxp_mpu.c b/arch/arm/core/mpu/nxp_mpu.c index ba88a7b30f3d..5efdece54618 100644 --- a/arch/arm/core/mpu/nxp_mpu.c +++ b/arch/arm/core/mpu/nxp_mpu.c @@ -20,13 +20,6 @@ #include LOG_MODULE_DECLARE(mpu); -#define NODE_HAS_PROP_AND_OR(node_id, prop) \ - DT_NODE_HAS_PROP(node_id, prop) || - -BUILD_ASSERT((DT_FOREACH_STATUS_OKAY_NODE_VARGS( - NODE_HAS_PROP_AND_OR, zephyr_memory_region_mpu) false) == false, - "`zephyr,memory-region-mpu` was deprecated in favor of `zephyr,memory-attr`"); - /* * Global status variable holding the number of HW MPU region indices, which * have been reserved by the MPU driver to program the static (fixed) memory diff --git a/arch/arm64/core/cortex_r/arm_mpu.c b/arch/arm64/core/cortex_r/arm_mpu.c index 4239ccea61ef..8f10e884b42d 100644 --- a/arch/arm64/core/cortex_r/arm_mpu.c +++ b/arch/arm64/core/cortex_r/arm_mpu.c @@ -21,13 +21,6 @@ LOG_MODULE_REGISTER(mpu, CONFIG_MPU_LOG_LEVEL); -#define NODE_HAS_PROP_AND_OR(node_id, prop) \ - DT_NODE_HAS_PROP(node_id, prop) || - -BUILD_ASSERT((DT_FOREACH_STATUS_OKAY_NODE_VARGS( - NODE_HAS_PROP_AND_OR, zephyr_memory_region_mpu) false) == false, - "`zephyr,memory-region-mpu` was deprecated in favor of `zephyr,memory-attr`"); - #define MPU_DYNAMIC_REGION_AREAS_NUM 3 #if defined(CONFIG_USERSPACE) || defined(CONFIG_ARM64_STACK_PROTECTION) diff --git a/arch/posix/core/irq.c b/arch/posix/core/irq.c index eba9cda41d25..dfba20e00744 100644 --- a/arch/posix/core/irq.c +++ b/arch/posix/core/irq.c @@ -6,6 +6,7 @@ #include #include "board_irq.h" +#include #ifdef CONFIG_IRQ_OFFLOAD #include @@ -36,6 +37,36 @@ int arch_irq_is_enabled(unsigned int irq) return posix_irq_is_enabled(irq); } +#ifdef CONFIG_ARCH_HAS_IRQ_PENDING_OPS +void arch_irq_set_pending(unsigned int irq) +{ + posix_sw_set_pending_IRQ(irq); +} + +void arch_irq_clear_pending(unsigned int irq) +{ + posix_sw_clear_pending_IRQ(irq); +} + +bool arch_irq_is_pending(unsigned int irq) +{ + return posix_irq_is_pending(irq); +} +#endif /* CONFIG_ARCH_HAS_IRQ_PENDING_OPS */ + +#ifdef CONFIG_ARCH_HAS_IRQ_GET_ACTIVE +unsigned int arch_irq_get_active(void) +{ + int current = posix_get_current_irq(); + + if (current == -1) { + return K_IRQ_ACTIVE_NONE; + } else { + return current; + } +} +#endif + #ifdef CONFIG_DYNAMIC_INTERRUPTS /** * Configure a dynamic interrupt. diff --git a/arch/riscv/core/smp.c b/arch/riscv/core/smp.c index f592bb24d656..2c7081af42d0 100644 --- a/arch/riscv/core/smp.c +++ b/arch/riscv/core/smp.c @@ -60,9 +60,23 @@ void arch_secondary_cpu_init(int hartid) for (i = 0; i < CONFIG_MP_MAX_NUM_CPUS; i++) { if (_kernel.cpus[i].arch.hartid == hartid) { cpu_num = i; + break; } } + csr_write(mscratch, &_kernel.cpus[cpu_num]); + + /* + * The no-match check must sit after the mscratch write: + * arch_curr_cpu() reads mscratch, so the fatal path needs the + * per-CPU pointer set first. Note that on the no-match path + * cpu_num is still 0, so the panic is reported against whatever + * CPU 0 is running. + */ + if (i >= CONFIG_MP_MAX_NUM_CPUS) { + k_panic(); + } + #ifdef CONFIG_SMP _kernel.cpus[cpu_num].arch.online = true; #endif diff --git a/arch/riscv/core/thread.c b/arch/riscv/core/thread.c index 336f31327479..40997524eb34 100644 --- a/arch/riscv/core/thread.c +++ b/arch/riscv/core/thread.c @@ -287,12 +287,27 @@ FUNC_NORETURN void z_riscv_switch_to_main_no_multithreading(k_thread_entry_t mai irq_unlock(RV_STATUS_IE); + /* + * No thread object exists in no-multithreading mode, so pass NULL: + * the callee's contract allows a NULL thread and expects the + * implementation to guard the main stack in that case. + */ + register struct k_thread *a0 __asm__("a0") = NULL; + + /* + * Bind main_entry to a callee-saved register: the call below + * clobbers the caller-saved registers, and jalr consumes %1 only + * after the call returns. %0 is safe anywhere because mv sp + * consumes it before the call. + */ + register k_thread_entry_t s1 __asm__("s1") = main_entry; + __asm__ volatile ( "mv sp, %0\n" "call z_riscv_custom_stack_guard_enable\n" "jalr ra, %1, 0\n" : - : "r" (main_stack), "r" (main_entry) + : "r" (main_stack), "r" (s1), "r" (a0) : "memory"); #else irq_unlock(RV_STATUS_IE); diff --git a/arch/riscv/core/tls.c b/arch/riscv/core/tls.c index 76708b8adf91..81631527d475 100644 --- a/arch/riscv/core/tls.c +++ b/arch/riscv/core/tls.c @@ -11,10 +11,15 @@ #include #include +static inline FUNC_NO_STACK_PROTECTOR size_t z_tls_data_size_aligned(void) +{ + return ROUND_UP(z_tls_data_size(), ARCH_STACK_PTR_ALIGN); +} + /* Non-inline wrapper for z_tls_data_size(), required for calling from assembly. */ size_t FUNC_NO_STACK_PROTECTOR z_tls_data_size_asm(void) { - return z_tls_data_size(); + return z_tls_data_size_aligned(); } size_t arch_tls_stack_setup(struct k_thread *new_thread, char *stack_ptr) @@ -27,7 +32,7 @@ size_t arch_tls_stack_setup(struct k_thread *new_thread, char *stack_ptr) * Since we are populating things backwards, setup the TLS data/bss * area first. */ - stack_ptr -= z_tls_data_size(); + stack_ptr -= z_tls_data_size_aligned(); z_tls_copy(stack_ptr); /* diff --git a/arch/riscv/custom/andes/hsp.c b/arch/riscv/custom/andes/hsp.c index 8d1b4b648b01..69561ec1e59e 100644 --- a/arch/riscv/custom/andes/hsp.c +++ b/arch/riscv/custom/andes/hsp.c @@ -107,6 +107,8 @@ void z_riscv_custom_stack_guard_init(void) * with the specified thread or interrupt context. * * @param thread Thread whose stack will be monitored by the stack guard. + * May be NULL in no-multithreading mode, in which case the + * main stack is guarded. */ void z_riscv_custom_stack_guard_enable(struct k_thread *thread) { @@ -133,7 +135,16 @@ void z_riscv_custom_stack_guard_enable(struct k_thread *thread) } #endif /* CONFIG_USERSPACE */ #else /* !CONFIG_MULTITHREADING */ - bound = (unsigned long)K_KERNEL_STACK_BUFFER(z_main_stack); + /* + * No thread object exists for the main thread in + * no-multithreading mode; the caller passes NULL and the + * main stack is guarded instead. + */ + if (thread != NULL) { + bound = thread->stack_info.start; + } else { + bound = (unsigned long)K_KERNEL_STACK_BUFFER(z_main_stack); + } #endif /* CONFIG_MULTITHREADING */ } diff --git a/arch/riscv/include/kernel_arch_func.h b/arch/riscv/include/kernel_arch_func.h index 8ccdd7a9c3d2..cb8cdc610caf 100644 --- a/arch/riscv/include/kernel_arch_func.h +++ b/arch/riscv/include/kernel_arch_func.h @@ -22,7 +22,16 @@ #ifdef CONFIG_CUSTOM_STACK_GUARD void z_riscv_custom_stack_guard_init(void); + +/* + * Enable the custom stack guard for the given thread's stack. + * + * @thread may be NULL when CONFIG_MULTITHREADING is disabled, since no + * thread object exists for the main thread in that mode; implementations + * must handle NULL and guard the main stack instead. + */ void z_riscv_custom_stack_guard_enable(struct k_thread *thread); + void z_riscv_custom_stack_guard_disable(void); bool z_riscv_custom_stack_guard_is_fault(struct arch_esf *esf); #endif /* CONFIG_CUSTOM_STACK_GUARD */ diff --git a/arch/sparc/core/irq_manage.c b/arch/sparc/core/irq_manage.c index c3073cac5513..fae2439d835c 100644 --- a/arch/sparc/core/irq_manage.c +++ b/arch/sparc/core/irq_manage.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -32,7 +33,7 @@ void z_sparc_enter_irq(uint32_t irl) #ifdef CONFIG_IRQ_OFFLOAD if (irl != 141U) { - irl = z_sparc_int_get_source(irl); + irl = intc_irqmp_get_source(irl); ite = &_sw_isr_table[irl]; ite->isr(ite->arg); } else { @@ -40,7 +41,7 @@ void z_sparc_enter_irq(uint32_t irl) } #else /* Get the actual interrupt source from the interrupt controller */ - irl = z_sparc_int_get_source(irl); + irl = intc_irqmp_get_source(irl); ite = &_sw_isr_table[irl]; ite->isr(ite->arg); #endif @@ -50,3 +51,27 @@ void z_sparc_enter_irq(uint32_t irl) z_check_stack_sentinel(); #endif } + +#ifdef CONFIG_LEON_IRQMP +/* + * The SPARC port assumes an IRQMP-style interrupt controller: the trap + * path above already queries it for the interrupt source. Map the + * architecture interrupt control functions to the IRQMP driver here so + * every SoC using it gets them; an SoC with a different controller + * provides its own implementation instead. + */ +void arch_irq_enable(unsigned int irq) +{ + intc_irqmp_irq_enable(irq); +} + +void arch_irq_disable(unsigned int irq) +{ + intc_irqmp_irq_disable(irq); +} + +int arch_irq_is_enabled(unsigned int irq) +{ + return intc_irqmp_irq_is_enabled(irq); +} +#endif /* CONFIG_LEON_IRQMP */ diff --git a/boards/96boards/carbon/96b_carbon_nrf51822.dts b/boards/96boards/carbon/96b_carbon_nrf51822.dts index 88989f900101..e92088927dc6 100644 --- a/boards/96boards/carbon/96b_carbon_nrf51822.dts +++ b/boards/96boards/carbon/96b_carbon_nrf51822.dts @@ -57,7 +57,7 @@ pinctrl-names = "default"; bt-hci@0 { - compatible = "zephyr,bt-hci-spi-slave"; + compatible = "zephyr,bt-hci-spi-peripheral"; reg = <0>; irq-gpios = <&gpio0 28 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; }; diff --git a/boards/adafruit/metro_rp2350/adafruit_metro_rp2350_rp2350b_m33.dts b/boards/adafruit/metro_rp2350/adafruit_metro_rp2350_rp2350b_m33.dts index fee594e4bb70..d5fa587d1535 100644 --- a/boards/adafruit/metro_rp2350/adafruit_metro_rp2350_rp2350b_m33.dts +++ b/boards/adafruit/metro_rp2350/adafruit_metro_rp2350_rp2350b_m33.dts @@ -176,8 +176,8 @@ zephyr_udc0: &usbd { #size-cells = <0>; cs-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; clk-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; - mosi-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; - miso-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + sdo-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + sdi-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&pio0_spi0_default>; pinctrl-names = "default"; }; diff --git a/boards/adi/max32666evkit/max32666evkit.dtsi b/boards/adi/max32666evkit/max32666evkit.dtsi index 16f43941bde0..12da2a1733f4 100644 --- a/boards/adi/max32666evkit/max32666evkit.dtsi +++ b/boards/adi/max32666evkit/max32666evkit.dtsi @@ -53,7 +53,7 @@ #address-cells = <1>; #size-cells = <0>; clk-gpios = <&gpio1 11 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; - mosi-gpios = <&gpio1 9 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; + sdo-gpios = <&gpio1 9 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; cs-gpios = <&gpio1 8 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; ls0xx_ls013b7dh03: ls0xx@0 { diff --git a/boards/adi/max32690evkit/max32690evkit_max32690_m4.dts b/boards/adi/max32690evkit/max32690evkit_max32690_m4.dts index cf55fd115cff..42f522e26ca6 100644 --- a/boards/adi/max32690evkit/max32690evkit_max32690_m4.dts +++ b/boards/adi/max32690evkit/max32690evkit_max32690_m4.dts @@ -76,7 +76,7 @@ #address-cells = <1>; #size-cells = <0>; clk-gpios = <&gpio2 25 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; - mosi-gpios = <&gpio2 24 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; + sdo-gpios = <&gpio2 24 (GPIO_ACTIVE_HIGH | MAX32_GPIO_VSEL_VDDIOH)>; cs-gpios = <&gpio2 11 (GPIO_ACTIVE_LOW | MAX32_GPIO_VSEL_VDDIOH)>; }; diff --git a/boards/alif/balletto_b1_dk/Kconfig.defconfig b/boards/alif/balletto_b1_dk/Kconfig.defconfig new file mode 100644 index 000000000000..5f682bad34e8 --- /dev/null +++ b/boards/alif/balletto_b1_dk/Kconfig.defconfig @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright Alif Semiconductor +# SPDX-License-Identifier: Apache-2.0 + +# Default configurations applied to the B1 DK boards + +if BOARD_BALLETTO_B1_DK + +configdefault I2C_DW_CLOCK_SPEED + default 40 + +endif # BOARD_BALLETTO_B1_DK diff --git a/boards/alif/balletto_b1_dk/balletto_b1_dk-pinctrl.dtsi b/boards/alif/balletto_b1_dk/balletto_b1_dk-pinctrl.dtsi index c4f3218f572f..82f6302ae84e 100644 --- a/boards/alif/balletto_b1_dk/balletto_b1_dk-pinctrl.dtsi +++ b/boards/alif/balletto_b1_dk/balletto_b1_dk-pinctrl.dtsi @@ -16,4 +16,44 @@ pinmux = ; }; }; + + pinctrl_i2c0: pinctrl_i2c0 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_i2c1: pinctrl_i2c1 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_gpio4: pinctrl_gpio4 { + group0 { + /* Multicolor LED0: blue on P4_3, green on P4_5, red on P4_7 */ + pinmux = , + , + ; + }; + }; + + pinctrl_gpio5: pinctrl_gpio5 { + group0 { + /* Navigation joystick JOY_SW1 to JOY_SW5 on SW3 */ + pinmux = , + , + , + , + ; + input-enable; + bias-pull-up; + }; + }; }; diff --git a/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.dts b/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.dts index b171f427c651..14817c97b8bd 100644 --- a/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.dts +++ b/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.dts @@ -6,6 +6,8 @@ /dts-v1/; #include +#include +#include #include "balletto_b1_dk-pinctrl.dtsi" / { @@ -17,6 +19,72 @@ zephyr,console = &uart2; zephyr,shell-uart = &uart2; }; + + aliases { + led0 = &led_red; + led1 = &led_blue; + led2 = &led_green; + sw0 = &joy_center; + }; + + leds { + compatible = "gpio-leds"; + + led_red: led_0 { + gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; + label = "LED0_R"; + }; + + led_blue: led_1 { + gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; + label = "LED0_B"; + }; + + led_green: led_2 { + gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; + label = "LED0_G"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + /* + * The DesignWare GPIO driver does not implement both + * edge triggering, which the interrupt driven mode of + * the GPIO keys driver needs. + */ + polling-mode; + + joy_down: joy_down { + gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; + label = "JOY_SW1"; + zephyr,code = ; + }; + + joy_left: joy_left { + gpios = <&gpio5 4 GPIO_ACTIVE_LOW>; + label = "JOY_SW2"; + zephyr,code = ; + }; + + joy_right: joy_right { + gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; + label = "JOY_SW3"; + zephyr,code = ; + }; + + joy_up: joy_up { + gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; + label = "JOY_SW4"; + zephyr,code = ; + }; + + joy_center: joy_center { + gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; + label = "JOY_SW5"; + zephyr,code = ; + }; + }; }; &uart2 { @@ -24,3 +92,23 @@ pinctrl-0 = <&pinctrl_uart2>; pinctrl-names = "default"; }; + +&gpio4 { + status = "okay"; + pinctrl-0 = <&pinctrl_gpio4>; + pinctrl-names = "default"; +}; + +&gpio5 { + status = "okay"; + pinctrl-0 = <&pinctrl_gpio5>; + pinctrl-names = "default"; +}; + +&i2c1 { + status = "okay"; + pinctrl-0 = <&pinctrl_i2c1>; + pinctrl-names = "default"; +}; + +mikrobus_i2c: &i2c1 {}; diff --git a/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.yaml b/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.yaml index af0e23190f85..8c773a6d274b 100644 --- a/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.yaml +++ b/boards/alif/balletto_b1_dk/balletto_b1_dk_ab1c1f4m51820ph0.yaml @@ -8,3 +8,6 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - gpio + - i2c diff --git a/boards/alif/ensemble_e1c_dk/Kconfig.defconfig b/boards/alif/ensemble_e1c_dk/Kconfig.defconfig new file mode 100644 index 000000000000..99fb3c4f3fd3 --- /dev/null +++ b/boards/alif/ensemble_e1c_dk/Kconfig.defconfig @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright Alif Semiconductor +# SPDX-License-Identifier: Apache-2.0 + +# Default configurations applied to the E1C DK boards + +if BOARD_ENSEMBLE_E1C_DK + +configdefault I2C_DW_CLOCK_SPEED + default 40 + +endif # BOARD_ENSEMBLE_E1C_DK diff --git a/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk-pinctrl.dtsi b/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk-pinctrl.dtsi index ea9b7f750c64..37160982bd3c 100644 --- a/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk-pinctrl.dtsi +++ b/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk-pinctrl.dtsi @@ -16,4 +16,44 @@ pinmux = ; }; }; + + pinctrl_i2c0: pinctrl_i2c0 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_i2c1: pinctrl_i2c1 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_gpio4: pinctrl_gpio4 { + group0 { + /* Multicolor LED0: blue on P4_3, green on P4_5, red on P4_7 */ + pinmux = , + , + ; + }; + }; + + pinctrl_gpio5: pinctrl_gpio5 { + group0 { + /* Navigation joystick JOY_SW1 to JOY_SW5 on SW3 */ + pinmux = , + , + , + , + ; + input-enable; + bias-pull-up; + }; + }; }; diff --git a/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.dts b/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.dts index a2c6d980725f..b36252294215 100644 --- a/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.dts +++ b/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.dts @@ -7,6 +7,8 @@ #include #include +#include +#include #include "ensemble_e1c_dk-pinctrl.dtsi" / { @@ -18,6 +20,72 @@ zephyr,console = &uart2; zephyr,shell-uart = &uart2; }; + + aliases { + led0 = &led_red; + led1 = &led_blue; + led2 = &led_green; + sw0 = &joy_center; + }; + + leds { + compatible = "gpio-leds"; + + led_red: led_0 { + gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; + label = "LED0_R"; + }; + + led_blue: led_1 { + gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; + label = "LED0_B"; + }; + + led_green: led_2 { + gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; + label = "LED0_G"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + /* + * The DesignWare GPIO driver does not implement both + * edge triggering, which the interrupt driven mode of + * the GPIO keys driver needs. + */ + polling-mode; + + joy_down: joy_down { + gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; + label = "JOY_SW1"; + zephyr,code = ; + }; + + joy_left: joy_left { + gpios = <&gpio5 4 GPIO_ACTIVE_LOW>; + label = "JOY_SW2"; + zephyr,code = ; + }; + + joy_right: joy_right { + gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; + label = "JOY_SW3"; + zephyr,code = ; + }; + + joy_up: joy_up { + gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; + label = "JOY_SW4"; + zephyr,code = ; + }; + + joy_center: joy_center { + gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; + label = "JOY_SW5"; + zephyr,code = ; + }; + }; }; &uart2 { @@ -25,3 +93,23 @@ pinctrl-0 = <&pinctrl_uart2>; pinctrl-names = "default"; }; + +&gpio4 { + status = "okay"; + pinctrl-0 = <&pinctrl_gpio4>; + pinctrl-names = "default"; +}; + +&gpio5 { + status = "okay"; + pinctrl-0 = <&pinctrl_gpio5>; + pinctrl-names = "default"; +}; + +&i2c1 { + status = "okay"; + pinctrl-0 = <&pinctrl_i2c1>; + pinctrl-names = "default"; +}; + +mikrobus_i2c: &i2c1 {}; diff --git a/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.yaml b/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.yaml index c911c3d63bd4..e05821e0e504 100644 --- a/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.yaml +++ b/boards/alif/ensemble_e1c_dk/ensemble_e1c_dk_ae1c1f4051920ph0_rtss_he.yaml @@ -8,3 +8,6 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - gpio + - i2c diff --git a/boards/alif/ensemble_e8_dk/Kconfig.defconfig b/boards/alif/ensemble_e8_dk/Kconfig.defconfig new file mode 100644 index 000000000000..486787189d32 --- /dev/null +++ b/boards/alif/ensemble_e8_dk/Kconfig.defconfig @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright Alif Semiconductor +# SPDX-License-Identifier: Apache-2.0 + +# Default configurations applied to the E8 DK boards + +if BOARD_ENSEMBLE_E8_DK + +configdefault I2C_DW_CLOCK_SPEED + default 100 + +endif # BOARD_ENSEMBLE_E8_DK diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk-pinctrl.dtsi b/boards/alif/ensemble_e8_dk/ensemble_e8_dk-pinctrl.dtsi index 8be170d45319..962982bce570 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk-pinctrl.dtsi +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk-pinctrl.dtsi @@ -94,4 +94,40 @@ pinmux = ; }; }; + + pinctrl_i2c0: pinctrl_i2c0 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_i2c1: pinctrl_i2c1 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_i2c2: pinctrl_i2c2 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; + + pinctrl_i2c3: pinctrl_i2c3 { + group0 { + pinmux = , + ; + input-enable; + drive-strength = <12>; + }; + }; }; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.dts index 1c0fc6bf9815..8e773cf5236e 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.dts @@ -9,6 +9,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae402fa0e5597le0-rtss-he"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.yaml index 96f490805e81..8d772d703003 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_he.yaml @@ -8,3 +8,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.dts index d0eb6e8f8e67..1ca0ccfbc951 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.dts @@ -9,6 +9,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae402fa0e5597le0-rtss-hp"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.yaml index 08a52f2680f1..3ae2d3e63679 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae402fa0e5597le0_rtss_hp.yaml @@ -8,3 +8,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.dts index bc588e2f29ec..b79076bbfcc7 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.dts @@ -9,6 +9,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae612fa0e5597ls0-rtss-he"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.yaml index e63282a1daf7..1c9343a996f1 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_he.yaml @@ -8,3 +8,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.dts index 0e9ac76c170e..89bb6640105a 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.dts @@ -9,6 +9,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae612fa0e5597ls0-rtss-hp"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.yaml index f9c37e97893a..eb46177d1aa7 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae612fa0e5597ls0_rtss_hp.yaml @@ -8,3 +8,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.dts index 75ca0ee8dfd5..86607122cfd1 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.dts @@ -9,6 +9,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae822fa0e5597ls0-apss"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.yaml index 3f149cd2ce55..dcf821193351 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_apss.yaml @@ -8,3 +8,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.dts index 6f312cb14c49..ea922173e8c5 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.dts @@ -10,6 +10,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae822fa0e5597ls0-rtss-he"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.yaml index f491b93bf7cf..2c48bc559f38 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_he.yaml @@ -9,3 +9,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.dts b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.dts index 1b3549a3a8c6..38ee903709dd 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.dts +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.dts @@ -10,6 +10,7 @@ #include #include #include "ensemble_e8_dk-pinctrl.dtsi" +#include "ensemble_e8_dk_common.dtsi" / { compatible = "alif,ensemble-e8-dk-ae822fa0e5597ls0-rtss-hp"; diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.yaml b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.yaml index da85814b0bc4..a2a8d3502fb2 100644 --- a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.yaml +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_ae822fa0e5597ls0_rtss_hp.yaml @@ -9,3 +9,5 @@ arch: arm vendor: alif toolchain: - zephyr +supported: + - i2c diff --git a/boards/alif/ensemble_e8_dk/ensemble_e8_dk_common.dtsi b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_common.dtsi new file mode 100644 index 000000000000..d947b748a129 --- /dev/null +++ b/boards/alif/ensemble_e8_dk/ensemble_e8_dk_common.dtsi @@ -0,0 +1,18 @@ +/* + * SPDX-FileCopyrightText: Copyright Alif Semiconductor + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * On-board peripherals shared by every ensemble_e8_dk board target. Include + * this after the SoC dtsi, the cluster dtsi and the board pinctrl dtsi: every + * node referenced below comes from one of those. + */ + +&i2c0 { + status = "okay"; + pinctrl-0 = <&pinctrl_i2c0>; + pinctrl-names = "default"; +}; + +mikrobus_i2c: &i2c0 {}; diff --git a/boards/antmicro/stm32h7_hdmi_board/stm32h7_hdmi_board_stm32h747xx_m7.yaml b/boards/antmicro/stm32h7_hdmi_board/stm32h7_hdmi_board_stm32h747xx_m7.yaml index 9443aa959f0f..a1924abf9093 100644 --- a/boards/antmicro/stm32h7_hdmi_board/stm32h7_hdmi_board_stm32h747xx_m7.yaml +++ b/boards/antmicro/stm32h7_hdmi_board/stm32h7_hdmi_board_stm32h747xx_m7.yaml @@ -19,6 +19,7 @@ supported: - memc - netif:eth - nvs + - ptp_clock - qspi - spi - uart diff --git a/boards/antmicro/stm32h7_renode_reference_board/stm32h7_renode_reference_board.yaml b/boards/antmicro/stm32h7_renode_reference_board/stm32h7_renode_reference_board.yaml index fda4d4244531..d5c0b6f8b2e1 100644 --- a/boards/antmicro/stm32h7_renode_reference_board/stm32h7_renode_reference_board.yaml +++ b/boards/antmicro/stm32h7_renode_reference_board/stm32h7_renode_reference_board.yaml @@ -22,6 +22,7 @@ supported: - led - netif:eth - nvs + - ptp_clock - pwm - rtc - uart diff --git a/boards/arduino/opta/arduino_opta-common.dtsi b/boards/arduino/opta/arduino_opta-common.dtsi index 32373596e492..6c1c2c00f144 100644 --- a/boards/arduino/opta/arduino_opta-common.dtsi +++ b/boards/arduino/opta/arduino_opta-common.dtsi @@ -217,12 +217,12 @@ }; sdhc: &sdmmc1 { - compatible = "st,stm32-sdio"; + compatible = "st,stm32-sdmmc"; pinctrl-0 = <&sdmmc1_d0_pc8 &sdmmc1_d1_pc9 &sdmmc1_d2_pc10 &sdmmc1_d3_pc11 &sdmmc1_ck_pc12 &sdmmc1_cmd_pd2>; pinctrl-names = "default"; - sdhi-on-gpios = <&gpioj 1 GPIO_ACTIVE_HIGH>; + pwr-gpios = <&gpioj 1 GPIO_ACTIVE_HIGH>; power-delay-ms = <50>; interrupts = <49 0>; interrupt-names = "event"; diff --git a/boards/arduino/opta/arduino_opta_stm32h747xx_m4_defconfig b/boards/arduino/opta/arduino_opta_stm32h747xx_m4_defconfig index fb2168f361aa..adf8f83ba059 100644 --- a/boards/arduino/opta/arduino_opta_stm32h747xx_m4_defconfig +++ b/boards/arduino/opta/arduino_opta_stm32h747xx_m4_defconfig @@ -12,3 +12,7 @@ CONFIG_HW_STACK_PROTECTION=y # Use zephyr,code-partition as flash offset CONFIG_USE_DT_CODE_PARTITION=y + +# Use STM32 SDHC driver for SDIO +# (disables the legacy SDMMC disk driver) +CONFIG_SDMMC_STM32=n diff --git a/boards/arduino/opta/arduino_opta_stm32h747xx_m7.yaml b/boards/arduino/opta/arduino_opta_stm32h747xx_m7.yaml index d2d60fe33fc1..fef58b82323c 100644 --- a/boards/arduino/opta/arduino_opta_stm32h747xx_m7.yaml +++ b/boards/arduino/opta/arduino_opta_stm32h747xx_m7.yaml @@ -10,6 +10,7 @@ flash: 768 supported: - gpio - netif:eth + - ptp_clock - qspi testing: ignore_tags: diff --git a/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml b/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml index bd7d06eb249f..6a27433939d9 100644 --- a/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml +++ b/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml @@ -11,6 +11,7 @@ supported: - gpio - netif:eth - i2c + - ptp_clock - spi - qspi - memc diff --git a/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml b/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml index a5e81cd574ea..253aed1523bf 100644 --- a/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml +++ b/boards/arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml @@ -11,6 +11,7 @@ supported: - gpio - netif:eth - i2c + - ptp_clock - spi - qspi - memc diff --git a/boards/arm/mps3/doc/index.rst b/boards/arm/mps3/doc/index.rst index ec98bc7ed442..9a965babe78a 100644 --- a/boards/arm/mps3/doc/index.rst +++ b/boards/arm/mps3/doc/index.rst @@ -68,7 +68,7 @@ Zephyr board options .. code-block:: bash - $ west build -b mps3_an547 samples/hello_world -DEMU_PLATFORM=qemu -t run + $ west build -b mps3/corstone300/an547 samples/hello_world -DEMU_PLATFORM=qemu -t run .. tab:: MPS3 Corstone-300 (AN552) diff --git a/boards/armfly/stm32h743xih6/armfly_stm32h743xih6.yaml b/boards/armfly/stm32h743xih6/armfly_stm32h743xih6.yaml index 1ce88fcbe3ea..49706b7d55bc 100644 --- a/boards/armfly/stm32h743xih6/armfly_stm32h743xih6.yaml +++ b/boards/armfly/stm32h743xih6/armfly_stm32h743xih6.yaml @@ -11,6 +11,7 @@ toolchain: ram: 512 flash: 2048 supported: + - ptp_clock - uart - gpio - input diff --git a/boards/atmel/sam/sam4e_xpro/sam4e_xpro.yaml b/boards/atmel/sam/sam4e_xpro/sam4e_xpro.yaml index 240d936a2307..b6a39b638e5a 100644 --- a/boards/atmel/sam/sam4e_xpro/sam4e_xpro.yaml +++ b/boards/atmel/sam/sam4e_xpro/sam4e_xpro.yaml @@ -14,6 +14,7 @@ supported: - hwinfo - i2c - netif:eth + - ptp_clock - pwm - sdhc - spi diff --git a/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21.yaml b/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21.yaml index a24fe5556b77..3528ebc38d25 100644 --- a/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21.yaml +++ b/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21.yaml @@ -16,6 +16,7 @@ supported: - gpio - hwinfo - i2s + - ptp_clock - pwm - netif:eth - sdhc diff --git a/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21b.yaml b/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21b.yaml index f1fa6b3f74f6..9e5cc4f58437 100644 --- a/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21b.yaml +++ b/boards/atmel/sam/sam_e70_xplained/sam_e70_xplained_same70q21b.yaml @@ -16,6 +16,7 @@ supported: - gpio - hwinfo - i2s + - ptp_clock - pwm - netif:eth - sdhc diff --git a/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21.yaml b/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21.yaml index db02e78d40be..87d9286b2407 100644 --- a/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21.yaml +++ b/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21.yaml @@ -19,6 +19,7 @@ supported: - hwinfo - gpio - i2s + - ptp_clock - pwm - netif:eth - rtc diff --git a/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21b.yaml b/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21b.yaml index 5357a68a2228..55bc283c11c6 100644 --- a/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21b.yaml +++ b/boards/atmel/sam/sam_v71_xult/sam_v71_xult_samv71q21b.yaml @@ -19,6 +19,7 @@ supported: - hwinfo - gpio - i2s + - ptp_clock - pwm - netif:eth - rtc diff --git a/boards/atmel/sam0/same54_xpro/same54_xpro.yaml b/boards/atmel/sam0/same54_xpro/same54_xpro.yaml index d9a73d53e847..476b70df19bf 100644 --- a/boards/atmel/sam0/same54_xpro/same54_xpro.yaml +++ b/boards/atmel/sam0/same54_xpro/same54_xpro.yaml @@ -18,6 +18,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - pwm - rtc - spi diff --git a/boards/beagle/beaglebadge/beaglebadge_am62l3_a53.dts b/boards/beagle/beaglebadge/beaglebadge_am62l3_a53.dts index 7e9595ebec49..885239d300ae 100644 --- a/boards/beagle/beaglebadge/beaglebadge_am62l3_a53.dts +++ b/boards/beagle/beaglebadge/beaglebadge_am62l3_a53.dts @@ -93,7 +93,7 @@ clk-gpios = <&main_gpio0 89 GPIO_ACTIVE_HIGH>; cs-gpios = <&main_gpio0 87 GPIO_ACTIVE_LOW>; - mosi-gpios = <&main_gpio0 91 GPIO_ACTIVE_HIGH>; + sdo-gpios = <&main_gpio0 91 GPIO_ACTIVE_HIGH>; }; mipi_dbi { diff --git a/boards/common/qemu_x86.board.cmake b/boards/common/qemu_x86.board.cmake new file mode 100644 index 000000000000..807c23e56737 --- /dev/null +++ b/boards/common/qemu_x86.board.cmake @@ -0,0 +1,79 @@ +# SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors +# SPDX-License-Identifier: Apache-2.0 + +# Shared by the QEMU x86 boards, which all emulate the same q35 PC machine +# and differ only in the CPU model handed to -cpu. A board sets +# QEMU_CPU_TYPE, plus any QEMU_EXTRA_FLAGS it needs, before including this +# file; everything derived from Kconfig and devicetree is handled here. + +set(SUPPORTED_EMU_PLATFORMS qemu) + +if(CONFIG_X86_64) + set(QEMU_BINARY_SUFFIX x86_64) +endif() + +if(CONFIG_SRAM_DEPRECATED_KCONFIG_SET) + math(EXPR RAM_SIZE "${CONFIG_SRAM_SIZE} / 1024" OUTPUT_FORMAT HEXADECIMAL) +else() + dt_chosen(chosen_sram_path PROPERTY "zephyr,sram") + dt_reg_size(RAM_SIZE PATH "${chosen_sram_path}") + math(EXPR RAM_SIZE "${RAM_SIZE} / 1024 / 1024" OUTPUT_FORMAT HEXADECIMAL) +endif() + +if(CONFIG_XIP) + # Extra 4MB to emulate flash area + math(EXPR QEMU_MEMORY_SIZE_MB "${RAM_SIZE} + 4") +else() + math(EXPR QEMU_MEMORY_SIZE_MB "${RAM_SIZE}") +endif() + +# Advertise to the guest when the build enabled CONFIG_, +# so the emulated CPU matches the instruction set the code was compiled for. +function(qemu_x86_cpu_feature kconfig feature) + if(CONFIG_${kconfig}) + set(QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS},${feature}" PARENT_SCOPE) + endif() +endfunction() + +set(QEMU_CPU_FLAGS "") +qemu_x86_cpu_feature(X86_MMX mmx) +qemu_x86_cpu_feature(X86_MMX mmxext) +qemu_x86_cpu_feature(X86_SSE sse) +qemu_x86_cpu_feature(X86_SSE2 sse2) +qemu_x86_cpu_feature(X86_SSE3 pni) +qemu_x86_cpu_feature(X86_SSSE3 ssse3) +qemu_x86_cpu_feature(X86_SSE41 sse4.1) +qemu_x86_cpu_feature(X86_SSE42 sse4.2) +qemu_x86_cpu_feature(X86_SSE4A sse4a) +if(NOT CONFIG_X86_64) + qemu_x86_cpu_feature(CACHE_MANAGEMENT clflush) +endif() + +if(CONFIG_ENTROPY_VIRTIO) + set(QEMU_VIRTIO_ENTROPY_FLAGS -device virtio-rng-pci) +endif() + +if(CONFIG_INPUT_VIRTIO) + if(CONFIG_INPUT_VIRTIO_DEVICE_TYPE_KEYBOARD) + set(QEMU_VIRTIO_INPUT_FLAGS -device virtio-keyboard-pci,addr=05.0,id=input0) + elseif(CONFIG_INPUT_VIRTIO_DEVICE_TYPE_TABLET) + set(QEMU_VIRTIO_INPUT_FLAGS -device virtio-tablet-pci,addr=05.0,id=input0) + else() + message(WARNING "No virtio input device type selected; QEMU_VIRTIO_INPUT_FLAGS will be empty") + endif() +endif() + +set(QEMU_BOARD_FLAGS + -m ${QEMU_MEMORY_SIZE_MB} + -cpu ${QEMU_CPU_TYPE}${QEMU_CPU_FLAGS} + -machine q35 + -device isa-debug-exit,iobase=0xf4,iosize=0x04 + ${QEMU_VIRTIO_ENTROPY_FLAGS} + ${QEMU_VIRTIO_INPUT_FLAGS} + ) + +if(NOT CONFIG_ACPI) + list(APPEND QEMU_BOARD_FLAGS -machine acpi=off) +endif() + +include(${ZEPHYR_BASE}/boards/common/qemu.board.cmake) diff --git a/boards/emtrion/emsbc_neon_cm7/emsbc_neon_cm7.yaml b/boards/emtrion/emsbc_neon_cm7/emsbc_neon_cm7.yaml index 824d7c3a913a..7e74528875cd 100644 --- a/boards/emtrion/emsbc_neon_cm7/emsbc_neon_cm7.yaml +++ b/boards/emtrion/emsbc_neon_cm7/emsbc_neon_cm7.yaml @@ -15,6 +15,7 @@ ram: 384 flash: 2048 supported: - i2c + - ptp_clock - spi - gpio - netif:eth diff --git a/boards/espressif/esp32p4_function_ev_board/Kconfig.defconfig b/boards/espressif/esp32p4_function_ev_board/Kconfig.defconfig index 7ec4b080c9df..12f5fcaec958 100644 --- a/boards/espressif/esp32p4_function_ev_board/Kconfig.defconfig +++ b/boards/espressif/esp32p4_function_ev_board/Kconfig.defconfig @@ -8,4 +8,13 @@ if BOARD_ESP32P4_FUNCTION_EV_BOARD_ESP32P4_HPCORE configdefault ETH_DRIVER default y +# The 1024x600 panel needs 1.76 MB per framebuffer, and the driver allocates +# two of them for tear-free updates, so the stock heap does not fit them. +configdefault ESP_SPIRAM_HEAP_SIZE + default 5242880 if DISPLAY_ESP32_DSI + +# The controller has an interrupt line, so there is no reason to poll it. +configdefault INPUT_GT911_INTERRUPT + default y + endif # BOARD_ESP32P4_FUNCTION_EV_BOARD_ESP32P4_HPCORE diff --git a/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore-pinctrl.dtsi b/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore-pinctrl.dtsi index cf510602417a..d1070d7097ac 100644 --- a/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore-pinctrl.dtsi +++ b/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore-pinctrl.dtsi @@ -24,7 +24,7 @@ spim2_default: spim2_default { group1 { pinmux = , - , + , ; }; @@ -36,8 +36,8 @@ i2c0_default: i2c0_default { group1 { - pinmux = , - ; + pinmux = , + ; bias-pull-up; drive-open-drain; output-high; diff --git a/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.dts b/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.dts index 7e4a08f46ffc..18c6fc2ae551 100644 --- a/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.dts +++ b/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.dts @@ -9,6 +9,8 @@ #include #include "esp32p4_function_ev_board_hpcore-pinctrl.dtsi" #include +#include +#include #include / { @@ -22,6 +24,8 @@ zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,bt-hci = &esp_hosted_mcu_hci; + zephyr,display = &dsi_display; + zephyr,touch = >911; }; aliases { @@ -74,6 +78,18 @@ clock-frequency = ; pinctrl-0 = <&i2c0_default>; pinctrl-names = "default"; + + gt911: touch-controller@5d { + compatible = "goodix,gt911"; + status = "okay"; + reg = <0x5d>; + reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; + irq-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; + screen-width = <1024>; + screen-height = <600>; + inverted-x; + inverted-y; + }; }; &spi2 { @@ -119,6 +135,12 @@ regulator-always-on; }; + ldo3@3 { + regulator-init-microvolt = <2500000>; + regulator-boot-on; + regulator-always-on; + }; + ldo4@4 { regulator-init-microvolt = <3300000>; regulator-boot-on; @@ -188,6 +210,44 @@ }; }; +&mipi_dsi { + status = "okay"; + phy-clock = <900000000>; + dpi-clock-frequency = <48000000>; + + ek79007: panel-controller@0 { + compatible = "fitipower,ek79007"; + reg = <0>; + data-lanes = <2>; + pixel-format = ; + width = <1024>; + height = <600>; + reset-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + bl-gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>; + + display-timings { + compatible = "zephyr,panel-timing"; + hsync-len = <10>; + hback-porch = <160>; + hfront-porch = <160>; + vsync-len = <1>; + vback-porch = <23>; + vfront-porch = <12>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <0>; + }; + }; +}; + +&dsi_display { + status = "okay"; + pixel-format = ; + width = <1024>; + height = <600>; +}; + ð { status = "okay"; phy-handle = <&phy>; diff --git a/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.yaml b/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.yaml index fb250793f077..eca68992189b 100644 --- a/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.yaml +++ b/boards/espressif/esp32p4_function_ev_board/esp32p4_function_ev_board_hpcore.yaml @@ -10,12 +10,16 @@ testing: - heap supported: - counter + - display - dma - entropy - gpio - hwinfo + - i2c + - input - netif:eth - netif:wifi + - ptp_clock - sdhc - spi - uart diff --git a/boards/espressif/esp32p4x_function_ev_board/Kconfig.defconfig b/boards/espressif/esp32p4x_function_ev_board/Kconfig.defconfig index 9ffc4c2721c4..c8c5b461a334 100644 --- a/boards/espressif/esp32p4x_function_ev_board/Kconfig.defconfig +++ b/boards/espressif/esp32p4x_function_ev_board/Kconfig.defconfig @@ -8,4 +8,13 @@ if BOARD_ESP32P4X_FUNCTION_EV_BOARD_ESP32P4_HPCORE configdefault ETH_DRIVER default y +# The 1024x600 panel needs 1.76 MB per framebuffer, and the driver allocates +# two of them for tear-free updates, so the stock heap does not fit them. +configdefault ESP_SPIRAM_HEAP_SIZE + default 5242880 if DISPLAY_ESP32_DSI + +# The controller has an interrupt line, so there is no reason to poll it. +configdefault INPUT_GT911_INTERRUPT + default y + endif # BOARD_ESP32P4X_FUNCTION_EV_BOARD_ESP32P4_HPCORE diff --git a/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore-pinctrl.dtsi b/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore-pinctrl.dtsi index 3086e76dbbb6..937a10666072 100644 --- a/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore-pinctrl.dtsi +++ b/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore-pinctrl.dtsi @@ -24,7 +24,7 @@ spim2_default: spim2_default { group1 { pinmux = , - , + , ; }; @@ -36,8 +36,8 @@ i2c0_default: i2c0_default { group1 { - pinmux = , - ; + pinmux = , + ; bias-pull-up; drive-open-drain; output-high; diff --git a/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.dts b/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.dts index df97710db1e8..0189bce50ec2 100644 --- a/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.dts +++ b/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.dts @@ -9,6 +9,8 @@ #include #include "esp32p4x_function_ev_board_hpcore-pinctrl.dtsi" #include +#include +#include #include / { @@ -22,6 +24,8 @@ zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,bt-hci = &esp_hosted_mcu_hci; + zephyr,display = &dsi_display; + zephyr,touch = >911; }; aliases { @@ -74,6 +78,18 @@ clock-frequency = ; pinctrl-0 = <&i2c0_default>; pinctrl-names = "default"; + + gt911: touch-controller@5d { + compatible = "goodix,gt911"; + status = "okay"; + reg = <0x5d>; + reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; + irq-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; + screen-width = <1024>; + screen-height = <600>; + inverted-x; + inverted-y; + }; }; &spi2 { @@ -119,6 +135,12 @@ regulator-always-on; }; + ldo3@3 { + regulator-init-microvolt = <2500000>; + regulator-boot-on; + regulator-always-on; + }; + ldo4@4 { regulator-init-microvolt = <3300000>; regulator-boot-on; @@ -194,3 +216,41 @@ pinctrl-0 = <&rmii_default>; pinctrl-names = "default"; }; + +&mipi_dsi { + status = "okay"; + phy-clock = <900000000>; + dpi-clock-frequency = <48000000>; + + ek79007: panel-controller@0 { + compatible = "fitipower,ek79007"; + reg = <0>; + data-lanes = <2>; + pixel-format = ; + width = <1024>; + height = <600>; + reset-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + bl-gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>; + + display-timings { + compatible = "zephyr,panel-timing"; + hsync-len = <10>; + hback-porch = <160>; + hfront-porch = <160>; + vsync-len = <1>; + vback-porch = <23>; + vfront-porch = <12>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <0>; + }; + }; +}; + +&dsi_display { + status = "okay"; + pixel-format = ; + width = <1024>; + height = <600>; +}; diff --git a/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.yaml b/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.yaml index a8acee2097c8..27b897d5749d 100644 --- a/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.yaml +++ b/boards/espressif/esp32p4x_function_ev_board/esp32p4x_function_ev_board_hpcore.yaml @@ -7,13 +7,17 @@ toolchain: - zephyr supported: - counter + - display - dma - entropy - gpio - hwinfo + - i2c - i2s + - input - netif:eth - netif:wifi + - ptp_clock - pulse_io - sdhc - spi diff --git a/boards/heimann/htpa_eval/htpa_eval-common.dtsi b/boards/heimann/htpa_eval/htpa_eval-common.dtsi index c36f59f17c3c..932682c8609d 100644 --- a/boards/heimann/htpa_eval/htpa_eval-common.dtsi +++ b/boards/heimann/htpa_eval/htpa_eval-common.dtsi @@ -109,8 +109,7 @@ ext_sram_bus: ext-sram@0 { reg = <0>; - /* this needs: PR #112329 */ - /* atmel,smc-data-bus-width = <16>; */ + atmel,smc-data-bus-width = <16>; atmel,smc-write-mode = "nwe"; atmel,smc-read-mode = "nrd"; atmel,smc-setup-timing = <1 1 1 1>; diff --git a/boards/heimann/htpa_eval/htpa_eval_same70q20b.yaml b/boards/heimann/htpa_eval/htpa_eval_same70q20b.yaml index d79a40d86350..21918525879d 100644 --- a/boards/heimann/htpa_eval/htpa_eval_same70q20b.yaml +++ b/boards/heimann/htpa_eval/htpa_eval_same70q20b.yaml @@ -16,6 +16,7 @@ supported: - gpio - hwinfo - i2s + - ptp_clock - pwm - netif:eth - sdhc diff --git a/boards/heimann/htpa_eval/htpa_eval_same70q21.yaml b/boards/heimann/htpa_eval/htpa_eval_same70q21.yaml index 211eb2744fc3..a7fa90038b11 100644 --- a/boards/heimann/htpa_eval/htpa_eval_same70q21.yaml +++ b/boards/heimann/htpa_eval/htpa_eval_same70q21.yaml @@ -16,6 +16,7 @@ supported: - gpio - hwinfo - i2s + - ptp_clock - pwm - netif:eth - sdhc diff --git a/boards/heimann/htpa_eval/htpa_eval_same70q21b.yaml b/boards/heimann/htpa_eval/htpa_eval_same70q21b.yaml index 5ce66ec6467d..2e83488dd0f9 100644 --- a/boards/heimann/htpa_eval/htpa_eval_same70q21b.yaml +++ b/boards/heimann/htpa_eval/htpa_eval_same70q21b.yaml @@ -16,6 +16,7 @@ supported: - gpio - hwinfo - i2s + - ptp_clock - pwm - netif:eth - sdhc diff --git a/boards/infineon/cy8ckit_041s_max/Kconfig.cy8ckit_041s_max b/boards/infineon/cy8ckit_041s_max/Kconfig.cy8ckit_041s_max index 8d4f7ed68fdf..4d034e261318 100644 --- a/boards/infineon/cy8ckit_041s_max/Kconfig.cy8ckit_041s_max +++ b/boards/infineon/cy8ckit_041s_max/Kconfig.cy8ckit_041s_max @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8ckit_041s_max/board.cmake b/boards/infineon/cy8ckit_041s_max/board.cmake index 6c0357826eeb..171918119b19 100644 --- a/boards/infineon/cy8ckit_041s_max/board.cmake +++ b/boards/infineon/cy8ckit_041s_max/board.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8ckit_041s_max/board.yml b/boards/infineon/cy8ckit_041s_max/board.yml index 183e5cce69dc..8af87d794e19 100644 --- a/boards/infineon/cy8ckit_041s_max/board.yml +++ b/boards/infineon/cy8ckit_041s_max/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max-pinctrl.dtsi b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max-pinctrl.dtsi index 062fe920ad9e..46bc645e3073 100644 --- a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max-pinctrl.dtsi +++ b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max-pinctrl.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.dts b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.dts index c32dd40686db..94bfde96d6cd 100644 --- a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.dts +++ b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.yaml b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.yaml index e5a08ae11833..1aded9b6d21f 100644 --- a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.yaml +++ b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_common.dtsi b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_common.dtsi index f1768c7efef6..007b6e77f0e5 100644 --- a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_common.dtsi +++ b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_common.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_defconfig b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_defconfig index 2d95f466f57b..7400e2bbf2d3 100644 --- a/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_defconfig +++ b/boards/infineon/cy8ckit_041s_max/cy8ckit_041s_max_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8cproto_041tp/Kconfig.cy8cproto_041tp b/boards/infineon/cy8cproto_041tp/Kconfig.cy8cproto_041tp index 11b110ab5ed3..02dbf26b05bb 100644 --- a/boards/infineon/cy8cproto_041tp/Kconfig.cy8cproto_041tp +++ b/boards/infineon/cy8cproto_041tp/Kconfig.cy8cproto_041tp @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8cproto_041tp/board.cmake b/boards/infineon/cy8cproto_041tp/board.cmake index 6c0357826eeb..171918119b19 100644 --- a/boards/infineon/cy8cproto_041tp/board.cmake +++ b/boards/infineon/cy8cproto_041tp/board.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8cproto_041tp/board.yml b/boards/infineon/cy8cproto_041tp/board.yml index 178daeb16749..6def80eaadd3 100644 --- a/boards/infineon/cy8cproto_041tp/board.yml +++ b/boards/infineon/cy8cproto_041tp/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp-pinctrl.dtsi b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp-pinctrl.dtsi index a7e2d0e19f9e..ecff666c4231 100644 --- a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp-pinctrl.dtsi +++ b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp-pinctrl.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.dts b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.dts index df74d81ce2c1..b4faa084a83d 100644 --- a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.dts +++ b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.yaml b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.yaml index e2c5563d517b..1b457768b3e9 100644 --- a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.yaml +++ b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_common.dtsi b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_common.dtsi index 1d9e59afa33b..e456dbb0df91 100644 --- a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_common.dtsi +++ b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_common.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_defconfig b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_defconfig index 2d95f466f57b..7400e2bbf2d3 100644 --- a/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_defconfig +++ b/boards/infineon/cy8cproto_041tp/cy8cproto_041tp_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cy8cproto_041tp/support/openocd.cfg b/boards/infineon/cy8cproto_041tp/support/openocd.cfg index e9261e410c38..5c3368cb4966 100644 --- a/boards/infineon/cy8cproto_041tp/support/openocd.cfg +++ b/boards/infineon/cy8cproto_041tp/support/openocd.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/CMakeLists.txt b/boards/infineon/cyw920829m2evk_02/CMakeLists.txt index ee3eb3f75c86..f9bf56ec062d 100644 --- a/boards/infineon/cyw920829m2evk_02/CMakeLists.txt +++ b/boards/infineon/cyw920829m2evk_02/CMakeLists.txt @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/board.yml b/boards/infineon/cyw920829m2evk_02/board.yml index e100f8ae7362..d170aa8ae5d7 100644 --- a/boards/infineon/cyw920829m2evk_02/board.yml +++ b/boards/infineon/cyw920829m2evk_02/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.c b/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.c index 48fc23044c27..081d8344b6ef 100644 --- a/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.c +++ b/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.c @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.h b/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.h index 261b4746c0a3..6a4b4360247a 100644 --- a/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.h +++ b/boards/infineon/cyw920829m2evk_02/config/qspi_memslot.h @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02-memory_map.dtsi b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02-memory_map.dtsi index bc2b91506316..260cd697c0ea 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02-memory_map.dtsi +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02-memory_map.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02.dtsi b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02.dtsi index 32c26e653953..b1fa1ebc7484 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02.dtsi +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.dts b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.dts index 98c0fd1122c8..f9ffae020d40 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.dts +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.yaml b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.yaml index 69dfcc8d8204..7bc3bb6af483 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.yaml +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml_defconfig b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml_defconfig index b519e342b34c..4c45a1e79326 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml_defconfig +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b0lkml_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.dts b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.dts index bb9a53eb9062..2a239cdbe1e4 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.dts +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.yaml b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.yaml index 41cb2a4fd92b..a6b7be5021df 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.yaml +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010_defconfig b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010_defconfig index e9835572fe99..31cad1e32465 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010_defconfig +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1010_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.dts b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.dts index b909a5c041c0..e24560edf36e 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.dts +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.yaml b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.yaml index 7e989b230344..0261501ca2b6 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.yaml +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340_defconfig b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340_defconfig index e9835572fe99..31cad1e32465 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340_defconfig +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2evk_02_cyw20829b1340_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/cyw920829m2evk_02/cyw920829m2ipa2.dtsi b/boards/infineon/cyw920829m2evk_02/cyw920829m2ipa2.dtsi index d7462f96a6cd..d5e47ef679fa 100644 --- a/boards/infineon/cyw920829m2evk_02/cyw920829m2ipa2.dtsi +++ b/boards/infineon/cyw920829m2evk_02/cyw920829m2ipa2.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_psc3m5_evk/Kconfig.defconfig b/boards/infineon/kit_psc3m5_evk/Kconfig.defconfig index b24e0cabca50..7d8370324bf7 100644 --- a/boards/infineon/kit_psc3m5_evk/Kconfig.defconfig +++ b/boards/infineon/kit_psc3m5_evk/Kconfig.defconfig @@ -1,8 +1,8 @@ # The Infineon PSOCâ„¢ Control C3M5 Evaluation Kit (KIT_PSC3M5_EVK) # Copyright (c) 2025 Cypress Semiconductor Corporation. -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk-common.dtsi b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk-common.dtsi index ef602af1634d..c98f979163e2 100644 --- a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk-common.dtsi +++ b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk-common.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.dts b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.dts index 764401d93b9c..30ba8d4277e9 100644 --- a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.dts +++ b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.yaml b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.yaml index 921af765f6e5..9b40be47ec19 100644 --- a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.yaml +++ b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash_defconfig b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash_defconfig index d2e84544d2d3..f82bf68634b5 100644 --- a/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash_defconfig +++ b/boards/infineon/kit_psc3m5_evk/kit_psc3m5_evk_psc3m5fds2afq1_norflash_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/Kconfig.defconfig b/boards/infineon/kit_pse84_ai/Kconfig.defconfig index d93f7c6b0fc0..a38d0d6d4614 100644 --- a/boards/infineon/kit_pse84_ai/Kconfig.defconfig +++ b/boards/infineon/kit_pse84_ai/Kconfig.defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/Kconfig.kit_pse84_ai b/boards/infineon/kit_pse84_ai/Kconfig.kit_pse84_ai index 6dc5077f7a37..e2ff52b1e12d 100644 --- a/boards/infineon/kit_pse84_ai/Kconfig.kit_pse84_ai +++ b/boards/infineon/kit_pse84_ai/Kconfig.kit_pse84_ai @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/board.cmake b/boards/infineon/kit_pse84_ai/board.cmake index 1a6f83ac4aad..12ab0f7b40d4 100644 --- a/boards/infineon/kit_pse84_ai/board.cmake +++ b/boards/infineon/kit_pse84_ai/board.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/board.yml b/boards/infineon/kit_pse84_ai/board.yml index cacb9b11e343..2719b087ebbf 100644 --- a/boards/infineon/kit_pse84_ai/board.yml +++ b/boards/infineon/kit_pse84_ai/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_common-pinctrl.dtsi b/boards/infineon/kit_pse84_ai/kit_pse84_ai_common-pinctrl.dtsi index f844de386ce6..9a79e18af0f4 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_common-pinctrl.dtsi +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_common-pinctrl.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33.dts b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33.dts index 2569333df499..5cdd2192267e 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33.dts +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_defconfig b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_defconfig index f5183f8c6167..a859dfe7aa6c 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_defconfig +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 @@ -35,11 +35,3 @@ CONFIG_TRUSTED_EXECUTION_SECURE=y CONFIG_CODE_DATA_RELOCATION=y CONFIG_USE_DT_CODE_PARTITION=y - -# Enable MXCRYPTO TRNG entropy driver -CONFIG_ENTROPY_GENERATOR=y -CONFIG_ENTROPY_INFINEON_MXCRYPTO_TRNG=y - -# Enable MXCRYPTO hardware crypto driver -CONFIG_CRYPTO=y -CONFIG_CRYPTO_INFINEON_MXCRYPTO=y diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.dts b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.dts index 3e5d09e0692e..1995d3ba53e5 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.dts +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.yaml b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.yaml index e32d75e3d4aa..ef233a5694de 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.yaml +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns_defconfig b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns_defconfig index 6606fe950905..ea75247b0ece 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns_defconfig +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m33_ns_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55.dts b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55.dts index a5770b778c1e..38e935634cf9 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55.dts +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55_defconfig b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55_defconfig index d49fda7c806c..d4b20ba2a453 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55_defconfig +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_m55_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 @@ -25,11 +25,3 @@ CONFIG_SERIAL=y CONFIG_CODE_DATA_RELOCATION=y CONFIG_USE_DT_CODE_PARTITION=y - -# Enable MXCRYPTO TRNG entropy driver -CONFIG_ENTROPY_GENERATOR=y -CONFIG_ENTROPY_INFINEON_MXCRYPTO_TRNG=y - -# Enable MXCRYPTO hardware crypto driver -CONFIG_CRYPTO=y -CONFIG_CRYPTO_INFINEON_MXCRYPTO=y diff --git a/boards/infineon/kit_pse84_ai/kit_pse84_ai_memory_map.dtsi b/boards/infineon/kit_pse84_ai/kit_pse84_ai_memory_map.dtsi index c43960f5f36b..d353a935f7e6 100644 --- a/boards/infineon/kit_pse84_ai/kit_pse84_ai_memory_map.dtsi +++ b/boards/infineon/kit_pse84_ai/kit_pse84_ai_memory_map.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_ai/support/openocd.cfg b/boards/infineon/kit_pse84_ai/support/openocd.cfg index 7b94bd18deaa..d045f61aa4d9 100644 --- a/boards/infineon/kit_pse84_ai/support/openocd.cfg +++ b/boards/infineon/kit_pse84_ai/support/openocd.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/support/qspi_config.cfg b/boards/infineon/kit_pse84_ai/support/qspi_config.cfg index 0116d8766b0d..b52124011afd 100644 --- a/boards/infineon/kit_pse84_ai/support/qspi_config.cfg +++ b/boards/infineon/kit_pse84_ai/support/qspi_config.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_ai/sysbuild.cmake b/boards/infineon/kit_pse84_ai/sysbuild.cmake index d691f1b45057..3afbc2067eb3 100644 --- a/boards/infineon/kit_pse84_ai/sysbuild.cmake +++ b/boards/infineon/kit_pse84_ai/sysbuild.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/Kconfig.defconfig b/boards/infineon/kit_pse84_eval/Kconfig.defconfig index 41176edc9b0e..cfab08ead9ca 100644 --- a/boards/infineon/kit_pse84_eval/Kconfig.defconfig +++ b/boards/infineon/kit_pse84_eval/Kconfig.defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/Kconfig.kit_pse84_eval b/boards/infineon/kit_pse84_eval/Kconfig.kit_pse84_eval index dee203fc0909..06f308340319 100644 --- a/boards/infineon/kit_pse84_eval/Kconfig.kit_pse84_eval +++ b/boards/infineon/kit_pse84_eval/Kconfig.kit_pse84_eval @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/board.cmake b/boards/infineon/kit_pse84_eval/board.cmake index 1a6f83ac4aad..a9ab5ca6f59e 100644 --- a/boards/infineon/kit_pse84_eval/board.cmake +++ b/boards/infineon/kit_pse84_eval/board.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 @@ -11,6 +11,10 @@ if(CONFIG_CPU_CORTEX_M55) board_runner_args(openocd "--gdb-init=disconnect") board_runner_args(openocd "--gdb-init=target extended-remote :3334") board_runner_args(openocd "--target-handle=CHIPNAME.cm55") + # GDB `run` cannot restart the CM55 (it is released by the CM33 enable_cm55 + # application, not by a chip reset). Provide a `restart` command that replays + # the gdb-attach sequence instead. + board_runner_args(openocd "--gdb-init=source ${BOARD_DIR}/support/pse84_cm55_restart.gdb") else() board_runner_args(openocd "--target-handle=CHIPNAME.cm33") endif() diff --git a/boards/infineon/kit_pse84_eval/board.yml b/boards/infineon/kit_pse84_eval/board.yml index 4fca65910339..3b98719fbf57 100644 --- a/boards/infineon/kit_pse84_eval/board.yml +++ b/boards/infineon/kit_pse84_eval/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_common-pinctrl.dtsi b/boards/infineon/kit_pse84_eval/kit_pse84_eval_common-pinctrl.dtsi index 42927f0f2142..ed16021ef56c 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_common-pinctrl.dtsi +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_common-pinctrl.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33.dts b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33.dts index 57fd63a2e2d3..20925786ec64 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33.dts +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_defconfig b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_defconfig index 2a5ea357e724..9d171a7f3b06 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_defconfig +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 @@ -34,11 +34,3 @@ CONFIG_TRUSTED_EXECUTION_SECURE=y CONFIG_CODE_DATA_RELOCATION=y CONFIG_USE_DT_CODE_PARTITION=y - -# Enable MXCRYPTO TRNG entropy driver -CONFIG_ENTROPY_GENERATOR=y -CONFIG_ENTROPY_INFINEON_MXCRYPTO_TRNG=y - -# Enable MXCRYPTO hardware crypto driver -CONFIG_CRYPTO=y -CONFIG_CRYPTO_INFINEON_MXCRYPTO=y diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.dts b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.dts index a758ef3bce27..71da35d5f44c 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.dts +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.yaml b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.yaml index 01af7f9ce0e0..08a79cdd122f 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.yaml +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns_defconfig b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns_defconfig index 6606fe950905..ea75247b0ece 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns_defconfig +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m33_ns_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.dts b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.dts index 108572634860..a990a4e8f332 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.dts +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.yaml b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.yaml index ce3a445ffc42..4c63d0899fbe 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.yaml +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55_defconfig b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55_defconfig index d49fda7c806c..d4b20ba2a453 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55_defconfig +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 @@ -25,11 +25,3 @@ CONFIG_SERIAL=y CONFIG_CODE_DATA_RELOCATION=y CONFIG_USE_DT_CODE_PARTITION=y - -# Enable MXCRYPTO TRNG entropy driver -CONFIG_ENTROPY_GENERATOR=y -CONFIG_ENTROPY_INFINEON_MXCRYPTO_TRNG=y - -# Enable MXCRYPTO hardware crypto driver -CONFIG_CRYPTO=y -CONFIG_CRYPTO_INFINEON_MXCRYPTO=y diff --git a/boards/infineon/kit_pse84_eval/kit_pse84_eval_memory_map.dtsi b/boards/infineon/kit_pse84_eval/kit_pse84_eval_memory_map.dtsi index 5b127ed36d3c..a4fa1b541f51 100644 --- a/boards/infineon/kit_pse84_eval/kit_pse84_eval_memory_map.dtsi +++ b/boards/infineon/kit_pse84_eval/kit_pse84_eval_memory_map.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_pse84_eval/support/openocd.cfg b/boards/infineon/kit_pse84_eval/support/openocd.cfg index 7b94bd18deaa..d045f61aa4d9 100644 --- a/boards/infineon/kit_pse84_eval/support/openocd.cfg +++ b/boards/infineon/kit_pse84_eval/support/openocd.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/support/pse84_cm55_restart.gdb b/boards/infineon/kit_pse84_eval/support/pse84_cm55_restart.gdb new file mode 100644 index 000000000000..04f0f9df4850 --- /dev/null +++ b/boards/infineon/kit_pse84_eval/support/pse84_cm55_restart.gdb @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# or an affiliate of Infineon Technologies AG. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# GDB helper that restarts a CM55 debug session on kit_pse84_eval. +# +# The CM55 application is not started by a chip reset: it is released by the +# CM33 `enable_cm55` application calling Cy_SysEnableCM55(). A plain GDB `run` +# performs a blind chip reset, which leaves the CM55 parked in the ROM +# "safe" endless-loop (pc=0x3ff00) instead of at the application reset +# handler, so `run` cannot restart the CM55. +# +# The `restart` command below replays the exact OpenOCD gdb-attach sequence +# that the initial `west debug` connection uses: it reconnects to the CM33 +# gdb server (which resets and halts the CM33 at its reset vector), then to +# the CM55 gdb server (whose gdb-attach event runs `reset_halt cm55`, resuming +# the now-halted CM33 so the enable_cm55 application releases the CM55 and the +# CM55 halts at its reset handler). +# +# Use `restart` instead of `run` to restart a CM55 debug session. + +define restart + disconnect + target extended-remote :3333 + disconnect + target extended-remote :3334 + maintenance flush register-cache +end + +document restart +Restart the CM55 debug session. + +Use this instead of `run`, which cannot restart the CM55 on this board. +After `restart` the CM55 is halted at its reset handler; use `continue` to +run to your breakpoints. +end diff --git a/boards/infineon/kit_pse84_eval/support/qspi_config.cfg b/boards/infineon/kit_pse84_eval/support/qspi_config.cfg index ca2494d8f74b..46699f515e98 100644 --- a/boards/infineon/kit_pse84_eval/support/qspi_config.cfg +++ b/boards/infineon/kit_pse84_eval/support/qspi_config.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_pse84_eval/sysbuild.cmake b/boards/infineon/kit_pse84_eval/sysbuild.cmake index 819a48c8f6c6..c3ada27a89bb 100644 --- a/boards/infineon/kit_pse84_eval/sysbuild.cmake +++ b/boards/infineon/kit_pse84_eval/sysbuild.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/Kconfig.kit_t2g_b_h_evk b/boards/infineon/kit_t2g_b_h_evk/Kconfig.kit_t2g_b_h_evk index a4c7ca002e11..f99db9b71b35 100644 --- a/boards/infineon/kit_t2g_b_h_evk/Kconfig.kit_t2g_b_h_evk +++ b/boards/infineon/kit_t2g_b_h_evk/Kconfig.kit_t2g_b_h_evk @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/board.cmake b/boards/infineon/kit_t2g_b_h_evk/board.cmake index de2b75c056f9..4dfd844007e7 100644 --- a/boards/infineon/kit_t2g_b_h_evk/board.cmake +++ b/boards/infineon/kit_t2g_b_h_evk/board.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/board.yml b/boards/infineon/kit_t2g_b_h_evk/board.yml index c2d2a0917855..a1dc33c17ec2 100644 --- a/boards/infineon/kit_t2g_b_h_evk/board.yml +++ b/boards/infineon/kit_t2g_b_h_evk/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_common.dtsi b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_common.dtsi index de56354dc73d..3caca80a82d9 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_common.dtsi +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_common.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p-pinctrl.dtsi b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p-pinctrl.dtsi index 3798af40c63a..ef63aaebcded 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p-pinctrl.dtsi +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p-pinctrl.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.dts b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.dts index 697f088be103..c2a7c2f3f408 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.dts +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.yaml b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.yaml index 614b7e9666a9..d344d6ff8de8 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.yaml +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p_defconfig b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p_defconfig index 453da7d5fc78..bbe8d887b9c7 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p_defconfig +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m0p_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.dts b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.dts index 9544fc193cdf..d61ec75380c0 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.dts +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.yaml b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.yaml index e70241d1d8dc..53866e1b6a5e 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.yaml +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0_defconfig b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0_defconfig index 0bc705283b19..7a3c8392df60 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0_defconfig +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_0_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.dts b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.dts index fab51ae29e61..19cf62b7b31f 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.dts +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.yaml b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.yaml index c9b2568d1ed6..f2f646c9ab07 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.yaml +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1_defconfig b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1_defconfig index 69a05bf05188..fd62e954d370 100644 --- a/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1_defconfig +++ b/boards/infineon/kit_t2g_b_h_evk/kit_t2g_b_h_evk_cyt4bfbche_m7_1_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_evk/support/openocd.cfg b/boards/infineon/kit_t2g_b_h_evk/support/openocd.cfg index c250f28b71b4..6a5a6a5cbdbe 100644 --- a/boards/infineon/kit_t2g_b_h_evk/support/openocd.cfg +++ b/boards/infineon/kit_t2g_b_h_evk/support/openocd.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/Kconfig.kit_t2g_b_h_lite b/boards/infineon/kit_t2g_b_h_lite/Kconfig.kit_t2g_b_h_lite index ac9e417b1b3f..f12a7aa73d4f 100644 --- a/boards/infineon/kit_t2g_b_h_lite/Kconfig.kit_t2g_b_h_lite +++ b/boards/infineon/kit_t2g_b_h_lite/Kconfig.kit_t2g_b_h_lite @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/board.cmake b/boards/infineon/kit_t2g_b_h_lite/board.cmake index de2b75c056f9..4dfd844007e7 100644 --- a/boards/infineon/kit_t2g_b_h_lite/board.cmake +++ b/boards/infineon/kit_t2g_b_h_lite/board.cmake @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/board.yml b/boards/infineon/kit_t2g_b_h_lite/board.yml index d81f457d32d4..7f0a74c003ed 100644 --- a/boards/infineon/kit_t2g_b_h_lite/board.yml +++ b/boards/infineon/kit_t2g_b_h_lite/board.yml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_common.dtsi b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_common.dtsi index 46fc471591ef..23e268d3bf49 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_common.dtsi +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_common.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p-pinctrl.dtsi b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p-pinctrl.dtsi index 31b230fd0eb7..fa5f17132dfd 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p-pinctrl.dtsi +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p-pinctrl.dtsi @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.dts b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.dts index 521fbc255379..fdf77f8b5ef3 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.dts +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.yaml b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.yaml index 03d57acb8f97..0654a8cd0db9 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.yaml +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p_defconfig b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p_defconfig index 453da7d5fc78..bbe8d887b9c7 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p_defconfig +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m0p_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.dts b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.dts index f0a56580ba42..ba9a91e8306e 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.dts +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.yaml b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.yaml index 5de049a2a51b..3a157e9aab43 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.yaml +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0_defconfig b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0_defconfig index 0bc705283b19..7a3c8392df60 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0_defconfig +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_0_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.dts b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.dts index 830109457e6d..bfe4313c5eba 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.dts +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.dts @@ -1,6 +1,6 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, - * or an affiliate of Infineon Technologies AG. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, + * SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.yaml b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.yaml index d9cf085a83b4..34d1c4119a29 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.yaml +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1.yaml @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1_defconfig b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1_defconfig index 0bc705283b19..7a3c8392df60 100644 --- a/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1_defconfig +++ b/boards/infineon/kit_t2g_b_h_lite/kit_t2g_b_h_lite_cyt4bf8cds_m7_1_defconfig @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/kit_t2g_b_h_lite/support/openocd.cfg b/boards/infineon/kit_t2g_b_h_lite/support/openocd.cfg index c250f28b71b4..6a5a6a5cbdbe 100644 --- a/boards/infineon/kit_t2g_b_h_lite/support/openocd.cfg +++ b/boards/infineon/kit_t2g_b_h_lite/support/openocd.cfg @@ -1,5 +1,5 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, -# or an affiliate of Infineon Technologies AG. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2026 Infineon Technologies AG, +# SPDX-FileCopyrightText: or an affiliate of Infineon Technologies AG. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 diff --git a/boards/infineon/xmc45_relax_kit/xmc45_relax_kit.yaml b/boards/infineon/xmc45_relax_kit/xmc45_relax_kit.yaml index 7733dd224e0d..fde737d586c8 100644 --- a/boards/infineon/xmc45_relax_kit/xmc45_relax_kit.yaml +++ b/boards/infineon/xmc45_relax_kit/xmc45_relax_kit.yaml @@ -9,6 +9,7 @@ supported: - adc - dma - gpio + - ptp_clock - spi - uart - watchdog diff --git a/boards/infineon/xmc47_relax_kit/xmc47_relax_kit.yaml b/boards/infineon/xmc47_relax_kit/xmc47_relax_kit.yaml index 4682227c7cd8..2474f102e394 100644 --- a/boards/infineon/xmc47_relax_kit/xmc47_relax_kit.yaml +++ b/boards/infineon/xmc47_relax_kit/xmc47_relax_kit.yaml @@ -10,6 +10,7 @@ supported: - dma - gpio - i2c + - ptp_clock - spi - uart - arduino_spi diff --git a/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.dts b/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.dts index 509b78294475..a39666d84397 100644 --- a/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.dts +++ b/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.dts @@ -200,5 +200,11 @@ txpo = <0>; pinctrl-0 = <&sercom4_uart_default>; pinctrl-names = "default"; + dmas = <&dmac 0 24>, <&dmac 1 25>; + dma-names = "rx", "tx"; + status = "okay"; +}; + +&dmac { status = "okay"; }; diff --git a/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.yaml b/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.yaml index cc318a0edfc2..797589a20de1 100644 --- a/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.yaml +++ b/boards/microchip/pic32c/pic32cm_gc00_cpro/pic32cm_gc00_cpro.yaml @@ -11,6 +11,7 @@ flash: 512 ram: 128 supported: - clock_control + - dma - gpio - pinctrl - uart diff --git a/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro-pinctrl.dtsi b/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro-pinctrl.dtsi index 2621dc7fef90..8ef32d368700 100644 --- a/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro-pinctrl.dtsi +++ b/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro-pinctrl.dtsi @@ -16,8 +16,8 @@ sercom3_i2c_default: sercom3_i2c_default { group1 { - pinmux = , - ; + pinmux = , /* SDA */ + ; /* SCL */ }; }; diff --git a/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro.dts b/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro.dts index 46db221866ac..feebad5ad253 100644 --- a/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro.dts +++ b/boards/microchip/pic32c/pic32cm_jh01_cpro/pic32cm_jh01_cpro.dts @@ -213,7 +213,7 @@ status = "okay"; }; -&sercom3 { +i2c0: &sercom3 { compatible = "microchip,sercom-g1-i2c"; #address-cells = <1>; #size-cells = <0>; diff --git a/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.dts b/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.dts index eab550b41780..03a0112fa58f 100644 --- a/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.dts +++ b/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.dts @@ -200,5 +200,11 @@ txpo = <0>; pinctrl-0 = <&sercom4_uart_default>; pinctrl-names = "default"; + dmas = <&dmac 0 24>, <&dmac 1 25>; + dma-names = "rx", "tx"; + status = "okay"; +}; + +&dmac { status = "okay"; }; diff --git a/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.yaml b/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.yaml index e8099fbcb2a1..f54dafbdb48c 100644 --- a/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.yaml +++ b/boards/microchip/pic32c/pic32cm_sg00_cpro/pic32cm_sg00_cpro.yaml @@ -11,6 +11,7 @@ flash: 512 ram: 128 supported: - clock_control + - dma - gpio - pinctrl - uart diff --git a/boards/microchip/pic32c/pic32cx_sg41_cult/Kconfig.defconfig b/boards/microchip/pic32c/pic32cx_sg41_cult/Kconfig.defconfig new file mode 100644 index 000000000000..f0092c64d49e --- /dev/null +++ b/boards/microchip/pic32c/pic32cx_sg41_cult/Kconfig.defconfig @@ -0,0 +1,12 @@ +# Copyright (c) 2026 Microchip Technology Inc. +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_PIC32CX_SG41_CULT + +config EEPROM + default y if NVMEM + +configdefault ETH_DRIVER + default y + +endif # BOARD_PIC32CX_SG41_CULT diff --git a/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult-pinctrl.dtsi b/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult-pinctrl.dtsi index f7e2b9591613..4bbb72a4f58c 100644 --- a/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult-pinctrl.dtsi +++ b/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult-pinctrl.dtsi @@ -16,8 +16,8 @@ sercom6_i2c_default: sercom6_i2c_default { group1 { - pinmux = , - ; + pinmux = , /* SDA */ + ; /* SCL */ }; }; @@ -69,4 +69,24 @@ ; }; }; + + mdio_default: mdio_default { + group1 { + pinmux = , + ; + }; + }; + + gmac_rmii: gmac_rmii { + group1 { + pinmux = , + , + , + , + , + , + , + ; + }; + }; }; diff --git a/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.dts b/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.dts index d38d40b6be97..8b587fd6210c 100644 --- a/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.dts +++ b/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.dts @@ -31,6 +31,7 @@ sw0 = &button0; pwm-led0 = &pwm_led0; rtc = &rtc; + eeprom-0 = &eeprom; }; leds { @@ -177,6 +178,14 @@ gclkgen-run-in-standby-en = <1>; gclkgen-en = <1>; }; + + gclkgen2 { + subsystem = ; + gclkgen-div-factor = <3>; + gclkgen-src = "fdpll0"; + gclkgen-run-in-standby-en = <1>; + gclkgen-en = <1>; + }; }; gclkperiph: gclkperiph { @@ -200,6 +209,12 @@ gclkperiph-src = "gclk1"; gclkperiph-en = <0>; }; + + sercom6 { + subsystem = ; + gclkperiph-src = "gclk2"; + gclkperiph-en = <0>; + }; }; mclkperiph: mclkperiph { @@ -265,7 +280,7 @@ status = "okay"; }; -&sercom6 { +i2c0: &sercom6 { compatible = "microchip,sercom-g1-i2c"; #address-cells = <1>; #size-cells = <0>; @@ -275,6 +290,35 @@ dmas = <&dmac 10 0x10>, <&dmac 11 0x11>; dma-names = "rx", "tx"; status = "okay"; + + eeprom: eeprom@56 { + compatible = "atmel,at24", "atmel,24mac402"; + reg = <0x56>; + size = <256>; + pagesize = <16>; + address-width = <8>; + timeout = <5>; + }; + + eeprom_mac: eeprom@5e { + compatible = "atmel,at24", "atmel,24mac402"; + reg = <0x5e>; + size = <256>; + pagesize = <16>; + address-width = <8>; + timeout = <5>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + mac_address: mac-address@9a { + reg = <0x9a 6>; + #nvmem-cell-cells = <0>; + }; + }; + }; }; &tc5 { @@ -330,3 +374,29 @@ dma-names = "rx", "tx"; status = "okay"; }; + +&gmac { + pinctrl-0 = <&gmac_rmii>; + pinctrl-names = "default"; + + nvmem-cells = <&mac_address>; + nvmem-cell-names = "mac-address"; + phy-handle = <&phy>; + status = "okay"; +}; + +&mdio { + pinctrl-0 = <&mdio_default>; + pinctrl-names = "default"; + status = "okay"; + + phy: ethernet-phy@0 { + compatible = "ethernet-phy"; + status = "okay"; + reg = <0>; + }; +}; + +&trng { + status = "okay"; +}; diff --git a/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.yaml b/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.yaml index 2574f871b2ff..700fbd17de91 100644 --- a/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.yaml +++ b/boards/microchip/pic32c/pic32cx_sg41_cult/pic32cx_sg41_cult.yaml @@ -21,6 +21,7 @@ supported: - gpio - hwinfo - i2c + - netif:eth - interrupt_controller - pinctrl - pwm diff --git a/boards/microchip/pic32c/pic32cx_sg61_cult/Kconfig.defconfig b/boards/microchip/pic32c/pic32cx_sg61_cult/Kconfig.defconfig new file mode 100644 index 000000000000..4fca615ba6f1 --- /dev/null +++ b/boards/microchip/pic32c/pic32cx_sg61_cult/Kconfig.defconfig @@ -0,0 +1,12 @@ +# Copyright (c) 2026 Microchip Technology Inc. +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_PIC32CX_SG61_CULT + +config EEPROM + default y if NVMEM + +configdefault ETH_DRIVER + default y + +endif # BOARD_PIC32CX_SG61_CULT diff --git a/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult-pinctrl.dtsi b/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult-pinctrl.dtsi index 35b54430e942..a801b4951086 100644 --- a/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult-pinctrl.dtsi +++ b/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult-pinctrl.dtsi @@ -16,8 +16,8 @@ sercom6_i2c_default: sercom6_i2c_default { group1 { - pinmux = , - ; + pinmux = , /* SDA */ + ; /* SCL */ }; }; @@ -69,4 +69,24 @@ ; }; }; + + mdio_default: mdio_default { + group1 { + pinmux = , + ; + }; + }; + + gmac_rmii: gmac_rmii { + group1 { + pinmux = , + , + , + , + , + , + , + ; + }; + }; }; diff --git a/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.dts b/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.dts index a2fb4216032c..8796d85a1843 100644 --- a/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.dts +++ b/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.dts @@ -31,6 +31,7 @@ sw0 = &button0; pwm-led0 = &pwm_led0; rtc = &rtc; + eeprom-0 = &eeprom; }; leds { @@ -177,6 +178,14 @@ gclkgen-run-in-standby-en = <1>; gclkgen-en = <1>; }; + + gclkgen2 { + subsystem = ; + gclkgen-div-factor = <3>; + gclkgen-src = "fdpll0"; + gclkgen-run-in-standby-en = <1>; + gclkgen-en = <1>; + }; }; gclkperiph: gclkperiph { @@ -200,6 +209,12 @@ gclkperiph-src = "gclk1"; gclkperiph-en = <0>; }; + + sercom6 { + subsystem = ; + gclkperiph-src = "gclk2"; + gclkperiph-en = <0>; + }; }; mclkperiph: mclkperiph { @@ -269,7 +284,7 @@ status = "okay"; }; -&sercom6 { +i2c0: &sercom6 { compatible = "microchip,sercom-g1-i2c"; #address-cells = <1>; #size-cells = <0>; @@ -279,6 +294,35 @@ dmas = <&dmac 10 0x10>, <&dmac 11 0x11>; dma-names = "rx", "tx"; status = "okay"; + + eeprom: eeprom@56 { + compatible = "atmel,at24", "atmel,24mac402"; + reg = <0x56>; + size = <256>; + pagesize = <16>; + address-width = <8>; + timeout = <5>; + }; + + eeprom_mac: eeprom@5e { + compatible = "atmel,at24", "atmel,24mac402"; + reg = <0x5e>; + size = <256>; + pagesize = <16>; + address-width = <8>; + timeout = <5>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + mac_address: mac-address@9a { + reg = <0x9a 6>; + #nvmem-cell-cells = <0>; + }; + }; + }; }; &tc5 { @@ -332,5 +376,30 @@ cs-gpios = <&portc 24 GPIO_ACTIVE_LOW>; dmas = <&dmac 3 0x4>, <&dmac 4 0x5>; dma-names = "rx", "tx"; +}; + +&gmac { + pinctrl-0 = <&gmac_rmii>; + pinctrl-names = "default"; + + nvmem-cells = <&mac_address>; + nvmem-cell-names = "mac-address"; + phy-handle = <&phy>; + status = "okay"; +}; + +&mdio { + pinctrl-0 = <&mdio_default>; + pinctrl-names = "default"; + status = "okay"; + + phy: ethernet-phy@0 { + compatible = "ethernet-phy"; + status = "okay"; + reg = <0>; + }; +}; + +&trng { status = "okay"; }; diff --git a/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.yaml b/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.yaml index 9ac67f872832..f011b29cd948 100644 --- a/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.yaml +++ b/boards/microchip/pic32c/pic32cx_sg61_cult/pic32cx_sg61_cult.yaml @@ -21,6 +21,7 @@ supported: - gpio - hwinfo - i2c + - netif:eth - interrupt_controller - pinctrl - pwm diff --git a/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult-pinctrl.dtsi b/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult-pinctrl.dtsi index 15544a67c4e2..97cd439c5431 100644 --- a/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult-pinctrl.dtsi +++ b/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult-pinctrl.dtsi @@ -16,8 +16,8 @@ sercom9_i2c_default: sercom9_i2c_default { group1 { - pinmux = , - ; + pinmux = , /* SDA */ + ; /* SCL */ }; }; }; diff --git a/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult.dts b/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult.dts index a69623631419..59a9a7bd7cfb 100644 --- a/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult.dts +++ b/boards/microchip/pic32c/pic32cz_ca80_cult/pic32cz_ca80_cult.dts @@ -27,6 +27,7 @@ led1 = &led1; sw0 = &button0; sw1 = &button1; + eeprom-0 = &eeprom; }; leds { @@ -146,6 +147,14 @@ gclkgen-src = "pll0-clkout0"; gclkgen-en = <1>; }; + + gclkgen1 { + subsystem = ; + gclkgen-div-factor = <6>; + gclkgen-run-in-standby-en = <1>; + gclkgen-src = "pll0-clkout0"; + gclkgen-en = <1>; + }; }; gclkperiph: gclkperiph { @@ -157,6 +166,12 @@ gclkperiph-src = "gclk0"; gclkperiph-en = <1>; }; + + sercom9 { + subsystem = ; + gclkperiph-src = "gclk1"; + gclkperiph-en = <0>; + }; }; mclkdomain: mclkdomain { @@ -211,7 +226,7 @@ status = "okay"; }; -&sercom9 { +i2c0: &sercom9 { compatible = "microchip,sercom-g1-i2c"; #address-cells = <1>; #size-cells = <0>; diff --git a/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult-pinctrl.dtsi b/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult-pinctrl.dtsi index c89342e8f96c..855607e1f951 100644 --- a/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult-pinctrl.dtsi +++ b/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult-pinctrl.dtsi @@ -16,8 +16,8 @@ sercom9_i2c_default: sercom9_i2c_default { group1 { - pinmux = , - ; + pinmux = , /* SDA */ + ; /* SCL */ }; }; }; diff --git a/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult.dts b/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult.dts index f977dcad64fc..c06816a8e434 100644 --- a/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult.dts +++ b/boards/microchip/pic32c/pic32cz_ca90_cult/pic32cz_ca90_cult.dts @@ -27,6 +27,7 @@ led1 = &led1; sw0 = &button0; sw1 = &button1; + eeprom-0 = &eeprom; }; leds { @@ -146,6 +147,14 @@ gclkgen-src = "pll0-clkout0"; gclkgen-en = <1>; }; + + gclkgen1 { + subsystem = ; + gclkgen-div-factor = <6>; + gclkgen-run-in-standby-en = <1>; + gclkgen-src = "pll0-clkout0"; + gclkgen-en = <1>; + }; }; gclkperiph: gclkperiph { @@ -157,6 +166,12 @@ gclkperiph-src = "gclk0"; gclkperiph-en = <1>; }; + + sercom9 { + subsystem = ; + gclkperiph-src = "gclk1"; + gclkperiph-en = <0>; + }; }; mclkdomain: mclkdomain { @@ -211,7 +226,7 @@ status = "okay"; }; -&sercom9 { +i2c0: &sercom9 { compatible = "microchip,sercom-g1-i2c"; #address-cells = <1>; #size-cells = <0>; diff --git a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro-pinctrl.dtsi b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro-pinctrl.dtsi index 7f33227c848f..7a371b560191 100644 --- a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro-pinctrl.dtsi +++ b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro-pinctrl.dtsi @@ -46,8 +46,8 @@ sercom7_i2c_default: sercom7_i2c_default { group1 { - pinmux = , - ; + pinmux = , /* SDA */ + ; /* SCL */ }; }; diff --git a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts index afc869ddd197..74d56ea75faf 100644 --- a/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts +++ b/boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts @@ -32,6 +32,7 @@ sw0 = &button0; rtc = &rtc; sdhc0 = &sdhc1; + eeprom-0 = &eeprom; }; leds { @@ -254,6 +255,14 @@ gclkgen-run-in-standby-en = <1>; gclkgen-en = <1>; }; + + gclkgen2 { + subsystem = ; + gclkgen-div-factor = <3>; + gclkgen-src = "fdpll0"; + gclkgen-run-in-standby-en = <1>; + gclkgen-en = <1>; + }; }; gclkperiph: gclkperiph { @@ -283,6 +292,12 @@ gclkperiph-src = "gclk1"; gclkperiph-en = <0>; }; + + sercom7 { + subsystem = ; + gclkperiph-src = "gclk2"; + gclkperiph-en = <0>; + }; }; mclkperiph: mclkperiph { @@ -377,7 +392,7 @@ status = "okay"; }; -&sercom7 { +i2c0: &sercom7 { compatible = "microchip,sercom-g1-i2c"; #address-cells = <1>; #size-cells = <0>; @@ -388,7 +403,16 @@ dma-names = "rx", "tx"; status = "okay"; - eeprom: eeprom@5e { + eeprom: eeprom@56 { + compatible = "atmel,at24", "atmel,24mac402"; + reg = <0x56>; + size = <256>; + pagesize = <16>; + address-width = <8>; + timeout = <5>; + }; + + eeprom_mac: eeprom@5e { compatible = "atmel,at24", "atmel,24mac402"; reg = <0x5e>; size = <256>; diff --git a/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.dts b/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.dts index b57549ee8065..cd884d22348e 100644 --- a/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.dts +++ b/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.dts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2025 Microchip Technology Inc. and its subsidiaries + * Copyright (C) 2025-2026 Microchip Technology Inc. and its subsidiaries * * SPDX-License-Identifier: Apache-2.0 * @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -20,6 +21,9 @@ aliases { eeprom-0 = &eeprom0; led0 = &led_blue; + pwm-0 = &pwm; + pwm-led0 = &green_pwm_led; + pwm-test = &pwm; sw0 = &button_user; }; @@ -75,6 +79,22 @@ zephyr,code = ; }; }; + + pwmleds: pwmleds { + compatible = "pwm-leds"; + + red_pwm_led: red_pwm_led { + pwms = <&pwm 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>; + }; + + green_pwm_led: green_pwm_led { + pwms = <&pwm 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>; + }; + + blue_pwm_led: blue_pwm_led { + pwms = <&pwm 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>; + }; + }; }; &aes { @@ -233,6 +253,18 @@ }; }; + pinctrl_pwm_default: pinctrl_pwm_default { + mikrobus1_pwm0 { + pinmux = ; + bias-disable; + }; + + mikrobus2_pwm1 { + pinmux = ; + bias-disable; + }; + }; + pinctrl_uart6_default: uart6-default { group1 { pinmux = , @@ -246,6 +278,14 @@ clock-frequency = ; }; +&pwm { + clka-prescaler = <1024>; + clka-divide-factor = <1>; + pinctrl-0 = <&pinctrl_pwm_default>; + pinctrl-names = "default"; + status = "okay"; +}; + &rtc { status = "okay"; }; diff --git a/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.yaml b/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.yaml index 155d980a7c50..a3871d518627 100644 --- a/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.yaml +++ b/boards/microchip/sam/sama7d65_curiosity/sama7d65_curiosity.yaml @@ -18,6 +18,7 @@ supported: - i2c - led - pinctrl + - pwm - rtc - uart vendor: microchip diff --git a/boards/native/native_sim/Kconfig b/boards/native/native_sim/Kconfig index c671b9a98b58..09a8125b2d82 100644 --- a/boards/native/native_sim/Kconfig +++ b/boards/native/native_sim/Kconfig @@ -8,6 +8,8 @@ config BOARD_NATIVE_SIM select NATIVE_LIBRARY select NATIVE_SIM_TIMER select 64BIT if BOARD_NATIVE_SIM_NATIVE_64 + select ARCH_HAS_IRQ_PENDING_OPS + select ARCH_HAS_IRQ_GET_ACTIVE help Native simulator (Single Core) Will produce a console Linux process which can be executed natively. diff --git a/boards/native/native_sim/Kconfig.defconfig b/boards/native/native_sim/Kconfig.defconfig index 9aa4e472ff3a..5c6e9b37285c 100644 --- a/boards/native/native_sim/Kconfig.defconfig +++ b/boards/native/native_sim/Kconfig.defconfig @@ -15,9 +15,6 @@ config OUTPUT_PRINT_MEMORY_USAGE configdefault ETH_DRIVER default y if !NET_LOOPBACK && !NET_TEST -configdefault ETH_NATIVE_TAP - default y if NET_L2_ETHERNET && ETH_DRIVER - if CONSOLE config POSIX_ARCH_CONSOLE diff --git a/boards/native/native_sim/irq_handler.c b/boards/native/native_sim/irq_handler.c index 6eb250f8450b..b3d1d3984b80 100644 --- a/boards/native/native_sim/irq_handler.c +++ b/boards/native/native_sim/irq_handler.c @@ -213,6 +213,11 @@ int posix_irq_is_enabled(unsigned int irq) return hw_irq_ctrl_is_irq_enabled(irq); } +int posix_irq_is_pending(unsigned int irq) +{ + return hw_irq_ctrl_is_irq_pending(irq); +} + int posix_get_current_irq(void) { return currently_running_irq; diff --git a/boards/native/native_sim/native_sim.dts b/boards/native/native_sim/native_sim.dts index da036014260e..46116029d837 100644 --- a/boards/native/native_sim/native_sim.dts +++ b/boards/native/native_sim/native_sim.dts @@ -306,8 +306,16 @@ }; }; - ptp_clock: ptp_clock { - compatible = "zephyr,native-ptp-clock"; + zeth0: zeth0 { + compatible = "zephyr,native-tap"; status = "okay"; + zephyr,random-mac-address; + zephyr,mac-address-prefix = [00 00 5e 00 53]; + host-interface = "zeth"; + + ptp_clock: ptp_clock { + compatible = "zephyr,native-ptp-clock"; + status = "okay"; + }; }; }; diff --git a/boards/native/native_sim/native_sim.yaml b/boards/native/native_sim/native_sim.yaml index 629764bcde4a..592e9a61cf9b 100644 --- a/boards/native/native_sim/native_sim.yaml +++ b/boards/native/native_sim/native_sim.yaml @@ -18,6 +18,7 @@ supported: - eeprom - netif:eth - mspi + - ptp_clock - usb_device - adc - i2c diff --git a/boards/native/native_sim/native_sim_native_64.yaml b/boards/native/native_sim/native_sim_native_64.yaml index 4656497412ff..d41da515cfda 100644 --- a/boards/native/native_sim/native_sim_native_64.yaml +++ b/boards/native/native_sim/native_sim_native_64.yaml @@ -16,6 +16,7 @@ supported: - dma - eeprom - netif:eth + - ptp_clock - usb_device - adc - gpio diff --git a/boards/native/nrf_bsim/Kconfig b/boards/native/nrf_bsim/Kconfig index 9df6cfd2243f..ae928a00bc8f 100644 --- a/boards/native/nrf_bsim/Kconfig +++ b/boards/native/nrf_bsim/Kconfig @@ -77,6 +77,8 @@ config SOC_SERIES_BSIM_NRFXX select HAS_NRFX select HAS_NORDIC_DRIVERS select PINCTRL_DYNAMIC if PINCTRL + select ARCH_HAS_IRQ_PENDING_OPS + select ARCH_HAS_IRQ_GET_ACTIVE help Any NRF simulated SOC with BabbleSim, based on the POSIX arch diff --git a/boards/native/nrf_bsim/irq_handler.c b/boards/native/nrf_bsim/irq_handler.c index 502be495def7..512070e98049 100644 --- a/boards/native/nrf_bsim/irq_handler.c +++ b/boards/native/nrf_bsim/irq_handler.c @@ -236,6 +236,14 @@ int posix_irq_is_enabled(unsigned int irq) return hw_irq_ctrl_is_irq_enabled(CONFIG_NATIVE_SIMULATOR_MCU_N, irq); } +/** + * Report whether an irq is pending (not necessarily active) + */ +int posix_irq_is_pending(unsigned int irq) +{ + return hw_irq_ctrl_is_irq_pending(CONFIG_NATIVE_SIMULATOR_MCU_N, irq); +} + int posix_get_current_irq(void) { return currently_running_irq; diff --git a/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm33.yaml b/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm33.yaml index dbfdcbbd2018..5ef7ab413e4a 100644 --- a/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm33.yaml +++ b/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm33.yaml @@ -15,6 +15,7 @@ toolchain: ram: 8192 flash: 16384 supported: + - ptp_clock - spi - adc - dma diff --git a/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm7_extmem.yaml b/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm7_extmem.yaml index 773fbff87537..752b57100a98 100644 --- a/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm7_extmem.yaml +++ b/boards/nxp/frdm_imxrt1186/frdm_imxrt1186_mimxrt1186_cm7_extmem.yaml @@ -14,6 +14,7 @@ flash: 16384 supported: - gpio - hwinfo + - ptp_clock - uart - netif:eth vendor: nxp diff --git a/boards/nxp/frdm_k64f/frdm_k64f.yaml b/boards/nxp/frdm_k64f/frdm_k64f.yaml index 11cff339ce93..10bbf5a076b9 100644 --- a/boards/nxp/frdm_k64f/frdm_k64f.yaml +++ b/boards/nxp/frdm_k64f/frdm_k64f.yaml @@ -22,6 +22,7 @@ supported: - i2c - netif:eth - nvs + - ptp_clock - pwm - spi - usb_device diff --git a/boards/nxp/frdm_mcxa577/board.c b/boards/nxp/frdm_mcxa577/board.c index 545897b2b3a7..11af715057fb 100644 --- a/boards/nxp/frdm_mcxa577/board.c +++ b/boards/nxp/frdm_mcxa577/board.c @@ -326,6 +326,12 @@ void board_early_init_hook(void) #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(enet)) CLOCK_AttachClk(kNONE_to_ENETRMII); CLOCK_EnableClock(kCLOCK_GateENET0); +#if defined(CONFIG_PTP_CLOCK_DWC_MAC) + /* Attach PLL1 (200 MHz) to the ENET QoS PTP reference clock. */ + CLOCK_AttachClk(kPll1Clk_to_ENETPTPREF); + CLOCK_SetClockDiv(kCLOCK_DivE1588, 1u); + CLOCK_EnableClock(kCLOCK_GateE1588); +#endif RESET_PeripheralReset(kENET0_RST_SHIFT_RSTn); #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(t1s)) /* TENBASET_PHY needs 100 MHz clock */ diff --git a/boards/nxp/frdm_mcxa577/frdm_mcxa577.dtsi b/boards/nxp/frdm_mcxa577/frdm_mcxa577.dtsi index b2355e0f9d35..28b428a14fd3 100644 --- a/boards/nxp/frdm_mcxa577/frdm_mcxa577.dtsi +++ b/boards/nxp/frdm_mcxa577/frdm_mcxa577.dtsi @@ -388,12 +388,21 @@ scan-period-ms = <50>; }; +&smartdma { + status = "okay"; +}; + nxp_8080_touch_panel_i2c: &lpi2c3 {}; zephyr_mipi_dbi_parallel: &flexio0_lcd { - /* DMA channel 0, muxed to FlexIO TX */ - dmas = <&edma0 0 71>; - dma-names = "tx"; + dmas = <&smartdma>; + dma-names = "smartdma"; + /* Route the FlexIO IRQ to the SmartDMA trigger input through + * INPUTMUX0. Connection value is the inputmux_connection_t + * enum from fsl_inputmux_connections.h: + * kINPUTMUX_Flexio0irqToSmartdmatrig = 0xa000034 + */ + mux-states = <&inputmux0 0 0xa000034>; shifters-count = <4>; timers-count = <1>; enwr-pin = <27>; diff --git a/boards/nxp/frdm_mcxa577/frdm_mcxa577.yaml b/boards/nxp/frdm_mcxa577/frdm_mcxa577.yaml index f2c383dae580..06e732308e02 100644 --- a/boards/nxp/frdm_mcxa577/frdm_mcxa577.yaml +++ b/boards/nxp/frdm_mcxa577/frdm_mcxa577.yaml @@ -26,6 +26,7 @@ supported: - watchdog - flash - netif:eth + - ptp_clock - edac - can - dac diff --git a/boards/nxp/frdm_mcxa577/frdm_mcxa577_defconfig b/boards/nxp/frdm_mcxa577/frdm_mcxa577_defconfig index 80c7f799a746..7c73a7ce034a 100644 --- a/boards/nxp/frdm_mcxa577/frdm_mcxa577_defconfig +++ b/boards/nxp/frdm_mcxa577/frdm_mcxa577_defconfig @@ -9,6 +9,7 @@ CONFIG_UART_CONSOLE=y CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_GPIO=y +CONFIG_MUX=y CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y diff --git a/boards/nxp/frdm_mcxa577/frdm_mcxa577_mcxa577_t1s.yaml b/boards/nxp/frdm_mcxa577/frdm_mcxa577_mcxa577_t1s.yaml index c37a935cab7f..bb04b2b1b043 100644 --- a/boards/nxp/frdm_mcxa577/frdm_mcxa577_mcxa577_t1s.yaml +++ b/boards/nxp/frdm_mcxa577/frdm_mcxa577_mcxa577_t1s.yaml @@ -15,5 +15,6 @@ toolchain: - gnuarmemb supported: - netif:eth + - ptp_clock - crc vendor: nxp diff --git a/boards/nxp/frdm_mcxaxx6/board_common.dtsi b/boards/nxp/frdm_mcxaxx6/board_common.dtsi index f6db4f84fa28..63a1801de925 100644 --- a/boards/nxp/frdm_mcxaxx6/board_common.dtsi +++ b/boards/nxp/frdm_mcxaxx6/board_common.dtsi @@ -101,6 +101,16 @@ , /* SDA */ ; /* SCL */ }; + + nxp_lcd_8080_connector: lcd-8080-connector { + compatible = "nxp,lcd-8080"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = <9 0 &gpio2 24 0>, /* Touch INT */ + <10 0 &gpio4 4 0>, /* Backlight */ + <11 0 &gpio4 3 0>; /* Reset */ + }; }; /* Port configurations */ diff --git a/boards/nxp/frdm_mcxaxx6/frdm_mcxa266-pinctrl.dtsi b/boards/nxp/frdm_mcxaxx6/frdm_mcxa266-pinctrl.dtsi index ec6fb841e727..5b351125bcc8 100644 --- a/boards/nxp/frdm_mcxaxx6/frdm_mcxa266-pinctrl.dtsi +++ b/boards/nxp/frdm_mcxaxx6/frdm_mcxa266-pinctrl.dtsi @@ -153,4 +153,44 @@ drive-strength = "low"; }; }; + + pinmux_flexio_lcd: pinmux_flexio_lcd { + group0 { + pinmux = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + drive-strength = "low"; + slew-rate = "fast"; + input-enable; + }; + + group1 { + pinmux = ; + drive-strength = "low"; + slew-rate = "fast"; + input-enable; + bias-pull-up; + }; + + group2 { + pinmux = ; + drive-strength = "low"; + slew-rate = "fast"; + input-enable; + bias-pull-up; + }; + }; }; diff --git a/boards/nxp/frdm_mcxaxx6/frdm_mcxa266.dts b/boards/nxp/frdm_mcxaxx6/frdm_mcxa266.dts index ed655c6e9979..d170c740ca5f 100644 --- a/boards/nxp/frdm_mcxaxx6/frdm_mcxa266.dts +++ b/boards/nxp/frdm_mcxaxx6/frdm_mcxa266.dts @@ -44,8 +44,40 @@ }; }; +&smartdma { + status = "okay"; +}; + &flexio0 { status = "okay"; + + zephyr_mipi_dbi_parallel: flexio-lcd { + compatible = "nxp,mipi-dbi-flexio-lcdif"; + #address-cells = <1>; + #size-cells = <0>; + dmas = <&smartdma>; + dma-names = "smartdma"; + /* Route the FlexIO IRQ to the SmartDMA trigger input through + * INPUTMUX0. Connection value is the inputmux_connection_t + * enum from fsl_inputmux_connections.h: + * kINPUTMUX_FlexioIrqToSmartdma0Trigger = 0xa000034 + */ + mux-states = <&inputmux0 0 0xa000034>; + shifters-count = <4>; + timers-count = <1>; + enwr-pin = <7>; + rd-pin = <8>; + data-pin-start = <16>; + reset-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; + cs-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; + rs-gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&pinmux_flexio_lcd>; + pinctrl-names = "default"; + }; +}; + +nxp_8080_touch_panel_i2c: &lpi2c3 { + status = "okay"; }; &inputmux0 { diff --git a/boards/nxp/frdm_mcxaxx6/frdm_mcxa266_defconfig b/boards/nxp/frdm_mcxaxx6/frdm_mcxa266_defconfig index a630917318fa..35d4e30fb992 100644 --- a/boards/nxp/frdm_mcxaxx6/frdm_mcxa266_defconfig +++ b/boards/nxp/frdm_mcxaxx6/frdm_mcxa266_defconfig @@ -9,3 +9,4 @@ CONFIG_UART_CONSOLE=y CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_GPIO=y +CONFIG_MUX=y diff --git a/boards/nxp/frdm_mcxaxx6/frdm_mcxa366-pinctrl.dtsi b/boards/nxp/frdm_mcxaxx6/frdm_mcxa366-pinctrl.dtsi index b8b0a829d9af..bd62eb0e0c16 100644 --- a/boards/nxp/frdm_mcxaxx6/frdm_mcxa366-pinctrl.dtsi +++ b/boards/nxp/frdm_mcxaxx6/frdm_mcxa366-pinctrl.dtsi @@ -186,4 +186,44 @@ drive-strength = "low"; }; }; + + pinmux_flexio_lcd: pinmux_flexio_lcd { + group0 { + pinmux = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + drive-strength = "low"; + slew-rate = "fast"; + input-enable; + }; + + group1 { + pinmux = ; + drive-strength = "low"; + slew-rate = "fast"; + input-enable; + bias-pull-up; + }; + + group2 { + pinmux = ; + drive-strength = "low"; + slew-rate = "fast"; + input-enable; + bias-pull-up; + }; + }; }; diff --git a/boards/nxp/frdm_mcxaxx6/frdm_mcxa366.dts b/boards/nxp/frdm_mcxaxx6/frdm_mcxa366.dts index 23526f698c51..a40158fbfc1c 100644 --- a/boards/nxp/frdm_mcxaxx6/frdm_mcxa366.dts +++ b/boards/nxp/frdm_mcxaxx6/frdm_mcxa366.dts @@ -55,8 +55,40 @@ status = "okay"; }; +&smartdma { + status = "okay"; +}; + &flexio0 { status = "okay"; + + zephyr_mipi_dbi_parallel: flexio-lcd { + compatible = "nxp,mipi-dbi-flexio-lcdif"; + #address-cells = <1>; + #size-cells = <0>; + dmas = <&smartdma>; + dma-names = "smartdma"; + /* Route the FlexIO IRQ to the SmartDMA trigger input through + * INPUTMUX0. Connection value is the inputmux_connection_t + * enum from fsl_inputmux_connections.h: + * kINPUTMUX_FlexioIrqToSmartdma0Trigger = 0xa000034 + */ + mux-states = <&inputmux0 0 0xa000034>; + shifters-count = <4>; + timers-count = <1>; + enwr-pin = <7>; + rd-pin = <8>; + data-pin-start = <16>; + reset-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; + cs-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; + rs-gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&pinmux_flexio_lcd>; + pinctrl-names = "default"; + }; +}; + +nxp_8080_touch_panel_i2c: &lpi2c3 { + status = "okay"; }; &inputmux0 { diff --git a/boards/nxp/frdm_mcxaxx6/frdm_mcxa366_defconfig b/boards/nxp/frdm_mcxaxx6/frdm_mcxa366_defconfig index a630917318fa..35d4e30fb992 100644 --- a/boards/nxp/frdm_mcxaxx6/frdm_mcxa366_defconfig +++ b/boards/nxp/frdm_mcxaxx6/frdm_mcxa366_defconfig @@ -9,3 +9,4 @@ CONFIG_UART_CONSOLE=y CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_GPIO=y +CONFIG_MUX=y diff --git a/boards/nxp/frdm_mcxe31b/Kconfig.defconfig b/boards/nxp/frdm_mcxe31b/Kconfig.defconfig index a098536a9b9a..297a4d772163 100644 --- a/boards/nxp/frdm_mcxe31b/Kconfig.defconfig +++ b/boards/nxp/frdm_mcxe31b/Kconfig.defconfig @@ -3,7 +3,7 @@ if BOARD_FRDM_MCXE31B -configdefault NET_L2_ETHERNET +configdefault ETH_DRIVER default y endif # BOARD_FRDM_MCXE31B diff --git a/boards/nxp/frdm_mcxe31b/frdm_mcxe31b.yaml b/boards/nxp/frdm_mcxe31b/frdm_mcxe31b.yaml index 6c311f45446f..bfdfd661910a 100644 --- a/boards/nxp/frdm_mcxe31b/frdm_mcxe31b.yaml +++ b/boards/nxp/frdm_mcxe31b/frdm_mcxe31b.yaml @@ -14,6 +14,7 @@ supported: - arduino_gpio - can - gpio + - ptp_clock - rtc - dma - watchdog diff --git a/boards/nxp/frdm_mcxn947/board.c b/boards/nxp/frdm_mcxn947/board.c index f0757b853c0e..b55fa2d67dbf 100644 --- a/boards/nxp/frdm_mcxn947/board.c +++ b/boards/nxp/frdm_mcxn947/board.c @@ -257,7 +257,7 @@ void board_early_init_hook(void) #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(enet)) CLOCK_AttachClk(kNONE_to_ENETRMII); -#if defined(CONFIG_PTP_CLOCK_NXP_ENET_QOS) +#if defined(CONFIG_PTP_CLOCK_NXP_ENET_QOS) || defined(CONFIG_PTP_CLOCK_DWC_MAC) /* Attach PLL0 (150 MHz) to the ENET QoS PTP reference clock. */ CLOCK_AttachClk(kPLL0_to_ENETPTPREF); CLOCK_SetClkDiv(kCLOCK_DivEnetptprefClk, 1u); diff --git a/boards/nxp/frdm_mcxn947/frdm_mcxn947_mcxn947_cpu0.yaml b/boards/nxp/frdm_mcxn947/frdm_mcxn947_mcxn947_cpu0.yaml index 216c650b0234..60fcea8a64b6 100644 --- a/boards/nxp/frdm_mcxn947/frdm_mcxn947_mcxn947_cpu0.yaml +++ b/boards/nxp/frdm_mcxn947/frdm_mcxn947_mcxn947_cpu0.yaml @@ -30,6 +30,7 @@ supported: - i3c - netif:eth - nvs + - ptp_clock - pwm - regulator - rtc diff --git a/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55.yaml b/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55.yaml index 6c96b8a16e14..475fb0aa52a0 100644 --- a/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55.yaml +++ b/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55.yaml @@ -18,6 +18,8 @@ supported: - gpio - i2c - net + - netif:eth + - ptp_clock - spi - uart - watchdog diff --git a/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55_smp.yaml b/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55_smp.yaml index 4bd023bcc9b5..3a3a8c991292 100644 --- a/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55_smp.yaml +++ b/boards/nxp/imx943_evk/imx943_evk_mimx94398_a55_smp.yaml @@ -16,6 +16,8 @@ supported: - counter - gpio - net + - netif:eth + - ptp_clock - spi - uart testing: diff --git a/boards/nxp/imx95_evk/imx95_evk_mimx9596_a55.yaml b/boards/nxp/imx95_evk/imx95_evk_mimx9596_a55.yaml index 942ed2fa0ea2..626315bde967 100644 --- a/boards/nxp/imx95_evk/imx95_evk_mimx9596_a55.yaml +++ b/boards/nxp/imx95_evk/imx95_evk_mimx9596_a55.yaml @@ -17,6 +17,8 @@ supported: - counter - i2c - net + - netif:eth + - ptp_clock - uart - watchdog testing: diff --git a/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7.yaml b/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7.yaml index 0e4a43242e92..ed2c399e90e6 100644 --- a/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7.yaml +++ b/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7.yaml @@ -21,6 +21,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - pwm - spi - uart diff --git a/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_ddr.yaml b/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_ddr.yaml index af7ced390697..a07d34f844b6 100644 --- a/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_ddr.yaml +++ b/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_ddr.yaml @@ -13,5 +13,7 @@ toolchain: - zephyr - gnuarmemb supported: + - netif:eth + - ptp_clock - uart vendor: nxp diff --git a/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_flash.yaml b/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_flash.yaml index e7d70da41c27..b37211d5e91a 100644 --- a/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_flash.yaml +++ b/boards/nxp/imx95_evk/imx95_evk_mimx9596_m7_flash.yaml @@ -14,5 +14,7 @@ toolchain: - zephyr - gnuarmemb supported: + - netif:eth + - ptp_clock - uart vendor: nxp diff --git a/boards/nxp/imx95_evk_15x15/imx95_evk_15x15_mimx9596_m7.yaml b/boards/nxp/imx95_evk_15x15/imx95_evk_15x15_mimx9596_m7.yaml index 19bddad8e1c2..dd1504adf539 100644 --- a/boards/nxp/imx95_evk_15x15/imx95_evk_15x15_mimx9596_m7.yaml +++ b/boards/nxp/imx95_evk_15x15/imx95_evk_15x15_mimx9596_m7.yaml @@ -17,6 +17,7 @@ supported: - dma - i2c - netif:eth + - ptp_clock - pwm - spi - uart diff --git a/boards/nxp/mcx_nx4x_evk/board.c b/boards/nxp/mcx_nx4x_evk/board.c index fe10dd43fbb5..e2fbcaab7766 100644 --- a/boards/nxp/mcx_nx4x_evk/board.c +++ b/boards/nxp/mcx_nx4x_evk/board.c @@ -251,7 +251,7 @@ void board_early_init_hook(void) #if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(enet)) CLOCK_AttachClk(kNONE_to_ENETRMII); -#if defined(CONFIG_PTP_CLOCK_NXP_ENET_QOS) +#if defined(CONFIG_PTP_CLOCK_NXP_ENET_QOS) || defined(CONFIG_PTP_CLOCK_DWC_MAC) /* Attach PLL0 (150 MHz) to the ENET QoS PTP reference clock. */ CLOCK_AttachClk(kPLL0_to_ENETPTPREF); CLOCK_SetClkDiv(kCLOCK_DivEnetptprefClk, 1u); diff --git a/boards/nxp/mcx_nx4x_evk/mcx_n9xx_evk_mcxn947_cpu0.yaml b/boards/nxp/mcx_nx4x_evk/mcx_n9xx_evk_mcxn947_cpu0.yaml index 6f6c1b84402a..46cc08e6723c 100644 --- a/boards/nxp/mcx_nx4x_evk/mcx_n9xx_evk_mcxn947_cpu0.yaml +++ b/boards/nxp/mcx_nx4x_evk/mcx_n9xx_evk_mcxn947_cpu0.yaml @@ -26,6 +26,7 @@ supported: - i3c - nvs - netif:eth + - ptp_clock - pwm - regulator - rtc diff --git a/boards/nxp/mimxrt1020_evk/mimxrt1020_evk.yaml b/boards/nxp/mimxrt1020_evk/mimxrt1020_evk.yaml index 5e2a7cdc3dd3..5a46dd4d8d19 100644 --- a/boards/nxp/mimxrt1020_evk/mimxrt1020_evk.yaml +++ b/boards/nxp/mimxrt1020_evk/mimxrt1020_evk.yaml @@ -23,6 +23,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - sdhc - spi - usb_device diff --git a/boards/nxp/mimxrt1024_evk/mimxrt1024_evk.yaml b/boards/nxp/mimxrt1024_evk/mimxrt1024_evk.yaml index 5b2ba4d667a8..6a44bf18ed33 100644 --- a/boards/nxp/mimxrt1024_evk/mimxrt1024_evk.yaml +++ b/boards/nxp/mimxrt1024_evk/mimxrt1024_evk.yaml @@ -23,6 +23,7 @@ supported: - gpio - hwinfo - netif:eth + - ptp_clock - pwm - sdhc - spi diff --git a/boards/nxp/mimxrt1040_evk/mimxrt1040_evk.yaml b/boards/nxp/mimxrt1040_evk/mimxrt1040_evk.yaml index 1af828c609fb..2ffa386da7be 100644 --- a/boards/nxp/mimxrt1040_evk/mimxrt1040_evk.yaml +++ b/boards/nxp/mimxrt1040_evk/mimxrt1040_evk.yaml @@ -21,6 +21,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - pwm - spi - rtc diff --git a/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_hyperflash.yaml b/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_hyperflash.yaml index 40915a5b11a2..226243eb4c26 100644 --- a/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_hyperflash.yaml +++ b/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_hyperflash.yaml @@ -24,6 +24,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - sdhc - spi - usb_device diff --git a/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_qspi.yaml b/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_qspi.yaml index 752e98b34d60..368022979604 100644 --- a/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_qspi.yaml +++ b/boards/nxp/mimxrt1050_evk/mimxrt1050_evk_mimxrt1052_qspi.yaml @@ -24,6 +24,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - sdhc - spi - usb_device diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_hyperflash.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_hyperflash.yaml index e87daa765bda..14b8d0706cf7 100644 --- a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_hyperflash.yaml +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_hyperflash.yaml @@ -25,6 +25,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - pwm - sdhc - spi diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml index e4944801692f..9e4334a5a305 100644 --- a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml @@ -27,6 +27,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - pwm - sdhc - spi diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml index 790a5d3cb50b..50b3ebaedbf6 100644 --- a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml @@ -27,6 +27,7 @@ supported: - gpio - i2c - netif:eth + - ptp_clock - sdhc - spi - usbd diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml index 32f36d5ce4a9..d008830ad84f 100644 --- a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml @@ -28,6 +28,7 @@ supported: - i2c - i2s - netif:eth + - ptp_clock - sdhc - spi - usbd diff --git a/boards/nxp/mimxrt1064_evk/mimxrt1064_evk.yaml b/boards/nxp/mimxrt1064_evk/mimxrt1064_evk.yaml index a3d90dd1ce12..1be095512234 100644 --- a/boards/nxp/mimxrt1064_evk/mimxrt1064_evk.yaml +++ b/boards/nxp/mimxrt1064_evk/mimxrt1064_evk.yaml @@ -26,6 +26,7 @@ supported: - hwinfo - i2c - netif:eth + - ptp_clock - pwm - sdhc - spi diff --git a/boards/nxp/mimxrt1160_evk/mimxrt1160_evk_mimxrt1166_cm7.yaml b/boards/nxp/mimxrt1160_evk/mimxrt1160_evk_mimxrt1166_cm7.yaml index 2d91f5031f9c..f68f6b8b8eb5 100644 --- a/boards/nxp/mimxrt1160_evk/mimxrt1160_evk_mimxrt1166_cm7.yaml +++ b/boards/nxp/mimxrt1160_evk/mimxrt1160_evk_mimxrt1166_cm7.yaml @@ -22,6 +22,7 @@ supported: - hwinfo - i2c - netif:eth + - ptp_clock - pwm - spi - usb_device diff --git a/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7.yaml b/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7.yaml index 452968e2b344..2a8e7ff6e0fe 100644 --- a/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7.yaml +++ b/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7.yaml @@ -26,6 +26,7 @@ supported: - i2c - mipi_dsi - netif:eth + - ptp_clock - pwm - spi - usb_device diff --git a/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7_B.yaml b/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7_B.yaml index e71986bc2ae5..fa1441d5b9bc 100644 --- a/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7_B.yaml +++ b/boards/nxp/mimxrt1170_evk/mimxrt1170_evk_mimxrt1176_cm7_B.yaml @@ -25,6 +25,7 @@ supported: - i2c - mipi_dsi - netif:eth + - ptp_clock - pwm - spi - usbd diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml index d2150ddfee21..16d4432b33bd 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.yaml @@ -23,6 +23,7 @@ supported: - mbox - mecc - netif:eth + - ptp_clock - pwm - uart - i3c diff --git a/boards/nxp/s32k148_evb/s32k148_evb.yaml b/boards/nxp/s32k148_evb/s32k148_evb.yaml index caa76f3afefc..58cbe3fdde42 100644 --- a/boards/nxp/s32k148_evb/s32k148_evb.yaml +++ b/boards/nxp/s32k148_evb/s32k148_evb.yaml @@ -20,3 +20,5 @@ supported: - watchdog - counter - adc + - netif:eth + - ptp_clock diff --git a/boards/olimex/esp32p4_pc/esp32p4_pc_esp32p4_hpcore.yaml b/boards/olimex/esp32p4_pc/esp32p4_pc_esp32p4_hpcore.yaml index b4fa5ca1d24a..128118f96114 100644 --- a/boards/olimex/esp32p4_pc/esp32p4_pc_esp32p4_hpcore.yaml +++ b/boards/olimex/esp32p4_pc/esp32p4_pc_esp32p4_hpcore.yaml @@ -18,6 +18,7 @@ supported: - hwinfo - led - netif:eth + - ptp_clock - sdhc - spi - uart diff --git a/boards/olimex/stm32_e407/olimex_stm32_e407.yaml b/boards/olimex/stm32_e407/olimex_stm32_e407.yaml index 8c68e307af6c..d464e3cb2a8e 100644 --- a/boards/olimex/stm32_e407/olimex_stm32_e407.yaml +++ b/boards/olimex/stm32_e407/olimex_stm32_e407.yaml @@ -9,5 +9,7 @@ ram: 128 flash: 1024 supported: - counter + - netif:eth + - ptp_clock - usb_device vendor: olimex diff --git a/boards/others/jz_f407vet6/jz_f407vet6.yaml b/boards/others/jz_f407vet6/jz_f407vet6.yaml index 8cbd82f9aa6c..c8f8c82627ef 100644 --- a/boards/others/jz_f407vet6/jz_f407vet6.yaml +++ b/boards/others/jz_f407vet6/jz_f407vet6.yaml @@ -15,6 +15,7 @@ supported: - i2c - netif:eth - nvs + - ptp_clock - rtc - sdhc - spi diff --git a/boards/phytec/phyboard_atlas/phyboard_atlas_mimxrt1176_cm7.yaml b/boards/phytec/phyboard_atlas/phyboard_atlas_mimxrt1176_cm7.yaml index e42d9304dcdc..983e150a1e87 100644 --- a/boards/phytec/phyboard_atlas/phyboard_atlas_mimxrt1176_cm7.yaml +++ b/boards/phytec/phyboard_atlas/phyboard_atlas_mimxrt1176_cm7.yaml @@ -22,6 +22,7 @@ supported: - i2s - mipi_dsi - netif:eth + - ptp_clock - spi - uart - usb_device diff --git a/boards/qemu/common/qemu_x86.dtsi b/boards/qemu/common/qemu_x86.dtsi new file mode 100644 index 000000000000..f2912e553449 --- /dev/null +++ b/boards/qemu/common/qemu_x86.dtsi @@ -0,0 +1,229 @@ +/* + * Copyright (c) 2019 Intel Corp. + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * The QEMU q35 PC machine as used by the qemu_x86 boards: an Atom-class + * CPU with the emulated PCI devices, the flash/EEPROM simulators and the + * ramfb display. Boards set DT_DRAM_BASE and DT_DRAM_SIZE before + * including this file when they need something other than 32 MiB at 0. + */ + +#include + +#ifndef DT_DRAM_BASE +#define DT_DRAM_BASE 0 +#endif +#ifndef DT_DRAM_SIZE +#define DT_DRAM_SIZE DT_SIZE_M(32) +#endif +#define DT_FLASH_SIZE DT_SIZE_K(4096) + +#include +#include + +/ { + model = "QEMU X86 emulator"; + compatible = "qemu,x86_emulator"; + + flash0: flash@500000 { + compatible = "soc-nv-flash"; + reg = <0x00500000 DT_FLASH_SIZE>; + }; + + aliases { + uart-0 = &uart0; + uart-1 = &uart1; + eeprom-0 = &eeprom0; + eeprom-1 = &eeprom1; + rtc = &rtc; + }; + + chosen { + zephyr,sram = &dram0; + zephyr,flash = &flash0; + zephyr,console = &uart0; + zephyr,bt-hci = &bt_hci_uart; + zephyr,shell-uart = &uart0; + zephyr,uart-pipe = &uart1; + zephyr,bt-mon-uart = &uart1; + zephyr,code-partition = &slot0_partition; + zephyr,flash-controller = &sim_flash; + zephyr,ieee802154 = &ieee802154; + zephyr,canbus = &can0; + zephyr,display = &ramfb0; + zephyr,touch = &input0; + }; + + pcie0: pcie0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "pcie-controller"; + acpi-hid = "PNP0A08"; + ranges; + + can0: can0 { + compatible = "kvaser,pcican"; + status = "okay"; + vendor-id = <0x10e8>; + device-id = <0x8406>; + interrupts = <11 IRQ_TYPE_LOWEST_LEVEL_LOW 3>; + interrupt-parent = <&intc>; + + can-transceiver { + max-bitrate = <1000000>; + }; + }; + + eth0: eth0 { + compatible = "intel,e1000"; + + vendor-id = <0x8086>; + device-id = <0x100e>; + + interrupts = <11 IRQ_TYPE_LOWEST_EDGE_RISING 3>; + interrupt-parent = <&intc>; + + status = "okay"; + }; + + virtio_input_pci: virtio-input-pci { + compatible = "virtio,pci"; + + vendor-id = <0x1af4>; + device-id = <0x1052>; + + interrupts = <10 IRQ_TYPE_LOWEST_EDGE_RISING 3>; + interrupt-parent = <&intc>; + + status = "okay"; + + input0: virtio-input { + compatible = "virtio,input"; + display = <&ramfb0>; + status = "okay"; + }; + }; + }; + + sim_flash: sim_flash { + compatible = "zephyr,sim-flash"; + + #address-cells = <1>; + #size-cells = <1>; + erase-value = <0xff>; + + flash_sim0: flash_sim@0 { + compatible = "soc-nv-flash"; + reg = <0x00000000 DT_SIZE_K(1024)>; + + erase-block-size = <1024>; + write-block-size = <4>; + }; + }; + + eeprom1: eeprom1 { + status = "okay"; + compatible = "zephyr,emu-eeprom"; + size = ; + pagesize = ; + partition = <&eepromemu_partition>; + rambuf; + }; + + eeprom0: eeprom0 { + status = "okay"; + compatible = "zephyr,sim-eeprom"; + size = ; + }; + + ieee802154: ieee802154 { + compatible = "zephyr,ieee802154-uart-pipe"; + }; + + fwcfg0: fw-cfg@510 { + compatible = "qemu,fw-cfg-ioport"; + reg = <0x510 0x18>; + status = "okay"; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + ramfb_mem: framebuffer@1c00000 { + reg = <0x01c00000 0x00400000>; /* 4 MiB */ + no-map; + }; + }; + + ramfb0: ramfb { + compatible = "qemu,ramfb"; + fwcfg = <&fwcfg0>; + memory-region = <&ramfb_mem>; + width = <1024>; + height = <768>; + status = "okay"; + }; +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; +}; + +&uart1 { + status = "okay"; + current-speed = <115200>; + + bt_hci_uart: bt_hci_uart { + compatible = "zephyr,bt-hci-uart"; + status = "okay"; + }; +}; + +&hpet { + status = "okay"; +}; + +&flash_sim0 { + partitions { + ranges; + #address-cells = <1>; + #size-cells = <1>; + + /* + * Storage partition will be used by FCB/LittleFS/NVS + * if enabled. + */ + storage_partition: partition@1000 { + compatible = "zephyr,mapped-partition"; + label = "storage"; + reg = <0x00001000 0x00010000>; + }; + + slot0_partition: partition@11000 { + compatible = "zephyr,mapped-partition"; + label = "image-0"; + reg = <0x00011000 0x00010000>; + }; + + slot1_partition: partition@21000 { + compatible = "zephyr,mapped-partition"; + label = "image-1"; + reg = <0x00021000 0x00010000>; + }; + + eepromemu_partition: partition@31000 { + compatible = "zephyr,mapped-partition"; + label = "eeprom-emu"; + reg = <0x00031000 0x00010000>; + }; + }; +}; + +&cpu { + compatible = "intel,x86"; +}; diff --git a/boards/qemu/x86/CMakeLists.txt b/boards/qemu/x86/CMakeLists.txt deleted file mode 100644 index 1ee70f9f48a8..000000000000 --- a/boards/qemu/x86/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# Copyright (c) 2019 Intel Corp. - -if(CONFIG_BOARD_QEMU_X86_64 AND CONFIG_BUILD_OUTPUT_EFI) -set_property(GLOBAL APPEND PROPERTY extra_post_build_commands - COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/arch/x86/zefi/zefi.py - -c ${CMAKE_C_COMPILER} - -i ${ZEPHYR_BASE}/include ${PROJECT_BINARY_DIR}/include/generated - -o ${CMAKE_OBJCOPY} - -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf - $<$:--verbose> - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) -endif() diff --git a/boards/qemu/x86/Kconfig b/boards/qemu/x86/Kconfig index 092f34f453d5..dcdd1d83bf84 100644 --- a/boards/qemu/x86/Kconfig +++ b/boards/qemu/x86/Kconfig @@ -2,18 +2,15 @@ # # SPDX-License-Identifier: Apache-2.0 -config BOARD_QEMU_X86 - bool - select CPU_HAS_FPU +# Both boards live in this directory, but the build system only types the +# symbol of the board being built, so the sibling needs an explicit type. -config BOARD_QEMU_X86_64 - bool - select X86_64 - -config BOARD_QEMU_X86_LAKEMONT +config BOARD_QEMU_X86 bool - select CPU_HAS_FPU + select QEMU_TARGET + select HAS_COVERAGE_SUPPORT config BOARD_QEMU_X86_TINY bool - select CPU_HAS_FPU + select QEMU_TARGET + select HAS_COVERAGE_SUPPORT diff --git a/boards/qemu/x86/Kconfig.defconfig b/boards/qemu/x86/Kconfig.defconfig index 72c6eb89820f..25bf42c177f4 100644 --- a/boards/qemu/x86/Kconfig.defconfig +++ b/boards/qemu/x86/Kconfig.defconfig @@ -1,101 +1,36 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright (c) 2019 Intel Corp. -if BOARD_QEMU_X86 || BOARD_QEMU_X86_64 || BOARD_QEMU_X86_LAKEMONT || BOARD_QEMU_X86_TINY +if BOARD_QEMU_X86 || BOARD_QEMU_X86_TINY + +config BUILD_OUTPUT_BIN + default n # The EEPROM emulator must be initialized after the flash simulator config EEPROM_INIT_PRIORITY default 60 depends on EEPROM -config BUILD_OUTPUT_BIN - default n - -config QEMU_TARGET - default y - -config HAS_COVERAGE_SUPPORT - default y - -endif # BOARD_QEMU_X86 || BOARD_QEMU_X86_64 || BOARD_QEMU_X86_LAKEMONT || BOARD_QEMU_X86_TINY - - -if BOARD_QEMU_X86 - -config FLASH_SIMULATOR - default y - depends on FLASH - -config KERNEL_VM_SIZE - default 0x10000000 if ACPI - -config MULTIBOOT - default y - -config MULTIBOOT_INFO - default y if MULTIBOOT - -config MULTIBOOT_MEMMAP - default y if MULTIBOOT - config QEMU_ICOUNT default n if HPET_TIMER && SHELL config QEMU_ICOUNT_SHIFT default 5 -endif # BOARD_QEMU_X86 +endif # BOARD_QEMU_X86 || BOARD_QEMU_X86_TINY - -if BOARD_QEMU_X86_64 +if BOARD_QEMU_X86 config KERNEL_VM_SIZE default 0x10000000 if ACPI -endif # BOARD_QEMU_X86_64 - - -if BOARD_QEMU_X86_LAKEMONT - -config KERNEL_VM_SIZE - default 0x400000 - -config MULTIBOOT - # This is needed for QEMU to load the ELF image - default y - -config X86_PC_COMPATIBLE - # QEMU presents a PC-compatible machine +config MULTIBOOT_MEMMAP default y -config QEMU_ICOUNT - default n if HPET_TIMER && SHELL - -config QEMU_ICOUNT_SHIFT - default 5 - -endif # BOARD_QEMU_X86_LAKEMONT - +endif # BOARD_QEMU_X86 if BOARD_QEMU_X86_TINY -config KERNEL_VM_SIZE - default 0x400000 - -config MULTIBOOT - # This is needed for QEMU to load the ELF image - default y - -config X86_PC_COMPATIBLE - # QEMU presents a PC-compatible machine - default y - -config QEMU_ICOUNT - default n if HPET_TIMER && SHELL - -config QEMU_ICOUNT_SHIFT - default 5 - config HAVE_CUSTOM_LINKER_SCRIPT default y diff --git a/boards/qemu/x86/board.cmake b/boards/qemu/x86/board.cmake index e0a1922e42d4..f836cf9dd739 100644 --- a/boards/qemu/x86/board.cmake +++ b/boards/qemu/x86/board.cmake @@ -1,91 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright (c) 2019 Intel Corp. -set(SUPPORTED_EMU_PLATFORMS qemu) +set(QEMU_CPU_TYPE qemu32,+nx,+pae) -if(CONFIG_X86_64) - set(QEMU_BINARY_SUFFIX x86_64) - set(QEMU_CPU_TYPE qemu64,+x2apic) - if("${CONFIG_MP_MAX_NUM_CPUS}" STREQUAL "1") - # icount works with 1 CPU so we can enable it here. - # FIXME: once this works across configs, remove this line and set - # CONFIG_QEMU_ICOUNT_SHIFT in defconfig instead. - list(APPEND QEMU_EXTRA_FLAGS -icount shift=5,align=off,sleep=off -rtc clock=vm) - endif() -else() - set(QEMU_CPU_TYPE qemu32,+nx,+pae) -endif() - -if(CONFIG_SRAM_DEPRECATED_KCONFIG_SET) - math(EXPR RAM_SIZE "${CONFIG_SRAM_SIZE} / 1024" OUTPUT_FORMAT HEXADECIMAL) -else() - dt_chosen(chosen_sram_path PROPERTY "zephyr,sram") - dt_reg_size(RAM_SIZE PATH "${chosen_sram_path}") - math(EXPR RAM_SIZE "${RAM_SIZE} / 1024 / 1024" OUTPUT_FORMAT HEXADECIMAL) -endif() - -if(CONFIG_XIP) - # Extra 4MB to emulate flash area - math(EXPR QEMU_MEMORY_SIZE_MB "${RAM_SIZE} + 4") -else() - math(EXPR QEMU_MEMORY_SIZE_MB "${RAM_SIZE}") -endif() - -set(QEMU_CPU_FLAGS "") -if(CONFIG_X86_MMX) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "mmx") - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "mmxext") -endif() -if(CONFIG_X86_SSE) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "sse") -endif() -if(CONFIG_X86_SSE2) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "sse2") -endif() -if(CONFIG_X86_SSE3) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "pni") -endif() -if(CONFIG_X86_SSSE3) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "ssse3") -endif() -if(CONFIG_X86_SSE41) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "sse4.1") -endif() -if(CONFIG_X86_SSE42) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "sse4.2") -endif() -if(CONFIG_X86_SSE4A) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "sse4a") -endif() -if(NOT CONFIG_X86_64 AND CONFIG_CACHE_MANAGEMENT) - string(JOIN "," QEMU_CPU_FLAGS "${QEMU_CPU_FLAGS}" "clflush") -endif() - -if(CONFIG_ENTROPY_VIRTIO) - set(QEMU_VIRTIO_ENTROPY_FLAGS -device virtio-rng-pci) -endif() - -if(CONFIG_INPUT_VIRTIO) - if(CONFIG_INPUT_VIRTIO_DEVICE_TYPE_KEYBOARD) - set(QEMU_VIRTIO_INPUT_FLAGS -device virtio-keyboard-pci,addr=05.0,id=input0) - elseif(CONFIG_INPUT_VIRTIO_DEVICE_TYPE_TABLET) - set(QEMU_VIRTIO_INPUT_FLAGS -device virtio-tablet-pci,addr=05.0,id=input0) - else() - message(WARNING "No virtio input device type selected; QEMU_VIRTIO_INPUT_FLAGS will be empty") - endif() -endif() - -set(QEMU_BOARD_FLAGS - -m ${QEMU_MEMORY_SIZE_MB} - -cpu ${QEMU_CPU_TYPE}${QEMU_CPU_FLAGS} - -machine q35 - -device isa-debug-exit,iobase=0xf4,iosize=0x04 - ${QEMU_VIRTIO_ENTROPY_FLAGS} - ${QEMU_VIRTIO_INPUT_FLAGS} - ) - -if(NOT CONFIG_ACPI) - list(APPEND QEMU_BOARD_FLAGS -machine acpi=off) -endif() - -include(${ZEPHYR_BASE}/boards/common/qemu.board.cmake) +include(${ZEPHYR_BASE}/boards/common/qemu_x86.board.cmake) diff --git a/boards/qemu/x86/board.yml b/boards/qemu/x86/board.yml index cfd84976dae2..7c9817137c4d 100644 --- a/boards/qemu/x86/board.yml +++ b/boards/qemu/x86/board.yml @@ -12,20 +12,6 @@ boards: - name: 'virt' - name: 'xip' - - name: qemu_x86_lakemont - full_name: QEMU Emulation for X86 / Lakemont CPU - vendor: intel - socs: - - name: lakemont - - - name: qemu_x86_64 - full_name: QEMU Emulation for X86 64bit - vendor: intel - socs: - - name: atom - variants: - - name: 'nokpti' - - name: qemu_x86_tiny full_name: QEMU Emulation for X86 Minimal Configuration vendor: intel diff --git a/boards/qemu/x86/doc/index.rst b/boards/qemu/x86/doc/index.rst index 7b7ebc778f24..6b9879e6b1a8 100644 --- a/boards/qemu/x86/doc/index.rst +++ b/boards/qemu/x86/doc/index.rst @@ -5,13 +5,20 @@ Overview The X86 QEMU board configuration is used to emulate the X86 architecture. -This board configuration provides support for an x86 Minute IA (Lakemont) CPU -and the following devices: +This board configuration provides support for a 32-bit Atom-class x86 CPU and +the following devices: * HPET * Advanced Programmable Interrupt Controller (APIC) * NS16550 UART +* E1000 Ethernet, CAN and VirtIO input devices on an emulated PCI bus +* Simulated flash and EEPROM +* QEMU ramfb display +The ``qemu_x86/atom/*`` variants exercise the same machine with a particular +memory-management configuration (no MMU, 32-bit page tables, KPTI disabled, +execute-in-place, or a relocated virtual address space); ``qemu_x86_tiny`` +uses the same devicetree with only 384 KiB of RAM to test demand paging. Hardware ******** @@ -94,66 +101,6 @@ QEMU, and display the following console output: Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`. -For qemu_x86_64 platform, it also supports to use UEFI bootable method -to run Zephyr applications and kernel tests, but you need to set up -some environment configurations as follows: - -* Please install uefi-run in your system environment according to this - reference link https://github.com/Richard-W/uefi-run. Note that uefi-run - from snapstore may not work because of strict snap confinements. - The preferred method is installing with cargo. - -* Please install OVMF in your system environment according to this - reference link https://github.com/tianocore/tianocore.github.io/wiki/OVMF. - The easiest way is to install a special ``ovmf`` package found in many distros. - For example, use the following command in Ubuntu: - - .. code-block:: console - - sudo apt install ovmf - -* Set system environment variable OVMF_FD_PATH, - for example: - - .. code-block:: console - - export OVMF_FD_PATH=/usr/share/OVMF/OVMF_CODE.fd - -Now you can build application, for example UEFI boot test sample found under -:zephyr_file:`tests/boot/uefi`: - -.. zephyr-app-commands:: - :zephyr-app: tests/boot/uefi - :host-os: unix - :board: qemu_x86_64 - :goals: run - -This will build an image with the uefi boot test app, boot it on -qemu_x86_64 using UEFI, and display the following console output: - -.. code-block:: console - - UEFI Interactive Shell v2.2 - EDK II - UEFI v2.70 (EDK II, 0x00010000) - Mapping table - FS0: Alias(s):F0a:;BLK0: - PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0) - BLK1: Alias(s): - PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0) - Press ESC in 1 seconds to skip startup.nsh or any other key to continue. - Starting UEFI application... - *** Zephyr EFI Loader *** - Zeroing 524544 bytes of memory at 0x105000 - Copying 32768 data bytes to 0x1000 from image offset - Copying 20480 data bytes to 0x100000 from image offset 32768 - Copying 540416 data bytes to 0x185100 from image offset 53248 - Jumping to Entry Point: 0x112b (48 31 c0 48 31 d2 48) - *** Booting Zephyr OS build zephyr-v2.6.0-1472-g61810ec36d28 *** - Hello World! qemu_x86_64 - -Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`. - Debugging ========= diff --git a/boards/qemu/x86/qemu_x86.dts b/boards/qemu/x86/qemu_x86.dts index 70984251db4d..2200c2818e6c 100644 --- a/boards/qemu/x86/qemu_x86.dts +++ b/boards/qemu/x86/qemu_x86.dts @@ -1,222 +1,8 @@ -/* SPDX-License-Identifier: Apache-2.0 */ -/* Copyright (c) 2019 Intel Corp. */ +/* + * Copyright (c) 2019 Intel Corp. + * SPDX-License-Identifier: Apache-2.0 + */ /dts-v1/; -#include - -#ifndef DT_DRAM_BASE -#define DT_DRAM_BASE 0 -#endif -#ifndef DT_DRAM_SIZE -#define DT_DRAM_SIZE DT_SIZE_M(32) -#endif -#define DT_FLASH_SIZE DT_SIZE_K(4096) - -#include -#include - -/ { - model = "QEMU X86 emulator"; - compatible = "qemu,x86_emulator"; - - flash0: flash@500000 { - compatible = "soc-nv-flash"; - reg = <0x00500000 DT_FLASH_SIZE>; - }; - - aliases { - uart-0 = &uart0; - uart-1 = &uart1; - eeprom-0 = &eeprom0; - eeprom-1 = &eeprom1; - rtc = &rtc; - }; - - chosen { - zephyr,sram = &dram0; - zephyr,flash = &flash0; - zephyr,console = &uart0; - zephyr,bt-hci = &bt_hci_uart; - zephyr,shell-uart = &uart0; - zephyr,uart-pipe = &uart1; - zephyr,bt-mon-uart = &uart1; - zephyr,code-partition = &slot0_partition; - zephyr,flash-controller = &sim_flash; - zephyr,ieee802154 = &ieee802154; - zephyr,canbus = &can0; - zephyr,display = &ramfb0; - zephyr,touch = &input0; - }; - - pcie0: pcie0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "pcie-controller"; - acpi-hid = "PNP0A08"; - ranges; - - can0: can0 { - compatible = "kvaser,pcican"; - status = "okay"; - vendor-id = <0x10e8>; - device-id = <0x8406>; - interrupts = <11 IRQ_TYPE_LOWEST_LEVEL_LOW 3>; - interrupt-parent = <&intc>; - - can-transceiver { - max-bitrate = <1000000>; - }; - }; - - eth0: eth0 { - compatible = "intel,e1000"; - - vendor-id = <0x8086>; - device-id = <0x100e>; - - interrupts = <11 IRQ_TYPE_LOWEST_EDGE_RISING 3>; - interrupt-parent = <&intc>; - - status = "okay"; - }; - - virtio_input_pci: virtio-input-pci { - compatible = "virtio,pci"; - - vendor-id = <0x1af4>; - device-id = <0x1052>; - - interrupts = <10 IRQ_TYPE_LOWEST_EDGE_RISING 3>; - interrupt-parent = <&intc>; - - status = "okay"; - - input0: virtio-input { - compatible = "virtio,input"; - display = <&ramfb0>; - status = "okay"; - }; - }; - }; - - sim_flash: sim_flash { - compatible = "zephyr,sim-flash"; - - #address-cells = <1>; - #size-cells = <1>; - erase-value = <0xff>; - - flash_sim0: flash_sim@0 { - compatible = "soc-nv-flash"; - reg = <0x00000000 DT_SIZE_K(1024)>; - - erase-block-size = <1024>; - write-block-size = <4>; - }; - }; - - eeprom1: eeprom1 { - status = "okay"; - compatible = "zephyr,emu-eeprom"; - size = ; - pagesize = ; - partition = <&eepromemu_partition>; - rambuf; - }; - - eeprom0: eeprom0 { - status = "okay"; - compatible = "zephyr,sim-eeprom"; - size = ; - }; - - ieee802154: ieee802154 { - compatible = "zephyr,ieee802154-uart-pipe"; - }; - - fwcfg0: fw-cfg@510 { - compatible = "qemu,fw-cfg-ioport"; - reg = <0x510 0x18>; - status = "okay"; - }; - - reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - ramfb_mem: framebuffer@1c00000 { - reg = <0x01c00000 0x00400000>; /* 4 MiB */ - no-map; - }; - }; - - ramfb0: ramfb { - compatible = "qemu,ramfb"; - fwcfg = <&fwcfg0>; - memory-region = <&ramfb_mem>; - width = <1024>; - height = <768>; - status = "okay"; - }; -}; - -&uart0 { - status = "okay"; - current-speed = <115200>; -}; - -&uart1 { - status = "okay"; - current-speed = <115200>; - - bt_hci_uart: bt_hci_uart { - compatible = "zephyr,bt-hci-uart"; - status = "okay"; - }; -}; - -&hpet { - status = "okay"; -}; - -&flash_sim0 { - partitions { - ranges; - #address-cells = <1>; - #size-cells = <1>; - - /* - * Storage partition will be used by FCB/LittleFS/NVS - * if enabled. - */ - storage_partition: partition@1000 { - compatible = "zephyr,mapped-partition"; - label = "storage"; - reg = <0x00001000 0x00010000>; - }; - - slot0_partition: partition@11000 { - compatible = "zephyr,mapped-partition"; - label = "image-0"; - reg = <0x00011000 0x00010000>; - }; - - slot1_partition: partition@21000 { - compatible = "zephyr,mapped-partition"; - label = "image-1"; - reg = <0x00021000 0x00010000>; - }; - - eepromemu_partition: partition@31000 { - compatible = "zephyr,mapped-partition"; - label = "eeprom-emu"; - reg = <0x00031000 0x00010000>; - }; - }; -}; - -&cpu { - compatible = "intel,x86"; -}; +#include "../common/qemu_x86.dtsi" diff --git a/boards/qemu/x86/qemu_x86_64_atom_nokpti.dts b/boards/qemu/x86/qemu_x86_64_atom_nokpti.dts deleted file mode 100644 index 692f9f1e8806..000000000000 --- a/boards/qemu/x86/qemu_x86_64_atom_nokpti.dts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2019 Intel Corp. - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "qemu_x86.dts" - -/ { - cpus { - cpu@1 { - device_type = "cpu"; - compatible = "intel,x86_64"; - d-cache-line-size = <64>; - reg = <1>; - }; - }; -}; - -&cpu { - compatible = "intel,x86_64"; -}; diff --git a/boards/qemu/x86_64/CMakeLists.txt b/boards/qemu/x86_64/CMakeLists.txt new file mode 100644 index 000000000000..73e4cc6c2f29 --- /dev/null +++ b/boards/qemu/x86_64/CMakeLists.txt @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2019 Intel Corp. + +if(CONFIG_BUILD_OUTPUT_EFI) + set_property(GLOBAL APPEND PROPERTY extra_post_build_commands + COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/arch/x86/zefi/zefi.py + -c ${CMAKE_C_COMPILER} + -i ${ZEPHYR_BASE}/include ${PROJECT_BINARY_DIR}/include/generated + -o ${CMAKE_OBJCOPY} + -f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf + $<$:--verbose> + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) +endif() diff --git a/boards/qemu/x86_64/Kconfig b/boards/qemu/x86_64/Kconfig new file mode 100644 index 000000000000..207c4194e825 --- /dev/null +++ b/boards/qemu/x86_64/Kconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Intel Corporation +# +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_QEMU_X86_64 + select X86_64 + select QEMU_TARGET + select HAS_COVERAGE_SUPPORT diff --git a/boards/qemu/x86_64/Kconfig.defconfig b/boards/qemu/x86_64/Kconfig.defconfig new file mode 100644 index 000000000000..167df7eee0e5 --- /dev/null +++ b/boards/qemu/x86_64/Kconfig.defconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2019 Intel Corp. + +if BOARD_QEMU_X86_64 + +config BUILD_OUTPUT_BIN + default n + +# The EEPROM emulator must be initialized after the flash simulator +config EEPROM_INIT_PRIORITY + default 60 + depends on EEPROM + +config KERNEL_VM_SIZE + default 0x10000000 if ACPI + +endif # BOARD_QEMU_X86_64 diff --git a/boards/qemu/x86/Kconfig.qemu_x86_64 b/boards/qemu/x86_64/Kconfig.qemu_x86_64 similarity index 100% rename from boards/qemu/x86/Kconfig.qemu_x86_64 rename to boards/qemu/x86_64/Kconfig.qemu_x86_64 diff --git a/boards/qemu/x86_64/board.cmake b/boards/qemu/x86_64/board.cmake new file mode 100644 index 000000000000..f96f7de39634 --- /dev/null +++ b/boards/qemu/x86_64/board.cmake @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2019 Intel Corp. + +set(QEMU_CPU_TYPE qemu64,+x2apic) + +if("${CONFIG_MP_MAX_NUM_CPUS}" STREQUAL "1") + # icount works with 1 CPU so we can enable it here. + # FIXME: once this works across configs, remove this line and set + # CONFIG_QEMU_ICOUNT_SHIFT in defconfig instead. + list(APPEND QEMU_EXTRA_FLAGS -icount shift=5,align=off,sleep=off -rtc clock=vm) +endif() + +include(${ZEPHYR_BASE}/boards/common/qemu_x86.board.cmake) diff --git a/boards/qemu/x86_64/board.yml b/boards/qemu/x86_64/board.yml new file mode 100644 index 000000000000..6d92507df1d9 --- /dev/null +++ b/boards/qemu/x86_64/board.yml @@ -0,0 +1,8 @@ +board: + name: qemu_x86_64 + full_name: QEMU Emulation for X86 64bit + vendor: intel + socs: + - name: atom + variants: + - name: 'nokpti' diff --git a/boards/qemu/x86_64/doc/index.rst b/boards/qemu/x86_64/doc/index.rst new file mode 100644 index 000000000000..200385bba0f6 --- /dev/null +++ b/boards/qemu/x86_64/doc/index.rst @@ -0,0 +1,123 @@ +.. zephyr:board:: qemu_x86_64 + +Overview +******** + +The X86_64 QEMU board configuration is used to emulate the x86 architecture +running in 64-bit long mode. + +It uses the same emulated q35 machine as :zephyr:board:`qemu_x86`, adding a +second CPU for SMP testing and an emulated Intel PCH SMBus controller. The +``qemu_x86_64/atom/nokpti`` variant runs the same configuration with kernel +page table isolation disabled. + +Hardware +******** + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +Programming and Debugging +************************* + +.. zephyr:board-supported-runners:: + +Applications for the ``qemu_x86_64`` board configuration can be built and run +in the usual way for emulated boards (see :ref:`build_an_application` and +:ref:`application_run` for more details). + +Flashing +======== + +While this board is emulated and you can't "flash" it, you can use this +configuration to run basic Zephyr applications and kernel tests in the QEMU +emulated environment. For example, with the :zephyr:code-sample:`synchronization` sample: + +.. zephyr-app-commands:: + :zephyr-app: samples/synchronization + :host-os: unix + :board: qemu_x86_64 + :goals: run + +Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`. + +UEFI Boot +========= + +The ``qemu_x86_64`` platform also supports the UEFI bootable method to run +Zephyr applications and kernel tests, but you need to set up some environment +configurations as follows: + +* Please install uefi-run in your system environment according to this + reference link https://github.com/Richard-W/uefi-run. Note that uefi-run + from snapstore may not work because of strict snap confinements. + The preferred method is installing with cargo. + +* Please install OVMF in your system environment according to this + reference link https://github.com/tianocore/tianocore.github.io/wiki/OVMF. + The easiest way is to install a special ``ovmf`` package found in many distros. + For example, use the following command in Ubuntu: + + .. code-block:: console + + sudo apt install ovmf + +* Set system environment variable OVMF_FD_PATH, + for example: + + .. code-block:: console + + export OVMF_FD_PATH=/usr/share/OVMF/OVMF_CODE.fd + +Now you can build application, for example UEFI boot test sample found under +:zephyr_file:`tests/boot/uefi`: + +.. zephyr-app-commands:: + :zephyr-app: tests/boot/uefi + :host-os: unix + :board: qemu_x86_64 + :goals: run + +This will build an image with the uefi boot test app, boot it on +qemu_x86_64 using UEFI, and display the following console output: + +.. code-block:: console + + UEFI Interactive Shell v2.2 + EDK II + UEFI v2.70 (EDK II, 0x00010000) + Mapping table + FS0: Alias(s):F0a:;BLK0: + PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0) + BLK1: Alias(s): + PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0) + Press ESC in 1 seconds to skip startup.nsh or any other key to continue. + Starting UEFI application... + *** Zephyr EFI Loader *** + Zeroing 524544 bytes of memory at 0x105000 + Copying 32768 data bytes to 0x1000 from image offset + Copying 20480 data bytes to 0x100000 from image offset 32768 + Copying 540416 data bytes to 0x185100 from image offset 53248 + Jumping to Entry Point: 0x112b (48 31 c0 48 31 d2 48) + *** Booting Zephyr OS build zephyr-v2.6.0-1472-g61810ec36d28 *** + Hello World! qemu_x86_64 + +Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`. + +Debugging +========= + +Refer to the detailed overview about :ref:`application_debugging`. + +Networking +========== + +The board supports SLIP networking over an emulated serial port +(``CONFIG_NET_SLIP_TAP=y``). The detailed setup is described in +:ref:`networking_with_qemu`. + +It is also possible to use the QEMU built-in Ethernet adapter to connect +to the host system. This is faster than using SLIP and is also the preferred +way. See :ref:`networking_with_eth_qemu` for details. diff --git a/boards/qemu/x86/qemu_x86_64.dts b/boards/qemu/x86_64/qemu_x86_64.dts similarity index 92% rename from boards/qemu/x86/qemu_x86_64.dts rename to boards/qemu/x86_64/qemu_x86_64.dts index 64d33dca69ac..03c15fe8978b 100644 --- a/boards/qemu/x86/qemu_x86_64.dts +++ b/boards/qemu/x86_64/qemu_x86_64.dts @@ -3,7 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "qemu_x86.dts" +/dts-v1/; + +#include "../common/qemu_x86.dtsi" / { cpus { diff --git a/boards/qemu/x86/qemu_x86_64.yaml b/boards/qemu/x86_64/qemu_x86_64.yaml similarity index 100% rename from boards/qemu/x86/qemu_x86_64.yaml rename to boards/qemu/x86_64/qemu_x86_64.yaml diff --git a/boards/qemu/x86_64/qemu_x86_64_atom_nokpti.dts b/boards/qemu/x86_64/qemu_x86_64_atom_nokpti.dts new file mode 100644 index 000000000000..bd9f2a043486 --- /dev/null +++ b/boards/qemu/x86_64/qemu_x86_64_atom_nokpti.dts @@ -0,0 +1,6 @@ +/* + * Copyright (c) 2019 Intel Corp. + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "qemu_x86_64.dts" diff --git a/boards/qemu/x86/qemu_x86_64_atom_nokpti.yaml b/boards/qemu/x86_64/qemu_x86_64_atom_nokpti.yaml similarity index 100% rename from boards/qemu/x86/qemu_x86_64_atom_nokpti.yaml rename to boards/qemu/x86_64/qemu_x86_64_atom_nokpti.yaml diff --git a/boards/qemu/x86/qemu_x86_64_atom_nokpti_defconfig b/boards/qemu/x86_64/qemu_x86_64_atom_nokpti_defconfig similarity index 100% rename from boards/qemu/x86/qemu_x86_64_atom_nokpti_defconfig rename to boards/qemu/x86_64/qemu_x86_64_atom_nokpti_defconfig diff --git a/boards/qemu/x86/qemu_x86_64_defconfig b/boards/qemu/x86_64/qemu_x86_64_defconfig similarity index 100% rename from boards/qemu/x86/qemu_x86_64_defconfig rename to boards/qemu/x86_64/qemu_x86_64_defconfig diff --git a/boards/qemu/x86_lakemont/Kconfig b/boards/qemu/x86_lakemont/Kconfig new file mode 100644 index 000000000000..b1ad66476ce3 --- /dev/null +++ b/boards/qemu/x86_lakemont/Kconfig @@ -0,0 +1,7 @@ +# Copyright (c) 2024 Intel Corporation +# +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_QEMU_X86_LAKEMONT + select QEMU_TARGET + select HAS_COVERAGE_SUPPORT diff --git a/boards/qemu/x86_lakemont/Kconfig.defconfig b/boards/qemu/x86_lakemont/Kconfig.defconfig new file mode 100644 index 000000000000..3ee21ca2e11f --- /dev/null +++ b/boards/qemu/x86_lakemont/Kconfig.defconfig @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2021 Intel Corporation. + +if BOARD_QEMU_X86_LAKEMONT + +config BUILD_OUTPUT_BIN + default n + +config KERNEL_VM_SIZE + default 0x400000 + +# Unlike the SoC's usual targets, QEMU presents a PC-compatible machine +# and loads the ELF image through its multiboot header. +config X86_PC_COMPATIBLE + default y + +config QEMU_ICOUNT + default n if HPET_TIMER && SHELL + +config QEMU_ICOUNT_SHIFT + default 5 + +endif # BOARD_QEMU_X86_LAKEMONT diff --git a/boards/qemu/x86/Kconfig.qemu_x86_lakemont b/boards/qemu/x86_lakemont/Kconfig.qemu_x86_lakemont similarity index 100% rename from boards/qemu/x86/Kconfig.qemu_x86_lakemont rename to boards/qemu/x86_lakemont/Kconfig.qemu_x86_lakemont diff --git a/boards/qemu/x86_lakemont/board.cmake b/boards/qemu/x86_lakemont/board.cmake new file mode 100644 index 000000000000..1a1a534a6158 --- /dev/null +++ b/boards/qemu/x86_lakemont/board.cmake @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2021 Intel Corporation. + +set(QEMU_CPU_TYPE qemu32,+nx,+pae) + +include(${ZEPHYR_BASE}/boards/common/qemu_x86.board.cmake) diff --git a/boards/qemu/x86_lakemont/board.yml b/boards/qemu/x86_lakemont/board.yml new file mode 100644 index 000000000000..e8b59b45bb6a --- /dev/null +++ b/boards/qemu/x86_lakemont/board.yml @@ -0,0 +1,6 @@ +board: + name: qemu_x86_lakemont + full_name: QEMU Emulation for X86 / Lakemont CPU + vendor: intel + socs: + - name: lakemont diff --git a/boards/qemu/x86_lakemont/doc/index.rst b/boards/qemu/x86_lakemont/doc/index.rst new file mode 100644 index 000000000000..544ce0c014e3 --- /dev/null +++ b/boards/qemu/x86_lakemont/doc/index.rst @@ -0,0 +1,52 @@ +.. zephyr:board:: qemu_x86_lakemont + +Overview +******** + +The X86 Lakemont QEMU board configuration is used to emulate the Intel +Lakemont (Minute IA) CPU as found in the Quark family of SoCs. + +Unlike the Lakemont-based hardware targets, which have neither a BIOS nor +ACPI, QEMU presents a PC-compatible machine, so this board configuration +provides the following devices: + +* HPET +* Advanced Programmable Interrupt Controller (APIC) +* NS16550 UART + +Hardware +******** + +Supported Features +================== + +.. zephyr:board-supported-hw:: + +Programming and Debugging +************************* + +.. zephyr:board-supported-runners:: + +Applications for the ``qemu_x86_lakemont`` board configuration can be built +and run in the usual way for emulated boards (see :ref:`build_an_application` +and :ref:`application_run` for more details). + +Flashing +======== + +While this board is emulated and you can't "flash" it, you can use this +configuration to run basic Zephyr applications and kernel tests in the QEMU +emulated environment. For example, with the :zephyr:code-sample:`synchronization` sample: + +.. zephyr-app-commands:: + :zephyr-app: samples/synchronization + :host-os: unix + :board: qemu_x86_lakemont + :goals: run + +Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`. + +Debugging +========= + +Refer to the detailed overview about :ref:`application_debugging`. diff --git a/boards/qemu/x86/qemu_x86_lakemont.dts b/boards/qemu/x86_lakemont/qemu_x86_lakemont.dts similarity index 100% rename from boards/qemu/x86/qemu_x86_lakemont.dts rename to boards/qemu/x86_lakemont/qemu_x86_lakemont.dts diff --git a/boards/qemu/x86/qemu_x86_lakemont.yaml b/boards/qemu/x86_lakemont/qemu_x86_lakemont.yaml similarity index 100% rename from boards/qemu/x86/qemu_x86_lakemont.yaml rename to boards/qemu/x86_lakemont/qemu_x86_lakemont.yaml diff --git a/boards/qemu/x86/qemu_x86_lakemont_defconfig b/boards/qemu/x86_lakemont/qemu_x86_lakemont_defconfig similarity index 100% rename from boards/qemu/x86/qemu_x86_lakemont_defconfig rename to boards/qemu/x86_lakemont/qemu_x86_lakemont_defconfig diff --git a/boards/raspberrypi/rpi_4b/doc/index.rst b/boards/raspberrypi/rpi_4b/doc/index.rst index 389cf2419d6b..656b616323a9 100644 --- a/boards/raspberrypi/rpi_4b/doc/index.rst +++ b/boards/raspberrypi/rpi_4b/doc/index.rst @@ -53,18 +53,41 @@ Prepare a TF card with MBR and FAT32. In the root directory of the TF card: .. code-block:: text - kernel=zephyr.bin arm_64bit=1 + core_freq=500 + kernel_address=0x200000 + kernel=zephyr.bin enable_uart=1 uart_2ndstage=1 + hdmi_force_hotplug=1 + +Console connection +================== + +Connect a 3.3V USB-UART adapter to the Raspberry Pi header: + +.. list-table:: + :header-rows: 1 + + * - Adapter + - Raspberry Pi header + * - GND + - 6 (GND) + * - Rx + - 8 (GPIO 14) + * - Tx + - 10 (GPIO 15) -Insert the card and power on the board. You should see the following output on -the serial console (GPIO 14/15): +Settings: **115200 8N1**, no hardware flow control. Insert the card and power on the board. +You should see the following output on the serial console (GPIO 14/15): -.. code-block:: text +.. code-block:: console - *** Booting Zephyr OS build XXXXXXXXXXXX *** - Hello World! Raspberry Pi 4 Model B! + *** Booting Zephyr OS build v4.4.0-10192-ge201b84b04e4 *** + Secondary CPU core 1 (MPID:0x1) is up + Secondary CPU core 2 (MPID:0x2) is up + Secondary CPU core 3 (MPID:0x3) is up + Hello World! rpi_4b/bcm2711 References ********** diff --git a/boards/raspberrypi/rpi_pico/Kconfig.defconfig b/boards/raspberrypi/rpi_pico/Kconfig.defconfig index 71c4fd9c43f2..443a6eb998e3 100644 --- a/boards/raspberrypi/rpi_pico/Kconfig.defconfig +++ b/boards/raspberrypi/rpi_pico/Kconfig.defconfig @@ -13,7 +13,7 @@ endif # I2C_DW config USB_SELF_POWERED default n -if BOARD_RPI_PICO_RP2040_W && WIFI_AIROC +if (BOARD_RPI_PICO_RP2040_W || BOARD_RPI_PICO_RP2040_W_MCUBOOT) && WIFI_AIROC config MAIN_STACK_SIZE default 4096 @@ -22,6 +22,6 @@ config HEAP_MEM_POOL_ADD_SIZE_BOARD int default 16384 -endif # BOARD_RPI_PICO_RP2040_W && WIFI_AIROC +endif # (BOARD_RPI_PICO_RP2040_W || BOARD_RPI_PICO_RP2040_W_MCUBOOT) && WIFI_AIROC endif # BOARD_RPI_PICO diff --git a/boards/ruiside/art_pi/art_pi.yaml b/boards/ruiside/art_pi/art_pi.yaml index 6a77cf80783e..56181cd8a09f 100644 --- a/boards/ruiside/art_pi/art_pi.yaml +++ b/boards/ruiside/art_pi/art_pi.yaml @@ -15,4 +15,6 @@ supported: - display - sdmmc - usbd + - netif:eth + - ptp_clock vendor: ruiside diff --git a/boards/sensry/ganymed_bob/ganymed_bob_sy120_gbm.dts b/boards/sensry/ganymed_bob/ganymed_bob_sy120_gbm.dts index 7583efe99ca3..7a12cd41993b 100644 --- a/boards/sensry/ganymed_bob/ganymed_bob_sy120_gbm.dts +++ b/boards/sensry/ganymed_bob/ganymed_bob_sy120_gbm.dts @@ -36,6 +36,6 @@ ð0 { status = "okay"; - + zephyr,random-mac-address; phy-handle = <&pyh0>; }; diff --git a/boards/sensry/ganymed_bob/ganymed_bob_sy120_gen1.dts b/boards/sensry/ganymed_bob/ganymed_bob_sy120_gen1.dts index 7583efe99ca3..7a12cd41993b 100644 --- a/boards/sensry/ganymed_bob/ganymed_bob_sy120_gen1.dts +++ b/boards/sensry/ganymed_bob/ganymed_bob_sy120_gen1.dts @@ -36,6 +36,6 @@ ð0 { status = "okay"; - + zephyr,random-mac-address; phy-handle = <&pyh0>; }; diff --git a/boards/sensry/ganymed_sk/ganymed_sk_sy120_gbm.dts b/boards/sensry/ganymed_sk/ganymed_sk_sy120_gbm.dts index 3ef730a681fc..5387d1b8e172 100644 --- a/boards/sensry/ganymed_sk/ganymed_sk_sy120_gbm.dts +++ b/boards/sensry/ganymed_sk/ganymed_sk_sy120_gbm.dts @@ -49,6 +49,6 @@ ð0 { status = "okay"; - + zephyr,random-mac-address; phy-handle = <&pyh0>; }; diff --git a/boards/sensry/ganymed_sk/ganymed_sk_sy120_gen1.dts b/boards/sensry/ganymed_sk/ganymed_sk_sy120_gen1.dts index 3ef730a681fc..5387d1b8e172 100644 --- a/boards/sensry/ganymed_sk/ganymed_sk_sy120_gen1.dts +++ b/boards/sensry/ganymed_sk/ganymed_sk_sy120_gen1.dts @@ -49,6 +49,6 @@ ð0 { status = "okay"; - + zephyr,random-mac-address; phy-handle = <&pyh0>; }; diff --git a/boards/shields/arduino_giga_display_shield/arduino_giga_display_shield.overlay b/boards/shields/arduino_giga_display_shield/arduino_giga_display_shield.overlay index d23ccae3a364..f5b08a620a07 100644 --- a/boards/shields/arduino_giga_display_shield/arduino_giga_display_shield.overlay +++ b/boards/shields/arduino_giga_display_shield/arduino_giga_display_shield.overlay @@ -41,12 +41,12 @@ vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; - hback-porch = <40>; - hsync-len = <32>; - hfront-porch = <8>; - vback-porch = <6>; - vsync-len = <8>; - vfront-porch = <9>; + hback-porch = <6>; + hsync-len = <8>; + hfront-porch = <1>; + vback-porch = <40>; + vsync-len = <32>; + vfront-porch = <8>; }; }; }; diff --git a/boards/shields/arduino_giga_display_shield/boards/arduino_giga_r1_m7.overlay b/boards/shields/arduino_giga_display_shield/boards/arduino_giga_r1_m7.overlay index ec30a70e57a7..68e468a84d4b 100644 --- a/boards/shields/arduino_giga_display_shield/boards/arduino_giga_r1_m7.overlay +++ b/boards/shields/arduino_giga_display_shield/boards/arduino_giga_r1_m7.overlay @@ -38,12 +38,12 @@ vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; - hback-porch = <40>; - hsync-len = <32>; - hfront-porch = <8>; - vback-porch = <6>; - vsync-len = <8>; - vfront-porch = <9>; + hback-porch = <6>; + hsync-len = <8>; + hfront-porch = <1>; + vback-porch = <40>; + vsync-len = <32>; + vfront-porch = <8>; }; }; diff --git a/boards/shields/nxp_arduino_wifi_bt/Kconfig.defconfig b/boards/shields/nxp_arduino_wifi_bt/Kconfig.defconfig new file mode 100644 index 000000000000..f06e8a05d4b2 --- /dev/null +++ b/boards/shields/nxp_arduino_wifi_bt/Kconfig.defconfig @@ -0,0 +1,28 @@ +# Copyright 2026 NXP +# SPDX-License-Identifier: Apache-2.0 + +# Set default NXP BT module when shield is used with BT +if SHIELD_NXP_ARDUINO_AW510_WIFI_BT && BT + +choice BT_NXP_MODULE + default BT_NXP_IW416 +endchoice + +endif # SHIELD_NXP_ARDUINO_AW510_WIFI_BT && BT + +# Configure stack sizes for IW416 module when BT is enabled +if BT && (BT_NXP_IW416 || NXP_IW416) + +config SYSTEM_WORKQUEUE_STACK_SIZE + default 2048 + +config BT_LONG_WQ_STACK_SIZE + default 2560 + +config MAIN_STACK_SIZE + default 2560 + +config SHELL_STACK_SIZE + default 4096 if SHELL + +endif # BT && (BT_NXP_IW416 || NXP_IW416) diff --git a/boards/shields/nxp_arduino_wifi_bt/Kconfig.shield b/boards/shields/nxp_arduino_wifi_bt/Kconfig.shield new file mode 100644 index 000000000000..b5a108f3b866 --- /dev/null +++ b/boards/shields/nxp_arduino_wifi_bt/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright 2026 NXP +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_NXP_ARDUINO_AW510_WIFI_BT + def_bool $(shields_list_contains,nxp_arduino_aw510_wifi_bt) diff --git a/boards/shields/nxp_arduino_wifi_bt/boards/frdm_mcxn947_mcxn947_cpu0.overlay b/boards/shields/nxp_arduino_wifi_bt/boards/frdm_mcxn947_mcxn947_cpu0.overlay new file mode 100644 index 000000000000..27e86a8366ed --- /dev/null +++ b/boards/shields/nxp_arduino_wifi_bt/boards/frdm_mcxn947_mcxn947_cpu0.overlay @@ -0,0 +1,28 @@ +/* + * Copyright 2026 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&pinmux_flexcomm2_lpuart { + group0 { + /delete-property/ bias-pull-up; + /delete-property/ pinmux; + pinmux = , , + , ; + }; +}; + +&m2_hci_bt_uart { + pinctrl-0 = <&pinmux_flexcomm2_lpuart>; + + bt_hci_uart: bt_hci_uart { + compatible = "zephyr,bt-hci-uart"; + + m2_bt_module: m2_bt_module { + compatible = "nxp,bt-hci-uart"; + sdio-reset-gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; + w-disable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; + }; + }; +}; diff --git a/boards/shields/nxp_arduino_wifi_bt/doc/index.rst b/boards/shields/nxp_arduino_wifi_bt/doc/index.rst new file mode 100644 index 000000000000..14ccab5bf3b2 --- /dev/null +++ b/boards/shields/nxp_arduino_wifi_bt/doc/index.rst @@ -0,0 +1,56 @@ +.. _nxp_arduino_wifi_bt: + +NXP Arduino WiFi and BT Shield +############################## + +Overview +******** + +The NXP Arduino WiFi/BT shield provides WiFi and Bluetooth connectivity +using NXP wireless SOC modules in Arduino form factor for MCXN based platforms. + +Supported Shields +***************** + +This shield supports the following configurations: + +- ``nxp_arduino_aw510_wifi_bt``: Arduino WiFi/BT Shield with AW510 module (IW416) + +Requirements +************ + +- Azurewave AW510 module +- UART interface for Bluetooth HCI +- SDIO interface for WiFi + +Connections and IOs +=================== + +The shield uses the following interfaces: + +- UART for Bluetooth HCI communication +- SDIO for WiFi communication +- GPIO for control signals (reset, power, wakeup) + +Programming +*********** + +Set ``--shield