The qcom,dispcc bindings had a few problems with them: 1. They didn't specify all the clocks that dispcc is a client of. Specifically on sc7180 there are two clocks from the DSI PHY and two from the DP PHY. On sdm845 there are actually two DSI PHYs (each of which has two clocks) and an extra clock from the gcc. These all need to be specified. 2. The sdm845.dtsi has existed for quite some time without specifying the clocks. The Linux driver was relying on global names to match things up. While we should transition things, it should be noted in the bindings. 3. The names used the bindings for "xo" and "gpll0" didn't match the names that QC used for these clocks internally and this was causing confusion / difficulty with their code generation tools. Switched to the internal names to simplify everyone's lives. It's not quite as clean in a purist sense but it should avoid headaches. This officially changes the binding, but that seems OK in this case. Also note that I updated the example. Fixes: 5d28e44ba630 ("dt-bindings: clock: Add YAML schemas for the QCOM DISPCC clock bindings") Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://lkml.kernel.org/r/20200203103049.v4.2.I0c4bbb0f75a0880cd4bd90d8b267271e2375e0d0@changeid Signed-off-by: Stephen Boyd <sboyd@kernel.org>
85 lines
2.0 KiB
YAML
85 lines
2.0 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/clock/qcom,sc7180-dispcc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Display Clock & Reset Controller Binding for SC7180
|
|
|
|
maintainers:
|
|
- Taniya Das <tdas@codeaurora.org>
|
|
|
|
description: |
|
|
Qualcomm display clock control module which supports the clocks, resets and
|
|
power domains on SC7180.
|
|
|
|
See also dt-bindings/clock/qcom,dispcc-sc7180.h.
|
|
|
|
properties:
|
|
compatible:
|
|
const: qcom,sc7180-dispcc
|
|
|
|
clocks:
|
|
items:
|
|
- description: Board XO source
|
|
- description: GPLL0 source from GCC
|
|
- description: Byte clock from DSI PHY
|
|
- description: Pixel clock from DSI PHY
|
|
- description: Link clock from DP PHY
|
|
- description: VCO DIV clock from DP PHY
|
|
|
|
clock-names:
|
|
items:
|
|
- const: bi_tcxo
|
|
- const: gcc_disp_gpll0_clk_src
|
|
- const: dsi0_phy_pll_out_byteclk
|
|
- const: dsi0_phy_pll_out_dsiclk
|
|
- const: dp_phy_pll_link_clk
|
|
- const: dp_phy_pll_vco_div_clk
|
|
|
|
'#clock-cells':
|
|
const: 1
|
|
|
|
'#reset-cells':
|
|
const: 1
|
|
|
|
'#power-domain-cells':
|
|
const: 1
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- clock-names
|
|
- '#clock-cells'
|
|
- '#reset-cells'
|
|
- '#power-domain-cells'
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/qcom,gcc-sc7180.h>
|
|
#include <dt-bindings/clock/qcom,rpmh.h>
|
|
clock-controller@af00000 {
|
|
compatible = "qcom,sc7180-dispcc";
|
|
reg = <0 0x0af00000 0 0x200000>;
|
|
clocks = <&rpmhcc RPMH_CXO_CLK>,
|
|
<&gcc GCC_DISP_GPLL0_CLK_SRC>,
|
|
<&dsi_phy 0>,
|
|
<&dsi_phy 1>,
|
|
<&dp_phy 0>,
|
|
<&dp_phy 1>;
|
|
clock-names = "bi_tcxo",
|
|
"gcc_disp_gpll0_clk_src",
|
|
"dsi0_phy_pll_out_byteclk",
|
|
"dsi0_phy_pll_out_dsiclk",
|
|
"dp_phy_pll_link_clk",
|
|
"dp_phy_pll_vco_div_clk";
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
};
|
|
...
|