Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/firmware/cznic,turris-omnia-mcu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: CZ.NIC's Turris Omnia MCU
8
9maintainers:
10 - Marek Behún <kabel@kernel.org>
11
12description:
13 The MCU on Turris Omnia acts as a system controller providing additional
14 GPIOs, interrupts, watchdog, system power off and wakeup configuration.
15
16properties:
17 compatible:
18 const: cznic,turris-omnia-mcu
19
20 reg:
21 description: MCU I2C slave address
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 interrupt-controller: true
28
29 '#interrupt-cells':
30 const: 2
31 description: |
32 The first cell specifies the interrupt number (0 to 63), the second cell
33 specifies interrupt type (which can be one of IRQ_TYPE_EDGE_RISING,
34 IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH).
35 The interrupt numbers correspond sequentially to GPIO numbers, taking the
36 GPIO banks into account:
37 IRQ number GPIO bank GPIO pin within bank
38 0 - 15 0 0 - 15
39 16 - 47 1 0 - 31
40 48 - 63 2 0 - 15
41 There are several exceptions:
42 IRQ number meaning
43 11 LED panel brightness changed by button press
44 13 TRNG entropy ready
45 14 ECDSA message signature computation done
46
47 gpio-controller: true
48
49 '#gpio-cells':
50 const: 3
51 description:
52 The first cell is bank number (0, 1 or 2), the second cell is pin number
53 within the bank (0 to 15 for banks 0 and 2, 0 to 31 for bank 1), and the
54 third cell specifies consumer flags.
55
56required:
57 - compatible
58 - reg
59 - interrupts
60 - interrupt-controller
61 - gpio-controller
62
63additionalProperties: false
64
65examples:
66 - |
67 #include <dt-bindings/interrupt-controller/irq.h>
68
69 i2c {
70 #address-cells = <1>;
71 #size-cells = <0>;
72
73 system-controller@2a {
74 compatible = "cznic,turris-omnia-mcu";
75 reg = <0x2a>;
76
77 interrupt-parent = <&gpio1>;
78 interrupts = <11 IRQ_TYPE_NONE>;
79
80 gpio-controller;
81 #gpio-cells = <3>;
82
83 interrupt-controller;
84 #interrupt-cells = <2>;
85 };
86 };