Commit 9254bf10 authored by Anson Huang's avatar Anson Huang Committed by Rob Herring
Browse files

dt-bindings: clock: Convert i.MX6Q clock to json-schema



Convert the i.MX6Q clock binding to DT schema format using json-schema.

Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent dffe5115
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
* Clock bindings for Freescale i.MX6 Quad

Required properties:
- compatible: Should be "fsl,imx6q-ccm"
- reg: Address and length of the register set
- interrupts: Should contain CCM interrupt
- #clock-cells: Should be <1>

Optional properties:
- fsl,pmic-stby-poweroff: Configure CCM to assert PMIC_STBY_REQ signal
  on power off.
  Use this property if the SoC should be powered off by external power
  management IC (PMIC) triggered via PMIC_STBY_REQ signal.
  Boards that are designed to initiate poweroff on PMIC_ON_REQ signal should
  be using "syscon-poweroff" driver instead.
- clocks: list of clock specifiers, must contain an entry for each entry
          in clock-names
- clock-names: valid names are "osc", "ckil", "ckih1", "anaclk1" and "anaclk2"

The clock consumer should specify the desired clock by having the clock
ID in its "clocks" phandle cell.  See include/dt-bindings/clock/imx6qdl-clock.h
for the full list of i.MX6 Quad and DualLite clock IDs.

Examples:

#include <dt-bindings/clock/imx6qdl-clock.h>

clks: ccm@20c4000 {
	compatible = "fsl,imx6q-ccm";
	reg = <0x020c4000 0x4000>;
	interrupts = <0 87 0x04 0 88 0x04>;
	#clock-cells = <1>;
};

uart1: serial@2020000 {
	compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
	reg = <0x02020000 0x4000>;
	interrupts = <0 26 0x04>;
	clocks = <&clks IMX6QDL_CLK_UART_IPG>, <&clks IMX6QDL_CLK_UART_SERIAL>;
	clock-names = "ipg", "per";
};
+72 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/imx6q-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Clock bindings for Freescale i.MX6 Quad

maintainers:
  - Anson Huang <Anson.Huang@nxp.com>

properties:
  compatible:
    const: fsl,imx6q-ccm

  reg:
    maxItems: 1

  interrupts:
    description: CCM provides 2 interrupt requests, request 1 is to generate
      interrupt for frequency or mux change, request 2 is to generate
      interrupt for oscillator read or PLL lock.
    items:
      - description: CCM interrupt request 1
      - description: CCM interrupt request 2
    maxItems: 2

  '#clock-cells':
    const: 1

  clocks:
    items:
      - description: 24m osc
      - description: 32k osc
      - description: ckih1 clock input
      - description: anaclk1 clock input
      - description: anaclk2 clock input

  clock-names:
    items:
      - const: osc
      - const: ckil
      - const: ckih1
      - const: anaclk1
      - const: anaclk2

  fsl,pmic-stby-poweroff:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      Use this property if the SoC should be powered off by external power
      management IC (PMIC) triggered via PMIC_STBY_REQ signal.
      Boards that are designed to initiate poweroff on PMIC_ON_REQ signal should
      be using "syscon-poweroff" driver instead.

required:
  - compatible
  - reg
  - interrupts
  - '#clock-cells'

examples:
  # Clock Control Module node:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    clock-controller@20c4000 {
        compatible = "fsl,imx6q-ccm";
        reg = <0x020c4000 0x4000>;
        interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
                     <0 88 IRQ_TYPE_LEVEL_HIGH>;
        #clock-cells = <1>;
    };