xref: /linux/Documentation/devicetree/bindings/mfd/nxp,lpc3220-scb.yaml (revision 4668c4831fbcb924ef9ce63b32f8a4daefd3d6fc)
1*e46de99cSVladimir Zapolskiy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*e46de99cSVladimir Zapolskiy%YAML 1.2
3*e46de99cSVladimir Zapolskiy---
4*e46de99cSVladimir Zapolskiy$id: http://devicetree.org/schemas/mfd/nxp,lpc3220-scb.yaml#
5*e46de99cSVladimir Zapolskiy$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e46de99cSVladimir Zapolskiy
7*e46de99cSVladimir Zapolskiytitle: NXP LPC32xx System Control Block
8*e46de99cSVladimir Zapolskiy
9*e46de99cSVladimir Zapolskiymaintainers:
10*e46de99cSVladimir Zapolskiy  - Vladimir Zapolskiy <vz@mleia.com>
11*e46de99cSVladimir Zapolskiy
12*e46de99cSVladimir Zapolskiydescription:
13*e46de99cSVladimir Zapolskiy  NXP LPC32xx SoC series have a System Control Block, which serves for
14*e46de99cSVladimir Zapolskiy  a multitude of purposes including clock management, DMA muxes, storing
15*e46de99cSVladimir Zapolskiy  SoC unique ID etc.
16*e46de99cSVladimir Zapolskiy
17*e46de99cSVladimir Zapolskiyproperties:
18*e46de99cSVladimir Zapolskiy  compatible:
19*e46de99cSVladimir Zapolskiy    items:
20*e46de99cSVladimir Zapolskiy      - enum:
21*e46de99cSVladimir Zapolskiy          - nxp,lpc3220-scb
22*e46de99cSVladimir Zapolskiy      - const: syscon
23*e46de99cSVladimir Zapolskiy      - const: simple-mfd
24*e46de99cSVladimir Zapolskiy
25*e46de99cSVladimir Zapolskiy  reg:
26*e46de99cSVladimir Zapolskiy    maxItems: 1
27*e46de99cSVladimir Zapolskiy
28*e46de99cSVladimir Zapolskiy  ranges: true
29*e46de99cSVladimir Zapolskiy
30*e46de99cSVladimir Zapolskiy  "#address-cells":
31*e46de99cSVladimir Zapolskiy    const: 1
32*e46de99cSVladimir Zapolskiy
33*e46de99cSVladimir Zapolskiy  "#size-cells":
34*e46de99cSVladimir Zapolskiy    const: 1
35*e46de99cSVladimir Zapolskiy
36*e46de99cSVladimir ZapolskiypatternProperties:
37*e46de99cSVladimir Zapolskiy  "^clock-controller@[0-9a-f]+$":
38*e46de99cSVladimir Zapolskiy    $ref: /schemas/clock/nxp,lpc3220-clk.yaml#
39*e46de99cSVladimir Zapolskiy
40*e46de99cSVladimir Zapolskiy  "^dma-router@[0-9a-f]+$":
41*e46de99cSVladimir Zapolskiy    $ref: /schemas/dma/nxp,lpc3220-dmamux.yaml#
42*e46de99cSVladimir Zapolskiy
43*e46de99cSVladimir Zapolskiyrequired:
44*e46de99cSVladimir Zapolskiy  - compatible
45*e46de99cSVladimir Zapolskiy  - reg
46*e46de99cSVladimir Zapolskiy  - "#address-cells"
47*e46de99cSVladimir Zapolskiy  - "#size-cells"
48*e46de99cSVladimir Zapolskiy
49*e46de99cSVladimir ZapolskiyadditionalProperties: false
50*e46de99cSVladimir Zapolskiy
51*e46de99cSVladimir Zapolskiyexamples:
52*e46de99cSVladimir Zapolskiy  - |
53*e46de99cSVladimir Zapolskiy    syscon@400040000 {
54*e46de99cSVladimir Zapolskiy        compatible = "nxp,lpc3220-scb", "syscon", "simple-mfd";
55*e46de99cSVladimir Zapolskiy        reg = <0x40004000 0x1000>;
56*e46de99cSVladimir Zapolskiy        #address-cells = <1>;
57*e46de99cSVladimir Zapolskiy        #size-cells = <1>;
58*e46de99cSVladimir Zapolskiy        ranges = <0 0x40004000 0x1000>;
59*e46de99cSVladimir Zapolskiy
60*e46de99cSVladimir Zapolskiy        clock-controller@0 {
61*e46de99cSVladimir Zapolskiy            compatible = "nxp,lpc3220-clk";
62*e46de99cSVladimir Zapolskiy            reg = <0x0 0x114>;
63*e46de99cSVladimir Zapolskiy            clocks = <&xtal_32k>, <&xtal>;
64*e46de99cSVladimir Zapolskiy            clock-names = "xtal_32k", "xtal";
65*e46de99cSVladimir Zapolskiy            #clock-cells = <1>;
66*e46de99cSVladimir Zapolskiy        };
67*e46de99cSVladimir Zapolskiy
68*e46de99cSVladimir Zapolskiy        dma-router@78 {
69*e46de99cSVladimir Zapolskiy            compatible = "nxp,lpc3220-dmamux";
70*e46de99cSVladimir Zapolskiy            reg = <0x78 0x8>;
71*e46de99cSVladimir Zapolskiy            dma-masters = <&dma>;
72*e46de99cSVladimir Zapolskiy            #dma-cells = <3>;
73*e46de99cSVladimir Zapolskiy        };
74*e46de99cSVladimir Zapolskiy    };
75