xref: /linux/Documentation/devicetree/bindings/mfd/nxp,lpc1850-creg.yaml (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1*5d005cf7SFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5d005cf7SFrank Li%YAML 1.2
3*5d005cf7SFrank Li---
4*5d005cf7SFrank Li$id: http://devicetree.org/schemas/mfd/nxp,lpc1850-creg.yaml#
5*5d005cf7SFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5d005cf7SFrank Li
7*5d005cf7SFrank Lititle: The NXP LPC18xx/43xx CREG (Configuration Registers) block
8*5d005cf7SFrank Li
9*5d005cf7SFrank Limaintainers:
10*5d005cf7SFrank Li  - Frank Li <Frank.Li@nxp.com>
11*5d005cf7SFrank Li
12*5d005cf7SFrank Liproperties:
13*5d005cf7SFrank Li  compatible:
14*5d005cf7SFrank Li    items:
15*5d005cf7SFrank Li      - enum:
16*5d005cf7SFrank Li          - nxp,lpc1850-creg
17*5d005cf7SFrank Li      - const: syscon
18*5d005cf7SFrank Li      - const: simple-mfd
19*5d005cf7SFrank Li
20*5d005cf7SFrank Li  reg:
21*5d005cf7SFrank Li    maxItems: 1
22*5d005cf7SFrank Li
23*5d005cf7SFrank Li  clocks:
24*5d005cf7SFrank Li    maxItems: 1
25*5d005cf7SFrank Li
26*5d005cf7SFrank Li  resets:
27*5d005cf7SFrank Li    maxItems: 1
28*5d005cf7SFrank Li
29*5d005cf7SFrank Li  clock-controller:
30*5d005cf7SFrank Li    type: object
31*5d005cf7SFrank Li    description:
32*5d005cf7SFrank Li      The NXP LPC18xx/43xx CREG (Configuration Registers) block contains
33*5d005cf7SFrank Li      control registers for two low speed clocks. One of the clocks is a
34*5d005cf7SFrank Li      32 kHz oscillator driver with power up/down and clock gating. Next
35*5d005cf7SFrank Li      is a fixed divider that creates a 1 kHz clock from the 32 kHz osc.
36*5d005cf7SFrank Li
37*5d005cf7SFrank Li      These clocks are used by the RTC and the Event Router peripherals.
38*5d005cf7SFrank Li      The 32 kHz can also be routed to other peripherals to enable low
39*5d005cf7SFrank Li      power modes.
40*5d005cf7SFrank Li
41*5d005cf7SFrank Li    properties:
42*5d005cf7SFrank Li      compatible:
43*5d005cf7SFrank Li        const: nxp,lpc1850-creg-clk
44*5d005cf7SFrank Li
45*5d005cf7SFrank Li      clocks:
46*5d005cf7SFrank Li        maxItems: 1
47*5d005cf7SFrank Li
48*5d005cf7SFrank Li      '#clock-cells':
49*5d005cf7SFrank Li        const: 1
50*5d005cf7SFrank Li        description: |
51*5d005cf7SFrank Li          0            1 kHz clock
52*5d005cf7SFrank Li          1           32 kHz Oscillator
53*5d005cf7SFrank Li
54*5d005cf7SFrank Li    required:
55*5d005cf7SFrank Li      - compatible
56*5d005cf7SFrank Li      - clocks
57*5d005cf7SFrank Li      - '#clock-cells'
58*5d005cf7SFrank Li
59*5d005cf7SFrank Li    additionalProperties: false
60*5d005cf7SFrank Li
61*5d005cf7SFrank Li  phy:
62*5d005cf7SFrank Li    type: object
63*5d005cf7SFrank Li    description: the internal USB OTG PHY in NXP LPC18xx and LPC43xx SoCs
64*5d005cf7SFrank Li    properties:
65*5d005cf7SFrank Li      compatible:
66*5d005cf7SFrank Li        const: nxp,lpc1850-usb-otg-phy
67*5d005cf7SFrank Li
68*5d005cf7SFrank Li      clocks:
69*5d005cf7SFrank Li        maxItems: 1
70*5d005cf7SFrank Li
71*5d005cf7SFrank Li      '#phy-cells':
72*5d005cf7SFrank Li        const: 0
73*5d005cf7SFrank Li
74*5d005cf7SFrank Li    required:
75*5d005cf7SFrank Li      - compatible
76*5d005cf7SFrank Li      - clocks
77*5d005cf7SFrank Li      - '#phy-cells'
78*5d005cf7SFrank Li
79*5d005cf7SFrank Li    additionalProperties: false
80*5d005cf7SFrank Li
81*5d005cf7SFrank Li  dma-mux:
82*5d005cf7SFrank Li    type: object
83*5d005cf7SFrank Li    description: NXP LPC18xx/43xx DMA MUX (DMA request router)
84*5d005cf7SFrank Li    properties:
85*5d005cf7SFrank Li      compatible:
86*5d005cf7SFrank Li        const: nxp,lpc1850-dmamux
87*5d005cf7SFrank Li
88*5d005cf7SFrank Li      '#dma-cells':
89*5d005cf7SFrank Li        const: 3
90*5d005cf7SFrank Li        description: |
91*5d005cf7SFrank Li          Should be set to <3>.
92*5d005cf7SFrank Li          * 1st cell contain the master dma request signal
93*5d005cf7SFrank Li          * 2nd cell contain the mux value (0-3) for the peripheral
94*5d005cf7SFrank Li          * 3rd cell contain either 1 or 2 depending on the AHB  master used.
95*5d005cf7SFrank Li
96*5d005cf7SFrank Li      dma-requests:
97*5d005cf7SFrank Li        $ref: /schemas/types.yaml#/definitions/uint32
98*5d005cf7SFrank Li        maximum: 64
99*5d005cf7SFrank Li        description: Number of DMA requests the controller can handle
100*5d005cf7SFrank Li
101*5d005cf7SFrank Li      dma-masters:
102*5d005cf7SFrank Li        $ref: /schemas/types.yaml#/definitions/phandle
103*5d005cf7SFrank Li        description: phandle pointing to the DMA controller
104*5d005cf7SFrank Li
105*5d005cf7SFrank Li    required:
106*5d005cf7SFrank Li      - compatible
107*5d005cf7SFrank Li      - '#dma-cells'
108*5d005cf7SFrank Li      - dma-masters
109*5d005cf7SFrank Li
110*5d005cf7SFrank Li    additionalProperties: false
111*5d005cf7SFrank Li
112*5d005cf7SFrank Lirequired:
113*5d005cf7SFrank Li  - compatible
114*5d005cf7SFrank Li  - reg
115*5d005cf7SFrank Li  - clocks
116*5d005cf7SFrank Li  - resets
117*5d005cf7SFrank Li
118*5d005cf7SFrank LiadditionalProperties: false
119*5d005cf7SFrank Li
120*5d005cf7SFrank Liexamples:
121*5d005cf7SFrank Li  - |
122*5d005cf7SFrank Li    #include <dt-bindings/clock/lpc18xx-ccu.h>
123*5d005cf7SFrank Li
124*5d005cf7SFrank Li    syscon@40043000 {
125*5d005cf7SFrank Li        compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd";
126*5d005cf7SFrank Li        reg = <0x40043000 0x1000>;
127*5d005cf7SFrank Li        clocks = <&ccu1 CLK_CPU_CREG>;
128*5d005cf7SFrank Li        resets = <&rgu 5>;
129*5d005cf7SFrank Li
130*5d005cf7SFrank Li        clock-controller {
131*5d005cf7SFrank Li            compatible = "nxp,lpc1850-creg-clk";
132*5d005cf7SFrank Li            clocks = <&xtal32>;
133*5d005cf7SFrank Li            #clock-cells = <1>;
134*5d005cf7SFrank Li        };
135*5d005cf7SFrank Li
136*5d005cf7SFrank Li        phy {
137*5d005cf7SFrank Li            compatible = "nxp,lpc1850-usb-otg-phy";
138*5d005cf7SFrank Li            clocks = <&ccu1 CLK_USB0>;
139*5d005cf7SFrank Li            #phy-cells = <0>;
140*5d005cf7SFrank Li        };
141*5d005cf7SFrank Li
142*5d005cf7SFrank Li        dma-mux {
143*5d005cf7SFrank Li            compatible = "nxp,lpc1850-dmamux";
144*5d005cf7SFrank Li            #dma-cells = <3>;
145*5d005cf7SFrank Li            dma-requests = <64>;
146*5d005cf7SFrank Li            dma-masters = <&dmac>;
147*5d005cf7SFrank Li        };
148*5d005cf7SFrank Li    };
149