On Tue, Dec 17, 2019 at 9:19 AM Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> wrote: > > The global clock controller on MSM8998 can consume a number of external > clocks. Document them. > > For 7180 and 8150, the hardware always exists, so no clocks are truly > optional. Therefore, simplify the binding by removing the min/max > qualifiers to clocks. Also, fixup an example so that dt_binding_check > passes. > > Signed-off-by: Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > --- > .../devicetree/bindings/clock/qcom,gcc.yaml | 73 +++++++++++++++++----- > 1 file changed, 59 insertions(+), 14 deletions(-) This breaks 'make dt_binding_check'... > > diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml > index e73a56f..f2b5cd6 100644 > --- a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml > +++ b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml > @@ -40,20 +40,40 @@ properties: > - qcom,gcc-sm8150 > > clocks: > - minItems: 1 > - maxItems: 3 > - items: > - - description: Board XO source > - - description: Board active XO source > - - description: Sleep clock source > + oneOf: > + #qcom,gcc-sm8150 > + #qcom,gcc-sc7180 > + - items: > + - description: Board XO source > + - description: Board active XO source > + - description: Sleep clock source > + #qcom,gcc-msm8998 > + - items: > + - description: Board XO source > + - description: Sleep clock source > + - description: USB 3.0 phy pipe clock > + - description: UFS phy rx symbol clock for pipe 0 > + - description: UFS phy rx symbol clock for pipe 1 > + - description: UFS phy tx symbol clock > + - description: PCIE phy pipe clock > > clock-names: > - minItems: 1 > - maxItems: 3 > - items: > - - const: bi_tcxo > - - const: bi_tcxo_ao > - - const: sleep_clk > + oneOf: > + #qcom,gcc-sm8150 > + #qcom,gcc-sc7180 > + - items: > + - const: bi_tcxo > + - const: bi_tcxo_ao > + - const: sleep_clk > + #qcom,gcc-msm8998 > + - items: > + - const: xo > + - const: sleep_clk > + - const: usb3_pipe > + - const: ufs_rx_symbol0 > + - const: ufs_rx_symbol1 > + - const: ufs_tx_symbol0 > + - const: pcie0_pipe > > '#clock-cells': > const: 1 > @@ -118,6 +138,7 @@ else: > compatible: > contains: > enum: > + - qcom,gcc-msm8998 > - qcom,gcc-sm8150 > - qcom,gcc-sc7180 > then: > @@ -179,10 +200,34 @@ examples: > clock-controller@100000 { > compatible = "qcom,gcc-sc7180"; > reg = <0x100000 0x1f0000>; > - clocks = <&rpmhcc 0>, <&rpmhcc 1>; > - clock-names = "bi_tcxo", "bi_tcxo_ao"; > + clocks = <&rpmhcc 0>, <&rpmhcc 1>, <0>; > + clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; > + #clock-cells = <1>; > + #reset-cells = <1>; > + #power-domain-cells = <1>; > + }; > + > + # Example of MSM8998 GCC: > + - | > + clock-controller@100000 { > + compatible = "qcom,gcc-msm8998"; > #clock-cells = <1>; > #reset-cells = <1>; > #power-domain-cells = <1>; > + reg = <0x00100000 0xb0000>; > + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, Probably because of this define. > + <&sleep>, > + <0>, > + <0>, > + <0>, > + <0>, > + <0>; Why are these all 0? > + clock-names = "xo", > + "sleep", > + "usb3_pipe", > + "ufs_rx_symbol0", > + "ufs_rx_symbol1", > + "ufs_tx_symbol0", > + "pcie0_pipe"; > }; > ... > -- > Qualcomm Technologies, Inc. is a member of the > Code Aurora Forum, a Linux Foundation Collaborative Project. >