Message ID | 20220113121143.22280-2-alim.akhtar@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for Tesla Full Self-Driving (FSD) SoC | expand |
On 13/01/2022 13:11, Alim Akhtar wrote: > Add dt-schema documentation for Tesla FSD SoC clock controller. > > Cc: linux-fsd@tesla.com > Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com> > --- > .../bindings/clock/tesla,fsd-clock.yaml | 212 ++++++++++++++++++ > 1 file changed, 212 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml > > diff --git a/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml b/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml > new file mode 100644 > index 000000000000..58f341e5004d > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml > @@ -0,0 +1,212 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/tesla,fsd-clock.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Tesla FSD (Full Self-Driving) SoC clock controller > + > +maintainers: > + - Alim Akhtar <alim.akhtar@samsung.com> > + - linux-fsd@tesla.com > + > +description: | > + FSD clock controller consist of several clock management unit > + (CMU), which generates clocks for various inteernal SoC blocks. > + The root clock comes from external OSC clock (24 MHz). > + > + All available clocks are defined as preprocessor macros in > + 'dt-bindings/clock/fsd-clk.h' header. > + > +properties: > + compatible: > + enum: > + - tesla,fsd-clock-cmu > + - tesla,fsd-clock-imem > + - tesla,fsd-clock-peric > + - tesla,fsd-clock-fsys0 > + - tesla,fsd-clock-fsys1 > + - tesla,fsd-clock-mfc > + - tesla,fsd-clock-cam_csi > + > + clocks: > + minItems: 1 > + maxItems: 6 > + > + clock-names: > + minItems: 1 > + maxItems: 6 > + > + "#clock-cells": > + const: 1 > + > + reg: > + maxItems: 1 > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: tesla,fsd-clock-cmu > + Nitpick: Drop the white-spaces between if-then. It's easier to spot the if-blocks if they are together. > + then: > + properties: > + clocks: > + items: > + - description: External reference clock (24 MHz) > + Drop this whitespace as well. Rest looks good to me, except the discussion about the compatible. Best regards, Krzysztof
On Thu, 13 Jan 2022 17:41:21 +0530, Alim Akhtar wrote: > Add dt-schema documentation for Tesla FSD SoC clock controller. > > Cc: linux-fsd@tesla.com > Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com> > --- > .../bindings/clock/tesla,fsd-clock.yaml | 212 ++++++++++++++++++ > 1 file changed, 212 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/clock/tesla,fsd-clock.example.dts:19:18: fatal error: dt-bindings/clock/fsd-clk.h: No such file or directory 19 | #include <dt-bindings/clock/fsd-clk.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [scripts/Makefile.lib:373: Documentation/devicetree/bindings/clock/tesla,fsd-clock.example.dt.yaml] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1413: dt_binding_check] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/1579595 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
>-----Original Message----- >From: Krzysztof Kozlowski [mailto:krzysztof.kozlowski@canonical.com] >Sent: Thursday, January 13, 2022 6:11 PM >To: Alim Akhtar <alim.akhtar@samsung.com>; linux-arm- >kernel@lists.infradead.org; linux-kernel@vger.kernel.org >Cc: soc@kernel.org; linux-clk@vger.kernel.org; devicetree@vger.kernel.org; >olof@lixom.net; linus.walleij@linaro.org; catalin.marinas@arm.com; >robh+dt@kernel.org; s.nawrocki@samsung.com; linux-samsung- >soc@vger.kernel.org; pankaj.dubey@samsung.com; linux-fsd@tesla.com >Subject: Re: [PATCH 01/23] dt-bindings: clock: Document FSD CMU bindings > >On 13/01/2022 13:11, Alim Akhtar wrote: >> Add dt-schema documentation for Tesla FSD SoC clock controller. >> >> Cc: linux-fsd@tesla.com >> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com> >> --- >> .../bindings/clock/tesla,fsd-clock.yaml | 212 ++++++++++++++++++ >> 1 file changed, 212 insertions(+) >> create mode 100644 >> Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml >> >> diff --git >> a/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml >> b/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml >> new file mode 100644 >> index 000000000000..58f341e5004d >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml >> @@ -0,0 +1,212 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 >> +--- >> +$id: >> +https://protect2.fireeye.com/v1/url?k=7e607c7a-1f1d943d-7e61f735-74fe >> +485fff30-a4acf0e03cbf256d&q=1&e=05b30de9-b535-49f7-9359- >77edd951da07& >> +u=http%3A%2F%2Fdevicetree.org%2Fschemas%2Fclock%2Ftesla%2Cfsd- >clock.y >> +aml%23 >> +$schema: >> +https://protect2.fireeye.com/v1/url?k=5c769dcb-3d0b758c-5c771684-74fe >> +485fff30-b4007a892a5a3e44&q=1&e=05b30de9-b535-49f7-9359- >77edd951da07& >> +u=http%3A%2F%2Fdevicetree.org%2Fmeta-schemas%2Fcore.yaml%23 >> + >> +title: Tesla FSD (Full Self-Driving) SoC clock controller >> + >> +maintainers: >> + - Alim Akhtar <alim.akhtar@samsung.com> >> + - linux-fsd@tesla.com >> + >> +description: | >> + FSD clock controller consist of several clock management unit >> + (CMU), which generates clocks for various inteernal SoC blocks. >> + The root clock comes from external OSC clock (24 MHz). >> + >> + All available clocks are defined as preprocessor macros in >> + 'dt-bindings/clock/fsd-clk.h' header. >> + >> +properties: >> + compatible: >> + enum: >> + - tesla,fsd-clock-cmu >> + - tesla,fsd-clock-imem >> + - tesla,fsd-clock-peric >> + - tesla,fsd-clock-fsys0 >> + - tesla,fsd-clock-fsys1 >> + - tesla,fsd-clock-mfc >> + - tesla,fsd-clock-cam_csi >> + >> + clocks: >> + minItems: 1 >> + maxItems: 6 >> + >> + clock-names: >> + minItems: 1 >> + maxItems: 6 >> + >> + "#clock-cells": >> + const: 1 >> + >> + reg: >> + maxItems: 1 >> + >> +allOf: >> + - if: >> + properties: >> + compatible: >> + contains: >> + const: tesla,fsd-clock-cmu >> + > >Nitpick: Drop the white-spaces between if-then. It's easier to spot the if- >blocks if they are together. > Thanks will fix in next version >> + then: >> + properties: >> + clocks: >> + items: >> + - description: External reference clock (24 MHz) >> + > >Drop this whitespace as well. > Noted >Rest looks good to me, except the discussion about the compatible. > Have replied to the original question thread. > >Best regards, >Krzysztof
diff --git a/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml b/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml new file mode 100644 index 000000000000..58f341e5004d --- /dev/null +++ b/Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml @@ -0,0 +1,212 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/tesla,fsd-clock.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Tesla FSD (Full Self-Driving) SoC clock controller + +maintainers: + - Alim Akhtar <alim.akhtar@samsung.com> + - linux-fsd@tesla.com + +description: | + FSD clock controller consist of several clock management unit + (CMU), which generates clocks for various inteernal SoC blocks. + The root clock comes from external OSC clock (24 MHz). + + All available clocks are defined as preprocessor macros in + 'dt-bindings/clock/fsd-clk.h' header. + +properties: + compatible: + enum: + - tesla,fsd-clock-cmu + - tesla,fsd-clock-imem + - tesla,fsd-clock-peric + - tesla,fsd-clock-fsys0 + - tesla,fsd-clock-fsys1 + - tesla,fsd-clock-mfc + - tesla,fsd-clock-cam_csi + + clocks: + minItems: 1 + maxItems: 6 + + clock-names: + minItems: 1 + maxItems: 6 + + "#clock-cells": + const: 1 + + reg: + maxItems: 1 + +allOf: + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-cmu + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + + clock-names: + items: + - const: fin_pll + + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-imem + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + - description: IMEM TCU clock (from CMU_CMU) + - description: IMEM bus clock (from CMU_CMU) + - description: IMEM DMA clock (from CMU_CMU) + + clock-names: + items: + - const: fin_pll + - const: dout_cmu_imem_tcuclk + - const: dout_cmu_imem_aclk + - const: dout_cmu_imem_dmaclk + + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-peric + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + - description: Shared0 PLL div4 clock (from CMU_CMU) + - description: PERIC shared1 div36 clock (from CMU_CMU) + - description: PERIC shared0 div3 TBU clock (from CMU_CMU) + - description: PERIC shared0 div20 clock (from CMU_CMU) + - description: PERIC shared1 div4 DMAclock (from CMU_CMU) + + clock-names: + items: + - const: fin_pll + - const: dout_cmu_pll_shared0_div4 + - const: dout_cmu_peric_shared1div36 + - const: dout_cmu_peric_shared0div3_tbuclk + - const: dout_cmu_peric_shared0div20 + - const: dout_cmu_peric_shared1div4_dmaclk + + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-fsys0 + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + - description: Shared0 PLL div6 clock (from CMU_CMU) + - description: FSYS0 shared1 div4 clock (from CMU_CMU) + - description: FSYS0 shared0 div4 clock (from CMU_CMU) + + clock-names: + items: + - const: fin_pll + - const: dout_cmu_pll_shared0_div6 + - const: dout_cmu_fsys0_shared1div4 + - const: dout_cmu_fsys0_shared0div4 + + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-fsys1 + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + - description: FSYS1 shared0 div8 clock (from CMU_CMU) + - description: FSYS1 shared0 div4 clock (from CMU_CMU) + + clock-names: + items: + - const: fin_pll + - const: dout_cmu_fsys1_shared0div8 + - const: dout_cmu_fsys1_shared0div4 + + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-mfc + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + + clock-names: + items: + - const: fin_pll + + - if: + properties: + compatible: + contains: + const: tesla,fsd-clock-cam_csi + + then: + properties: + clocks: + items: + - description: External reference clock (24 MHz) + + clock-names: + items: + - const: fin_pll + +required: + - compatible + - "#clock-cells" + - clocks + - clock-names + - reg + +additionalProperties: false + +examples: + # Clock controller node for CMU_FSYS1 + - | + #include <dt-bindings/clock/fsd-clk.h> + + clock_fsys1: clock-controller@16810000 { + compatible = "tesla,fsd-clock-fsys1"; + reg = <0x0 0x16810000 0x0 0x3000>; + #clock-cells = <1>; + + clocks = <&fin_pll>, + <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV8>, + <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV4>; + clock-names = "fin_pll", + "dout_cmu_fsys1_shared0div8", + "dout_cmu_fsys1_shared0div4"; + }; + +...
Add dt-schema documentation for Tesla FSD SoC clock controller. Cc: linux-fsd@tesla.com Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com> --- .../bindings/clock/tesla,fsd-clock.yaml | 212 ++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml