linux/Documentation/devicetree/bindings/mfd/nxp,lpc1850-creg.yaml
Frank Li 5d005cf799 dt-bindings: mfd: Convert lpc1850-creg-clk, pc1850-dmamux and phy-lpc18xx-usb-otg to YAML format
Combine the following separate plain text based bindings to YAML:

  lpc1850-creg-clk.txt
  pc1850-dmamux.txt
  phy-lpc18xx-usb-otg.txt

Additional changes:

- remove label in example.
- remove dmamux consumer in example.
- remove clock consumer in example.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: "Rob Herring (Arm)" <robh@kernel.org>
Link: https://lore.kernel.org/r/20250602143612.943516-1-Frank.Li@nxp.com
Signed-off-by: Lee Jones <lee@kernel.org>
2025-07-24 11:26:58 +01:00

149 lines
3.3 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/nxp,lpc1850-creg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: The NXP LPC18xx/43xx CREG (Configuration Registers) block
maintainers:
- Frank Li <Frank.Li@nxp.com>
properties:
compatible:
items:
- enum:
- nxp,lpc1850-creg
- const: syscon
- const: simple-mfd
reg:
maxItems: 1
clocks:
maxItems: 1
resets:
maxItems: 1
clock-controller:
type: object
description:
The NXP LPC18xx/43xx CREG (Configuration Registers) block contains
control registers for two low speed clocks. One of the clocks is a
32 kHz oscillator driver with power up/down and clock gating. Next
is a fixed divider that creates a 1 kHz clock from the 32 kHz osc.
These clocks are used by the RTC and the Event Router peripherals.
The 32 kHz can also be routed to other peripherals to enable low
power modes.
properties:
compatible:
const: nxp,lpc1850-creg-clk
clocks:
maxItems: 1
'#clock-cells':
const: 1
description: |
0 1 kHz clock
1 32 kHz Oscillator
required:
- compatible
- clocks
- '#clock-cells'
additionalProperties: false
phy:
type: object
description: the internal USB OTG PHY in NXP LPC18xx and LPC43xx SoCs
properties:
compatible:
const: nxp,lpc1850-usb-otg-phy
clocks:
maxItems: 1
'#phy-cells':
const: 0
required:
- compatible
- clocks
- '#phy-cells'
additionalProperties: false
dma-mux:
type: object
description: NXP LPC18xx/43xx DMA MUX (DMA request router)
properties:
compatible:
const: nxp,lpc1850-dmamux
'#dma-cells':
const: 3
description: |
Should be set to <3>.
* 1st cell contain the master dma request signal
* 2nd cell contain the mux value (0-3) for the peripheral
* 3rd cell contain either 1 or 2 depending on the AHB master used.
dma-requests:
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 64
description: Number of DMA requests the controller can handle
dma-masters:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle pointing to the DMA controller
required:
- compatible
- '#dma-cells'
- dma-masters
additionalProperties: false
required:
- compatible
- reg
- clocks
- resets
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/lpc18xx-ccu.h>
syscon@40043000 {
compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd";
reg = <0x40043000 0x1000>;
clocks = <&ccu1 CLK_CPU_CREG>;
resets = <&rgu 5>;
clock-controller {
compatible = "nxp,lpc1850-creg-clk";
clocks = <&xtal32>;
#clock-cells = <1>;
};
phy {
compatible = "nxp,lpc1850-usb-otg-phy";
clocks = <&ccu1 CLK_USB0>;
#phy-cells = <0>;
};
dma-mux {
compatible = "nxp,lpc1850-dmamux";
#dma-cells = <3>;
dma-requests = <64>;
dma-masters = <&dmac>;
};
};