WIP: device tree MVP

This commit is contained in:
Daniel Agar
2022-01-06 17:20:17 -05:00
parent 07d75d85cf
commit 1f39b42525
1395 changed files with 68755 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# Copyright (c) 2018 Aurelien Jarno
# Copyright (c) 2020 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0
description: |
Atmel SAM Family USB (USBC) in device mode
compatible: "atmel,sam-usbc"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
required: true
description: peripheral ID
pinctrl-0:
type: phandles
required: true
description: |
GPIO pin configuration for DM & DP signals. We expect that
the phandles will reference pinctrl nodes. These nodes will
have a nodelabel that matches the Atmel SoC HAL defines and
be of the form p<port><pin><periph>_<inst>_<signal>.
For example the USBC on SAM4L would be
pinctrl-0 = <&pa25a_usbc_dm &pa26a_usbc_dp>;
+21
View File
@@ -0,0 +1,21 @@
# Copyright (c) 2018 Aurelien Jarno
# SPDX-License-Identifier: Apache-2.0
description: |
Atmel SAM Family USB (USBHS) in device mode
compatible: "atmel,sam-usbhs"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
required: true
description: peripheral ID
+13
View File
@@ -0,0 +1,13 @@
description: |
Atmel SAM0 USB in device mode
compatible: "atmel,sam0-usb"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
+26
View File
@@ -0,0 +1,26 @@
# Copyright (c) 2018, Sundar Subramaniyan <sundar.subramaniyan@gmail.com>
# SPDX-License-Identifier: Apache-2.0
description: |
Nordic nRF52 USB device controller
compatible: "nordic,nrf-usbd"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
num-isoin-endpoints:
type: int
required: true
description: Number of ISOIN endpoints supported by hardware
num-isoout-endpoints:
type: int
required: true
description: Number of ISOOUT endpoints supported by hardware
+16
View File
@@ -0,0 +1,16 @@
# Copyright (c) 2018 PHYTEC Messtechnik GmbH
# SPDX-License-Identifier: Apache-2.0
description: |
NPX Kinetis USBFSOTG Controller in device mode
compatible: "nxp,kinetis-usbd"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
+16
View File
@@ -0,0 +1,16 @@
# Copyright (c) 2021 NXP
# SPDX-License-Identifier: Apache-2.0
description: |
NPX MXRT and LPC USBOTG Controller in device mode
compatible: "nxp,mcux-usbd"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
+15
View File
@@ -0,0 +1,15 @@
# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
description: Synopsys Designware USB Controller node
compatible: "snps,designware-usb"
include: usb-ep.yaml
properties:
reg:
required: true
interrupts:
required: true
+30
View File
@@ -0,0 +1,30 @@
# Copyright (c) 2017, I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0
description: STM32 OTGFS controller
compatible: "st,stm32-otgfs"
include: [usb-ep.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
ram-size:
type: int
required: true
description: |
Size of USB dedicated RAM. STM32 SOC's reference
manual defines a shared FIFO size.
phys:
type: phandle
required: false
description: PHY provider specifier
clocks:
required: true
+30
View File
@@ -0,0 +1,30 @@
# Copyright (c) 2017, I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0
description: STM32 OTGHS controller
compatible: "st,stm32-otghs"
include: [usb-ep.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
ram-size:
type: int
required: true
description: |
Size of USB dedicated RAM. STM32 SOC's reference
manual defines a shared FIFO size.
phys:
type: phandle
required: false
description: PHY provider specifier
clocks:
required: true
+45
View File
@@ -0,0 +1,45 @@
# Copyright (c) 2017, I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0
description: STM32 USB controller
compatible: "st,stm32-usb"
include: [usb-ep.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
ram-size:
type: int
required: true
description: |
Size of USB dedicated RAM. STM32 SOC's reference
manual defines USB packet SRAM size.
disconnect-gpios:
type: phandle-array
required: false
description: |
Some boards use a USB DISCONNECT pin to enable
the pull-up resistor on USB Data Positive signal.
phys:
type: phandle
required: false
description: PHY provider specifier
enable-pin-remap:
type: boolean
required: false
description: |
For STM32F0 series SoCs on QFN28 and TSSOP20 packages
enable PIN pair PA11/12 mapped instead of PA9/10 (e.g. stm32f070x6).
Deprecated in favor of 'remap-pa11-pa12' from 'st-stm32-pinctrl'
clocks:
required: true
+121
View File
@@ -0,0 +1,121 @@
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Specific fields for USB audio headphones.
description: USB Audio headphones specific fields.
compatible: "usb-audio-hp"
include: usb-audio.yaml
properties:
resolution:
type: int
default: 16
required: false
enum:
- 8
- 16
- 24
- 32
# channel configuration options
channel-l:
type: boolean
required: false
description: Enable (l) channel.
channel-r:
type: boolean
required: false
description: Enable (r) channel.
channel-c:
type: boolean
required: false
description: Enable (c) channel.
channel-lfe:
type: boolean
required: false
description: Enable (lfe) channel.
channel-ls:
type: boolean
required: false
description: Enable (ls) channel.
channel-rs:
type: boolean
required: false
description: Enable (rs) channel.
channel-lc:
type: boolean
required: false
description: Enable (lc) channel.
channel-rc:
type: boolean
required: false
description: Enable (rc) channel.
channel-s:
type: boolean
required: false
description: Enable (s) channel.
channel-sl:
type: boolean
required: false
description: Enable (sl) channel.
channel-sr:
type: boolean
required: false
description: Enable (sr) channel.
channel-t:
type: boolean
required: false
description: Enable (t) channel.
channel-cfg:
type: boolean
required: false
description: Enable (cfg) channel.
# feature unit configuration options
feature-mute:
type: boolean
required: true
description: Enable Mute feature.
feature-volume:
type: boolean
required: false
description: |
Enable Volume feature.
Currently not supported.
feature-tone-control:
type: boolean
required: false
description: |
Enable Tone Control (Bass, Mid, Treble) feature.
Currently not supported.
feature-graphic-equalizer:
type: boolean
required: false
description: |
Enable Graphic Equalizer feature.
Currently not supported.
feature-automatic-gain-control:
type: boolean
required: false
description: |
Enable Autoamtic Gain Control feature.
Currently not supported.
feature-delay:
type: boolean
required: false
description: |
Enable Delay feature.
Currently not supported.
feature-bass-boost:
type: boolean
required: false
description: |
Enable Bass Boost feature.
Currently not supported.
feature-loudness:
type: boolean
required: false
description: |
Enable Loudness feature.
Currently not supported.
+243
View File
@@ -0,0 +1,243 @@
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Specific fields for USB audio headset.
description: USB Audio headset specific fields.
compatible: "usb-audio-hs"
include: usb-audio.yaml
properties:
mic-resolution:
type: int
default: 16
required: false
enum:
- 8
- 16
- 24
- 32
mic-sync-type:
required: false
default: "Synchronous"
type: string
description: |
Type of endpoint synchronization for IN devices.
Default value is Sychronous.
Adaptive is not supported.
enum:
- "No Synchronization"
- "Asynchronous"
- "Adaptive"
- "Synchronous"
hp-resolution:
type: int
default: 16
required: false
enum:
- 8
- 16
- 24
- 32
# microphone channel configuration options
mic-channel-l:
type: boolean
required: false
description: Enable (l) channel.
mic-channel-r:
type: boolean
required: false
description: Enable (r) channel.
mic-channel-c:
type: boolean
required: false
description: Enable (c) channel.
mic-channel-lfe:
type: boolean
required: false
description: Enable (lfe) channel.
mic-channel-ls:
type: boolean
required: false
description: Enable (ls) channel.
mic-channel-rs:
type: boolean
required: false
description: Enable (rs) channel.
mic-channel-lc:
type: boolean
required: false
description: Enable (lc) channel.
mic-channel-rc:
type: boolean
required: false
description: Enable (rc) channel.
mic-channel-s:
type: boolean
required: false
description: Enable (s) channel.
mic-channel-sl:
type: boolean
required: false
description: Enable (sl) channel.
mic-channel-sr:
type: boolean
required: false
description: Enable (sr) channel.
mic-channel-t:
type: boolean
required: false
description: Enable (t) channel.
mic-channel-cfg:
type: boolean
required: false
description: Enable (cfg) channel.
# microphone feature unit configuration options
mic-feature-mute:
type: boolean
required: true
description: Enable Mute feature.
mic-feature-volume:
type: boolean
required: false
description: |
Enable Volume feature.
Currently not supported.
mic-feature-tone-control:
type: boolean
required: false
description: |
Enable Tone Control (Bass, Mid, Treble) feature.
Currently not supported.
mic-feature-graphic-equalizer:
type: boolean
required: false
description: |
Enable Graphic Equalizer feature.
Currently not supported.
mic-feature-automatic-gain-control:
type: boolean
required: false
description: |
Enable Autoamtic Gain Control feature.
Currently not supported.
mic-feature-delay:
type: boolean
required: false
description: |
Enable Delay feature.
Currently not supported.
mic-feature-bass-boost:
type: boolean
required: false
description: |
Enable Bass Boost feature.
Currently not supported.
mic-feature-loudness:
type: boolean
required: false
description: |
Enable Loudness feature.
Currently not supported.
# headphones channel configuration options
hp-channel-l:
type: boolean
required: false
description: Enable (l) channel.
hp-channel-r:
type: boolean
required: false
description: Enable (r) channel.
hp-channel-c:
type: boolean
required: false
description: Enable (c) channel.
hp-channel-lfe:
type: boolean
required: false
description: Enable (lfe) channel.
hp-channel-ls:
type: boolean
required: false
description: Enable (ls) channel.
hp-channel-rs:
type: boolean
required: false
description: Enable (rs) channel.
hp-channel-lc:
type: boolean
required: false
description: Enable (lc) channel.
hp-channel-rc:
type: boolean
required: false
description: Enable (rc) channel.
hp-channel-s:
type: boolean
required: false
description: Enable (s) channel.
hp-channel-sl:
type: boolean
required: false
description: Enable (sl) channel.
hp-channel-sr:
type: boolean
required: false
description: Enable (sr) channel.
hp-channel-t:
type: boolean
required: false
description: Enable (t) channel.
hp-channel-cfg:
type: boolean
required: false
description: Enable (cfg) channel.
# headphones feature unit configuration options
hp-feature-mute:
type: boolean
required: true
description: Enable Mute feature.
hp-feature-volume:
type: boolean
required: false
description: |
Enable Volume feature.
Currently not supported.
hp-feature-tone-control:
type: boolean
required: false
description: |
Enable Tone Control (Bass, Mid, Treble) feature.
Currently not supported.
hp-feature-graphic-equalizer:
type: boolean
required: false
description: |
Enable Graphic Equalizer feature.
Currently not supported.
hp-feature-automatic-gain-control:
type: boolean
required: false
description: |
Enable Autoamtic Gain Control feature.
Currently not supported.
hp-feature-delay:
type: boolean
required: false
description: |
Enable Delay feature.
Currently not supported.
hp-feature-bass-boost:
type: boolean
required: false
description: |
Enable Bass Boost feature.
Currently not supported.
hp-feature-loudness:
type: boolean
required: false
description: |
Enable Loudness feature.
Currently not supported.
+134
View File
@@ -0,0 +1,134 @@
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Specific fields for USB audio microphone.
description: USB Audio microphone specific fields.
compatible: "usb-audio-mic"
include: usb-audio.yaml
properties:
resolution:
type: int
default: 16
required: false
enum:
- 8
- 16
- 24
- 32
sync-type:
required: false
default: "Synchronous"
type: string
description: |
Type of endpoint synchronization for IN devices.
Default value is Sychronous.
Adaptive is not supported.
enum:
- "No Synchronization"
- "Asynchronous"
- "Adaptive"
- "Synchronous"
# channel configuration options
channel-l:
type: boolean
required: false
description: Enable (l) channel.
channel-r:
type: boolean
required: false
description: Enable (r) channel.
channel-c:
type: boolean
required: false
description: Enable (c) channel.
channel-lfe:
type: boolean
required: false
description: Enable (lfe) channel.
channel-ls:
type: boolean
required: false
description: Enable (ls) channel.
channel-rs:
type: boolean
required: false
description: Enable (rs) channel.
channel-lc:
type: boolean
required: false
description: Enable (lc) channel.
channel-rc:
type: boolean
required: false
description: Enable (rc) channel.
channel-s:
type: boolean
required: false
description: Enable (s) channel.
channel-sl:
type: boolean
required: false
description: Enable (sl) channel.
channel-sr:
type: boolean
required: false
description: Enable (sr) channel.
channel-t:
type: boolean
required: false
description: Enable (t) channel.
channel-cfg:
type: boolean
required: false
description: Enable (cfg) channel.
# feature unit configuration options
feature-mute:
type: boolean
required: true
description: Enable Mute feature.
feature-volume:
type: boolean
required: false
description: |
Enable Volume feature.
Currently not supported.
feature-tone-control:
type: boolean
required: false
description: |
Enable Tone Control (Bass, Mid, Treble) feature.
Currently not supported.
feature-graphic-equalizer:
type: boolean
required: false
description: |
Enable Graphic Equalizer feature.
Currently not supported.
feature-automatic-gain-control:
type: boolean
required: false
description: |
Enable Autoamtic Gain Control feature.
Currently not supported.
feature-delay:
type: boolean
required: false
description: |
Enable Delay feature.
Currently not supported.
feature-bass-boost:
type: boolean
required: false
description: |
Enable Bass Boost feature.
Currently not supported.
feature-loudness:
type: boolean
required: false
description: |
Enable Loudness feature.
Currently not supported.
+13
View File
@@ -0,0 +1,13 @@
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
# Common fields for USB audio class
description: Common fields for USB audio devices
compatible: "usb-audio"
properties:
label:
required: true
type: string
description: Human readable string describing the device (used as device_get_binding() argument)
+31
View File
@@ -0,0 +1,31 @@
# Copyright (c) 2018, I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0
# Common fields for USB controllers
include: base.yaml
bus: usb
properties:
maximum-speed:
type: string
required: false
description: Configures USB controllers to work up to a specific
speed. Valid arguments are "super-speed", "high-speed",
"full-speed" and "low-speed". If this is not passed
via DT, USB controllers should use their maximum
hardware capability.
enum:
- "low-speed"
- "full-speed"
- "high-speed"
- "super-speed"
label:
required: true
vbus-gpios:
type: phandle-array
required: false
description: Control VBUS via GPIO pin.
+28
View File
@@ -0,0 +1,28 @@
# Copyright (c) 2018, I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0
# Common fields that give the number of endpoints supported by the USB hardware
include: usb-controller.yaml
properties:
num-bidir-endpoints:
type: int
required: true
description: |
Number of bi-directional endpoints supported by hardware
(including EP0)
num-in-endpoints:
type: int
required: false
description: |
Number of IN endpoints supported by hardware
(including EP0 IN)
num-out-endpoints:
type: int
required: false
description: |
Number of OUT endpoints supported by hardware
(including EP0 OUT)
@@ -0,0 +1,8 @@
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: Native POSIX USB device controller
compatible: "zephyr,native-posix-udc"
include: usb-controller.yaml