Re: [PATCH v2 4/4] arm64: dts: imx8mm-var-som-symphony: Add Variscite Symphony board with VAR-SOM-MX8MM

From: Krzysztof Kozlowski
Date: Mon Aug 24 2020 - 06:53:19 EST


On Mon, Aug 24, 2020 at 06:47:19PM +0800, Shawn Guo wrote:
> On Sun, Aug 23, 2020 at 10:58:47AM +0200, Krzysztof Kozlowski wrote:
> > On Sun, Aug 23, 2020 at 10:00:51AM +0800, Shawn Guo wrote:
> > > On Mon, Aug 17, 2020 at 09:01:20AM +0200, Krzysztof Kozlowski wrote:
> > > > Add a DTS for Variscite Symphony evaluation kit with VAR-SOM-MX8MM
> > > > System on Module.
> > > >
> > > > Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> > > >
> > > > ---
> > > >
> > > > Changes since v1:
> > > > 1. Remove duplicated "leds" node,
> > > > 2. Fix heartbeat to active low,
> > > > 3. Add nxp,ptn5150 extcon.
> > > > ---
> > > > arch/arm64/boot/dts/freescale/Makefile | 1 +
> > > > .../dts/freescale/imx8mm-var-som-symphony.dts | 248 ++++++++++++++++++
> > > > 2 files changed, 249 insertions(+)
> > > > create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
> > > >
> > > > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> > > > index a39f0a1723e0..dcfb8750cd78 100644
> > > > --- a/arch/arm64/boot/dts/freescale/Makefile
> > > > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > > > @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
> > > > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
> > > >
> > > > dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
> > > > +dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
> > > > dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb
> > > > dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk.dtb
> > > > dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
> > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
> > > > new file mode 100644
> > > > index 000000000000..2d3c30ac5e04
> > > > --- /dev/null
> > > > +++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dts
> > > > @@ -0,0 +1,248 @@
> > > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > > +/*
> > > > + * Copyright (C) 2020 Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> > > > + */
> > > > +
> > > > +/dts-v1/;
> > > > +
> > > > +#include "imx8mm-var-som.dtsi"
> > > > +
> > > > +/ {
> > > > + model = "Variscite VAR-SOM-MX8MM Symphony evaluation board";
> > > > + compatible = "variscite,var-som-mx8mm-symphony", "variscite,var-som-mx8mm", "fsl,imx8mm";
> > > > +
> > > > + reg_usdhc2_vmmc: regulator-1 {
> > >
> > > regulator-usdhc2-vmmc
> >
> > You mean the node name? If so, it's not correct with device tree
> > specification:
> > "The node-name (...) should describe the general class of device.:
> > If appropriate, the name should be one of the following choices:
> > (...)
> > - regulator"
> >
> > Adding specific function/type/usage to the name of the node is a
> > opposite choice to "general class".
>
> Well, the node is named in general class, i.e. regulator-xxx, and we
> would like the suffix to be a bit more specific. We have been using
> this name schema for fixed-regulator on i.MX platforms for long time.

Name "regulator-usdhc2-vmmc" is not general, it is specific. The DT
specification gives the example of generic name and it is "regulator".

It is the same with CPU nodes having names "cpu@0", not "cpu-a53@0" or
whatever other suffix. It is the same reason why I2C is "i2c@12345678",
not "i2c_1@" or "i2c_for_abcd".

The suffix is not needed as Linux does not use it (instead uses
regulator-name which is specific). Humans on the other hand can
understand the specifics from the label and from the regulator name.
Therefore they also do not need the suffix.

I know that other i.MX DTSes follow this pattern but it is still not the
recommended one. It's a pattern which should be replaced.

Anyway, if the names of regulators stop this patch from being applied, I
will change them to expected.

Best regards,
Krzysztof