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
+9
View File
@@ -0,0 +1,9 @@
description: Altera JTAG UART
compatible: "altr,jtag-uart"
include: uart-controller.yaml
properties:
reg:
required: true
+12
View File
@@ -0,0 +1,12 @@
description: ARM CMSDK UART
compatible: "arm,cmsdk-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
+12
View File
@@ -0,0 +1,12 @@
description: ARM PL011 UART
compatible: "arm,pl011"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
+12
View File
@@ -0,0 +1,12 @@
description: ARM SBSA UART
compatible: "arm,sbsa-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: false
+30
View File
@@ -0,0 +1,30 @@
description: SAM family UART
compatible: "atmel,sam-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
description: peripheral ID
required: true
pinctrl-0:
type: phandles
description: |
PIO pin configuration for URXD & UTRD 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 UART on SAM3x would be
pinctrl-0 = <&pa8a_uart_urxd &pa9a_uart_utxd>;
required: true
+30
View File
@@ -0,0 +1,30 @@
description: Atmel SAM family USART
compatible: "atmel,sam-usart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
description: peripheral ID
required: true
pinctrl-0:
type: phandles
description: |
PIO pin configuration for RXD & TRD 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 USART0 on SAME7x would be
pinctrl-0 = <&pb0c_usart0_rxd0 &pb1c_usart0_txd0>;
required: true
+62
View File
@@ -0,0 +1,62 @@
description: Atmel SAM0 SERCOM UART driver
compatible: "atmel,sam0-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
clocks:
required: true
clock-names:
required: true
rxpo:
type: int
required: true
description: Receive Data Pinout
txpo:
type: int
required: true
description: Transmit Data Pinout
collision-detection:
type: boolean
description: Enable collision detection for half-duplex mode.
pinctrl-0:
type: phandles
description: |
PORT pin configuration for RXD & TRD 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 SERCOM0 on SAMR21 would be
pinctrl-0 = <&pa5d_sercom0_pad1 &pa4d_sercom0_pad0>;
required: true
dmas:
description: |
Optional TX & RX dma specifiers. Each specifier will have a phandle
reference to the dmac controller, the channel number, and peripheral
trigger source.
For example dmas for TX, RX on SERCOM3
dmas = <&dmac 0 0xb>, <&dmac 0 0xa>;
dma-names:
description: |
Required if the dmas property exists. This should be "tx" and "rx"
to match the dmas property.
For example
dma-names = "tx", "rx";
@@ -0,0 +1,34 @@
# Copyright (c) 2018, Cypress
# Copyright (c) 2020, ATL Electronics
# SPDX-License-Identifier: Apache-2.0
description: Cypress SCB[UART]
compatible: "cypress,psoc6-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
description: peripheral ID
required: true
pinctrl-0:
type: phandles
description: |
Port pin configuration for RX & TX signals. We expect that the
phandles will reference pinctrl nodes. These nodes will have a
nodelabel that matches the Cypress SoC HAL defines and be of the
form p<port>_<pin>_<periph><inst>_<signal>.
For example the UART on PSoC-63 Pioneer Kit would be
pinctrl-0 = <&p5_0_uart5_rx &p5_1_uart5_tx>;
required: true
@@ -0,0 +1,32 @@
description: ESP32 UART
compatible: "espressif,esp32-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: false
tx-pin:
type: int
description: TX pin
required: true
rx-pin:
type: int
description: RX pin
required: true
rts-pin:
type: int
description: RTS pin
required: false
cts-pin:
type: int
description: CTS pin
required: false
+9
View File
@@ -0,0 +1,9 @@
description: GRLIB APBUART
compatible: "gaisler,apbuart"
include: uart-controller.yaml
properties:
reg:
required: true
+20
View File
@@ -0,0 +1,20 @@
# Copyright (c) 2021, ATL Electronics
# SPDX-License-Identifier: Apache-2.0
description: GigaDevice USART
compatible: "gd,gd32-usart"
include: [uart-controller.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
rcu-periph-clock:
type: int
description: Reset Control Unit Peripheral Clock ID
required: true
@@ -0,0 +1,9 @@
description: INFINEON XMC4XXX UART
compatible: "infineon,xmc4xxx-uart"
include: uart-controller.yaml
properties:
reg:
required: true
+26
View File
@@ -0,0 +1,26 @@
# Copyright (c) 2021 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
description: ITE, IT8XXX2-UART node
compatible: "ite,it8xxx2-uart"
include: uart-controller.yaml
properties:
reg:
required: true
port-num:
type: int
required: true
description: Ordinal identifying the port
gpios:
type: phandle-array
required: true
uart-dev:
type: phandle
required: true
description: Get the handle of the UART device
+15
View File
@@ -0,0 +1,15 @@
# Copyright (c) 2018 - 2019 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
description: LiteX UART
compatible: "litex,uart0"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
@@ -0,0 +1,43 @@
description: Microchip XEC UART
compatible: "microchip,xec-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
ldn:
type: int
required: true
description: logical device number
girqs:
type: array
required: true
description: UART GIRQ and bit position in EC interrupt aggregator
pcrs:
type: array
required: true
description: UART Power Clock Reset(PCR) register index and bit position
"#girq-cells":
type: int
const: 2
"#pcr-cells":
type: int
const: 2
girq-cells:
- girq_num
- bitpos
pcr-cells:
- reg_idx
- bitpos
@@ -0,0 +1,12 @@
# Copyright (c) 2018 Linaro Limited
# SPDX-License-Identifier: Apache-2.0
description: SiFive UART
compatible: "microsemi,coreuart"
include: uart-controller.yaml
properties:
reg:
required: true
+24
View File
@@ -0,0 +1,24 @@
description: NEORV32 UART
compatible: "neorv32-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
interrupt-names:
required: true
current-speed:
required: true
syscon:
type: phandle
required: true
description: |
phandle to syscon (NEORV32 SYSINFO) node.
@@ -0,0 +1,99 @@
include: [uart-controller.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
disable-rx:
type: boolean
description: |
Disable UART reception capabilities (only required to disable reception
if CONFIG_PINCTRL is enabled).
current-speed:
description: |
Initial baud rate setting for UART. Only a fixed set of baud
rates are selectable on these devices.
enum:
- 1200
- 2400
- 4800
- 9600
- 14400
- 19200
- 28800
- 31250
- 38400
- 56000
- 57600
- 76800
- 115200
- 230400
- 250000
- 460800
- 921600
- 1000000
tx-pin:
type: int
description: |
IMPORTANT: This option will only be used if the new pin control driver
is not enabled. It will be deprecated in the future.
The TX pin to use.
For pins P0.0 through P0.31, use the pin number. For example,
to use P0.16 for TX, set:
tx-pin = <16>;
For pins P1.0 through P1.31, add 32 to the pin number. For
example, to use P1.2 for TX, set:
tx-pin = <34>; /* 32 + 2 */
rx-pin:
type: int
description: |
IMPORTANT: This option will only be used if the new pin control driver
is not enabled. It will be deprecated in the future.
The RX pin to use. The pin numbering scheme is the same as the
tx-pin property's.
rts-pin:
type: int
description: |
IMPORTANT: This option will only be used if the new pin control driver
is not enabled. It will be deprecated in the future.
The RTS pin to use. The pin numbering scheme is the same as the
tx-pin property's.
cts-pin:
type: int
description: |
IMPORTANT: This option will only be used if the new pin control driver
is not enabled. It will be deprecated in the future.
The CTS pin to use. The pin numbering scheme is the same as the
tx-pin property's.
rx-pull-up:
type: boolean
description: |
IMPORTANT: This option will only be used if the new pin control driver
is not enabled. It will be deprecated in the future.
Enable pull-up resistor on the RX pin.
cts-pull-up:
type: boolean
description: |
IMPORTANT: This option will only be used if the new pin control driver
is not enabled. It will be deprecated in the future.
Enable pull-up resistor on the CTS pin.
+10
View File
@@ -0,0 +1,10 @@
description: |
Nordic nRF family UART.
This is the binding for the peripheral without EasyDMA support.
See the "nordic,nrf-uarte" binding for UARTE, i.e. UART with
EasyDMA.
compatible: "nordic,nrf-uart"
include: nordic,nrf-uart-common.yaml
@@ -0,0 +1,5 @@
description: Nordic nRF family UARTE (UART with EasyDMA)
compatible: "nordic,nrf-uarte"
include: nordic,nrf-uart-common.yaml
+24
View File
@@ -0,0 +1,24 @@
description: ns16550 UART
compatible: "ns16550"
include: uart-controller.yaml
properties:
reg:
required: true
reg-shift:
type: int
required: false
description: quantity to shift the register offsets by
pcp:
type: int
required: false
description: custom clock (PRV_CLOCK_PARAMS, if supported)
dlf:
type: int
required: false
description: divisor latch fraction (DLF, if supported)
@@ -0,0 +1,26 @@
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
description: Nuvoton, NPCX-UART node
compatible: "nuvoton,npcx-uart"
include: uart-controller.yaml
properties:
reg:
required: true
clocks:
required: true
pinctrl-0:
type: phandles
required: true
description: configurations of pinmux controllers
uart-rx:
type: phandle
required: true
description: |
Mapping table between Wake-Up Input (WUI) and uart rx START signal.
For example the WUI mapping on NPCX7 UART1 would be
uart-rx = <&wui_cr_sin1>;
@@ -0,0 +1,9 @@
description: NUVOTON NUMICRO FAMILY UART
compatible: "nuvoton,numicro-uart"
include: uart-controller.yaml
properties:
reg:
required: true
+16
View File
@@ -0,0 +1,16 @@
description: |
This binding gives a base representation of the NXP iMX IUART
compatible: "nxp,imx-iuart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: false
clocks:
required: true
+25
View File
@@ -0,0 +1,25 @@
# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0
description: iMX UART
compatible: "nxp,imx-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
modem-mode:
type: int
required: true
description: Set the UART Port to modem mode 0 (dce) 64 (dte)
rdc:
type: int
required: true
description: Set the RDC permission for this peripheral
@@ -0,0 +1,16 @@
description: Kinetis LPSCI UART
compatible: "nxp,kinetis-lpsci"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
pinctrl-0:
type: phandles
required: true
@@ -0,0 +1,12 @@
description: Kinetis LPUART
compatible: "nxp,kinetis-lpuart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
+19
View File
@@ -0,0 +1,19 @@
description: Kinetis UART
compatible: "nxp,kinetis-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
clocks:
required: true
pinctrl-0:
type: phandles
required: true
+8
View File
@@ -0,0 +1,8 @@
# Copyright (c) 2017, NXP
# SPDX-License-Identifier: Apache-2.0
description: LPC USART
compatible: "nxp,lpc-usart"
include: [uart-controller.yaml, "nxp,lpc-flexcomm.yaml"]
@@ -0,0 +1,25 @@
description: LPC11U6X UART
compatible: "nxp,lpc11u6x-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
clocks:
required: true
pinmuxs:
type: phandle-array
required: true
description: RX and TX pinmux
pinmux-names:
type: string-array
required: true
description: UART pins names
@@ -0,0 +1,12 @@
description: OpenISA LPUART
compatible: "openisa,rv32m1-lpuart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
@@ -0,0 +1,15 @@
# Copyright (c) 2021, IoT.bzh
# SPDX-License-Identifier: Apache-2.0
#
description: Renesas R-Car UART controller
compatible: "renesas,rcar-scif"
include: uart-controller.yaml
properties:
reg:
required: true
clocks:
required: true
+27
View File
@@ -0,0 +1,27 @@
# Copyright (c) 2020, CSIRO.
# SPDX-License-Identifier: Apache-2.0
description: Segger RTT UART
compatible: "segger,rtt-uart"
include: uart-controller.yaml
properties:
tx-buffer-size:
type: int
default: 1024
description: |
Size of the RTT up buffer for transmission
Not used for RTT channel 0 as channel 0 is initialized at compile time,
see SEGGER_RTT_BUFFER_SIZE_UP.
required: false
rx-buffer-size:
type: int
default: 16
description: |
Size of the RTT down buffer for reception
Not used for RTT channel 0 as channel 0 is initialized at compile time,
see SEGGER_RTT_BUFFER_SIZE_DOWN.
required: false
+15
View File
@@ -0,0 +1,15 @@
# Copyright (c) 2018, SiFive Inc.
# SPDX-License-Identifier: Apache-2.0
description: SiFive UART
compatible: "sifive,uart0"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
@@ -0,0 +1,30 @@
description: Gecko LEUART
compatible: "silabs,gecko-leuart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
required: true
description: peripheral ID
# Note: Not all SoC series support setting individual pin location. If this
# is a case all location-* properties need to have identical value.
location-rx:
type: array
required: true
description: RX pin configuration defined as <location port pin>
location-tx:
type: array
required: true
description: TX pin configuration defined as <location port pin>
@@ -0,0 +1,30 @@
description: Gecko UART
compatible: "silabs,gecko-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
required: true
description: peripheral ID
# Note: Not all SoC series support setting individual pin location. If this
# is a case all location-* properties need to have identical value.
location-rx:
type: array
required: true
description: RX pin configuration defined as <location port pin>
location-tx:
type: array
required: true
description: TX pin configuration defined as <location port pin>
@@ -0,0 +1,40 @@
description: Gecko USART
compatible: "silabs,gecko-usart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
peripheral-id:
type: int
required: true
description: peripheral ID
# Note: Not all SoC series support setting individual pin location. If this
# is a case all location-* properties need to have identical value.
location-rx:
type: array
required: true
description: RX pin configuration defined as <location port pin>
location-tx:
type: array
required: true
description: TX pin configuration defined as <location port pin>
location-rts:
type: array
required: false
description: RTS pin configuration defined as <location port pin>
location-cts:
type: array
required: false
description: CTS pin configuration defined as <location port pin>
+12
View File
@@ -0,0 +1,12 @@
# Copyright (c) 2019, Linaro Limited
# SPDX-License-Identifier: Apache-2.0
description: Synopsys ARC nSIM UART
compatible: "snps,nsim-uart"
include: uart-controller.yaml
properties:
reg:
required: true
+21
View File
@@ -0,0 +1,21 @@
description: STM32 LPUART
compatible: "st,stm32-lpuart"
include: [uart-controller.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
clocks:
required: true
pinctrl-0:
required: true
pinctrl-names:
required: true
+18
View File
@@ -0,0 +1,18 @@
description: STM32 UART
compatible: "st,stm32-uart"
include: [uart-controller.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
pinctrl-0:
required: true
pinctrl-names:
required: true
+18
View File
@@ -0,0 +1,18 @@
description: STM32 USART
compatible: "st,stm32-usart"
include: [uart-controller.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
pinctrl-0:
required: true
pinctrl-names:
required: true
+19
View File
@@ -0,0 +1,19 @@
# Copyright (c) 2021, Telink Semiconductor
# SPDX-License-Identifier: Apache-2.0
description: Telink B91 UART
compatible: "telink,b91-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
pinctrl-0:
type: phandles
required: true
@@ -0,0 +1,25 @@
# Copyright (c) 2019 Brett Witherspoon
# SPDX-License-Identifier: Apache-2.0
description: TI SimpleLink CC13xx / CC26xx UART node
compatible: "ti,cc13xx-cc26xx-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
tx-pin:
type: array
required: true
description: TX pin
rx-pin:
type: array
required: true
description: RX pin
+12
View File
@@ -0,0 +1,12 @@
description: TI CC32XX UART
compatible: "ti,cc32xx-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
@@ -0,0 +1,12 @@
description: TI MSP432P4XX UART
compatible: "ti,msp432p4xx-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
@@ -0,0 +1,12 @@
description: TI Stellaris UART
compatible: "ti,stellaris-uart"
include: uart-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
+31
View File
@@ -0,0 +1,31 @@
# Common fields for UART controllers
include: base.yaml
bus: uart
properties:
clock-frequency:
type: int
required: false
description: Clock frequency information for UART operation
current-speed:
type: int
required: false
description: Initial baud rate setting for UART
label:
required: true
hw-flow-control:
type: boolean
required: false
description: Set to enable RTS/CTS flow control at boot time
parity:
required: false
type: string
description: |
Configures the parity of the adapter. Enumeration id 0 for none, 1 for odd
and 2 for even parity. Default to none if not specified.
enum:
- "none"
- "odd"
- "even"
+12
View File
@@ -0,0 +1,12 @@
# Copyright (c) 2018, Foundries.io
# SPDX-License-Identifier: Apache-2.0
# Common fields for UART devices
include: base.yaml
on-bus: uart
properties:
label:
required: true
@@ -0,0 +1,9 @@
description: Xilinx UART Lite IP
compatible: "xlnx,xps-uartlite-1.00.a"
include: uart-controller.yaml
properties:
reg:
required: true
+9
View File
@@ -0,0 +1,9 @@
description: Xilinx PS UART
compatible: "xlnx,xuartps"
include: uart-controller.yaml
properties:
reg:
required: true
@@ -0,0 +1,10 @@
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: USB CDC ACM UART
compatible: "zephyr,cdc-acm-uart"
include: uart-controller.yaml
on-bus: usb
@@ -0,0 +1,8 @@
# Copyright (c) 2019, Jan Van Winkel (jan.van_winkel@dxplore.eu)
# SPDX-License-Identifier: Apache-2.0
description: Native POSIX UART
compatible: "zephyr,native-posix-uart"
include: uart-controller.yaml