mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 13:09:58 +00:00
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
|
||||||
- samsung,exynos3250-cmu-dmc
|
- samsung,exynos3250-cmu-dmc
|
||||||
- samsung,exynos3250-cmu-isp
|
- samsung,exynos3250-cmu-isp
|
||||||
|
- samsung,exynos4210-clock
|
||||||
|
- samsung,exynos4412-clock
|
||||||
- samsung,exynos5250-clock
|
- samsung,exynos5250-clock
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
@ -31,6 +33,7 @@ properties:
|
|||||||
- const: syscon
|
- const: syscon
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
|
minItems: 1
|
||||||
maxItems: 4
|
maxItems: 4
|
||||||
|
|
||||||
"#clock-cells":
|
"#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