Subject: Re: [PATCH 2/2] arm64: dts: lx2160a: add dts for CEX7 platforms

From: Russell King - ARM Linux admin <[email-masked]>
Date: Mon, 16 Dec 2019 11:01:37 +0000

On Wed, Dec 11, 2019 at 03:40:07PM +0800, Shawn Guo wrote:
> On Mon, Dec 09, 2019 at 12:00:42PM +0000, Russell King wrote:
> > From: Rabeeh Khoury <[email-masked]>
> > 
> > The device tree enables the following features -
> > 1. dpmac17 RGMII MAC connected to Atheros AR8035 phy
> > 2. 2x MDIO busses
> > 3. 2x USB 3.0 controllers
> > 4. 4x SATA ports
> > 5. MT35X 512Mb SPI flash
> > 6. Temperature sensor on i2c0 channel 3
> > 7. AMC6821 temperature and PWM fan controller (not fitted)
> > 
> > The module supports AMC6821 PWM controller which is not currently
> > assembled on currently available Com Express 7 hardware.
> > 
> > This commit adds support for the Clearfog CX and Honeycomb variants,
> > which are indentical in this patch, but once QSFP support is finished,
> > only the Clearfog CX will have a QSFP description.
> > 
> > Signed-off-by: Rabeeh Khoury <[email-masked]>
> > [Add Makefile patch, split into clearfog-cx and honeycomb variants,
> > reworded commit -- rmk]
> > Signed-off-by: Russell King <[email-masked]>
> > ---
> >  arch/arm64/boot/dts/freescale/Makefile        |   2 +
> >  .../boot/dts/freescale/fsl-lx2160a-cex7.dtsi  | 123 ++++++++++++++++++
> >  .../dts/freescale/fsl-lx2160a-clearfog-cx.dts |  15 +++
> >  .../freescale/fsl-lx2160a-clearfog-itx.dtsi   |  57 ++++++++
> >  .../dts/freescale/fsl-lx2160a-honeycomb.dts   |  15 +++
> >  5 files changed, 212 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-cx.dts
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts
> > 
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> > index 93fce8f0c66d..b4d696e64625 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -18,6 +18,8 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
> > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-clearfog-cx.dtb
> > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-honeycomb.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
> >  
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
> > new file mode 100644
> > index 000000000000..4761737e62e2
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
> > @@ -0,0 +1,123 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> > +//
> > +// Device Tree file for LX2160A-CEx7
> > +//
> > +// Copyright 2019 SolidRun Ltd.
> > +
> > +/dts-v1/;
> > +
> > +#include "fsl-lx2160a.dtsi"
> > +
> > +/ {
> > +	model = "SolidRun LX2160A COM Express Type 7 module";
> > +	compatible = "solidrun,lx2160a-cex7", "fsl,lx2160a";
> 
> Any new compatible needs to be documented.

Grepping for "lx2160a-qds" and "lx2160a-rdb" in that tree shows no
matches.  Maybe all lx2160a boards should be documented together
when a place for such documentation is decided upon.  (In other
words, no, I'm not going to do as you requested until the existing
boards are given the same treatment you're requesting - otherwise
it's unfair.)

> > +
> > +	aliases {
> > +		crypto = &crypto;
> > +	};
> > +
> > +	sb_3v3: regulator-sb3v3 {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "RT7290";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		regulator-boot-on;
> > +		regulator-always-on;
> > +	};
> > +};
> > +
> > +&crypto {
> > +	status = "okay";
> > +};
> > +
> > +&esdhc1 {
> > +	mmc-hs200-1_8v;
> > +	mmc-hs400-1_8v;
> > +	bus-width = <8>;
> > +	status = "okay";
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +
> > +	i2c-switch@77 {
> > +		compatible = "nxp,pca9547";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		reg = <0x77>;
> > +
> > +		i2c@1 {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +			reg = <1>;
> 
> As an idiomatic practice, we have a newline between properties and child
> node ...
> 
> > +			fan-temperature-ctrlr@18 {
> > +				compatible = "ti,amc6821";
> > +				reg = <0x18>;
> > +				cooling-min-state = <0>;
> > +				cooling-max-state = <9>;
> > +				#cooling-cells = <2>;
> > +			};
> > +		};
> 
> ... and in between nodes.
> 
> > +		i2c@3 {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +			reg = <3>;
> > +
> > +			temperature-sensor@48 {
> > +				compatible = "nxp,sa56004";
> > +				reg = <0x48>;
> > +				vcc-supply = <&sb_3v3>;
> > +			};
> > +		};
> > +	};
> > +};
> > +
> > +&i2c2 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c4 {
> > +	status = "okay";
> > +
> > +	rtc@51 {
> > +		compatible = "nxp,pcf2129";
> > +		reg = <0x51>;
> > +		// IRQ10_B
> > +		interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
> > +	};
> > +};
> > +
> > +&fspi {
> > +	status = "okay";
> 
> Ditto
> 
> > +	flash@0 {
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		compatible = "micron,m25p80";
> > +		m25p,fast-read;
> > +		spi-max-frequency = <50000000>;
> > +		reg = <0>;
> > +		/* The following setting enables 1-1-8 (CMD-ADDR-DATA) mode */
> > +		spi-rx-bus-width = <8>;
> > +		spi-tx-bus-width = <1>;
> > +	};
> > +};
> > +
> > +&usb0 {
> > +	status = "okay";
> > +};
> > +
> > +&usb1 {
> > +	status = "okay";
> > +};
> > +
> > +&emdio1 {
> > +	status = "okay";
> 
> Ditto
> 
> > +	rgmii_phy1: ethernet-phy@1 {
> > +		reg = <1>;
> > +	};
> > +};
> > +
> > +&dpmac17 {
> 
> Instead of putting labeled nodes arbitrarily, we want to keep them
> sorted alphabetically.
> 
> Shawn
> 
> > +	phy-handle = <&rgmii_phy1>;
> > +	phy-connection-type = "rgmii-id";
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-cx.dts b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-cx.dts
> > new file mode 100644
> > index 000000000000..86a9b771428d
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-cx.dts
> > @@ -0,0 +1,15 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> > +//
> > +// Device Tree file for LX2160A Clearfog CX board
> > +//
> > +// Copyright 2019 SolidRun Ltd.
> > +
> > +/dts-v1/;
> > +
> > +#include "fsl-lx2160a-clearfog-itx.dtsi"
> > +
> > +/ {
> > +	model = "SolidRun LX2160A Clearfog CX";
> > +	compatible = "solidrun,clearfog-cx",
> > +		"solidrun,lx2160a-cex7", "fsl,lx2160a";
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
> > new file mode 100644
> > index 000000000000..10541f1345bf
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-itx.dtsi
> > @@ -0,0 +1,57 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> > +//
> > +// Device Tree file for LX2160A Clearfog ITX board; this contains the
> > +// common parts shared between the Clearfog CX and Honeycomb builds.
> > +//
> > +// Copyright 2019 SolidRun Ltd.
> > +
> > +/dts-v1/;
> > +
> > +#include "fsl-lx2160a-cex7.dtsi"
> > +
> > +/ {
> > +	aliases {
> > +		serial0 = &uart0;
> > +		serial1 = &uart1;
> > +	};
> > +
> > +	chosen {
> > +		stdout-path = "serial0:115200n8";
> > +	};
> > +};
> > +
> > +&esdhc0 {
> > +	sd-uhs-sdr104;
> > +	sd-uhs-sdr50;
> > +	sd-uhs-sdr25;
> > +	sd-uhs-sdr12;
> > +	status = "okay";
> > +};
> > +
> > +&uart0 {
> > +	status = "okay";
> > +};
> > +
> > +&uart1 {
> > +	status = "okay";
> > +};
> > +
> > +&emdio2 {
> > +	status = "okay";
> > +};
> > +
> > +&sata0 {
> > +	status = "okay";
> > +};
> > +
> > +&sata1 {
> > +	status = "okay";
> > +};
> > +
> > +&sata2 {
> > +	status = "okay";
> > +};
> > +
> > +&sata3 {
> > +	status = "okay";
> > +};
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts b/arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts
> > new file mode 100644
> > index 000000000000..fe19f3009ea5
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dts
> > @@ -0,0 +1,15 @@
> > +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> > +//
> > +// Device Tree file for LX2160A Honeycomb board
> > +//
> > +// Copyright 2019 SolidRun Ltd.
> > +
> > +/dts-v1/;
> > +
> > +#include "fsl-lx2160a-clearfog-itx.dtsi"
> > +
> > +/ {
> > +	model = "SolidRun LX2160A Honeycomb";
> > +	compatible = "solidrun,honeycomb",
> > +		"solidrun,lx2160a-cex7", "fsl,lx2160a";
> > +};
> > -- 
> > 2.20.1
> > 
> 

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel