Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Frank Li and committed by
Lee Jones
5d005cf7 009528b5

+148 -132
-52
Documentation/devicetree/bindings/clock/lpc1850-creg-clk.txt
··· 1 - * NXP LPC1850 CREG clocks 2 - 3 - The NXP LPC18xx/43xx CREG (Configuration Registers) block contains 4 - control registers for two low speed clocks. One of the clocks is a 5 - 32 kHz oscillator driver with power up/down and clock gating. Next 6 - is a fixed divider that creates a 1 kHz clock from the 32 kHz osc. 7 - 8 - These clocks are used by the RTC and the Event Router peripherals. 9 - The 32 kHz can also be routed to other peripherals to enable low 10 - power modes. 11 - 12 - This binding uses the common clock binding: 13 - Documentation/devicetree/bindings/clock/clock-bindings.txt 14 - 15 - Required properties: 16 - - compatible: 17 - Should be "nxp,lpc1850-creg-clk" 18 - - #clock-cells: 19 - Shall have value <1>. 20 - - clocks: 21 - Shall contain a phandle to the fixed 32 kHz crystal. 22 - 23 - The creg-clk node must be a child of the creg syscon node. 24 - 25 - The following clocks are available from the clock node. 26 - 27 - Clock ID Name 28 - 0 1 kHz clock 29 - 1 32 kHz Oscillator 30 - 31 - Example: 32 - soc { 33 - creg: syscon@40043000 { 34 - compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd"; 35 - reg = <0x40043000 0x1000>; 36 - 37 - creg_clk: clock-controller { 38 - compatible = "nxp,lpc1850-creg-clk"; 39 - clocks = <&xtal32>; 40 - #clock-cells = <1>; 41 - }; 42 - 43 - ... 44 - }; 45 - 46 - rtc: rtc@40046000 { 47 - ... 48 - clocks = <&creg_clk 0>, <&ccu1 CLK_CPU_BUS>; 49 - clock-names = "rtc", "reg"; 50 - ... 51 - }; 52 - };
-54
Documentation/devicetree/bindings/dma/lpc1850-dmamux.txt
··· 1 - NXP LPC18xx/43xx DMA MUX (DMA request router) 2 - 3 - Required properties: 4 - - compatible: "nxp,lpc1850-dmamux" 5 - - reg: Memory map for accessing module 6 - - #dma-cells: Should be set to <3>. 7 - * 1st cell contain the master dma request signal 8 - * 2nd cell contain the mux value (0-3) for the peripheral 9 - * 3rd cell contain either 1 or 2 depending on the AHB 10 - master used. 11 - - dma-requests: Number of DMA requests for the mux 12 - - dma-masters: phandle pointing to the DMA controller 13 - 14 - The DMA controller node need to have the following poroperties: 15 - - dma-requests: Number of DMA requests the controller can handle 16 - 17 - Example: 18 - 19 - dmac: dma@40002000 { 20 - compatible = "nxp,lpc1850-gpdma", "arm,pl080", "arm,primecell"; 21 - arm,primecell-periphid = <0x00041080>; 22 - reg = <0x40002000 0x1000>; 23 - interrupts = <2>; 24 - clocks = <&ccu1 CLK_CPU_DMA>; 25 - clock-names = "apb_pclk"; 26 - #dma-cells = <2>; 27 - dma-channels = <8>; 28 - dma-requests = <16>; 29 - lli-bus-interface-ahb1; 30 - lli-bus-interface-ahb2; 31 - mem-bus-interface-ahb1; 32 - mem-bus-interface-ahb2; 33 - memcpy-burst-size = <256>; 34 - memcpy-bus-width = <32>; 35 - }; 36 - 37 - dmamux: dma-mux { 38 - compatible = "nxp,lpc1850-dmamux"; 39 - #dma-cells = <3>; 40 - dma-requests = <64>; 41 - dma-masters = <&dmac>; 42 - }; 43 - 44 - uart0: serial@40081000 { 45 - compatible = "nxp,lpc1850-uart", "ns16550a"; 46 - reg = <0x40081000 0x1000>; 47 - reg-shift = <2>; 48 - interrupts = <24>; 49 - clocks = <&ccu2 CLK_APB0_UART0>, <&ccu1 CLK_CPU_UART0>; 50 - clock-names = "uartclk", "reg"; 51 - dmas = <&dmamux 1 1 2 52 - &dmamux 2 1 2>; 53 - dma-names = "tx", "rx"; 54 - };
+148
Documentation/devicetree/bindings/mfd/nxp,lpc1850-creg.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mfd/nxp,lpc1850-creg.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: The NXP LPC18xx/43xx CREG (Configuration Registers) block 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + items: 15 + - enum: 16 + - nxp,lpc1850-creg 17 + - const: syscon 18 + - const: simple-mfd 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + clocks: 24 + maxItems: 1 25 + 26 + resets: 27 + maxItems: 1 28 + 29 + clock-controller: 30 + type: object 31 + description: 32 + The NXP LPC18xx/43xx CREG (Configuration Registers) block contains 33 + control registers for two low speed clocks. One of the clocks is a 34 + 32 kHz oscillator driver with power up/down and clock gating. Next 35 + is a fixed divider that creates a 1 kHz clock from the 32 kHz osc. 36 + 37 + These clocks are used by the RTC and the Event Router peripherals. 38 + The 32 kHz can also be routed to other peripherals to enable low 39 + power modes. 40 + 41 + properties: 42 + compatible: 43 + const: nxp,lpc1850-creg-clk 44 + 45 + clocks: 46 + maxItems: 1 47 + 48 + '#clock-cells': 49 + const: 1 50 + description: | 51 + 0 1 kHz clock 52 + 1 32 kHz Oscillator 53 + 54 + required: 55 + - compatible 56 + - clocks 57 + - '#clock-cells' 58 + 59 + additionalProperties: false 60 + 61 + phy: 62 + type: object 63 + description: the internal USB OTG PHY in NXP LPC18xx and LPC43xx SoCs 64 + properties: 65 + compatible: 66 + const: nxp,lpc1850-usb-otg-phy 67 + 68 + clocks: 69 + maxItems: 1 70 + 71 + '#phy-cells': 72 + const: 0 73 + 74 + required: 75 + - compatible 76 + - clocks 77 + - '#phy-cells' 78 + 79 + additionalProperties: false 80 + 81 + dma-mux: 82 + type: object 83 + description: NXP LPC18xx/43xx DMA MUX (DMA request router) 84 + properties: 85 + compatible: 86 + const: nxp,lpc1850-dmamux 87 + 88 + '#dma-cells': 89 + const: 3 90 + description: | 91 + Should be set to <3>. 92 + * 1st cell contain the master dma request signal 93 + * 2nd cell contain the mux value (0-3) for the peripheral 94 + * 3rd cell contain either 1 or 2 depending on the AHB master used. 95 + 96 + dma-requests: 97 + $ref: /schemas/types.yaml#/definitions/uint32 98 + maximum: 64 99 + description: Number of DMA requests the controller can handle 100 + 101 + dma-masters: 102 + $ref: /schemas/types.yaml#/definitions/phandle 103 + description: phandle pointing to the DMA controller 104 + 105 + required: 106 + - compatible 107 + - '#dma-cells' 108 + - dma-masters 109 + 110 + additionalProperties: false 111 + 112 + required: 113 + - compatible 114 + - reg 115 + - clocks 116 + - resets 117 + 118 + additionalProperties: false 119 + 120 + examples: 121 + - | 122 + #include <dt-bindings/clock/lpc18xx-ccu.h> 123 + 124 + syscon@40043000 { 125 + compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd"; 126 + reg = <0x40043000 0x1000>; 127 + clocks = <&ccu1 CLK_CPU_CREG>; 128 + resets = <&rgu 5>; 129 + 130 + clock-controller { 131 + compatible = "nxp,lpc1850-creg-clk"; 132 + clocks = <&xtal32>; 133 + #clock-cells = <1>; 134 + }; 135 + 136 + phy { 137 + compatible = "nxp,lpc1850-usb-otg-phy"; 138 + clocks = <&ccu1 CLK_USB0>; 139 + #phy-cells = <0>; 140 + }; 141 + 142 + dma-mux { 143 + compatible = "nxp,lpc1850-dmamux"; 144 + #dma-cells = <3>; 145 + dma-requests = <64>; 146 + dma-masters = <&dmac>; 147 + }; 148 + };
-26
Documentation/devicetree/bindings/phy/phy-lpc18xx-usb-otg.txt
··· 1 - NXP LPC18xx/43xx internal USB OTG PHY binding 2 - --------------------------------------------- 3 - 4 - This file contains documentation for the internal USB OTG PHY found 5 - in NXP LPC18xx and LPC43xx SoCs. 6 - 7 - Required properties: 8 - - compatible : must be "nxp,lpc1850-usb-otg-phy" 9 - - clocks : must be exactly one entry 10 - See: Documentation/devicetree/bindings/clock/clock-bindings.txt 11 - - #phy-cells : must be 0 for this phy 12 - See: Documentation/devicetree/bindings/phy/phy-bindings.txt 13 - 14 - The phy node must be a child of the creg syscon node. 15 - 16 - Example: 17 - creg: syscon@40043000 { 18 - compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd"; 19 - reg = <0x40043000 0x1000>; 20 - 21 - usb0_otg_phy: phy { 22 - compatible = "nxp,lpc1850-usb-otg-phy"; 23 - clocks = <&ccu1 CLK_USB0>; 24 - #phy-cells = <0>; 25 - }; 26 - };