devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Shawn Guo <shawnguo@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	Anson Huang <Anson.Huang@nxp.com>, Li Yang <leoyang.li@nxp.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/4] arm64: dts: imx8mm-var-som: Add Variscite VAR-SOM-MX8MM System on Module
Date: Sun, 23 Aug 2020 10:48:51 +0200	[thread overview]
Message-ID: <20200823084851.GB2886@kozik-lap> (raw)
In-Reply-To: <20200823015647.GI30094@dragon>

On Sun, Aug 23, 2020 at 09:56:47AM +0800, Shawn Guo wrote:
> On Mon, Aug 17, 2020 at 09:01:19AM +0200, Krzysztof Kozlowski wrote:
> > Add DTSI of Variscite VAR-SOM-MX8MM System on Module in a basic version,
> > delivered with Variscite Symphony Evaluation kit.  This version comes
> > with:
> >  - 2 GB of RAM,
> >  - 16 GB eMMC,
> >  - Gigabit Ethernet PHY,
> >  - 802.11 ac/a/b/g/n WiFi with 4.2 Bluetooth (Cypress CYW43353),
> >  - CAN bus,
> >  - Audio codec (not yet configured in DTSI).
> > 
> > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> > 
> > ---
> > 
> > Changes since v1:
> > 1. None
> > ---
> >  .../boot/dts/freescale/imx8mm-var-som.dtsi    | 579 ++++++++++++++++++
> >  1 file changed, 579 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
> > 
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
> > new file mode 100644
> > index 000000000000..c5b8f6db19b0
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
> > @@ -0,0 +1,579 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2019 NXP
> > + * Copyright (C) 2020 Krzysztof Kozlowski <krzk@kernel.org>
> > + */
> > +
> > +#include "imx8mm.dtsi"
> > +
> > +/ {
> > +	model = "Variscite VAR-SOM-MX8MM module";
> > +	compatible = "variscite,var-som-mx8mm", "fsl,imx8mm";
> > +
> > +	chosen {
> > +		stdout-path = &uart4;
> > +	};
> > +
> > +	memory@40000000 {
> > +		device_type = "memory";
> > +		reg = <0x0 0x40000000 0 0x80000000>;
> > +	};
> > +
> > +	reg_eth_phy: regulator-0 {
> > +		compatible = "regulator-fixed";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_reg_eth_phy>;
> > +		regulator-name = "eth_phy_pwr";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>;
> > +		enable-active-high;
> > +	};
> > +};
> > +
> > +&A53_0 {
> > +	cpu-supply = <&buck2_reg>;
> > +};
> > +
> > +&A53_1 {
> > +	cpu-supply = <&buck2_reg>;
> > +};
> > +
> > +&A53_2 {
> > +	cpu-supply = <&buck2_reg>;
> > +};
> > +
> > +&A53_3 {
> > +	cpu-supply = <&buck2_reg>;
> > +};
> > +
> > +&ddrc {
> > +	operating-points-v2 = <&ddrc_opp_table>;
> > +
> > +	ddrc_opp_table: opp-table {
> > +		compatible = "operating-points-v2";
> > +
> > +		opp-25M {
> > +			opp-hz = /bits/ 64 <25000000>;
> > +		};
> > +
> > +		opp-100M {
> > +			opp-hz = /bits/ 64 <100000000>;
> > +		};
> > +
> > +		opp-750M {
> > +			opp-hz = /bits/ 64 <750000000>;
> > +		};
> > +	};
> > +};
> > +
> > +&ecspi1 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_ecspi1>;
> > +	cs-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>,
> > +		   <&gpio1  0 GPIO_ACTIVE_HIGH>;
> > +	fsl,spi-num-chipselects = <2>;
> 
> This property is not supported any more.

Sure.

> 
> > +	/delete-property/ dmas;
> > +	/delete-property/ dma-names;
> > +	status = "okay";
> > +
> > +	/* Resistive touch controller */
> > +	touchscreen@0 {
> > +		reg = <0>;
> > +		compatible = "ti,ads7846";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_restouch>;
> > +		interrupt-parent = <&gpio1>;
> > +		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
> > +
> > +		spi-max-frequency = <1500000>;
> > +		pendown-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
> > +
> > +		ti,x-min = /bits/ 16 <125>;
> > +		touchscreen-size-x = /bits/ 16 <4008>;
> > +		ti,y-min = /bits/ 16 <282>;
> > +		touchscreen-size-y = /bits/ 16 <3864>;
> > +		ti,x-plate-ohms = /bits/ 16 <180>;
> > +		touchscreen-max-pressure = /bits/ 16 <255>;
> > +		touchscreen-average-samples = /bits/ 16 <10>;
> > +		ti,debounce-tol = /bits/ 16 <3>;
> > +		ti,debounce-rep = /bits/ 16 <1>;
> > +		ti,settle-delay-usec = /bits/ 16 <150>;
> > +		ti,keep-vref-on;
> > +		wakeup-source;
> > +	};
> > +
> > +	can: can@1 {
> > +		/* TODO: binding not documented, patches on the LKML */
> 
> Do not submit stuff that haven't landed.

It is in the HW so for completeness of HW description it has a meaning.
However if that's not desired, I can skip it.

> 
> > +		compatible = "microchip,mcp2517fd";
> > +		reg = <1>;
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_can>;
> > +		interrupt-parent = <&gpio1>;
> > +		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
> > +		spi-max-frequency = <20000000>;
> > +	};
> > +};
> > +
> > +&fec1 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_fec1>;
> > +	phy-mode = "rgmii";
> > +	phy-handle = <&ethphy>;
> > +	phy-supply = <&reg_eth_phy>;
> > +	phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
> > +	phy-reset-duration = <100>;
> > +	phy-reset-post-delay = <100>;
> 
> These properties are deprecated.  Check out bindings/net/fsl-fec.txt.

OK

> 
> > +	fsl,magic-packet;
> > +	status = "okay";
> > +
> > +	mdio {
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		ethphy: ethernet-phy@4 {
> > +			compatible = "ethernet-phy-ieee802.3-c22";
> > +			reg = <4>;
> > +		};
> > +	};
> > +};
> > +
> > +&i2c1 {
> > +	clock-frequency = <400000>;
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_i2c1>;
> > +	status = "okay";
> > +
> > +	pmic@4b {
> > +		compatible = "rohm,bd71847";
> > +		reg = <0x4b>;
> > +		pinctrl-0 = <&pinctrl_pmic>;
> > +		interrupt-parent = <&gpio2>;
> > +		interrupts = <8 GPIO_ACTIVE_LOW>;
> > +		rohm,reset-snvs-powered;
> > +
> > +		regulators {
> > +			buck1_reg: BUCK1 {
> > +				regulator-name = "BUCK1";
> > +				regulator-min-microvolt = <700000>;
> > +				regulator-max-microvolt = <1300000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +				regulator-ramp-delay = <1250>;
> > +			};
> > +
> > +			buck2_reg: BUCK2 {
> > +				regulator-name = "BUCK2";
> > +				regulator-min-microvolt = <700000>;
> > +				regulator-max-microvolt = <1300000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +				regulator-ramp-delay = <1250>;
> > +				rohm,dvs-run-voltage = <1000000>;
> > +				rohm,dvs-idle-voltage = <900000>;
> > +			};
> > +
> > +			buck3_reg: BUCK3 {
> > +				regulator-name = "BUCK3";
> > +				regulator-min-microvolt = <700000>;
> > +				regulator-max-microvolt = <1350000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			buck4_reg: BUCK4 {
> > +				regulator-name = "BUCK4";
> > +				regulator-min-microvolt = <3000000>;
> > +				regulator-max-microvolt = <3300000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			buck5_reg: BUCK5 {
> > +				regulator-name = "BUCK5";
> > +				regulator-min-microvolt = <1605000>;
> > +				regulator-max-microvolt = <1995000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			buck6_reg: BUCK6 {
> > +				regulator-name = "BUCK6";
> > +				regulator-min-microvolt = <800000>;
> > +				regulator-max-microvolt = <1400000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			ldo1_reg: LDO1 {
> > +				regulator-name = "LDO1";
> > +				regulator-min-microvolt = <1600000>;
> > +				regulator-max-microvolt = <1900000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			ldo2_reg: LDO2 {
> > +				regulator-name = "LDO2";
> > +				regulator-min-microvolt = <800000>;
> > +				regulator-max-microvolt = <900000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			ldo3_reg: LDO3 {
> > +				regulator-name = "LDO3";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <3300000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			ldo4_reg: LDO4 {
> > +				regulator-name = "LDO4";
> > +				regulator-min-microvolt = <900000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			ldo5_reg: LDO5 {
> > +				regulator-compatible = "LDO5";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-always-on;
> > +			};
> > +
> > +			ldo6_reg: LDO6 {
> > +				regulator-name = "LDO6";
> > +				regulator-min-microvolt = <900000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +		};
> > +	};
> > +};
> > +
> > +&i2c3 {
> > +	clock-frequency = <400000>;
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_i2c3>;
> > +	status = "okay";
> > +
> > +	/* TODO: configure audio, as of now just put a placeholder */
> > +	wm8904: codec@1a {
> > +		compatible = "wlf,wm8904";
> > +		reg = <0x1a>;
> > +		status = "disabled";
> > +	};
> > +};
> > +
> > +&snvs_pwrkey {
> > +	status = "okay";
> > +};
> > +
> > +/* Bluetooth */
> > +&uart2 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_uart2>;
> > +	assigned-clocks = <&clk IMX8MM_CLK_UART2>;
> > +	assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
> > +	uart-has-rtscts;
> > +	status = "okay";
> > +};
> > +
> > +/* Console */
> > +&uart4 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_uart4>;
> > +	status = "okay";
> > +};
> > +
> > +&usbotg1 {
> > +	dr_mode = "otg";
> > +	usb-role-switch;
> > +	status = "okay";
> > +};
> > +
> > +&usbotg2 {
> > +	dr_mode = "otg";
> > +	usb-role-switch;
> > +	status = "okay";
> > +};
> > +
> > +/* WIFI */
> > +&usdhc1 {
> > +	#address-cells = <1>;
> > +	#size-cells = <0>;
> > +	pinctrl-names = "default", "state_100mhz", "state_200mhz";
> > +	pinctrl-0 = <&pinctrl_usdhc1>;
> > +	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
> > +	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
> > +	bus-width = <4>;
> > +	non-removable;
> > +	keep-power-in-suspend;
> > +	status = "okay";
> > +
> > +	brcmf: bcrmf@1 {
> > +		reg = <1>;
> > +		compatible = "brcm,bcm4329-fmac";
> > +	};
> > +};
> > +
> > +/* SD */
> > +&usdhc2 {
> > +	assigned-clocks = <&clk IMX8MM_CLK_USDHC2>;
> > +	assigned-clock-rates = <200000000>;
> > +	pinctrl-names = "default", "state_100mhz", "state_200mhz";
> > +	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
> > +	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
> > +	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
> > +	cd-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> > +	bus-width = <4>;
> > +	vmmc-supply = <&reg_usdhc2_vmmc>;
> > +	status = "okay";
> > +};
> > +
> > +/* eMMC */
> > +&usdhc3 {
> > +	assigned-clocks = <&clk IMX8MM_CLK_USDHC3_ROOT>;
> > +	assigned-clock-rates = <400000000>;
> > +	pinctrl-names = "default", "state_100mhz", "state_200mhz";
> > +	pinctrl-0 = <&pinctrl_usdhc3>;
> > +	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
> > +	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
> > +	bus-width = <8>;
> > +	non-removable;
> > +	status = "okay";
> > +};
> > +
> > +&wdog1 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_wdog>;
> > +	fsl,ext-reset-output;
> > +	status = "okay";
> > +};
> > +
> > +&iomuxc {
> > +	pinctrl-names = "default";
> 
> The property 'pinctrl-names' should be used with pinctrl-X as pair.

Indeed, this does not make much sense. Thanks for the review.

Best regards,
Krzysztof

  reply	other threads:[~2020-08-23  8:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17  7:01 [PATCH v2 1/4] dt-bindings: arm: fsl: Add binding for Variscite VAR-SOM-MX8MM module Krzysztof Kozlowski
2020-08-17  7:01 ` [PATCH v2 2/4] dt-bindings: arm: fsl: Add binding for Variscite Symphony board with VAR-SOM-MX8MM Krzysztof Kozlowski
2020-08-17  7:01 ` [PATCH v2 3/4] arm64: dts: imx8mm-var-som: Add Variscite VAR-SOM-MX8MM System on Module Krzysztof Kozlowski
2020-08-23  1:56   ` Shawn Guo
2020-08-23  8:48     ` Krzysztof Kozlowski [this message]
2020-08-17  7:01 ` [PATCH v2 4/4] arm64: dts: imx8mm-var-som-symphony: Add Variscite Symphony board with VAR-SOM-MX8MM Krzysztof Kozlowski
2020-08-23  2:00   ` Shawn Guo
2020-08-23  8:58     ` Krzysztof Kozlowski
2020-08-24 10:47       ` Shawn Guo
2020-08-24 10:53         ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200823084851.GB2886@kozik-lap \
    --to=krzk@kernel.org \
    --cc=Anson.Huang@nxp.com \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=leoyang.li@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).