Re: [PATCH v2 1/8] dt-bindings: clock: samsung: convert Exynos5250 to dtschema

Krzysztof Kozlowski
2021-08-11T06:44:25Z

On 10/08/2021 19:51, Sam Protsenko wrote:
> On Tue, 10 Aug 2021 at 12:32, Krzysztof Kozlowski
> <krzysztof.kozlowski@canonical.com> wrote:
>>
>> Convert Samsung Exynos5250 clock controller bindings to DT schema format
>> using json-schema.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
>> ---
>> .../bindings/clock/exynos5250-clock.txt | 41 ----------------
>> .../bindings/clock/samsung,exynos-clock.yaml | 48 +++++++++++++++++++
>> MAINTAINERS | 1 +
>> 3 files changed, 49 insertions(+), 41 deletions(-)
>> delete mode 100644 Documentation/devicetree/bindings/clock/exynos5250-clock.txt
>> create mode 100644 Documentation/devicetree/bindings/clock/samsung,exynos-clock.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
>> deleted file mode 100644
>> index aff266a12eeb..000000000000
>> --- a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
>> +++ /dev/null
>> @@ -1,41 +0,0 @@
>> -* Samsung Exynos5250 Clock Controller
>> -
>> -The Exynos5250 clock controller generates and supplies clock to various
>> -controllers within the Exynos5250 SoC.
>> -
>> -Required Properties:
>> -
>> -- compatible: should be one of the following.
>> - - "samsung,exynos5250-clock" - controller compatible with Exynos5250 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/exynos5250.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@10010000 {
>> - compatible = "samsung,exynos5250-clock";
>> - reg = <0x10010000 0x30000>;
>> - #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";
>> - };
>> diff --git a/Documentation/devicetree/bindings/clock/samsung,exynos-clock.yaml b/Documentation/devicetree/bindings/clock/samsung,exynos-clock.yaml
>> new file mode 100644
>> index 000000000000..cd6567bd8cc7
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/clock/samsung,exynos-clock.yaml
>> @@ -0,0 +1,48 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/clock/samsung,exynos-clock.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Samsung Exynos SoC 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: |
>> + All available clocks are defined as preprocessor macros in
>> + dt-bindings/clock/ headers.
>> +
>> +properties:
>> + compatible:
>> + const: samsung,exynos5250-clock
>> +
>> + assigned-clocks: true
>> + assigned-clock-parents: true
>> + assigned-clock-rates: true
>> + clocks: true
>> +
>> + "#clock-cells":
>> + const: 1
>> +
>> + reg:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - "#clock-cells"
>> + - reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/clock/exynos5250.h>
>> + clock: clock-controller@10010000 {
>> + compatible = "samsung,exynos5250-clock";
>> + reg = <0x10010000 0x30000>;
>> + #clock-cells = <1>;
>> + };
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 36aee8517ab0..2dbacacac3f5 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -16491,6 +16491,7 @@ L: linux-samsung-soc@vger.kernel.org
>> S: Supported
>> T: git git://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git
>> F: Documentation/devicetree/bindings/clock/exynos*.txt
>
> Are there any exynos*.txt bindings actually left after this series? If
> no, maybe it's worth to remove this line while at it.

Yes, there are. These are the bindings which expect specific external
fixed clock and I don't know yet how to model it in dtschema.

Best regards,
Krzysztof