mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.9 KiB
99 lines
2.9 KiB
# 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 <[email protected]> |
|
|
|
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>; |
|
};
|
|
|