mbox series

[v4,0/3] arm64: dts: add i.MX95 and EVK board

Message ID 20240503-imx95-dts-v3-v4-0-535ddc2bde73@nxp.com
Headers show
Series arm64: dts: add i.MX95 and EVK board | expand

Message

Peng Fan (OSS) May 3, 2024, 1:37 a.m. UTC
Add a minimal i.MX95 dtsi and EVK board dts.
i.MX95 has a M33 running SCMI firmware, but as of now, the scmi pinctrl
driver still not ready for i.MX95, so we count on bootloader to
configure the pinctrl for lpuart and sdhc and it boots well. After pinctrl
driver ready, we could move to use scmi pinctrl.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Changes in v4:
- Sort nodes by address
- Drop coresight nodes
- Align clock rates for SDHC1-3
- Drop wdog3 board specific property
- Link to v3: https://lore.kernel.org/r/20240428-imx95-dts-v3-v3-0-765395f88b9f@nxp.com

Changes in v3:
- Drop irqsteer node because binding not accepted
- Pass dtbs_check
- Link to v2: https://lore.kernel.org/r/20240226-imx95-dts-v2-0-00e36637b07e@nxp.com

Changes in v2:
- Addressed Rob and Krzysztof's comments, and fix dts_check issue
  To pass the dtbs_check, need apply:
  https://lore.kernel.org/all/20240226070910.3379108-1-peng.fan@oss.nxp.com/
  https://lore.kernel.org/all/20240226130243.3820915-1-peng.fan@oss.nxp.com/
  https://lore.kernel.org/all/20240226130516.3821803-1-peng.fan@oss.nxp.com/
  https://lore.kernel.org/all/20240226130826.3824251-1-peng.fan@oss.nxp.com/
  https://lore.kernel.org/all/20240219-imx-mailbox-v8-1-75535a87794e@nxp.com/

- Link to v1: https://lore.kernel.org/r/20240218-imx95-dts-v1-0-2959f89f2018@nxp.com

---
Peng Fan (3):
      dt-bindings: arm: fsl: add i.MX95 19x19 EVK board
      arm64: dts: freescale: add i.MX95 basic dtsi
      arm64: dts: freescale: add i.MX95 19x19 EVK minimal board dts

 Documentation/devicetree/bindings/arm/fsl.yaml    |    6 +
 arch/arm64/boot/dts/freescale/Makefile            |    1 +
 arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts |  112 +++
 arch/arm64/boot/dts/freescale/imx95-clock.h       |  187 ++++
 arch/arm64/boot/dts/freescale/imx95-power.h       |   55 ++
 arch/arm64/boot/dts/freescale/imx95.dtsi          | 1049 +++++++++++++++++++++
 6 files changed, 1410 insertions(+)
---
base-commit: bb7a2467e6beef44a80a17d45ebf2931e7631083
change-id: 20240428-imx95-dts-v3-bee59f0e559b

Best regards,

Comments

Fabio Estevam May 3, 2024, 9:53 a.m. UTC | #1
Hi Peng,

On Thu, May 2, 2024 at 10:29 PM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:

> +       aliases {
> +               gpio0 = &gpio1;
> +               gpio1 = &gpio2;
> +               gpio2 = &gpio3;
> +               gpio3 = &gpio4;
> +               gpio4 = &gpio5;
> +               i2c0 = &lpi2c1;
> +               i2c1 = &lpi2c2;
> +               i2c2 = &lpi2c3;
> +               i2c3 = &lpi2c4;
> +               i2c4 = &lpi2c5;
> +               i2c5 = &lpi2c6;
> +               i2c6 = &lpi2c7;
> +               i2c7 = &lpi2c8;
> +               mmc0 = &usdhc1;
> +               mmc1 = &usdhc2;
> +               mmc2 = &usdhc3;
> +               serial0 = &lpuart1;
> +               serial1 = &lpuart2;
> +               serial2 = &lpuart3;
> +               serial3 = &lpuart4;
> +               serial4 = &lpuart5;
> +               serial5 = &lpuart6;
> +               serial6 = &lpuart7;
> +               serial7 = &lpuart8;
> +       };

This looks like an excessive aliases list.
Can't you just have serial0, mmc0, and mmc1 instead?

> +       reg_1p8v: regulator-1p8v {
> +               compatible = "regulator-fixed";
> +               regulator-max-microvolt = <1800000>;
> +               regulator-min-microvolt = <1800000>;
> +               regulator-name = "+V1.8_SW";
> +       };
> +
> +       reg_3p3v: regulator-3p3v {
> +               compatible = "regulator-fixed";
> +               regulator-max-microvolt = <3300000>;
> +               regulator-min-microvolt = <3300000>;
> +               regulator-name = "+V3.3_SW";
> +       };
> +
> +       reg_vref_1v8: regulator-adc-vref {
> +               compatible = "regulator-fixed";
> +               regulator-name = "vref_1v8";
> +               regulator-min-microvolt = <1800000>;
> +               regulator-max-microvolt = <1800000>;
> +       };

These regulators are not used anywhere.

Please add them when they have consumers for them.
Peng Fan May 3, 2024, 12:28 p.m. UTC | #2
> Subject: Re: [PATCH v4 3/3] arm64: dts: freescale: add i.MX95 19x19 EVK
> minimal board dts
> 
> Hi Peng,
> 
> On Thu, May 2, 2024 at 10:29 PM Peng Fan (OSS) <peng.fan@oss.nxp.com>
> wrote:
> 
> > +       aliases {
> > +               gpio0 = &gpio1;
> > +               gpio1 = &gpio2;
> > +               gpio2 = &gpio3;
> > +               gpio3 = &gpio4;
> > +               gpio4 = &gpio5;
> > +               i2c0 = &lpi2c1;
> > +               i2c1 = &lpi2c2;
> > +               i2c2 = &lpi2c3;
> > +               i2c3 = &lpi2c4;
> > +               i2c4 = &lpi2c5;
> > +               i2c5 = &lpi2c6;
> > +               i2c6 = &lpi2c7;
> > +               i2c7 = &lpi2c8;
> > +               mmc0 = &usdhc1;
> > +               mmc1 = &usdhc2;
> > +               mmc2 = &usdhc3;
> > +               serial0 = &lpuart1;
> > +               serial1 = &lpuart2;
> > +               serial2 = &lpuart3;
> > +               serial3 = &lpuart4;
> > +               serial4 = &lpuart5;
> > +               serial5 = &lpuart6;
> > +               serial6 = &lpuart7;
> > +               serial7 = &lpuart8;
> > +       };
> 
> This looks like an excessive aliases list.
> Can't you just have serial0, mmc0, and mmc1 instead?

ok, will drop other alias.

> 
> > +       reg_1p8v: regulator-1p8v {
> > +               compatible = "regulator-fixed";
> > +               regulator-max-microvolt = <1800000>;
> > +               regulator-min-microvolt = <1800000>;
> > +               regulator-name = "+V1.8_SW";
> > +       };
> > +
> > +       reg_3p3v: regulator-3p3v {
> > +               compatible = "regulator-fixed";
> > +               regulator-max-microvolt = <3300000>;
> > +               regulator-min-microvolt = <3300000>;
> > +               regulator-name = "+V3.3_SW";
> > +       };
> > +
> > +       reg_vref_1v8: regulator-adc-vref {
> > +               compatible = "regulator-fixed";
> > +               regulator-name = "vref_1v8";
> > +               regulator-min-microvolt = <1800000>;
> > +               regulator-max-microvolt = <1800000>;
> > +       };
> 
> These regulators are not used anywhere.
> 
> Please add them when they have consumers for them.

ok. Will drop the unused ones for now.

Thanks,
Peng.
Rob Herring (Arm) May 3, 2024, 1:26 p.m. UTC | #3
On Fri, 03 May 2024 09:37:10 +0800, Peng Fan (OSS) wrote:
> Add a minimal i.MX95 dtsi and EVK board dts.
> i.MX95 has a M33 running SCMI firmware, but as of now, the scmi pinctrl
> driver still not ready for i.MX95, so we count on bootloader to
> configure the pinctrl for lpuart and sdhc and it boots well. After pinctrl
> driver ready, we could move to use scmi pinctrl.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> Changes in v4:
> - Sort nodes by address
> - Drop coresight nodes
> - Align clock rates for SDHC1-3
> - Drop wdog3 board specific property
> - Link to v3: https://lore.kernel.org/r/20240428-imx95-dts-v3-v3-0-765395f88b9f@nxp.com
> 
> Changes in v3:
> - Drop irqsteer node because binding not accepted
> - Pass dtbs_check
> - Link to v2: https://lore.kernel.org/r/20240226-imx95-dts-v2-0-00e36637b07e@nxp.com
> 
> Changes in v2:
> - Addressed Rob and Krzysztof's comments, and fix dts_check issue
>   To pass the dtbs_check, need apply:
>   https://lore.kernel.org/all/20240226070910.3379108-1-peng.fan@oss.nxp.com/
>   https://lore.kernel.org/all/20240226130243.3820915-1-peng.fan@oss.nxp.com/
>   https://lore.kernel.org/all/20240226130516.3821803-1-peng.fan@oss.nxp.com/
>   https://lore.kernel.org/all/20240226130826.3824251-1-peng.fan@oss.nxp.com/
>   https://lore.kernel.org/all/20240219-imx-mailbox-v8-1-75535a87794e@nxp.com/
> 
> - Link to v1: https://lore.kernel.org/r/20240218-imx95-dts-v1-0-2959f89f2018@nxp.com
> 
> ---
> Peng Fan (3):
>       dt-bindings: arm: fsl: add i.MX95 19x19 EVK board
>       arm64: dts: freescale: add i.MX95 basic dtsi
>       arm64: dts: freescale: add i.MX95 19x19 EVK minimal board dts
> 
>  Documentation/devicetree/bindings/arm/fsl.yaml    |    6 +
>  arch/arm64/boot/dts/freescale/Makefile            |    1 +
>  arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts |  112 +++
>  arch/arm64/boot/dts/freescale/imx95-clock.h       |  187 ++++
>  arch/arm64/boot/dts/freescale/imx95-power.h       |   55 ++
>  arch/arm64/boot/dts/freescale/imx95.dtsi          | 1049 +++++++++++++++++++++
>  6 files changed, 1410 insertions(+)
> ---
> base-commit: bb7a2467e6beef44a80a17d45ebf2931e7631083
> change-id: 20240428-imx95-dts-v3-bee59f0e559b
> 
> Best regards,
> --
> Peng Fan <peng.fan@nxp.com>
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y freescale/imx95-19x19-evk.dtb' for 20240503-imx95-dts-v3-v4-0-535ddc2bde73@nxp.com:

arch/arm64/boot/dts/freescale/imx95-19x19-evk.dtb: mmc@428b0000: 'assigned-clocks' is a dependency of 'assigned-clock-parents'
	from schema $id: http://devicetree.org/schemas/clock/clock.yaml#
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dtb: mmc@428b0000: 'assigned-clocks' is a dependency of 'assigned-clock-rates'
	from schema $id: http://devicetree.org/schemas/clock/clock.yaml#