ARM: dts: mxs: add imx28 DNET01 board

Message ID 325f427c-352b-e3d0-fa2f-3055f02d8c3f@gmail.com
State New
Headers show
Series
  • ARM: dts: mxs: add imx28 DNET01 board
Related show

Commit Message

Gaëtan Carlier Jan. 18, 2018, 9:26 a.m.
Hi,
The patch adds support of imx28 DNET01 board

Signed-off-by: Gaëtan Carlier <gcembed@gmail.com>
---
 arch/arm/boot/dts/imx28-dnet01.dts | 184 +++++++++++++++++++++++++++++++++++++
 1 file changed, 184 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx28-dnet01.dts

Comments

Gaëtan Carlier Jan. 22, 2018, 9:36 a.m. | #1
Hi,

On 01/18/2018 10:26 AM, Gaëtan Carlier wrote:
> Hi,
> The patch adds support of imx28 DNET01 board
> 
> Signed-off-by: Gaëtan Carlier <gcembed@gmail.com>
> ---
>  arch/arm/boot/dts/imx28-dnet01.dts | 184 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 184 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx28-dnet01.dts
> 
> diff --git a/arch/arm/boot/dts/imx28-dnet01.dts b/arch/arm/boot/dts/imx28-dnet01.dts
> new file mode 100644
> index 0000000..c502ca7
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx28-dnet01.dts
> @@ -0,0 +1,184 @@
> +/*
> + * Copyright (C) 2018 Gaetan Carlier <gcembed@gmail.com>
> + *
> + * based on imx28-m28evk.dts
> + * Copyright (C) 2012 Marek Vasut <marex@denx.de>
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/dts-v1/;
> +#include "imx28.dtsi"
> +
> +/ {
> +	model = "Domintell DNET01";
> +	compatible = "domintell,dnet01", "fsl,imx28";
> +
> +	memory {
> +		reg = <0x40000000 0x08000000>;
> +	};
> +
> +	apb@80000000 {
> +		apbh@80000000 {
> +
> +			dcp: dcp@80028000 {
> +				/*
> +				 * Driver is not fully implemented.
> +				 * [PATCH] crypto: mxs-dcp - Initialize .statesize fields
> +				 * https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg17078.html
> +				 */
> +				status = "disable";
> +			};
> +
> +			ssp0: ssp@80010000 {
> +				compatible = "fsl,imx28-mmc";
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&mmc0_8bit_pins_a
> +					     &mmc0_sck_cfg>;
> +				bus-width = <8>;
> +				vmmc-supply = <&reg_3p3v>;
> +				broken-cd;
> +				disable-wp;
> +				cap-mmc-highspeed;
> +				non-removable;
> +				status = "okay";
> +			};
> +
> +			ssp2: ssp@80014000 {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				compatible = "fsl,imx28-spi";
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&spi2_pins_a>;
> +				status = "disable";
> +			};
> +		};
> +
> +		apbx@80040000 {
> +			mxs_rtc: rtc@80056000 {
> +				/*
> +				 * Overrides default state from imx28.dtsi
> +				 * Internal RTC must be disable as a high
> +				 * precision I2C is connected.
> +				 */
> +				status = "disabled";
> +			};
> +
> +			i2c0: i2c@80058000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&i2c0_pins_a>;
> +				status = "okay";
> +
> +				eeprom: eeprom@57 {
> +					compatible = "atmel,24c01";
> +					reg = <0x57>;
> +					pagesize = <8>;
> +					readonly = <1>;
> +				};
> +
> +				mcp7941x_rtc: rtc@6f {
> +					compatible = "dallas,mcp7941x";
> +					reg = <0x6f>;
> +					ds_type = "mcp7941x";
> +				};
> +			};
> +
> +			duart: serial@80074000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&duart_pins_a>;
> +				status = "okay";
> +			};
> +
> +			auart4: serial@80072000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&auart4_2pins_a>;
> +				status = "okay";
> +			};
> +		};
> +	};
> +
> +	ahb@80080000 {
> +		mac0: ethernet@800f0000 {
> +			phy-mode = "rmii";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&mac0_pins_a>;
> +			phy-supply = <&reg_3p3v>;
> +			phy-reset-gpios = <&gpio4 13 0>;
> +			phy-reset-duration = <100>;
> +			status = "okay";
> +		};
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		reg_3p3v: regulator@0 {
> +			compatible = "regulator-fixed";
> +			reg = <0>;
> +			regulator-name = "3P3V";
> +			regulator-min-microvolt = <3300000>;
> +			regulator-max-microvolt = <3300000>;
> +			regulator-always-on;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_leds>;
> +
> +		stm32rdyrx {
> +			/* Used to indicate that i.MX is ready to receive data from STM32 */
> +			label = "stm32rdyrx";
> +			gpios = <&gpio2 27 0>;
> +			linux,default-trigger = "none";
> +		};
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		stm32err {
> +			/* SPI_ERR : Used by STM32 that RS485 bus is busy or if sending of data has failed */
> +			label = "STM32 error-busy";
> +			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
> +			/* KEY_F23 0xC1 = 193 */
> +			linux,code = <193>;
> +			debounce-interval = <0>;
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	pinctrl_gpio: gpiokeygrp {
> +		reg = <0>;
> +		fsl,pinmux-ids = <
> +			MX28_PAD_GPMI_RDN__GPIO_0_24
> +		>;
> +		fsl,drive-strength = <MXS_DRIVE_4mA>;
> +		fsl,voltage = <MXS_VOLTAGE_HIGH>;
> +		fsl,pull-up = <MXS_PULL_ENABLE>;
> +	};
> +
> +	pinctrl_leds: ledsgrp {
> +		reg = <0>;
> +		fsl,pinmux-ids = <
> +			MX28_PAD_GPMI_CE0N__GPIO_0_16
> +			MX28_PAD_SSP3_SS0__GPIO_2_27
> +		>;
> +		fsl,drive-strength = <MXS_DRIVE_4mA>;
> +		fsl,voltage = <MXS_VOLTAGE_HIGH>;
> +		fsl,pull-up = <MXS_PULL_DISABLE>;
> +       };
> +};
> 

Any news ?

Regards,
Gaëtan.
Fabio Estevam Jan. 22, 2018, 11:01 a.m. | #2
Hi Gaëtan,

On Thu, Jan 18, 2018 at 7:26 AM, Gaëtan Carlier <gcembed@gmail.com> wrote:
> Hi,

This should not be part of the commit log.

> The patch adds support of imx28 DNET01 board

Here it would be nice to explain a little bit about the board and its features.

If you have a URL for the board, you can add it too.

>
> Signed-off-by: Gaëtan Carlier <gcembed@gmail.com>
> ---
>  arch/arm/boot/dts/imx28-dnet01.dts | 184 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 184 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx28-dnet01.dts
>
> diff --git a/arch/arm/boot/dts/imx28-dnet01.dts b/arch/arm/boot/dts/imx28-dnet01.dts
> new file mode 100644
> index 0000000..c502ca7
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx28-dnet01.dts
> @@ -0,0 +1,184 @@
> +/*
> + * Copyright (C) 2018 Gaetan Carlier <gcembed@gmail.com>
> + *
> + * based on imx28-m28evk.dts
> + * Copyright (C) 2012 Marek Vasut <marex@denx.de>
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:

Please use SPDX identifier instead.

> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/dts-v1/;
> +#include "imx28.dtsi"
> +
> +/ {
> +       model = "Domintell DNET01";
> +       compatible = "domintell,dnet01", "fsl,imx28";


Please add 'domintel' entry into
Documentation/devicetree/bindings/vendor-prefixes.txt in a separate
patch.


> +
> +       memory {
> +               reg = <0x40000000 0x08000000>;
> +       };
> +
> +       apb@80000000 {
> +               apbh@80000000 {
> +
> +                       dcp: dcp@80028000 {
> +                               /*
> +                                * Driver is not fully implemented.
> +                                * [PATCH] crypto: mxs-dcp - Initialize .statesize fields
> +                                * https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg17078.html
> +                                */
> +                               status = "disable";
> +                       };
> +
> +                       ssp0: ssp@80010000 {
> +                               compatible = "fsl,imx28-mmc";
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&mmc0_8bit_pins_a
> +                                            &mmc0_sck_cfg>;
> +                               bus-width = <8>;
> +                               vmmc-supply = <&reg_3p3v>;
> +                               broken-cd;
> +                               disable-wp;
> +                               cap-mmc-highspeed;
> +                               non-removable;
> +                               status = "okay";


Please follow the style from arch/arm/boot/dts/imx28-tx28.dts, where
&ssp0 is used.


> +               apbx@80040000 {
> +                       mxs_rtc: rtc@80056000 {
> +                               /*
> +                                * Overrides default state from imx28.dtsi
> +                                * Internal RTC must be disable as a high
> +                                * precision I2C is connected.
> +                                */
> +                               status = "disabled";
> +                       };
> +
> +                       i2c0: i2c@80058000 {
> +                               pinctrl-names = "default";
> +                               pinctrl-0 = <&i2c0_pins_a>;
> +                               status = "okay";
> +
> +                               eeprom: eeprom@57 {
> +                                       compatible = "atmel,24c01";
> +                                       reg = <0x57>;
> +                                       pagesize = <8>;
> +                                       readonly = <1>;
> +                               };
> +
> +                               mcp7941x_rtc: rtc@6f {
> +                                       compatible = "dallas,mcp7941x";

This compatible string is not documented.

Do you mean "microchip,mcp7941x" instead?


> +       regulators {
> +               compatible = "simple-bus";
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +
> +               reg_3p3v: regulator@0 {
> +                       compatible = "regulator-fixed";
> +                       reg = <0>;
> +                       regulator-name = "3P3V";
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3300000>;
> +                       regulator-always-on;

regulators should not be placed under simple-bus.

Patch

diff --git a/arch/arm/boot/dts/imx28-dnet01.dts b/arch/arm/boot/dts/imx28-dnet01.dts
new file mode 100644
index 0000000..c502ca7
--- /dev/null
+++ b/arch/arm/boot/dts/imx28-dnet01.dts
@@ -0,0 +1,184 @@ 
+/*
+ * Copyright (C) 2018 Gaetan Carlier <gcembed@gmail.com>
+ *
+ * based on imx28-m28evk.dts
+ * Copyright (C) 2012 Marek Vasut <marex@denx.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx28.dtsi"
+
+/ {
+	model = "Domintell DNET01";
+	compatible = "domintell,dnet01", "fsl,imx28";
+
+	memory {
+		reg = <0x40000000 0x08000000>;
+	};
+
+	apb@80000000 {
+		apbh@80000000 {
+
+			dcp: dcp@80028000 {
+				/*
+				 * Driver is not fully implemented.
+				 * [PATCH] crypto: mxs-dcp - Initialize .statesize fields
+				 * https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg17078.html
+				 */
+				status = "disable";
+			};
+
+			ssp0: ssp@80010000 {
+				compatible = "fsl,imx28-mmc";
+				pinctrl-names = "default";
+				pinctrl-0 = <&mmc0_8bit_pins_a
+					     &mmc0_sck_cfg>;
+				bus-width = <8>;
+				vmmc-supply = <&reg_3p3v>;
+				broken-cd;
+				disable-wp;
+				cap-mmc-highspeed;
+				non-removable;
+				status = "okay";
+			};
+
+			ssp2: ssp@80014000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx28-spi";
+				pinctrl-names = "default";
+				pinctrl-0 = <&spi2_pins_a>;
+				status = "disable";
+			};
+		};
+
+		apbx@80040000 {
+			mxs_rtc: rtc@80056000 {
+				/*
+				 * Overrides default state from imx28.dtsi
+				 * Internal RTC must be disable as a high
+				 * precision I2C is connected.
+				 */
+				status = "disabled";
+			};
+
+			i2c0: i2c@80058000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&i2c0_pins_a>;
+				status = "okay";
+
+				eeprom: eeprom@57 {
+					compatible = "atmel,24c01";
+					reg = <0x57>;
+					pagesize = <8>;
+					readonly = <1>;
+				};
+
+				mcp7941x_rtc: rtc@6f {
+					compatible = "dallas,mcp7941x";
+					reg = <0x6f>;
+					ds_type = "mcp7941x";
+				};
+			};
+
+			duart: serial@80074000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&duart_pins_a>;
+				status = "okay";
+			};
+
+			auart4: serial@80072000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&auart4_2pins_a>;
+				status = "okay";
+			};
+		};
+	};
+
+	ahb@80080000 {
+		mac0: ethernet@800f0000 {
+			phy-mode = "rmii";
+			pinctrl-names = "default";
+			pinctrl-0 = <&mac0_pins_a>;
+			phy-supply = <&reg_3p3v>;
+			phy-reset-gpios = <&gpio4 13 0>;
+			phy-reset-duration = <100>;
+			status = "okay";
+		};
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		reg_3p3v: regulator@0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "3P3V";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_leds>;
+
+		stm32rdyrx {
+			/* Used to indicate that i.MX is ready to receive data from STM32 */
+			label = "stm32rdyrx";
+			gpios = <&gpio2 27 0>;
+			linux,default-trigger = "none";
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		stm32err {
+			/* SPI_ERR : Used by STM32 that RS485 bus is busy or if sending of data has failed */
+			label = "STM32 error-busy";
+			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
+			/* KEY_F23 0xC1 = 193 */
+			linux,code = <193>;
+			debounce-interval = <0>;
+		};
+	};
+};
+
+&pinctrl {
+	pinctrl_gpio: gpiokeygrp {
+		reg = <0>;
+		fsl,pinmux-ids = <
+			MX28_PAD_GPMI_RDN__GPIO_0_24
+		>;
+		fsl,drive-strength = <MXS_DRIVE_4mA>;
+		fsl,voltage = <MXS_VOLTAGE_HIGH>;
+		fsl,pull-up = <MXS_PULL_ENABLE>;
+	};
+
+	pinctrl_leds: ledsgrp {
+		reg = <0>;
+		fsl,pinmux-ids = <
+			MX28_PAD_GPMI_CE0N__GPIO_0_16
+			MX28_PAD_SSP3_SS0__GPIO_2_27
+		>;
+		fsl,drive-strength = <MXS_DRIVE_4mA>;
+		fsl,voltage = <MXS_VOLTAGE_HIGH>;
+		fsl,pull-up = <MXS_PULL_DISABLE>;
+       };
+};