Zephyr Device Tree Infrastructure - Source Attribution
======================================================

This directory contains files extracted from the Zephyr RTOS Project.

Source Repository: https://github.com/zephyrproject-rtos/zephyr
Commit Hash: 9dbc6450b4f65939ba5a3d33d318659d8d2e4954
Commit Date: 2026-01-09 14:26:07 -0600
Extraction Date: 2026-02-06
License: Apache License 2.0 (see ZEPHYR_LICENSE file)

Extracted Files and Their Origins:
----------------------------------

devicetree/dtlib.py
  Source: scripts/dts/python-devicetree/src/devicetree/dtlib.py
  Purpose: Low-level device tree source (.dts) file parser
  Size: ~2,288 lines

devicetree/edtlib.py
  Source: scripts/dts/python-devicetree/src/devicetree/edtlib.py
  Purpose: High-level device tree parser with YAML binding support
  Size: ~3,463 lines

devicetree/grutils.py
  Source: scripts/dts/python-devicetree/src/devicetree/grutils.py
  Purpose: Graph utilities for device tree dependency analysis
  Size: ~337 lines

devicetree/_private.py
  Source: scripts/dts/python-devicetree/src/devicetree/_private.py
  Purpose: Internal helper functions
  Size: ~71 lines

devicetree/__init__.py
  Source: Created for this extraction
  Purpose: Python package initialization

gen_edt.py
  Source: scripts/dts/gen_edt.py
  Purpose: Generate pickled EDT (Editable Device Tree) object
  Size: ~178 lines

gen_defines.py
  Source: scripts/dts/gen_defines.py
  Purpose: Generate C header file with device tree macros
  Size: ~1,187 lines

edtlib_logger.py
  Source: scripts/dts/edtlib_logger.py
  Purpose: Logging configuration for device tree processing
  Size: ~46 lines

ZEPHYR_LICENSE
  Source: LICENSE (root of Zephyr repository)
  Purpose: Apache 2.0 license text

Modifications:
--------------
- Each Python file has been prepended with a source attribution header
- No functional modifications have been made to the Zephyr code
- Files are used as-is from the Zephyr project

Removal Instructions:
--------------------
To remove all Zephyr-sourced files from this project:
  rm -rf psdkqa/qnx/utils/dt/zephyr/

This will cleanly remove all Zephyr code, leaving only the integration
layer (Makefile, bindings, and user-provided DTS files).

Updating:
---------
To update to a newer version of Zephyr:
1. Navigate to the Zephyr repository
2. Check out the desired commit/tag
3. Copy the files listed above to this directory
4. Update this ZEPHYR_SOURCE.txt file with new commit hash and date
5. Update the source headers in each file
