From: Nikita Shubin <nikita.shubin@xxxxxxxxxxx> This adds device tree bindings for the Cirrus Logic EP93xx clock block used in these SoCs. Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx> --- .../bindings/clock/cirrus,ep9301-clk.yaml | 46 ++++++++++++++++++++++ include/dt-bindings/clock/cirrus,ep93xx-clock.h | 41 +++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/cirrus,ep9301-clk.yaml b/Documentation/devicetree/bindings/clock/cirrus,ep9301-clk.yaml new file mode 100644 index 000000000000..111e016601fb --- /dev/null +++ b/Documentation/devicetree/bindings/clock/cirrus,ep9301-clk.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/cirrus,ep9301-clk.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Cirrus Logic ep93xx SoC's clock controller + +maintainers: + - Nikita Shubin <nikita.shubin@xxxxxxxxxxx> + - Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> + +properties: + compatible: + oneOf: + - const: cirrus,ep9301-clk + - items: + - enum: + - cirrus,ep9302-clk + - cirrus,ep9307-clk + - cirrus,ep9312-clk + - cirrus,ep9315-clk + - const: cirrus,ep9301-clk + + "#clock-cells": + const: 1 + + clocks: + items: + - description: reference clock + +required: + - compatible + - "#clock-cells" + - clocks + +additionalProperties: false + +examples: + - | + clock-controller { + compatible = "cirrus,ep9301-clk"; + #clock-cells = <1>; + clocks = <&xtali>; + }; +... diff --git a/include/dt-bindings/clock/cirrus,ep93xx-clock.h b/include/dt-bindings/clock/cirrus,ep93xx-clock.h new file mode 100644 index 000000000000..3cd053c0fdea --- /dev/null +++ b/include/dt-bindings/clock/cirrus,ep93xx-clock.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H +#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H + +#define EP93XX_CLK_UART1 0 +#define EP93XX_CLK_UART2 1 +#define EP93XX_CLK_UART3 2 + +#define EP93XX_CLK_ADC 3 +#define EP93XX_CLK_ADC_EN 4 + +#define EP93XX_CLK_KEYPAD 5 + +#define EP93XX_CLK_VIDEO 6 + +#define EP93XX_CLK_I2S_MCLK 7 +#define EP93XX_CLK_I2S_SCLK 8 +#define EP93XX_CLK_I2S_LRCLK 9 + +#define EP93XX_CLK_UART 10 +#define EP93XX_CLK_SPI 11 +#define EP93XX_CLK_PWM 12 +#define EP93XX_CLK_USB 13 + +#define EP93XX_CLK_M2M0 14 +#define EP93XX_CLK_M2M1 15 + +#define EP93XX_CLK_M2P0 16 +#define EP93XX_CLK_M2P1 17 +#define EP93XX_CLK_M2P2 18 +#define EP93XX_CLK_M2P3 19 +#define EP93XX_CLK_M2P4 20 +#define EP93XX_CLK_M2P5 21 +#define EP93XX_CLK_M2P6 22 +#define EP93XX_CLK_M2P7 23 +#define EP93XX_CLK_M2P8 24 +#define EP93XX_CLK_M2P9 25 + +#define EP93XX_CLK_END 26 + +#endif /* DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H */ -- 2.39.2