rlvgl 0.2.3

A modular, idiomatic Rust reimplementation of the LVGL graphics library for embedded and simulator use.
Documentation
<!--
NOTICES.md - Third-party license notices.
-->
<p align="center">
  <img src="./rlvgl-logo.png" alt="rlvgl" />
</p>

# Notices & Third-Party Licenses

This repository contains third-party materials. Unless otherwise noted, **Softoboros-authored code** is under the top-level **MIT** license (`LICENSE`). Materials listed below retain their **original licenses** and attribution requirements.

---

## STM32 Open Pin Data (BSD-3-Clause)

**Upstream project:** STMicroelectronics — “STM32_open_pin_data”  
**License:** BSD-3-Clause (see `chips/stm/STM32_open_pin_data/LICENSE`)  
**Copyright:** © 2020 STMicroelectronics

**Provenance (fill when pinned):**
- Upstream commit: `3d64b1076ac7f0bf0f74acf89b9578b530f37ed7`
- Retrieved via: Git submodule at `chips/stm/STM32_open_pin_data` (read-only)
- Reference : CubeMX DBVersion `6.15.0`

**Local paths covered by this notice:**
- `chips/stm/STM32_open_pin_data/`**verbatim upstream** content.
- `chips/stm/mcu/`**derived** canonicalized MCU pin/AF data generated from the upstream.
- `chips/stm/boards/`**derived** board-level descriptions constructed from the upstream MCU data and public board docs.
- [`chips/stm/bsps/`]chips/stm/bsps/README.md**generated** Rust BSP sources that incorporate/express upstream-derived mappings.
- [`chipdb/rlvgl-chips-stm/assets/`]chipdb/rlvgl-chips-stm/assets/README.md**embedded** compressed database artifacts (e.g., `*.tar.zst`) built from the upstream data.
- `chipdb/rlvgl-chips-stm/db/`**intermediate/derived** JSON or similar records produced from upstream.
- `chipdb/rlvgl-chips-stm/src/` — crate code that **accesses** the embedded upstream-derived data.

**How this material is used here:**
- Upstream XML/CSV is normalized into canonical JSON (AF/pin/signals).
- Those canonical records are packaged into compressed artifacts for use at build/run time.
- BSP code is generated (HAL and PAC forms) that **expresses** pinmux/AF selections; these files include attribution headers.

**Attribution in generated files:**  
All generated files that include or express upstream-derived content carry an SPDX header similar to:

```text
/* Auto-generated by rlvgl-creator
 * SPDX-FileCopyrightText: 2020 STMicroelectronics
 * SPDX-FileCopyrightText: 2025 Softoboros Technology, Inc.
 * SPDX-License-Identifier: BSD-3-Clause AND MIT
 * Provenance: STM32_open_pin_data ( commit 3d64b1076ac7f0bf0f74acf89b9578b530f37ed7 ), build <build-hash>.
 */
```

> Notes:
> - “AND MIT” appears when the generated file also includes Softoboros code elements (helpers/shims) licensed under MIT in this repository.
> - Redistribution of any package or artifact containing these files must retain the **BSD-3-Clause** notice from ST and the **MIT** notice from Softoboros.

**Trademarks / endorsement:**  
STM32 and related marks are trademarks of STMicroelectronics. Use here is descriptive only and does **not** imply endorsement.

---

## Softoboros Additions / Code Generators

**Projects:** rlvgl-creator, templates, and helper code  
**License:** MIT (see top-level `LICENSE`)  
**Copyright:** © 2025 Softoboros Technology, Inc.

These components transform publicly available STM data into canonical databases and generate BSP code (HAL/PAC). Where they combine with upstream-derived content in a single distributed artifact, that artifact is effectively **MIT AND BSD-3-Clause**.

---

## How to add a new vendor notice (for future additions)

When adding vendor-specific data:

1. Place the vendor’s license text in the relevant subtree (e.g., `vendor_data/<vendor>/LICENSE.*`).
2. Add a section like the STM one above with:
   - Upstream name, license, and copyright
   - Provenance (source URL/commit, version)
   - Local paths covered
   - How it’s used/derived
3. Ensure generated files that include vendor-derived content carry an appropriate SPDX header:
   ```
   // SPDX-FileCopyrightText: <year> <Vendor or Copyright Holder>
   // SPDX-FileCopyrightText: 2025 Softoboros Technology, Inc.
   // SPDX-License-Identifier: <Vendor-License> AND MIT
   ```
4. Include the vendor license text in any published crate that **embeds** the derived data (e.g., under `LICENSES/` in the crate package).

---

## Summary (current state)

- **Top-level code:** MIT  
- **STM-related subtrees:** BSD-3-Clause (ST) for upstream and derived data; Softoboros additions under MIT; distributed artifacts may therefore be **MIT AND BSD-3-Clause**.  
- **Crates to check when publishing:**  
  - `chipdb/rlvgl-chips-stm` → should include BSD-3 text and this `NOTICES.md` in the crate package.  
  - Any crate that ships generated BSP modules under [`chips/stm/bsps`](chips/stm/bsps/README.md) should do the same.

---

> Keep this file in sync with the submodule commit and any new generated artifacts that include upstream-derived content.