100 lines
2.9 KiB
YAML
100 lines
2.9 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/clock/imx7ulp-scg-clock.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Clock bindings for Freescale i.MX7ULP System Clock Generation (SCG) modules
|
||
|
|
||
|
maintainers:
|
||
|
- A.s. Dong <aisheng.dong@nxp.com>
|
||
|
|
||
|
description: |
|
||
|
i.MX7ULP Clock functions are under joint control of the System
|
||
|
Clock Generation (SCG) modules, Peripheral Clock Control (PCC)
|
||
|
modules, and Core Mode Controller (CMC)1 blocks
|
||
|
|
||
|
The clocking scheme provides clear separation between M4 domain
|
||
|
and A7 domain. Except for a few clock sources shared between two
|
||
|
domains, such as the System Oscillator clock, the Slow IRC (SIRC),
|
||
|
and and the Fast IRC clock (FIRCLK), clock sources and clock
|
||
|
management are separated and contained within each domain.
|
||
|
|
||
|
M4 clock management consists of SCG0, PCC0, PCC1, and CMC0 modules.
|
||
|
A7 clock management consists of SCG1, PCC2, PCC3, and CMC1 modules.
|
||
|
|
||
|
Note: this binding doc is only for A7 clock domain.
|
||
|
|
||
|
The System Clock Generation (SCG) is responsible for clock generation
|
||
|
and distribution across this device. Functions performed by the SCG
|
||
|
include: clock reference selection, generation of clock used to derive
|
||
|
processor, system, peripheral bus and external memory interface clocks,
|
||
|
source selection for peripheral clocks and control of power saving
|
||
|
clock gating mode.
|
||
|
|
||
|
The clock consumer should specify the desired clock by having the clock
|
||
|
ID in its "clocks" phandle cell.
|
||
|
See include/dt-bindings/clock/imx7ulp-clock.h for the full list of
|
||
|
i.MX7ULP clock IDs of each module.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: fsl,imx7ulp-scg1
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
'#clock-cells':
|
||
|
const: 1
|
||
|
|
||
|
clocks:
|
||
|
items:
|
||
|
- description: rtc osc
|
||
|
- description: system osc
|
||
|
- description: slow internal reference clock
|
||
|
- description: fast internal reference clock
|
||
|
- description: usb PLL
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: rosc
|
||
|
- const: sosc
|
||
|
- const: sirc
|
||
|
- const: firc
|
||
|
- const: upll
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- '#clock-cells'
|
||
|
- clocks
|
||
|
- clock-names
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/clock/imx7ulp-clock.h>
|
||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||
|
|
||
|
clock-controller@403e0000 {
|
||
|
compatible = "fsl,imx7ulp-scg1";
|
||
|
reg = <0x403e0000 0x10000>;
|
||
|
clocks = <&rosc>, <&sosc>, <&sirc>,
|
||
|
<&firc>, <&upll>;
|
||
|
clock-names = "rosc", "sosc", "sirc",
|
||
|
"firc", "upll";
|
||
|
#clock-cells = <1>;
|
||
|
};
|
||
|
|
||
|
mmc@40380000 {
|
||
|
compatible = "fsl,imx7ulp-usdhc";
|
||
|
reg = <0x40380000 0x10000>;
|
||
|
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>,
|
||
|
<&scg1 IMX7ULP_CLK_NIC1_DIV>,
|
||
|
<&pcc2 IMX7ULP_CLK_USDHC1>;
|
||
|
clock-names ="ipg", "ahb", "per";
|
||
|
bus-width = <4>;
|
||
|
};
|