xref: /freebsd/sys/contrib/device-tree/Bindings/serial/qcom,serial-geni-qcom.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/serial/qcom,serial-geni-qcom.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Qualcomm Geni based QUP UART interface
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Andy Gross <agross@kernel.org>
11d5b0e70fSEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
12d5b0e70fSEmmanuel Vadot
13d5b0e70fSEmmanuel VadotallOf:
14d5b0e70fSEmmanuel Vadot  - $ref: /schemas/serial/serial.yaml#
15d5b0e70fSEmmanuel Vadot
16d5b0e70fSEmmanuel Vadotproperties:
17d5b0e70fSEmmanuel Vadot  compatible:
18d5b0e70fSEmmanuel Vadot    enum:
19d5b0e70fSEmmanuel Vadot      - qcom,geni-uart
20d5b0e70fSEmmanuel Vadot      - qcom,geni-debug-uart
21d5b0e70fSEmmanuel Vadot
22d5b0e70fSEmmanuel Vadot  clocks:
23d5b0e70fSEmmanuel Vadot    maxItems: 1
24d5b0e70fSEmmanuel Vadot
25d5b0e70fSEmmanuel Vadot  clock-names:
26d5b0e70fSEmmanuel Vadot    const: se
27d5b0e70fSEmmanuel Vadot
28d5b0e70fSEmmanuel Vadot  interconnects:
29d5b0e70fSEmmanuel Vadot    maxItems: 2
30d5b0e70fSEmmanuel Vadot
31d5b0e70fSEmmanuel Vadot  interconnect-names:
32d5b0e70fSEmmanuel Vadot    items:
33d5b0e70fSEmmanuel Vadot      - const: qup-core
34d5b0e70fSEmmanuel Vadot      - const: qup-config
35d5b0e70fSEmmanuel Vadot
36d5b0e70fSEmmanuel Vadot  interrupts:
37d5b0e70fSEmmanuel Vadot    minItems: 1
38d5b0e70fSEmmanuel Vadot    items:
39d5b0e70fSEmmanuel Vadot      - description: UART core irq
40d5b0e70fSEmmanuel Vadot      - description: Wakeup irq (RX GPIO)
41d5b0e70fSEmmanuel Vadot
42d5b0e70fSEmmanuel Vadot  operating-points-v2: true
43d5b0e70fSEmmanuel Vadot
44d5b0e70fSEmmanuel Vadot  pinctrl-0: true
45d5b0e70fSEmmanuel Vadot  pinctrl-1: true
46d5b0e70fSEmmanuel Vadot
47d5b0e70fSEmmanuel Vadot  pinctrl-names:
48d5b0e70fSEmmanuel Vadot    minItems: 1
49d5b0e70fSEmmanuel Vadot    items:
50d5b0e70fSEmmanuel Vadot      - const: default
51d5b0e70fSEmmanuel Vadot      - const: sleep
52d5b0e70fSEmmanuel Vadot
53d5b0e70fSEmmanuel Vadot  power-domains:
54d5b0e70fSEmmanuel Vadot    maxItems: 1
55d5b0e70fSEmmanuel Vadot
56d5b0e70fSEmmanuel Vadot  reg:
57d5b0e70fSEmmanuel Vadot    maxItems: 1
58d5b0e70fSEmmanuel Vadot
59d5b0e70fSEmmanuel Vadotrequired:
60d5b0e70fSEmmanuel Vadot  - compatible
61d5b0e70fSEmmanuel Vadot  - clocks
62d5b0e70fSEmmanuel Vadot  - clock-names
63d5b0e70fSEmmanuel Vadot  - interrupts
64d5b0e70fSEmmanuel Vadot  - reg
65d5b0e70fSEmmanuel Vadot
66d5b0e70fSEmmanuel VadotunevaluatedProperties: false
67d5b0e70fSEmmanuel Vadot
68d5b0e70fSEmmanuel Vadotexamples:
69d5b0e70fSEmmanuel Vadot  - |
70d5b0e70fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
71d5b0e70fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-sc7180.h>
72d5b0e70fSEmmanuel Vadot    #include <dt-bindings/interconnect/qcom,sc7180.h>
73d5b0e70fSEmmanuel Vadot
74d5b0e70fSEmmanuel Vadot    serial@a88000 {
75d5b0e70fSEmmanuel Vadot        compatible = "qcom,geni-uart";
76d5b0e70fSEmmanuel Vadot        reg = <0xa88000 0x7000>;
77d5b0e70fSEmmanuel Vadot        interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
78d5b0e70fSEmmanuel Vadot        clock-names = "se";
79d5b0e70fSEmmanuel Vadot        clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
80d5b0e70fSEmmanuel Vadot        pinctrl-0 = <&qup_uart0_default>;
81d5b0e70fSEmmanuel Vadot        pinctrl-names = "default";
82d5b0e70fSEmmanuel Vadot        interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>,
83d5b0e70fSEmmanuel Vadot                        <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>;
84d5b0e70fSEmmanuel Vadot        interconnect-names = "qup-core", "qup-config";
85d5b0e70fSEmmanuel Vadot    };
86d5b0e70fSEmmanuel Vadot...
87