dt-bindings: clock: samsung: convert Exynos4 to dtschema
Merge Exynos4210 and Exynos4412 clock controller bindings to existing DT schema. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20210825134056.219884-6-krzysztof.kozlowski@canonical.com Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
parent
e9385b93ff
commit
7ac6157809
@ -1,86 +0,0 @@
|
||||
* Samsung Exynos4 Clock Controller
|
||||
|
||||
The Exynos4 clock controller generates and supplies clock to various controllers
|
||||
within the Exynos4 SoC. The clock binding described here is applicable to all
|
||||
SoC's in the Exynos4 family.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: should be one of the following.
|
||||
- "samsung,exynos4210-clock" - controller compatible with Exynos4210 SoC.
|
||||
- "samsung,exynos4412-clock" - controller compatible with Exynos4412 SoC.
|
||||
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
Each clock is assigned an identifier and client nodes can use this identifier
|
||||
to specify the clock which they consume.
|
||||
|
||||
All available clocks are defined as preprocessor macros in
|
||||
dt-bindings/clock/exynos4.h header and can be used in device
|
||||
tree sources.
|
||||
|
||||
Example 1: An example of a clock controller node is listed below.
|
||||
|
||||
clock: clock-controller@10030000 {
|
||||
compatible = "samsung,exynos4210-clock";
|
||||
reg = <0x10030000 0x20000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
Example 2: UART controller node that consumes the clock generated by the clock
|
||||
controller. Refer to the standard clock bindings for information
|
||||
about 'clocks' and 'clock-names' property.
|
||||
|
||||
serial@13820000 {
|
||||
compatible = "samsung,exynos4210-uart";
|
||||
reg = <0x13820000 0x100>;
|
||||
interrupts = <0 54 0>;
|
||||
clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
|
||||
clock-names = "uart", "clk_uart_baud0";
|
||||
};
|
||||
|
||||
Exynos4412 SoC contains some additional clocks for FIMC-ISP (Camera ISP)
|
||||
subsystem. Registers for those clocks are located in the ISP power domain.
|
||||
Because those registers are also located in a different memory region than
|
||||
the main clock controller, a separate clock controller has to be defined for
|
||||
handling them.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: should be "samsung,exynos4412-isp-clock".
|
||||
|
||||
- reg: physical base address of the ISP clock controller and length of memory
|
||||
mapped region.
|
||||
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
- clocks: list of the clock controller input clock identifiers,
|
||||
from common clock bindings, should point to CLK_ACLK200 and
|
||||
CLK_ACLK400_MCUISP clocks from the main clock controller.
|
||||
|
||||
- clock-names: list of the clock controller input clock names,
|
||||
as described in clock-bindings.txt, should be "aclk200" and
|
||||
"aclk400_mcuisp".
|
||||
|
||||
- power-domains: a phandle to ISP power domain node as described by
|
||||
generic PM domain bindings.
|
||||
|
||||
Example 3: The clock controllers bindings for Exynos4412 SoCs.
|
||||
|
||||
clock: clock-controller@10030000 {
|
||||
compatible = "samsung,exynos4412-clock";
|
||||
reg = <0x10030000 0x18000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
isp_clock: clock-controller@10048000 {
|
||||
compatible = "samsung,exynos4412-isp-clock";
|
||||
reg = <0x10048000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
power-domains = <&pd_isp>;
|
||||
clocks = <&clock CLK_ACLK200>, <&clock CLK_ACLK400_MCUISP>;
|
||||
clock-names = "aclk200", "aclk400_mcuisp";
|
||||
};
|
@ -23,6 +23,8 @@ properties:
|
||||
- samsung,exynos3250-cmu
|
||||
- samsung,exynos3250-cmu-dmc
|
||||
- samsung,exynos3250-cmu-isp
|
||||
- samsung,exynos4210-clock
|
||||
- samsung,exynos4412-clock
|
||||
- samsung,exynos5250-clock
|
||||
- items:
|
||||
- enum:
|
||||
@ -31,6 +33,7 @@ properties:
|
||||
- const: syscon
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
"#clock-cells":
|
||||
|
@ -0,0 +1,64 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/samsung,exynos4412-isp-clock.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung Exynos4412 SoC ISP clock controller
|
||||
|
||||
maintainers:
|
||||
- Chanwoo Choi <cw00.choi@samsung.com>
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
|
||||
- Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||
- Tomasz Figa <tomasz.figa@gmail.com>
|
||||
|
||||
description: |
|
||||
Clock controller for Samsung Exynos4412 SoC FIMC-ISP (Camera ISP)
|
||||
All available clocks are defined as preprocessor macros in
|
||||
dt-bindings/clock/ headers.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: samsung,exynos4412-isp-clock
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: CLK_ACLK200 from the main clock controller
|
||||
- description: CLK_ACLK400_MCUISP from the main clock controller
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: aclk200
|
||||
- const: aclk400_mcuisp
|
||||
|
||||
"#clock-cells":
|
||||
const: 1
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#clock-cells"
|
||||
- clocks
|
||||
- clock-names
|
||||
- power-domains
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/exynos4412.h>
|
||||
clock-controller@10048000 {
|
||||
compatible = "samsung,exynos4412-isp-clock";
|
||||
reg = <0x10048000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
power-domains = <&pd_isp>;
|
||||
clocks = <&clock CLK_ACLK200>, <&clock CLK_ACLK400_MCUISP>;
|
||||
clock-names = "aclk200", "aclk400_mcuisp";
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user