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