From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Add documentation for i.MX8ULP's SIM LPAV module.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
.../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++
include/dt-bindings/clock/imx8ulp-clock.h | 5 ++
.../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++
3 files changed, 93 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
new file mode 100644
index 000000000000..fb3b9028a4c3
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP i.MX8ULP LPAV System Integration Module (SIM)
+
+maintainers:
+ - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
+
+description:
+ The i.MX8ULP LPAV subsystem contains a block control module known as
+ SIM LPAV, which offers functionalities such as clock gating or reset
+ line assertion/de-assertion.
+
+properties:
+ compatible:
+ const: fsl,imx8ulp-sim-lpav
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 3
+
+ clock-names:
+ items:
+ - const: lpav_bus
+ - const: hifi_core
+ - const: hifi_plat
+
+ '#clock-cells':
+ const: 1
+
+ '#reset-cells':
+ const: 1
+
+ mux-controller:
+ $ref: /schemas/mux/reg-mux.yaml#
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - '#clock-cells'
+ - '#reset-cells'
+ - mux-controller
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/imx8ulp-clock.h>
+
+ clock-controller@2da50000 {
+ compatible = "fsl,imx8ulp-sim-lpav";
+ reg = <0x2da50000 0x10000>;
+ clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
+ <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
+ <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>;
+ clock-names = "lpav_bus", "hifi_core", "hifi_plat";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ mux-controller {
+ compatible = "reg-mux";
+ #mux-control-cells = <1>;
+ mux-reg-masks = <0x8 0x00000200>;
+ };
+ };
diff --git a/include/dt-bindings/clock/imx8ulp-clock.h b/include/dt-bindings/clock/imx8ulp-clock.h
index 827404fadf5c..c62d84d093a9 100644
--- a/include/dt-bindings/clock/imx8ulp-clock.h
+++ b/include/dt-bindings/clock/imx8ulp-clock.h
@@ -255,4 +255,9 @@
#define IMX8ULP_CLK_PCC5_END 56
+/* LPAV SIM */
+#define IMX8ULP_CLK_SIM_LPAV_HIFI_CORE 0
+#define IMX8ULP_CLK_SIM_LPAV_HIFI_PBCLK 1
+#define IMX8ULP_CLK_SIM_LPAV_HIFI_PLAT 2
+
#endif
diff --git a/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
new file mode 100644
index 000000000000..adf95bb26d21
--- /dev/null
+++ b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright 2025 NXP
+ */
+
+#ifndef DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H
+#define DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H
+
+#define IMX8ULP_SIM_LPAV_HIFI4_DSP_DBG_RST 0
+#define IMX8ULP_SIM_LPAV_HIFI4_DSP_RST 1
+#define IMX8ULP_SIM_LPAV_HIFI4_DSP_STALL 2
+#define IMX8ULP_SIM_LPAV_DSI_RST_BYTE_N 3
+#define IMX8ULP_SIM_LPAV_DSI_RST_ESC_N 4
+#define IMX8ULP_SIM_LPAV_DSI_RST_DPI_N 5
+
+#endif /* DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H */
--
2.43.0
On Fri, Oct 17, 2025 at 2:22 PM Laurentiu Mihalcea <laurentiumihalcea111@gmail.com> wrote: > > From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > > Add documentation for i.MX8ULP's SIM LPAV module. > > Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Hi Laurentiu, On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote: >From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > >Add documentation for i.MX8ULP's SIM LPAV module. > >Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >--- >+description: >+ The i.MX8ULP LPAV subsystem contains a block control module known as >+ SIM LPAV, which offers functionalities such as clock gating or reset >+ line assertion/de-assertion. >+ >+properties: >+ compatible: >+ const: fsl,imx8ulp-sim-lpav This block also contains QoS registers, General purpose registers, HIFI general purpose registers, and others. I am not sure whether need to add a syscon fallback here. dt maintainer may help comment. Regards, Peng
On 10/22/2025 7:08 AM, Peng Fan wrote: > Hi Laurentiu, > > On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote: >> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >> >> Add documentation for i.MX8ULP's SIM LPAV module. >> >> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >> --- >> +description: >> + The i.MX8ULP LPAV subsystem contains a block control module known as >> + SIM LPAV, which offers functionalities such as clock gating or reset >> + line assertion/de-assertion. >> + >> +properties: >> + compatible: >> + const: fsl,imx8ulp-sim-lpav > This block also contains QoS registers, General purpose registers, HIFI > general purpose registers, and others. > > I am not sure whether need to add a syscon fallback here. dt maintainer may > help comment. syscon programming model is NOT compatible with this programming model. If you need access to other registers (not covered by reset/MUX/clock APIs), you're going to have to either go through a subsystem API or manually create a device link between SIM LPAV and your consumer and then use something like dev_get_regmap(). Either way, you need to make sure that you're using the same lock for register access. as for the interconnect QoS-related stuff: can't really comment on this as I haven't worked with it, nor do I have an use case for it ATM. However, the binding does need to be complete so suggestions in this regard would be much appreciated. > > Regards, > Peng
On Wed, Oct 22, 2025 at 10:08:41PM +0800, Peng Fan wrote: > Hi Laurentiu, > > On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote: > >From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > > > >Add documentation for i.MX8ULP's SIM LPAV module. > > > >Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > >--- > >+description: > >+ The i.MX8ULP LPAV subsystem contains a block control module known as > >+ SIM LPAV, which offers functionalities such as clock gating or reset > >+ line assertion/de-assertion. > >+ > >+properties: > >+ compatible: > >+ const: fsl,imx8ulp-sim-lpav > > This block also contains QoS registers, General purpose registers, HIFI Qos should go though interconnect interface. '#interconnect-cells' = <n>; Frank > general purpose registers, and others. > > I am not sure whether need to add a syscon fallback here. dt maintainer may > help comment. > > Regards, > Peng
On 17/10/2025 13:20, Laurentiu Mihalcea wrote: > From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > > Add documentation for i.MX8ULP's SIM LPAV module. > > Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > --- Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
> Add documentation for i.MX8ULP's SIM LPAV module.
>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
> .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++
> include/dt-bindings/clock/imx8ulp-clock.h | 5 ++
> .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++
> 3 files changed, 93 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
>
> diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> new file mode 100644
> index 000000000000..fb3b9028a4c3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8ULP LPAV System Integration Module (SIM)
> +
> +maintainers:
> + - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> +
> +description:
> + The i.MX8ULP LPAV subsystem contains a block control module known as
> + SIM LPAV, which offers functionalities such as clock gating or reset
> + line assertion/de-assertion.
> +
> +properties:
> + compatible:
> + const: fsl,imx8ulp-sim-lpav
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 3
> +
> + clock-names:
> + items:
> + - const: lpav_bus
> + - const: hifi_core
> + - const: hifi_plat
dt prefer use -
lpav-bus, ...
> +
> + '#clock-cells':
> + const: 1
> +
> + '#reset-cells':
> + const: 1
> +
> + mux-controller:
> + $ref: /schemas/mux/reg-mux.yaml#
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - '#clock-cells'
> + - '#reset-cells'
> + - mux-controller
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/imx8ulp-clock.h>
> +
> + clock-controller@2da50000 {
> + compatible = "fsl,imx8ulp-sim-lpav";
> + reg = <0x2da50000 0x10000>;
> + clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
> + <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
> + <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>;
> + clock-names = "lpav_bus", "hifi_core", "hifi_plat";
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> +
> + mux-controller {
> + compatible = "reg-mux";
> + #mux-control-cells = <1>;
> + mux-reg-masks = <0x8 0x00000200>;
> + };
> + };
> diff --git a/include/dt-bindings/clock/imx8ulp-clock.h b/include/dt-bindings/clock/imx8ulp-clock.h
> index 827404fadf5c..c62d84d093a9 100644
> --- a/include/dt-bindings/clock/imx8ulp-clock.h
> +++ b/include/dt-bindings/clock/imx8ulp-clock.h
> @@ -255,4 +255,9 @@
>
> #define IMX8ULP_CLK_PCC5_END 56
>
> +/* LPAV SIM */
> +#define IMX8ULP_CLK_SIM_LPAV_HIFI_CORE 0
> +#define IMX8ULP_CLK_SIM_LPAV_HIFI_PBCLK 1
> +#define IMX8ULP_CLK_SIM_LPAV_HIFI_PLAT 2
> +
> #endif
> diff --git a/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
> new file mode 100644
> index 000000000000..adf95bb26d21
> --- /dev/null
> +++ b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
> @@ -0,0 +1,16 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * Copyright 2025 NXP
> + */
> +
> +#ifndef DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H
> +#define DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H
> +
> +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_DBG_RST 0
> +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_RST 1
> +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_STALL 2
> +#define IMX8ULP_SIM_LPAV_DSI_RST_BYTE_N 3
> +#define IMX8ULP_SIM_LPAV_DSI_RST_ESC_N 4
> +#define IMX8ULP_SIM_LPAV_DSI_RST_DPI_N 5
> +
> +#endif /* DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H */
> --
> 2.43.0
>
On 17/10/2025 16:59, Frank Li wrote: > On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote: >> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >> >> Add documentation for i.MX8ULP's SIM LPAV module. >> >> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >> --- >> .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++ >> include/dt-bindings/clock/imx8ulp-clock.h | 5 ++ >> .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++ >> 3 files changed, 93 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >> create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h >> >> diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >> new file mode 100644 >> index 000000000000..fb3b9028a4c3 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >> @@ -0,0 +1,72 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: NXP i.MX8ULP LPAV System Integration Module (SIM) >> + >> +maintainers: >> + - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >> + >> +description: >> + The i.MX8ULP LPAV subsystem contains a block control module known as >> + SIM LPAV, which offers functionalities such as clock gating or reset >> + line assertion/de-assertion. >> + >> +properties: >> + compatible: >> + const: fsl,imx8ulp-sim-lpav >> + >> + reg: >> + maxItems: 1 >> + >> + clocks: >> + maxItems: 3 >> + >> + clock-names: >> + items: >> + - const: lpav_bus >> + - const: hifi_core >> + - const: hifi_plat > > dt prefer use - I don't think we ever expressed such preference. Where did you find it? > lpav-bus, ... Then just "bus" or "apb". Best regards, Krzysztof
On Sun, Oct 19, 2025 at 12:05:27PM +0200, Krzysztof Kozlowski wrote:
> On 17/10/2025 16:59, Frank Li wrote:
> > On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote:
> >> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> >>
> >> Add documentation for i.MX8ULP's SIM LPAV module.
> >>
> >> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> >> ---
> >> .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++
> >> include/dt-bindings/clock/imx8ulp-clock.h | 5 ++
> >> .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++
> >> 3 files changed, 93 insertions(+)
> >> create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> >> create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
> >>
> >> diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> >> new file mode 100644
> >> index 000000000000..fb3b9028a4c3
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> >> @@ -0,0 +1,72 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: NXP i.MX8ULP LPAV System Integration Module (SIM)
> >> +
> >> +maintainers:
> >> + - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> >> +
> >> +description:
> >> + The i.MX8ULP LPAV subsystem contains a block control module known as
> >> + SIM LPAV, which offers functionalities such as clock gating or reset
> >> + line assertion/de-assertion.
> >> +
> >> +properties:
> >> + compatible:
> >> + const: fsl,imx8ulp-sim-lpav
> >> +
> >> + reg:
> >> + maxItems: 1
> >> +
> >> + clocks:
> >> + maxItems: 3
> >> +
> >> + clock-names:
> >> + items:
> >> + - const: lpav_bus
> >> + - const: hifi_core
> >> + - const: hifi_plat
> >
> > dt prefer use -
>
>
> I don't think we ever expressed such preference. Where did you find it?
It should come from review message when submit binding-doc patch. but I
can't find it now. But at least, compatible string and node-name use "-".
It'd better to add to writing-bindings.rst. It is hard to search whole
linux-devicetree mail list or brain may cheat me. It is good to keep
everything consistent.
like:
" vs '
VCC-supply vs vcc-supply
...
>
>
> > lpav-bus, ...
> Then just "bus" or "apb".
core, plat is also better than hifi_core, hifi_plat
Frank
>
>
>
> Best regards,
> Krzysztof
On 10/20/2025 8:22 AM, Frank Li wrote: > On Sun, Oct 19, 2025 at 12:05:27PM +0200, Krzysztof Kozlowski wrote: >> On 17/10/2025 16:59, Frank Li wrote: >>> On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote: >>>> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >>>> >>>> Add documentation for i.MX8ULP's SIM LPAV module. >>>> >>>> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >>>> --- >>>> .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++ >>>> include/dt-bindings/clock/imx8ulp-clock.h | 5 ++ >>>> .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++ >>>> 3 files changed, 93 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >>>> create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h >>>> >>>> diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >>>> new file mode 100644 >>>> index 000000000000..fb3b9028a4c3 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >>>> @@ -0,0 +1,72 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: NXP i.MX8ULP LPAV System Integration Module (SIM) >>>> + >>>> +maintainers: >>>> + - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >>>> + >>>> +description: >>>> + The i.MX8ULP LPAV subsystem contains a block control module known as >>>> + SIM LPAV, which offers functionalities such as clock gating or reset >>>> + line assertion/de-assertion. >>>> + >>>> +properties: >>>> + compatible: >>>> + const: fsl,imx8ulp-sim-lpav >>>> + >>>> + reg: >>>> + maxItems: 1 >>>> + >>>> + clocks: >>>> + maxItems: 3 >>>> + >>>> + clock-names: >>>> + items: >>>> + - const: lpav_bus >>>> + - const: hifi_core >>>> + - const: hifi_plat >>> dt prefer use - >> >> I don't think we ever expressed such preference. Where did you find it? > It should come from review message when submit binding-doc patch. but I > can't find it now. But at least, compatible string and node-name use "-". > > It'd better to add to writing-bindings.rst. It is hard to search whole > linux-devicetree mail list or brain may cheat me. It is good to keep > everything consistent. > > like: > " vs ' > VCC-supply vs vcc-supply > ... > >> >>> lpav-bus, ... >> Then just "bus" or "apb". > core, plat is also better than hifi_core, hifi_plat sure, let's go with "bus", "core", "plat" then
On 20/10/2025 17:22, Frank Li wrote: > On Sun, Oct 19, 2025 at 12:05:27PM +0200, Krzysztof Kozlowski wrote: >> On 17/10/2025 16:59, Frank Li wrote: >>> On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote: >>>> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >>>> >>>> Add documentation for i.MX8ULP's SIM LPAV module. >>>> >>>> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >>>> --- >>>> .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++ >>>> include/dt-bindings/clock/imx8ulp-clock.h | 5 ++ >>>> .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++ >>>> 3 files changed, 93 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >>>> create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h >>>> >>>> diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >>>> new file mode 100644 >>>> index 000000000000..fb3b9028a4c3 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml >>>> @@ -0,0 +1,72 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: NXP i.MX8ULP LPAV System Integration Module (SIM) >>>> + >>>> +maintainers: >>>> + - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> >>>> + >>>> +description: >>>> + The i.MX8ULP LPAV subsystem contains a block control module known as >>>> + SIM LPAV, which offers functionalities such as clock gating or reset >>>> + line assertion/de-assertion. >>>> + >>>> +properties: >>>> + compatible: >>>> + const: fsl,imx8ulp-sim-lpav >>>> + >>>> + reg: >>>> + maxItems: 1 >>>> + >>>> + clocks: >>>> + maxItems: 3 >>>> + >>>> + clock-names: >>>> + items: >>>> + - const: lpav_bus >>>> + - const: hifi_core >>>> + - const: hifi_plat >>> >>> dt prefer use - >> >> >> I don't think we ever expressed such preference. Where did you find it? > > It should come from review message when submit binding-doc patch. but I > can't find it now. But at least, compatible string and node-name use "-". > > It'd better to add to writing-bindings.rst. It is hard to search whole > linux-devicetree mail list or brain may cheat me. It is good to keep > everything consistent. Yeah, but please don't make up rules and suggest them if you cannot justify them. I don't recall such rule and I don't have it in my notes, so that's why I asked. Best regards, Krzysztof
On Fri, Oct 17, 2025 at 04:20:19AM -0700, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
> Add documentation for i.MX8ULP's SIM LPAV module.
>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
> .../bindings/clock/fsl,imx8ulp-sim-lpav.yaml | 72 +++++++++++++++++++
> include/dt-bindings/clock/imx8ulp-clock.h | 5 ++
> .../dt-bindings/reset/fsl,imx8ulp-sim-lpav.h | 16 +++++
> 3 files changed, 93 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> create mode 100644 include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
>
> diff --git a/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> new file mode 100644
> index 000000000000..fb3b9028a4c3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/fsl,imx8ulp-sim-lpav.yaml
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/fsl,imx8ulp-sim-lpav.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8ULP LPAV System Integration Module (SIM)
> +
> +maintainers:
> + - Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> +
> +description:
> + The i.MX8ULP LPAV subsystem contains a block control module known as
> + SIM LPAV, which offers functionalities such as clock gating or reset
> + line assertion/de-assertion.
> +
> +properties:
> + compatible:
> + const: fsl,imx8ulp-sim-lpav
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 3
> +
> + clock-names:
> + items:
> + - const: lpav_bus
> + - const: hifi_core
> + - const: hifi_plat
> +
> + '#clock-cells':
> + const: 1
> +
> + '#reset-cells':
> + const: 1
> +
> + mux-controller:
> + $ref: /schemas/mux/reg-mux.yaml#
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - '#clock-cells'
> + - '#reset-cells'
> + - mux-controller
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/imx8ulp-clock.h>
> +
> + clock-controller@2da50000 {
Maybe mfd is better, this is clock, reset and mux controller actually.
Frank Li
> + compatible = "fsl,imx8ulp-sim-lpav";
> + reg = <0x2da50000 0x10000>;
> + clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
> + <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
> + <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>;
> + clock-names = "lpav_bus", "hifi_core", "hifi_plat";
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> +
> + mux-controller {
> + compatible = "reg-mux";
> + #mux-control-cells = <1>;
> + mux-reg-masks = <0x8 0x00000200>;
> + };
> + };
> diff --git a/include/dt-bindings/clock/imx8ulp-clock.h b/include/dt-bindings/clock/imx8ulp-clock.h
> index 827404fadf5c..c62d84d093a9 100644
> --- a/include/dt-bindings/clock/imx8ulp-clock.h
> +++ b/include/dt-bindings/clock/imx8ulp-clock.h
> @@ -255,4 +255,9 @@
>
> #define IMX8ULP_CLK_PCC5_END 56
>
> +/* LPAV SIM */
> +#define IMX8ULP_CLK_SIM_LPAV_HIFI_CORE 0
> +#define IMX8ULP_CLK_SIM_LPAV_HIFI_PBCLK 1
> +#define IMX8ULP_CLK_SIM_LPAV_HIFI_PLAT 2
> +
> #endif
> diff --git a/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
> new file mode 100644
> index 000000000000..adf95bb26d21
> --- /dev/null
> +++ b/include/dt-bindings/reset/fsl,imx8ulp-sim-lpav.h
> @@ -0,0 +1,16 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * Copyright 2025 NXP
> + */
> +
> +#ifndef DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H
> +#define DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H
> +
> +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_DBG_RST 0
> +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_RST 1
> +#define IMX8ULP_SIM_LPAV_HIFI4_DSP_STALL 2
> +#define IMX8ULP_SIM_LPAV_DSI_RST_BYTE_N 3
> +#define IMX8ULP_SIM_LPAV_DSI_RST_ESC_N 4
> +#define IMX8ULP_SIM_LPAV_DSI_RST_DPI_N 5
> +
> +#endif /* DT_BINDING_RESET_IMX8ULP_SIM_LPAV_H */
> --
> 2.43.0
>
On 17/10/2025 16:33, Frank Li wrote:
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/clock/imx8ulp-clock.h>
>> +
>> + clock-controller@2da50000 {
>
> Maybe mfd is better, this is clock, reset and mux controller actually.
There is no such hardware term as mfd.
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.