No description
Find a file
Johann Fischer 42f7e1b97f usb: device_next: make HS support compliant with the USB2.0 specification
For specification-compliant high-speed support, we need to support
device quilifiers and other-speed-configuration descriptor requests. We
also need to store different configurations of the class/function
descriptors, which typically only affect the endpoint descriptors. With
this change, the stack expects class/function descriptors to be passed
as an array of struct usb_desc_header pointers to e.g. interface,
interface-specific, and endpoint descriptors, with the last element of
the array pointing to a nil descriptor. And also passed for a specific
speed, for now we support full and high speed configurations.

During instantiation, the class/function implementation must choose the
correct configuration in the full-speed and high-speed descriptor sets
for values such as maximum packet size and bInterval values of interrupt
and isochronous endpoints.

During initialization, the stack reads the highest speed supported by
the controller and uses it to get the appropriate descriptors set
from the instance. If the controller supports only full speed, the stack
configures the class/function descriptor for full speed only, if the
controller supports high speed, the stack configures the descriptors for
high speed only, and a class/function must update the full speed
descriptor during the init callback processing.

During device operation, the class/function implementation must check
the actual speed of the device and use the correct configuration, such
as the endpoint address or maximum packet size.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-04-22 06:51:22 -07:00
.github ci: twister: Remove Blackbox artifacts 2024-04-09 16:57:32 +02:00
arch arch: riscv: implement frame-pointer based stack unwinding 2024-04-20 13:54:43 -04:00
boards boards: st: stm32l152c_disco: Update documentation 2024-04-22 06:50:25 -07:00
cmake cmake: Fix invalid calls of set_compiler_property 2024-04-19 16:40:16 +00:00
doc doc: release-notes: 3.7: new hawkbit features 2024-04-22 09:09:56 -04:00
drivers drivers: gpio: gpio_intel: add acpi base resource enumeration 2024-04-22 06:50:38 -07:00
dts board: x86: add acpi hid for gpio 2024-04-22 06:50:38 -07:00
include/zephyr usb: device_next: make HS support compliant with the USB2.0 specification 2024-04-22 06:51:22 -07:00
kernel kernel: Device deferred initialization 2024-04-11 15:50:44 -04:00
lib lib: posix: fs: fix errno handling 2024-04-22 04:33:16 -07:00
misc cmake: modules: dts: use devicetree stub file 2023-10-20 12:18:17 -07:00
modules modules: hal_nordic: nrfx: add support for nRF54 TWIS 2024-04-19 02:23:16 +01:00
samples samples: mbox_data: Repair mbox-consumer in dt 2024-04-22 06:49:39 -07:00
scripts edtlib: test filters set by including bindings 2024-04-22 06:50:55 -07:00
share sysbuild: add SoC-specific sysbuild configuration 2024-04-10 17:53:24 +02:00
snippets snippets: Add nRF54L15 FLPR core snippets 2024-04-16 18:36:58 +01:00
soc soc: x86: add gpio acpi resource enumeration 2024-04-22 06:50:38 -07:00
submanifests nxp: imx8: change CONFIG_SOC_<name> to match the value 2024-04-02 10:41:07 +03:00
subsys usb: device_next: make HS support compliant with the USB2.0 specification 2024-04-22 06:51:22 -07:00
tests tests: drivers: gpio: update rpl s ovelay file for acpi support 2024-04-22 06:50:38 -07:00
.checkpatch.conf checkpatch: ignore EXPORT_SYMBOL 2024-04-05 12:19:36 +02:00
.clang-format Build System: clang-format: add K_SPINLOCK to FOR_EACH 2023-12-26 19:36:01 +00:00
.codecov.yml yamllint: fix all yamllint comments errors 2023-01-04 01:16:45 +09:00
.editorconfig editorconfig: Improve verbosity 2022-04-28 08:55:39 -04:00
.gitattributes
.gitignore hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
.gitlint gitlint: do not allow treewide as an area in commit messages 2024-04-10 09:22:24 +02:00
.mailmap mailmap: sort alphabetically 2023-05-15 13:23:32 -04:00
.yamllint scripts: compliance: add support for YAMLLint 2023-01-04 17:29:23 +01:00
CMakeLists.txt cmake: add control over inline source code disassembly 2024-04-22 03:48:43 -07:00
CODE_OF_CONDUCT.md coc: Update Code of Conduct to latest Contributor Covenant 2023-12-21 09:38:23 +00:00
CODEOWNERS drivers: ad559x: add i2c bus support 2024-04-01 12:18:47 -05:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr cmake: add control over inline source code disassembly 2024-04-22 03:48:43 -07:00
LICENSE
MAINTAINERS.yml samples: gpio_counter: remove obsolete sample 2024-04-19 16:41:05 +00:00
README.rst doc: README: Rework Resources section 2023-10-17 19:05:20 +03:00
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.16.5-1 2024-03-12 08:54:42 -04:00
VERSION release: Zephyr v3.6.99 2024-02-23 22:28:57 -06:00
version.h.in version: cmake: kconfig: introduce extra <type>_VERSION_<x>_STRING 2024-02-01 10:28:43 +00:00
west.yml manifest: Update hal_nordic to latest 2024-04-22 06:48:40 -07:00
zephyr-env.cmd
zephyr-env.sh everywhere: fix typos 2022-03-18 13:24:08 -04:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks