Message ID | 20211204061042.1248028-7-Mr.Bossman075@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add initial support for the i.MXRTxxxx SoC family starting from i.IMXRT1050 SoC. | expand |
Quoting Jesse Taube (2021-12-03 22:10:35) > diff --git a/Documentation/devicetree/bindings/clock/imxrt-clock.yaml b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml > new file mode 100644 > index 000000000000..8af48c59ff99 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml > @@ -0,0 +1,67 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/imxrt-clock.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Clock bindings for Freescale i.MXRT > + > +maintainers: > + - Giulio Benetti <giulio.benetti@benettiengineering.com> > + - Jesse Taube <Mr.Bossman075@gmail.com> > + > +description: | > + The clock consumer should specify the desired clock by having the clock > + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imxrt*-clock.h > + for the full list of i.MXRT clock IDs. > + > +properties: > + compatible: > + const: fsl,imxrt1050-ccm > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 2 > + > + clocks: > + minItems: 1 > + > + clock-names: > + minItems: 1 Why minitems vs. exactly 1 for osc? > + > + '#clock-cells': > + const: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - '#clock-cells' > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/imxrt1050-clock.h> > + > + ccm@400fc000 { s/ccm/clock-controller/ > + compatible = "fsl,imxrt1050-ccm"; > + reg = <0x400fc000 0x4000>; > + interrupts = <95>, <96>; > + clocks = <&osc>; > + clock-names = "osc"; > + #clock-cells = <1>; > + }; > + > + Nitpick: Drop extra newline > + lpuart1: serial@40184000 { > + compatible = "fsl,imxrt1050-lpuart"; > + reg = <0x40184000 0x4000>; > + interrupts = <20>; > + clocks = <&clks IMXRT1050_CLK_LPUART1>; > + clock-names = "ipg"; > + }; > -- > 2.34.0 >
On 12/6/21 17:38, Stephen Boyd wrote: > Quoting Jesse Taube (2021-12-03 22:10:35) >> diff --git a/Documentation/devicetree/bindings/clock/imxrt-clock.yaml b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml >> new file mode 100644 >> index 000000000000..8af48c59ff99 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml >> @@ -0,0 +1,67 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/clock/imxrt-clock.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Clock bindings for Freescale i.MXRT >> + >> +maintainers: >> + - Giulio Benetti <giulio.benetti@benettiengineering.com> >> + - Jesse Taube <Mr.Bossman075@gmail.com> >> + >> +description: | >> + The clock consumer should specify the desired clock by having the clock >> + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imxrt*-clock.h >> + for the full list of i.MXRT clock IDs. >> + >> +properties: >> + compatible: >> + const: fsl,imxrt1050-ccm >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 2 >> + >> + clocks: >> + minItems: 1 >> + >> + clock-names: >> + minItems: 1 > > Why minitems vs. exactly 1 for osc? because i don't understand yaml yet. I'll look into this. >> + >> + '#clock-cells': >> + const: 1 >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + - clocks >> + - clock-names >> + - '#clock-cells' >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/clock/imxrt1050-clock.h> >> + >> + ccm@400fc000 { > > s/ccm/clock-controller/ This made my day! > >> + compatible = "fsl,imxrt1050-ccm"; >> + reg = <0x400fc000 0x4000>; >> + interrupts = <95>, <96>; >> + clocks = <&osc>; >> + clock-names = "osc"; >> + #clock-cells = <1>; >> + }; >> + >> + > > Nitpick: Drop extra newline sorry will fix. > >> + lpuart1: serial@40184000 { >> + compatible = "fsl,imxrt1050-lpuart"; >> + reg = <0x40184000 0x4000>; >> + interrupts = <20>; >> + clocks = <&clks IMXRT1050_CLK_LPUART1>; >> + clock-names = "ipg"; >> + }; >> -- >> 2.34.0 >>
Hi Jesse, On 07/12/21 03:32, Jesse Taube wrote: > > > On 12/6/21 17:38, Stephen Boyd wrote: >> Quoting Jesse Taube (2021-12-03 22:10:35) >>> diff --git a/Documentation/devicetree/bindings/clock/imxrt-clock.yaml b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml >>> new file mode 100644 >>> index 000000000000..8af48c59ff99 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml here the file name should be imxrt1050-clock.yaml >>> @@ -0,0 +1,67 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/clock/imxrt-clock.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: Clock bindings for Freescale i.MXRT >>> + >>> +maintainers: >>> + - Giulio Benetti <giulio.benetti@benettiengineering.com> >>> + - Jesse Taube <Mr.Bossman075@gmail.com> >>> + >>> +description: | >>> + The clock consumer should specify the desired clock by having the clock >>> + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imxrt*-clock.h >>> + for the full list of i.MXRT clock IDs. >>> + >>> +properties: >>> + compatible: >>> + const: fsl,imxrt1050-ccm >>> + >>> + reg: >>> + maxItems: 1 >>> + >>> + interrupts: >>> + maxItems: 2 >>> + >>> + clocks: >>> + minItems: 1 >>> + >>> + clock-names: >>> + minItems: 1 >> >> Why minitems vs. exactly 1 for osc? > because i don't understand yaml yet. > I'll look into this. on clocks and clock-names you have to specify the only available clocks that can be an input to ccm, in our case only "osc", which description will be "24m osc". Check this file as reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/clock/imx6ul-clock.yaml Kind regards
diff --git a/Documentation/devicetree/bindings/clock/imxrt-clock.yaml b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml new file mode 100644 index 000000000000..8af48c59ff99 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/imxrt-clock.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Clock bindings for Freescale i.MXRT + +maintainers: + - Giulio Benetti <giulio.benetti@benettiengineering.com> + - Jesse Taube <Mr.Bossman075@gmail.com> + +description: | + The clock consumer should specify the desired clock by having the clock + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imxrt*-clock.h + for the full list of i.MXRT clock IDs. + +properties: + compatible: + const: fsl,imxrt1050-ccm + + reg: + maxItems: 1 + + interrupts: + maxItems: 2 + + clocks: + minItems: 1 + + clock-names: + minItems: 1 + + '#clock-cells': + const: 1 + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - '#clock-cells' + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/imxrt1050-clock.h> + + ccm@400fc000 { + compatible = "fsl,imxrt1050-ccm"; + reg = <0x400fc000 0x4000>; + interrupts = <95>, <96>; + clocks = <&osc>; + clock-names = "osc"; + #clock-cells = <1>; + }; + + + lpuart1: serial@40184000 { + compatible = "fsl,imxrt1050-lpuart"; + reg = <0x40184000 0x4000>; + interrupts = <20>; + clocks = <&clks IMXRT1050_CLK_LPUART1>; + clock-names = "ipg"; + };