diff options
| author | Olof Johansson <olof@lixom.net> | 2018-05-25 13:52:34 -0700 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2018-05-25 13:52:34 -0700 | 
| commit | faee4edf6cdd75f337b768aa0bcf43af697960b6 (patch) | |
| tree | c4f43bc75f1c2e3f4723167d65e8d9498c4e0632 | |
| parent | 737e09205aa00635809c439f356fd84f095c6826 (diff) | |
| parent | 204d9e32b7971ecd187068c3a40c48bac4656cb0 (diff) | |
Merge tag 'imx-dt-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt
i.MX device tree update for 4.18:
 - New boards support: BTicino i.MX6DL Mamoj board, DHCOM iMX6 SoM and
   PDK2 board, Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit,
   Kieback & Peter GmbH iMX6Q TPC board.
 - A series from Anson Huang to add a bunch of devices for i.MX6SX
   SabreAuto board, PMIC, IO expanders, FEC, Watchdog, LED and Touch.
 - Update i.MX7D for cpufreq support, using operating-points-v2
   bindings, correcting cpu supply name for voltage scaling.
 - Clean up unneeded 'codec-handle' property from imx25-pdk and
   imx53-tx53 device tree.
 - Switch SoC dtsi and NXP board dts files to use SPDX identifier.
 - Remove unnecessary '#address-cells/#size-cells' to fix DTC warning
   avoid_unnecessary_addr_size seen with W=1 switch.
 - A series from Rob Herring to fix DTC warning graph_endpoint seen with
   IPU OF graph when W=1 switch is on.
 - Update a few boards to use symbol name instead of hard-coding the
   input codes.
 - Update a number of boards to use IRQ_TYPE specifier instead of the
   raw value.
 - A few updates for i.MX6 RDU2 board: bumping SoC/PU operating points,
   adding assigned clocks for GPU, and enabling eGalax touchscreen.
 - A couple of i.MX51 RDU1 updates: limiting usbh1 to full-speed, and
   cleaning up eMMC device node.
 - Convert Hummingboard audio bindings from imx-audio-sgtl5000 to
   simple-audio-card, so that auxiliary audio devices such as external
   amplifiers can be supported.
 - Replace underscore with hyphen in aliases name to fix DTC warning
   alias_paths with W=1 switch.
 - A couple of updates on i.MX7D SAI and i.MX6ULL UART5 pin defines.
 - Other random and small changes.
* tag 'imx-dt-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (72 commits)
  ARM: dts: imx28/imx53: enable edt-ft5x06 wakeup source
  ARM: dts: imx51-zii-rdu1: cleanup eMMC node
  ARM: dts: vf610-zii-dev: enable vf610 builtin temp sensor
  ARM: dts: imx7d: use operating-points-v2 for cpu
  ARM: dts: imx7s-warp: remove unnecessary cpu regulator supply
  ARM: dts: imx7d: correct cpu supply name for voltage scaling
  ARM: dts: imx51-zii-rdu1: limit usbh1 to full-speed
  ARM: dts: imx6/7: Remove unit-address from anatop regulators
  ARM: dts: imx: Switch NXP boards to SPDX identifier
  ARM: dts: imx6qdl-phytec-pfla02: Use IRQ_TYPE specifier
  ARM: dts: imx53-voipac-dmm-668: Use IRQ_TYPE specifier
  ARM: dts: imx53-qsb: Use IRQ_TYPE specifier
  ARM: dts: vf-colibri-eval-v3: Use IRQ_TYPE specifier
  ARM: dts: imx6q-gk802: Do not hardcode input codes
  ARM: dts: imx53-smd: Do not hardcode input codes
  ARM: dts: imx53-ard: Do not hardcode input codes
  ARM: dts: imx7: Fix error in coresight TPIU graph connection
  ARM: dts: imx53: Fix LDB OF graph warning
  ARM: dts: imx: fix IPU OF graph endpoint node names
  ARM: dts: imx: Switch to SPDX identifier
  ...
Signed-off-by: Olof Johansson <olof@lixom.net>
116 files changed, 2285 insertions, 1084 deletions
| diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index a38d8bfae19c..cd93661954e6 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -56,6 +56,7 @@ bosch	Bosch Sensortec GmbH  boundary	Boundary Devices Inc.  brcm	Broadcom Corporation  buffalo	Buffalo, Inc. +bticino Bticino International  calxeda	Calxeda  capella	Capella Microsystems, Inc  cascoda	Cascoda, Ltd. diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index e4e5bba62951..d16ad383b0d1 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -401,6 +401,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \  	imx6dl-hummingboard2-som-v15.dtb \  	imx6dl-icore.dtb \  	imx6dl-icore-rqs.dtb \ +	imx6dl-mamoj.dtb \  	imx6dl-nit6xlite.dtb \  	imx6dl-nitrogen6x.dtb \  	imx6dl-phytec-mira-rdk-nand.dtb \ @@ -441,6 +442,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \  	imx6q-cubox-i-emmc-som-v15.dtb \  	imx6q-cubox-i-som-v15.dtb \  	imx6q-dfi-fs700-m60.dtb \ +	imx6q-dhcom-pdk2.dtb \  	imx6q-display5-tianma-tm070-1280x768.dtb \  	imx6q-dmo-edmqmx6.dtb \  	imx6q-dms-ba16.dtb \ @@ -465,9 +467,11 @@ dtb-$(CONFIG_SOC_IMX6Q) += \  	imx6q-hummingboard2-emmc-som-v15.dtb \  	imx6q-hummingboard2-som-v15.dtb \  	imx6q-icore.dtb \ +	imx6q-icore-mipi.dtb \  	imx6q-icore-ofcap10.dtb \  	imx6q-icore-ofcap12.dtb \  	imx6q-icore-rqs.dtb \ +	imx6q-kp-tpc.dtb \  	imx6q-marsboard.dtb \  	imx6q-mccmon6.dtb \  	imx6q-nitrogen6x.dtb \ diff --git a/arch/arm/boot/dts/imx1-ads.dts b/arch/arm/boot/dts/imx1-ads.dts index 6354e4c87313..a1d81badb5c8 100644 --- a/arch/arm/boot/dts/imx1-ads.dts +++ b/arch/arm/boot/dts/imx1-ads.dts @@ -23,17 +23,6 @@  	memory@8000000 {  		reg = <0x08000000 0x04000000>;  	}; - -	clocks { -		#address-cells = <1>; -		#size-cells = <0>; - -		clk32 { -			compatible = "fsl,imx-clk32", "fixed-clock"; -			#clock-cells = <0>; -			clock-frequency = <32000>; -		}; -	};  };  &cspi1 { diff --git a/arch/arm/boot/dts/imx1.dtsi b/arch/arm/boot/dts/imx1.dtsi index f7b9edf93f5e..3edc7b5550d8 100644 --- a/arch/arm/boot/dts/imx1.dtsi +++ b/arch/arm/boot/dts/imx1.dtsi @@ -1,13 +1,6 @@ -/* - * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>  #include "imx1-pinfunc.h" @@ -62,6 +55,14 @@  		};  	}; +	clocks { +		clk32 { +			compatible = "fsl,imx-clk32", "fixed-clock"; +			#clock-cells = <0>; +			clock-frequency = <32000>; +		}; +	}; +  	soc {  		#address-cells = <1>;  		#size-cells = <1>; diff --git a/arch/arm/boot/dts/imx23-evk.dts b/arch/arm/boot/dts/imx23-evk.dts index 9d92ece82560..9fb47724b9c1 100644 --- a/arch/arm/boot/dts/imx23-evk.dts +++ b/arch/arm/boot/dts/imx23-evk.dts @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc.  /dts-v1/;  #include "imx23.dtsi" diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi index cb0a3fe32718..71bfd2b15609 100644 --- a/arch/arm/boot/dts/imx23.dtsi +++ b/arch/arm/boot/dts/imx23.dtsi @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc.  #include "imx23-pinfunc.h" diff --git a/arch/arm/boot/dts/imx25-pdk.dts b/arch/arm/boot/dts/imx25-pdk.dts index 7f9bd052b84e..a5626b46ac4e 100644 --- a/arch/arm/boot/dts/imx25-pdk.dts +++ b/arch/arm/boot/dts/imx25-pdk.dts @@ -1,13 +1,6 @@ -/* - * Copyright 2013 Freescale Semiconductor, Inc. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2013 Freescale Semiconductor, Inc.  /dts-v1/;  #include <dt-bindings/gpio/gpio.h> @@ -291,7 +284,6 @@  };  &ssi1 { -	codec-handle = <&codec>;  	status = "okay";  }; diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi index cf70df20b19c..85c15ee63272 100644 --- a/arch/arm/boot/dts/imx25.dtsi +++ b/arch/arm/boot/dts/imx25.dtsi @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Sascha Hauer, Pengutronix <s.hauer@pengutronix.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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de>  #include <dt-bindings/gpio/gpio.h>  #include "imx25-pinfunc.h" @@ -70,9 +63,6 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -  		osc {  			compatible = "fsl,imx-osc", "fixed-clock";  			#clock-cells = <0>; diff --git a/arch/arm/boot/dts/imx27-apf27.dts b/arch/arm/boot/dts/imx27-apf27.dts index 66941cdbf244..3eddd805a793 100644 --- a/arch/arm/boot/dts/imx27-apf27.dts +++ b/arch/arm/boot/dts/imx27-apf27.dts @@ -22,17 +22,10 @@  	memory@a0000000 {  		reg = <0xa0000000 0x04000000>;  	}; +}; -	clocks { -		#address-cells = <1>; -		#size-cells = <0>; - -		osc26m { -			compatible = "fsl,imx-osc26m", "fixed-clock"; -			#clock-cells = <0>; -			clock-frequency = <0>; -		}; -	}; +&clk_osc26m { +	clock-frequency = <0>;  };  &iomuxc { diff --git a/arch/arm/boot/dts/imx27-pdk.dts b/arch/arm/boot/dts/imx27-pdk.dts index 924b90c9985d..f9a882d99132 100644 --- a/arch/arm/boot/dts/imx27-pdk.dts +++ b/arch/arm/boot/dts/imx27-pdk.dts @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Sascha Hauer, Pengutronix - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Sascha Hauer, Pengutronix  /dts-v1/;  #include "imx27.dtsi" diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi index 6585b00c3917..753d88df1627 100644 --- a/arch/arm/boot/dts/imx27.dtsi +++ b/arch/arm/boot/dts/imx27.dtsi @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Sascha Hauer, Pengutronix - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Sascha Hauer, Pengutronix  #include "imx27-pinfunc.h" @@ -57,10 +50,7 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; - -		osc26m { +		clk_osc26m: osc26m {  			compatible = "fsl,imx-osc26m", "fixed-clock";  			#clock-cells = <0>;  			clock-frequency = <26000000>; diff --git a/arch/arm/boot/dts/imx28-cfa10049.dts b/arch/arm/boot/dts/imx28-cfa10049.dts index 60e5c7fd5035..f1c8315b3e01 100644 --- a/arch/arm/boot/dts/imx28-cfa10049.dts +++ b/arch/arm/boot/dts/imx28-cfa10049.dts @@ -398,8 +398,6 @@  		compatible = "gpio-keys";  		pinctrl-names = "default";  		pinctrl-0 = <&rotary_btn_pins_cfa10049>; -		#address-cells = <1>; -		#size-cells = <0>;  		rotary_button {  			label = "rotary_button"; diff --git a/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts b/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts index 7f8d40a9c67e..22215337f72a 100644 --- a/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts +++ b/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts @@ -206,8 +206,6 @@  	gpio-keys {  		compatible = "gpio-keys"; -		#address-cells = <1>; -		#size-cells = <0>;  		pinctrl-names = "default";  		pinctrl-0 = <&enocean_button>; diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts index b0d39654aeb3..6b0ae667640f 100644 --- a/arch/arm/boot/dts/imx28-evk.dts +++ b/arch/arm/boot/dts/imx28-evk.dts @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc.  /dts-v1/;  #include "imx28.dtsi" diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts index 687186358c18..b8f46432e2a2 100644 --- a/arch/arm/boot/dts/imx28-tx28.dts +++ b/arch/arm/boot/dts/imx28-tx28.dts @@ -140,15 +140,10 @@  		regulator-boot-on;  	}; -	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -		mclk: clock@0 { -			compatible = "fixed-clock"; -			reg = <0>; -			#clock-cells = <0>; -			clock-frequency = <26000000>; -		}; +	mclk: clock-mclk { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <26000000>;  	};  	sound { @@ -345,6 +340,7 @@  		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;  		reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;  		wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; +		wakeup-source;  	};  	touchscreen: tsc2007@48 { diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi index 9ad8d3556859..5107fdc482ea 100644 --- a/arch/arm/boot/dts/imx28.dtsi +++ b/arch/arm/boot/dts/imx28.dtsi @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc.  #include <dt-bindings/gpio/gpio.h>  #include "imx28-pinfunc.h" diff --git a/arch/arm/boot/dts/imx31.dtsi b/arch/arm/boot/dts/imx31.dtsi index ebc3f2dbb6fd..4642c8169a65 100644 --- a/arch/arm/boot/dts/imx31.dtsi +++ b/arch/arm/boot/dts/imx31.dtsi @@ -1,13 +1,6 @@ -/* - * Copyright 2012 Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>  / {  	#address-cells = <1>; diff --git a/arch/arm/boot/dts/imx35-pdk.dts b/arch/arm/boot/dts/imx35-pdk.dts index 646b1257bba2..df613e88fd2c 100644 --- a/arch/arm/boot/dts/imx35-pdk.dts +++ b/arch/arm/boot/dts/imx35-pdk.dts @@ -1,14 +1,7 @@ -/* - * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> - * Copyright 2014 Freescale Semiconductor, Inc. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2013 Eukréa Electromatique <denis@eukrea.com> +// Copyright 2014 Freescale Semiconductor, Inc.  /dts-v1/;  #include "imx35.dtsi" diff --git a/arch/arm/boot/dts/imx35.dtsi b/arch/arm/boot/dts/imx35.dtsi index 54111ed218b1..1c50b785cad4 100644 --- a/arch/arm/boot/dts/imx35.dtsi +++ b/arch/arm/boot/dts/imx35.dtsi @@ -1,12 +1,8 @@ -/* - * Copyright 2012 Steffen Trumtrar, Pengutronix - * - * based on imx27.dtsi - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright 2012 Steffen Trumtrar, Pengutronix +// +// based on imx27.dtsi  #include "imx35-pinfunc.h" diff --git a/arch/arm/boot/dts/imx50-evk.dts b/arch/arm/boot/dts/imx50-evk.dts index 23f1833e23fa..f0622ec4ba9c 100644 --- a/arch/arm/boot/dts/imx50-evk.dts +++ b/arch/arm/boot/dts/imx50-evk.dts @@ -1,15 +1,8 @@ -/* - * Copyright 2013 Greg Ungerer <gerg@uclinux.org> - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2013 Greg Ungerer <gerg@uclinux.org> +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/;  #include "imx50.dtsi" diff --git a/arch/arm/boot/dts/imx50.dtsi b/arch/arm/boot/dts/imx50.dtsi index 7954e79d0a16..a9b712db9f6c 100644 --- a/arch/arm/boot/dts/imx50.dtsi +++ b/arch/arm/boot/dts/imx50.dtsi @@ -60,9 +60,6 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -  		ckil {  			compatible = "fsl,imx-ckil", "fixed-clock";  			#clock-cells = <0>; diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index cf7a1963df25..b8ca73d3d379 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts @@ -1,14 +1,7 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/;  #include "imx51.dtsi" diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts index 0c99ac04ad08..ee96a3c8472e 100644 --- a/arch/arm/boot/dts/imx51-zii-rdu1.dts +++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts @@ -207,8 +207,6 @@  		switch@0 {  			compatible = "marvell,mv88e6085"; -			#address-cells = <1>; -			#size-cells = <0>;  			reg = <0>;  			dsa,member = <0 0>; @@ -462,7 +460,10 @@  	pinctrl-names = "default";  	pinctrl-0 = <&pinctrl_esdhc1>;  	bus-width = <4>; +	no-1-8-v;  	non-removable; +	no-sdio; +	no-sd;  	status = "okay";  }; @@ -591,6 +592,7 @@  	phy_type = "ulpi";  	fsl,usbphy = <&usbh1phy>;  	disable-over-current; +	maximum-speed = "full-speed";  	vbus-supply = <®_5p0v_main>;  	status = "okay";  }; diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi index 5d390a64e976..fe01b890c715 100644 --- a/arch/arm/boot/dts/imx51.dtsi +++ b/arch/arm/boot/dts/imx51.dtsi @@ -1,14 +1,7 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  #include "imx51-pinfunc.h"  #include <dt-bindings/clock/imx5-clock.h> @@ -56,9 +49,6 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -  		ckil {  			compatible = "fsl,imx-ckil", "fixed-clock";  			#clock-cells = <0>; diff --git a/arch/arm/boot/dts/imx53-ard.dts b/arch/arm/boot/dts/imx53-ard.dts index 80fc00705d92..117bd002dd1d 100644 --- a/arch/arm/boot/dts/imx53-ard.dts +++ b/arch/arm/boot/dts/imx53-ard.dts @@ -11,6 +11,7 @@   */  /dts-v1/; +#include <dt-bindings/input/input.h>  #include "imx53.dtsi"  / { @@ -68,34 +69,34 @@  		home {  			label = "Home";  			gpios = <&gpio5 10 0>; -			linux,code = <102>; /* KEY_HOME */ +			linux,code = <KEY_HOME>;  			wakeup-source;  		};  		back {  			label = "Back";  			gpios = <&gpio5 11 0>; -			linux,code = <158>; /* KEY_BACK */ +			linux,code = <KEY_BACK>;  			wakeup-source;  		};  		program {  			label = "Program";  			gpios = <&gpio5 12 0>; -			linux,code = <362>; /* KEY_PROGRAM */ +			linux,code = <KEY_PROGRAM >;  			wakeup-source;  		};  		volume-up {  			label = "Volume Up";  			gpios = <&gpio5 13 0>; -			linux,code = <115>; /* KEY_VOLUMEUP */ +			linux,code = <KEY_VOLUMEUP>;  		};  		volume-down {  			label = "Volume Down";  			gpios = <&gpio4 0 0>; -			linux,code = <114>; /* KEY_VOLUMEDOWN */ +			linux,code = <KEY_VOLUMEDOWN>;  		};  	};  }; diff --git a/arch/arm/boot/dts/imx53-m53.dtsi b/arch/arm/boot/dts/imx53-m53.dtsi index 3da6dd5edb79..ce45f08e3051 100644 --- a/arch/arm/boot/dts/imx53-m53.dtsi +++ b/arch/arm/boot/dts/imx53-m53.dtsi @@ -53,8 +53,6 @@  	stmpe610@41 {  		compatible = "st,stmpe610"; -		#address-cells = <1>; -		#size-cells = <0>;  		reg = <0x41>;  		id = <0>;  		blocks = <0x5>; diff --git a/arch/arm/boot/dts/imx53-ppd.dts b/arch/arm/boot/dts/imx53-ppd.dts index d5628af2e301..3aa6f693fa9f 100644 --- a/arch/arm/boot/dts/imx53-ppd.dts +++ b/arch/arm/boot/dts/imx53-ppd.dts @@ -180,8 +180,6 @@  	power-gpio-keys {  		compatible = "gpio-keys"; -		#address-cells = <1>; -		#size-cells = <0>;  		power-button {  			label = "Power button"; @@ -192,8 +190,6 @@  	touch-lock-key {  		compatible = "gpio-keys"; -		#address-cells = <1>; -		#size-cells = <0>;  		touch-lock-button {  			label = "Touch lock button"; @@ -300,7 +296,7 @@  		compatible = "dlg,da9053-aa";  		reg = <0>;  		interrupt-parent = <&gpio3>; -		interrupts = <12 0x8>; +		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;  		spi-max-frequency = <1000000>;  		dlg,tsi-as-adc;  		tsiref-supply = <®_tsiref>; @@ -473,7 +469,7 @@  				compatible = "fsl,mma8453";  				reg = <0x1c>;  				interrupt-parent = <&gpio1>; -				interrupts = <6 0>; +				interrupts = <6 IRQ_TYPE_NONE>;  				interrupt-names = "INT1";  			}; @@ -539,7 +535,7 @@  		reset-gpio = <&gpio5 19 GPIO_ACTIVE_HIGH>;  		reg = <0x4b>;  		interrupt-parent = <&gpio5>; -		interrupts = <4 0x8>; +		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;  	};  }; @@ -559,8 +555,6 @@  		status = "okay";  		port@2 { -			reg = <2>; -  			lvds0_out: endpoint {  				remote-endpoint = <&panel_in_lvds0>;  			}; diff --git a/arch/arm/boot/dts/imx53-qsb-common.dtsi b/arch/arm/boot/dts/imx53-qsb-common.dtsi index 485a69d45e1c..ef7658a78836 100644 --- a/arch/arm/boot/dts/imx53-qsb-common.dtsi +++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi @@ -1,14 +1,7 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  #include "imx53.dtsi" diff --git a/arch/arm/boot/dts/imx53-qsb.dts b/arch/arm/boot/dts/imx53-qsb.dts index d3d662e37677..6831836bd726 100644 --- a/arch/arm/boot/dts/imx53-qsb.dts +++ b/arch/arm/boot/dts/imx53-qsb.dts @@ -1,14 +1,7 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/;  #include "imx53-qsb-common.dtsi" @@ -23,7 +16,7 @@  		compatible = "dlg,da9053-aa", "dlg,da9052";  		reg = <0x48>;  		interrupt-parent = <&gpio7>; -		interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */ +		interrupts = <11 IRQ_TYPE_LEVEL_LOW>; /* low-level active IRQ at GPIO7_11 */  		regulators {  			buck1_reg: buck1 { diff --git a/arch/arm/boot/dts/imx53-qsrb.dts b/arch/arm/boot/dts/imx53-qsrb.dts index 4e103a905dc9..1bbf24ad308a 100644 --- a/arch/arm/boot/dts/imx53-qsrb.dts +++ b/arch/arm/boot/dts/imx53-qsrb.dts @@ -1,14 +1,7 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx53-smd.dts b/arch/arm/boot/dts/imx53-smd.dts index fd030128666c..462071c9ddd7 100644 --- a/arch/arm/boot/dts/imx53-smd.dts +++ b/arch/arm/boot/dts/imx53-smd.dts @@ -1,16 +1,10 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/; +#include <dt-bindings/input/input.h>  #include "imx53.dtsi"  / { @@ -27,13 +21,13 @@  		volume-up {  			label = "Volume Up";  			gpios = <&gpio2 14 0>; -			linux,code = <115>; /* KEY_VOLUMEUP */ +			linux,code = <KEY_VOLUMEUP>;  		};  		volume-down {  			label = "Volume Down";  			gpios = <&gpio2 15 0>; -			linux,code = <114>; /* KEY_VOLUMEDOWN */ +			linux,code = <KEY_VOLUMEDOWN>;  		};  	};  }; diff --git a/arch/arm/boot/dts/imx53-tx53-x03x.dts b/arch/arm/boot/dts/imx53-tx53-x03x.dts index af8ec5e4417b..a7f77527269d 100644 --- a/arch/arm/boot/dts/imx53-tx53-x03x.dts +++ b/arch/arm/boot/dts/imx53-tx53-x03x.dts @@ -245,6 +245,7 @@  		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;  		reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;  		wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; +		wakeup-source;  	};  	touchscreen: tsc2007@48 { diff --git a/arch/arm/boot/dts/imx53-tx53.dtsi b/arch/arm/boot/dts/imx53-tx53.dtsi index 69a2af7d6c11..54cf3e67069a 100644 --- a/arch/arm/boot/dts/imx53-tx53.dtsi +++ b/arch/arm/boot/dts/imx53-tx53.dtsi @@ -58,7 +58,7 @@  		can0 = &can2; /* Make the can interface indices consistent with TX28/TX48 modules */  		can1 = &can1;  		ipu = &ipu; -		reg_can_xcvr = ®_can_xcvr; +		reg-can-xcvr = ®_can_xcvr;  		usbh1 = &usbh1;  		usbotg = &usbotg;  	}; @@ -67,13 +67,12 @@  		ckih1 {  			clock-frequency = <0>;  		}; +	}; -		mclk: clock@0 { -			compatible = "fixed-clock"; -			reg = <0>; -			#clock-cells = <0>; -			clock-frequency = <26000000>; -		}; +	mclk: clock-mclk { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <26000000>;  	};  	gpio-keys { @@ -550,7 +549,6 @@  };  &ssi1 { -	codec-handle = <&sgtl5000>;  	status = "okay";  }; diff --git a/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi index df8dafe2564d..f83a8c62ea53 100644 --- a/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi +++ b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi @@ -150,7 +150,7 @@  		compatible = "dlg,da9053-aa", "dlg,da9052";  		reg = <0x48>;  		interrupt-parent = <&gpio7>; -		interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */ +		interrupts = <11 IRQ_TYPE_LEVEL_LOW>; /* low-level active IRQ at GPIO7_11 */  		regulators {  			buck1_reg: buck1 { diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi index 3d65c0192f69..1a7a7bb3df45 100644 --- a/arch/arm/boot/dts/imx53.dtsi +++ b/arch/arm/boot/dts/imx53.dtsi @@ -88,9 +88,6 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -  		ckil {  			compatible = "fsl,imx-ckil", "fixed-clock";  			#clock-cells = <0>; @@ -488,6 +485,10 @@  							remote-endpoint = <&ipu_di0_lvds0>;  						};  					}; + +					port@2 { +						reg = <2>; +					};  				};  				lvds-channel@1 { @@ -503,6 +504,10 @@  							remote-endpoint = <&ipu_di1_lvds1>;  						};  					}; + +					port@2 { +						reg = <2>; +					};  				};  			}; diff --git a/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts b/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts index 7128c76d5721..29940ba215a8 100644 --- a/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts +++ b/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts @@ -78,8 +78,6 @@  &ecspi1 {  	lcd_panel: display@0 { -		#address-cells = <1>; -		#size-cells = <1>;  		compatible = "lg,lg4573";  		spi-max-frequency = <10000000>;  		reg = <0>; diff --git a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts index ea184d108491..3dee3af1a4c1 100644 --- a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts +++ b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts @@ -72,15 +72,12 @@  		stdout-path = "serial0:115200n8";  	}; -	clocks { -		/* Fixed crystal dedicated to mcp251x */ -		clk16m: clk@1 { -			compatible = "fixed-clock"; -			reg = <1>; -			#clock-cells = <0>; -			clock-frequency = <16000000>; -			clock-output-names = "clk16m"; -		}; +	/* Fixed crystal dedicated to mcp251x */ +	clk16m: clock-16m { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <16000000>; +		clock-output-names = "clk16m";  	};  	gpio-keys { diff --git a/arch/arm/boot/dts/imx6dl-mamoj.dts b/arch/arm/boot/dts/imx6dl-mamoj.dts new file mode 100644 index 000000000000..6b2d29138bed --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-mamoj.dts @@ -0,0 +1,224 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2018 BTicino + * Copyright (C) 2018 Amarula Solutions B.V. + */ + +/dts-v1/; + +#include "imx6dl.dtsi" + +/ { +	model = "BTicino i.MX6DL Mamoj board"; +	compatible = "bticino,imx6dl-mamoj", "fsl,imx6dl"; +}; + +&fec { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_enet>; +	phy-mode = "mii"; +	status = "okay"; +}; + +&i2c3 { +	clock-frequency = <400000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c3>; +	status = "okay"; +}; + +&i2c4 { +	clock-frequency = <100000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c4>; +	status = "okay"; + +	pfuze100: pmic@8 { +		compatible = "fsl,pfuze100"; +		reg = <0x08>; + +		regulators { +			/* CPU vdd_arm core */ +			sw1a_reg: sw1ab { +				regulator-min-microvolt = <300000>; +				regulator-max-microvolt = <1875000>; +				regulator-boot-on; +				regulator-always-on; +				regulator-ramp-delay = <6250>; +			}; + +			/* SOC vdd_soc */ +			sw1c_reg: sw1c { +				regulator-min-microvolt = <300000>; +				regulator-max-microvolt = <1875000>; +				regulator-boot-on; +				regulator-always-on; +				regulator-ramp-delay = <6250>; +			}; + +			/* I/O power GEN_3V3 */ +			sw2_reg: sw2 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <3300000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			/* DDR memory */ +			sw3a_reg: sw3a { +				regulator-min-microvolt = <400000>; +				regulator-max-microvolt = <1975000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			/* DDR memory */ +			sw3b_reg: sw3b { +				regulator-min-microvolt = <400000>; +				regulator-max-microvolt = <1975000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			/* not used */ +			sw4_reg: sw4 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <3300000>; +			}; + +			/* not used */ +			swbst_reg: swbst { +				regulator-min-microvolt = <5000000>; +				regulator-max-microvolt = <5150000>; +			}; + +			/* PMIC vsnvs. EX boot mode */ +			snvs_reg: vsnvs { +				regulator-min-microvolt = <1000000>; +				regulator-max-microvolt = <3000000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			vref_reg: vrefddr { +				regulator-boot-on; +				regulator-always-on; +			}; + +			/* not used */ +			vgen1_reg: vgen1 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <1550000>; +			}; + +			/* not used */ +			vgen2_reg: vgen2 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <1550000>; +			}; + +			/* not used */ +			vgen3_reg: vgen3 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +			}; + +			/* 1v8 general power */ +			vgen4_reg: vgen4 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; + +			/* 2v8 general power IMX6 */ +			vgen5_reg: vgen5 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; + +			/* 3v3 Ethernet */ +			vgen6_reg: vgen6 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; +		}; +	}; +}; + +&uart3 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_uart3>; +	status = "okay"; +}; + +&usdhc3 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc3>; +	bus-width = <8>; +	non-removable; +	keep-power-in-suspend; +	status = "okay"; +}; + +&iomuxc { +	pinctrl_enet: enetgrp { +		fsl,pins = < +			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0 +			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0 +			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b1 +			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x1b0b0 +			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x1b0b0 +			MX6QDL_PAD_KEY_ROW2__ENET_TX_DATA2	0x1b0b0 +			MX6QDL_PAD_KEY_ROW0__ENET_TX_DATA3	0x1b0b0 +			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0 +			MX6QDL_PAD_GPIO_19__ENET_TX_ER		0x1b0b0 +			MX6QDL_PAD_GPIO_18__ENET_RX_CLK		0x1b0b1 +			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0 +			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0 +			MX6QDL_PAD_KEY_COL2__ENET_RX_DATA2	0x1b0b0 +			MX6QDL_PAD_KEY_COL0__ENET_RX_DATA3      0x1b0b0 +			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0 +			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x1b0b0 +			MX6QDL_PAD_KEY_COL3__ENET_CRS		0x1b0b0 +			MX6QDL_PAD_KEY_ROW1__ENET_COL		0x1b0b0 +		>; +	}; + +	pinctrl_i2c3: i2c3grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_3__I2C3_SCL     0x4001b8b1 +			MX6QDL_PAD_GPIO_6__I2C3_SDA     0x4001b8b1 +		>; +	}; + +	pinctrl_i2c4: i2c4grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_7__I2C4_SCL	0x4001b8b1 +			MX6QDL_PAD_GPIO_8__I2C4_SDA	0x4001b8b1 +		>; +	}; + +	pinctrl_uart3: uart3grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1 +			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1 +		>; +	}; + +	pinctrl_usdhc3: usdhc3grp { +		fsl,pins = < +			MX6QDL_PAD_SD3_CMD__SD3_CMD	0x17059 +			MX6QDL_PAD_SD3_CLK__SD3_CLK	0x10059 +			MX6QDL_PAD_SD3_DAT0__SD3_DATA0	0x17059 +			MX6QDL_PAD_SD3_DAT1__SD3_DATA1	0x17059 +			MX6QDL_PAD_SD3_DAT2__SD3_DATA2	0x17059 +			MX6QDL_PAD_SD3_DAT3__SD3_DATA3	0x17059 +			MX6QDL_PAD_SD3_DAT4__SD3_DATA4	0x17059 +			MX6QDL_PAD_SD3_DAT5__SD3_DATA5	0x17059 +			MX6QDL_PAD_SD3_DAT6__SD3_DATA6	0x17059 +			MX6QDL_PAD_SD3_DAT7__SD3_DATA7	0x17059 +		>; +	}; +}; diff --git a/arch/arm/boot/dts/imx6dl-sabreauto.dts b/arch/arm/boot/dts/imx6dl-sabreauto.dts index a6ce7b487ad7..660d52a245ba 100644 --- a/arch/arm/boot/dts/imx6dl-sabreauto.dts +++ b/arch/arm/boot/dts/imx6dl-sabreauto.dts @@ -1,10 +1,6 @@ -/* - * Copyright (C) 2013 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright (C) 2013 Freescale Semiconductor, Inc.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6dl-sabresd.dts b/arch/arm/boot/dts/imx6dl-sabresd.dts index 9607afe088fc..cd6bbf22a16f 100644 --- a/arch/arm/boot/dts/imx6dl-sabresd.dts +++ b/arch/arm/boot/dts/imx6dl-sabresd.dts @@ -1,10 +1,6 @@ -/* - * Copyright (C) 2013 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright (C) 2013 Freescale Semiconductor, Inc.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6dl-udoo.dts b/arch/arm/boot/dts/imx6dl-udoo.dts index e3713f00e819..d871cac1711f 100644 --- a/arch/arm/boot/dts/imx6dl-udoo.dts +++ b/arch/arm/boot/dts/imx6dl-udoo.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6dl.dtsi" diff --git a/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts b/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts index 5727fa48cfd5..738db4fc7702 100644 --- a/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts +++ b/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6dl.dtsi" diff --git a/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts b/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts index a72c07db7dda..51de6b4bd7d8 100644 --- a/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts +++ b/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6dl.dtsi" diff --git a/arch/arm/boot/dts/imx6dl-wandboard.dts b/arch/arm/boot/dts/imx6dl-wandboard.dts index a09f274cd1f4..b43454deaa1a 100644 --- a/arch/arm/boot/dts/imx6dl-wandboard.dts +++ b/arch/arm/boot/dts/imx6dl-wandboard.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6dl.dtsi" diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi index 558bce81209d..b384913c34dd 100644 --- a/arch/arm/boot/dts/imx6dl.dtsi +++ b/arch/arm/boot/dts/imx6dl.dtsi @@ -1,12 +1,6 @@ - -/* - * Copyright 2013 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright 2013 Freescale Semiconductor, Inc.  #include <dt-bindings/interrupt-controller/irq.h>  #include "imx6dl-pinfunc.h" diff --git a/arch/arm/boot/dts/imx6q-b850v3.dts b/arch/arm/boot/dts/imx6q-b850v3.dts index 35edbdc7bcd1..044a5bebe1c5 100644 --- a/arch/arm/boot/dts/imx6q-b850v3.dts +++ b/arch/arm/boot/dts/imx6q-b850v3.dts @@ -156,8 +156,6 @@  	stdp2690@72 {  		compatible = "megachips,stdp2690-ge-b850v3-fw"; -		#address-cells = <1>; -		#size-cells = <0>;  		reg = <0x72>;  		ports { @@ -184,8 +182,6 @@  	stdp4028@73 {  		compatible = "megachips,stdp4028-ge-b850v3-fw"; -		#address-cells = <1>; -		#size-cells = <0>;  		reg = <0x73>;  		interrupt-parent = <&gpio2>;  		interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; diff --git a/arch/arm/boot/dts/imx6q-ba16.dtsi b/arch/arm/boot/dts/imx6q-ba16.dtsi index bf4bdb385de9..e903c488287b 100644 --- a/arch/arm/boot/dts/imx6q-ba16.dtsi +++ b/arch/arm/boot/dts/imx6q-ba16.dtsi @@ -157,7 +157,12 @@  		partition@d0000 {  			label = "spare"; -			reg = <0xd0000 0x130000>; +			reg = <0xd0000 0x320000>; +		}; + +		partition@3f0000 { +			label = "mfg"; +			reg = <0x3f0000 0x10000>;  		};  	};  }; diff --git a/arch/arm/boot/dts/imx6q-bx50v3.dtsi b/arch/arm/boot/dts/imx6q-bx50v3.dtsi index 990e411cbca0..d3cba09be0cb 100644 --- a/arch/arm/boot/dts/imx6q-bx50v3.dtsi +++ b/arch/arm/boot/dts/imx6q-bx50v3.dtsi @@ -43,13 +43,10 @@  #include "imx6q-ba16.dtsi"  / { -	clocks { -		mclk: clock@0 { -			compatible = "fixed-clock"; -			reg = <0>; -			#clock-cells = <0>; -			clock-frequency = <22000000>; -		}; +	mclk: clock-mclk { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <22000000>;  	};  	gpio-poweroff { @@ -107,8 +104,6 @@  		switch@0 {  			compatible = "marvell,mv88e6085"; /* 88e6240*/ -			#address-cells = <1>; -			#size-cells = <0>;  			reg = <0>;  			switch_ports: ports { diff --git a/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts b/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts new file mode 100644 index 000000000000..9c61e3be2d9a --- /dev/null +++ b/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts @@ -0,0 +1,151 @@ +// SPDX-License-Identifier: (GPL-2.0+) +/* + * Copyright (C) 2015 DH electronics GmbH + * Copyright (C) 2018 Marek Vasut <marex@denx.de> + */ + +/dts-v1/; + +#include "imx6q-dhcom-som.dtsi" + +/ { +	model = "Freescale i.MX6 Quad DHCOM Premium Developer Kit (2)"; +	compatible = "dh,imx6q-dhcom-pdk2", "dh,imx6q-dhcom-som", "fsl,imx6q"; + +	chosen { +		stdout-path = &uart1; +	}; + +	clk_ext_audio_codec: clock-codec { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <24000000>; +	}; + +	sound { +		compatible = "fsl,imx-audio-sgtl5000"; +		model = "imx-sgtl5000"; +		ssi-controller = <&ssi1>; +		audio-codec = <&sgtl5000>; +		audio-routing = +			"MIC_IN", "Mic Jack", +			"Mic Jack", "Mic Bias", +			"LINE_IN", "Line In Jack", +			"Headphone Jack", "HP_OUT"; +		mux-int-port = <1>; +		mux-ext-port = <3>; +	}; +}; + +&audmux { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_audmux_ext>; +	status = "okay"; +}; + +&hdmi { +	ddc-i2c-bus = <&i2c2>; +	status = "okay"; +}; + +&i2c2 { +	sgtl5000: codec@a { +		compatible = "fsl,sgtl5000"; +		reg = <0x0a>; +		#sound-dai-cells = <0>; +		clocks = <&clk_ext_audio_codec>; +		VDDA-supply = <®_3p3v>; +		VDDIO-supply = <®_3p3v>; +	}; +}; + +&iomuxc { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_hog_base &pinctrl_hog>; + +	pinctrl_hog: hog-grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x400120b0 +			MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x400120b0 +			MX6QDL_PAD_GPIO_5__GPIO1_IO05		0x400120b0 +			MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03	0x400120b0 +			MX6QDL_PAD_GPIO_19__GPIO4_IO05		0x120b0 +			MX6QDL_PAD_DI0_PIN4__GPIO4_IO20		0x400120b0 +			MX6QDL_PAD_EIM_D27__GPIO3_IO27		0x120b0 +			MX6QDL_PAD_KEY_ROW0__GPIO4_IO07		0x120b0 +			MX6QDL_PAD_KEY_COL1__GPIO4_IO08		0x400120b0 +			MX6QDL_PAD_NANDF_CS1__GPIO6_IO14	0x400120b0 +			MX6QDL_PAD_NANDF_CS2__GPIO6_IO15	0x400120b0 +			MX6QDL_PAD_KEY_ROW1__GPIO4_IO09		0x400120b0 +			MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x400120b0 +			MX6QDL_PAD_SD3_DAT4__GPIO7_IO01		0x400120b0 +			MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21	0x400120b0 +			MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x400120b0 +			MX6QDL_PAD_SD1_CMD__GPIO1_IO18		0x400120b0 +			MX6QDL_PAD_SD1_DAT0__GPIO1_IO16		0x400120b0 +			MX6QDL_PAD_SD1_DAT1__GPIO1_IO17		0x400120b0 +			MX6QDL_PAD_SD1_DAT2__GPIO1_IO19		0x400120b0 +			MX6QDL_PAD_SD1_CLK__GPIO1_IO20		0x400120b0 +			MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18	0x400120b0 +			MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19	0x400120b0 +			MX6QDL_PAD_KEY_COL0__GPIO4_IO06		0x400120b0 +		>; +	}; + +	pinctrl_audmux_ext: audmux-ext-grp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0 +			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0 +			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0 +			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0 +		>; +	}; + +	pinctrl_enet_1G: enet-1G-grp { +		fsl,pins = < +			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b0 +			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x100b0 +			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x100b0 +			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x100b0 +			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x100b0 +			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x100b0 +			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x100b0 +			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x100b0 +			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x100b0 +			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0 +			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0 +			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0 +			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0 +			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0 +			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0 +			MX6QDL_PAD_EIM_D29__GPIO3_IO29		0x000b0 +			MX6QDL_PAD_GPIO_0__GPIO1_IO00		0x000b1 +			MX6QDL_PAD_EIM_D26__GPIO3_IO26		0x000b1 +		>; +	}; + +	pinctrl_pcie: pcie-grp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20	0x1b0b1 +		>; +	}; +}; + +&pcie { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_pcie>; +	reset-gpio = <&gpio6 14 GPIO_ACTIVE_LOW>; +	status = "okay"; +}; + +&ssi1 { +	status = "okay"; +}; + +&sata { +	status = "okay"; +}; + +&usdhc3 { +	status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6q-dhcom-som.dtsi b/arch/arm/boot/dts/imx6q-dhcom-som.dtsi new file mode 100644 index 000000000000..bbba0671f0f4 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-dhcom-som.dtsi @@ -0,0 +1,476 @@ +// SPDX-License-Identifier: (GPL-2.0+) +/* + * Copyright (C) 2015 DH electronics GmbH + * Copyright (C) 2018 Marek Vasut <marex@denx.de> + */ + +#include "imx6q.dtsi" +#include <dt-bindings/pwm/pwm.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/clock/imx6qdl-clock.h> +#include <dt-bindings/input/input.h> + +/ { +	aliases { +		mmc0 = &usdhc2; +		mmc1 = &usdhc3; +		mmc2 = &usdhc4; +		mmc3 = &usdhc1; +	}; + +	memory@10000000 { +		reg = <0x10000000 0x40000000>; +	}; + +	reg_usb_otg_vbus: regulator-usb-otg-vbus { +		compatible = "regulator-fixed"; +		regulator-name = "usb_otg_vbus"; +		regulator-min-microvolt = <5000000>; +		regulator-max-microvolt = <5000000>; +	}; + +	reg_usb_h1_vbus: regulator-usb-h1-vbus { +		compatible = "regulator-fixed"; +		regulator-name = "usb_h1_vbus"; +		regulator-min-microvolt = <5000000>; +		regulator-max-microvolt = <5000000>; +		gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; +		enable-active-high; +	}; + +	reg_3p3v: regulator-3P3V { +		compatible = "regulator-fixed"; +		regulator-name = "3P3V"; +		regulator-min-microvolt = <3300000>; +		regulator-max-microvolt = <3300000>; +		regulator-always-on; +	}; +}; + +&can1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_flexcan1>; +	status = "okay"; +}; + +&can2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_flexcan2>; +	status = "okay"; +}; + +&ecspi1 { +	cs-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>, <&gpio4 11 GPIO_ACTIVE_HIGH>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_ecspi1>; +	status = "okay"; + +	flash@0 {	/* S25FL116K */ +		#address-cells = <1>; +		#size-cells = <1>; +		compatible = "jedec,spi-nor"; +		spi-max-frequency = <50000000>; +		reg = <0>; +		m25p,fast-read; +	}; +}; + +&ecspi2 { +	cs-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_ecspi2>; +	status = "okay"; +}; + +&fec { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_enet_100M>; +	phy-mode = "rmii"; +	phy-handle = <ðphy0>; +	status = "okay"; + +	mdio { +		#address-cells = <1>; +		#size-cells = <0>; + +		ethphy0: ethernet-phy@0 {	/* SMSC LAN8710Ai */ +			reg = <0>; +			max-speed = <100>; +			reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; +			reset-delay-us = <1000>; +			reset-post-delay-us = <1000>; +		}; +	}; +}; + +&i2c1 { +	clock-frequency = <100000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c1>; +	status = "okay"; +}; + +&i2c2 { +	clock-frequency = <100000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c2>; +	status = "okay"; +}; + +&i2c3 { +	clock-frequency = <100000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c3>; +	status = "okay"; + +	ltc3676: pmic@3c { +		compatible = "lltc,ltc3676"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_pmic_hw300>; +		reg = <0x3c>; +		interrupt-parent = <&gpio5>; +		interrupts = <2 IRQ_TYPE_EDGE_FALLING>; + +		regulators { +			sw1_reg: sw1 { +				regulator-min-microvolt = <787500>; +				regulator-max-microvolt = <1527272>; +				lltc,fb-voltage-divider = <100000 110000>; +				regulator-suspend-mem-microvolt = <1040000>; +				regulator-ramp-delay = <7000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			sw2_reg: sw2 { +				regulator-min-microvolt = <1885714>; +				regulator-max-microvolt = <3657142>; +				lltc,fb-voltage-divider = <100000 28000>; +				regulator-ramp-delay = <7000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			sw3_reg: sw3 { +				regulator-min-microvolt = <787500>; +				regulator-max-microvolt = <1527272>; +				lltc,fb-voltage-divider = <100000 110000>; +				regulator-suspend-mem-microvolt = <980000>; +				regulator-ramp-delay = <7000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			sw4_reg: sw4 { +				regulator-min-microvolt = <855571>; +				regulator-max-microvolt = <1659291>; +				lltc,fb-voltage-divider = <100000 93100>; +				regulator-ramp-delay = <7000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			ldo1_reg: ldo1 { +				regulator-min-microvolt = <3240306>; +				regulator-max-microvolt = <3240306>; +				lltc,fb-voltage-divider = <102000 29400>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			ldo2_reg: ldo2 { +				regulator-min-microvolt = <2484708>; +				regulator-max-microvolt = <2484708>; +				lltc,fb-voltage-divider = <100000 41200>; +				regulator-boot-on; +				regulator-always-on; +			}; +		}; +	}; + +	touchscreen@49 {	/* TSC2004 */ +		compatible = "ti,tsc2004"; +		reg = <0x49>; +		vio-supply = <®_3p3v>; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_tsc2004_hw300>; +		interrupts-extended = <&gpio4 14 IRQ_TYPE_EDGE_FALLING>; +		status = "disabled"; +	}; + +	eeprom@50 { +		compatible = "atmel,24c02"; +		reg = <0x50>; +		pagesize = <16>; +	}; + +	rtc@56 { +		compatible = "rv3029c2"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_rtc_hw300>; +		reg = <0x56>; +		interrupt-parent = <&gpio7>; +		interrupts = <12 2>; +	}; +}; + +&iomuxc { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_hog_base>; + +	pinctrl_hog_base: hog-base-grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_A19__GPIO2_IO19		0x120b0 +			MX6QDL_PAD_EIM_A23__GPIO6_IO06		0x120b0 +			MX6QDL_PAD_EIM_A22__GPIO2_IO16		0x120b0 +			MX6QDL_PAD_EIM_A16__GPIO2_IO22		0x120b0 +			MX6QDL_PAD_EIM_A17__GPIO2_IO21		0x120b0 +		>; +	}; + +	pinctrl_ecspi1: ecspi1-grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1 +			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1 +			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1 +			MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b0 +			MX6QDL_PAD_KEY_ROW2__GPIO4_IO11		0x1b0b0 +		>; +	}; + +	pinctrl_ecspi2: ecspi2-grp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DAT10__ECSPI2_MISO	0x100b1 +			MX6QDL_PAD_CSI0_DAT9__ECSPI2_MOSI	0x100b1 +			MX6QDL_PAD_CSI0_DAT8__ECSPI2_SCLK	0x100b1 +			MX6QDL_PAD_CSI0_DAT11__GPIO5_IO29	0x1b0b0 +		>; +	}; + +	pinctrl_enet_100M: enet-100M-grp { +		fsl,pins = < +			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0 +			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0 +			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0 +			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x1b0b0 +			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0 +			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0 +			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0 +			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x1b0b0 +			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x1b0b0 +			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8 +			MX6QDL_PAD_EIM_WAIT__GPIO5_IO00		0x000b0 +			MX6QDL_PAD_KEY_ROW4__GPIO4_IO15		0x000b1 +			MX6QDL_PAD_GPIO_7__GPIO1_IO07		0x120b0 +		>; +	}; + +	pinctrl_flexcan1: flexcan1-grp { +		fsl,pins = < +			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x1b0b0 +			MX6QDL_PAD_GPIO_8__FLEXCAN1_RX		0x1b0b0 +		>; +	}; + +	pinctrl_flexcan2: flexcan2-grp { +		fsl,pins = < +			MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX	0x1b0b0 +			MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX	0x1b0b0 +		>; +	}; + +	pinctrl_i2c1: i2c1-grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1 +			MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1 +		>; +	}; + +	pinctrl_i2c2: i2c2-grp { +		fsl,pins = < +			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1 +			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1 +		>; +	}; + +	pinctrl_i2c3: i2c3-grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1 +			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1 +		>; +	}; + +	pinctrl_pmic_hw300: pmic-hw300-grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_A25__GPIO5_IO02		0x1B0B0 +		>; +	}; + +	pinctrl_rtc_hw300: rtc-hw300-grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x120B0 +		>; +	}; + +	pinctrl_tsc2004_hw300: tsc2004-hw300-grp { +		fsl,pins = < +			MX6QDL_PAD_KEY_COL4__GPIO4_IO14		0x120B0 +		>; +	}; + +	pinctrl_uart1: uart1-grp { +		fsl,pins = < +			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1 +			MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1 +			MX6QDL_PAD_EIM_D20__UART1_RTS_B		0x1b0b1 +			MX6QDL_PAD_EIM_D19__UART1_CTS_B		0x4001b0b1 +			MX6QDL_PAD_EIM_D23__GPIO3_IO23		0x4001b0b1 +			MX6QDL_PAD_EIM_D24__GPIO3_IO24		0x4001b0b1 +			MX6QDL_PAD_EIM_D25__GPIO3_IO25		0x4001b0b1 +			MX6QDL_PAD_EIM_EB3__GPIO2_IO31		0x4001b0b1 +		>; +	}; + +	pinctrl_uart4: uart4-grp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA	0x1b0b1 +			MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA	0x1b0b1 +		>; +	}; + +	pinctrl_uart5: uart5-grp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA	0x1b0b1 +			MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA	0x1b0b1 +			MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B	0x1b0b1 +			MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B	0x4001b0b1 +		>; +	}; + +	pinctrl_usbh1: usbh1-grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_D31__GPIO3_IO31		0x120B0 +		>; +	}; + +	pinctrl_usbotg: usbotg-grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059 +		>; +	}; + +	pinctrl_usdhc2: usdhc2-grp { +		fsl,pins = < +			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059 +			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059 +			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059 +			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059 +			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059 +			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059 +			MX6QDL_PAD_NANDF_CS3__GPIO6_IO16	0x120B0 +		>; +	}; + +	pinctrl_usdhc3: usdhc3-grp { +		fsl,pins = < +			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059 +			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059 +			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059 +			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059 +			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059 +			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059 +			MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x120B0 +		>; +	}; + +	pinctrl_usdhc4: usdhc4-grp { +		fsl,pins = < +			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059 +			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059 +			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059 +			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059 +			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059 +			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059 +			MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059 +			MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059 +			MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059 +			MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059 +		>; +	}; +}; + +®_arm { +	vin-supply = <&sw3_reg>; +}; + +®_soc { +	vin-supply = <&sw1_reg>; +}; + +&uart1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_uart1>; +	uart-has-rtscts; +	dtr-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>; +	dsr-gpios = <&gpio3 25 GPIO_ACTIVE_LOW>; +	dcd-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; +	rng-gpios = <&gpio2 31 GPIO_ACTIVE_LOW>; +	status = "okay"; +}; + +&uart4 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_uart4>; +	status = "okay"; +}; + +&uart5 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_uart5>; +	uart-has-rtscts; +	status = "okay"; +}; + +&usbh1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usbh1>; +	vbus-supply = <®_usb_h1_vbus>; +	dr_mode = "host"; +	status = "okay"; +}; + +&usbotg { +	vbus-supply = <®_usb_otg_vbus>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usbotg>; +	disable-over-current; +	dr_mode = "otg"; +	status = "okay"; +}; + +&usdhc2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc2>; +	cd-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>; +	keep-power-in-suspend; +	status = "okay"; +}; + +&usdhc3 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc3>; +	cd-gpios = <&gpio7 8 GPIO_ACTIVE_LOW>; +	fsl,wp-controller; +	keep-power-in-suspend; +	status = "disabled"; +}; + +&usdhc4 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc4>; +	non-removable; +	bus-width = <8>; +	no-1-8-v; +	keep-power-in-suspend; +	status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6q-gk802.dts b/arch/arm/boot/dts/imx6q-gk802.dts index 0be375611382..84d3540b3a97 100644 --- a/arch/arm/boot/dts/imx6q-gk802.dts +++ b/arch/arm/boot/dts/imx6q-gk802.dts @@ -8,6 +8,7 @@  /dts-v1/;  #include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h>  #include "imx6q.dtsi"  / { @@ -43,7 +44,7 @@  		recovery-button {  			label = "recovery";  			gpios = <&gpio3 16 1>; -			linux,code = <0x198>; /* KEY_RESTART */ +			linux,code = <KEY_RESTART>;  			wakeup-source;  		};  	}; diff --git a/arch/arm/boot/dts/imx6q-icore-mipi.dts b/arch/arm/boot/dts/imx6q-icore-mipi.dts new file mode 100644 index 000000000000..acd3d33476d4 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-icore-mipi.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2017 Engicam S.r.l. + * Copyright (C) 2017 Amarula Solutions B.V. + * Author: Jagan Teki <jagan@amarulasolutions.com> + */ + +/dts-v1/; + +#include "imx6q.dtsi" +#include "imx6qdl-icore.dtsi" + +/ { +	model = "Engicam i.CoreM6 Quad/Dual MIPI Starter Kit"; +	compatible = "engicam,imx6-icore", "fsl,imx6q"; +}; + +&hdmi { +	ddc-i2c-bus = <&i2c2>; +	status = "okay"; +}; + +&usdhc3 { +	status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts index 9e230f56c5fb..6e27c8143f82 100644 --- a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts +++ b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts @@ -48,28 +48,31 @@  / {  	model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 12 Kit";  	compatible = "engicam,imx6-icore", "fsl,imx6q"; + +	panel { +		compatible = "koe,tx31d200vm0baa"; +		backlight = <&backlight_lvds>; + +		port { +			panel_in: endpoint { +				remote-endpoint = <&lvds0_out>; +			}; +		}; +	};  };  &ldb {  	status = "okay";  	lvds-channel@0 { -		fsl,data-mapping = "spwg"; -		fsl,data-width = <18>; +		reg = <0>;  		status = "okay"; -		display-timings { -			native-mode = <&timing0>; -			timing0: timing0 { -				clock-frequency = <46800000>; -				hactive = <1280>; -				vactive = <480>; -				hback-porch = <353>; -				hfront-porch = <47>; -				vback-porch = <39>; -				vfront-porch = <4>; -				hsync-len = <8>; -				vsync-len = <2>; +		port@4 { +			reg = <4>; + +			lvds0_out: endpoint { +				remote-endpoint = <&panel_in>;  			};  		};  	}; diff --git a/arch/arm/boot/dts/imx6q-kp-tpc.dts b/arch/arm/boot/dts/imx6q-kp-tpc.dts new file mode 100644 index 000000000000..302d8d06e4cc --- /dev/null +++ b/arch/arm/boot/dts/imx6q-kp-tpc.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2018 + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de + */ + +/dts-v1/; + +#include "imx6q-kp.dtsi" + +/ { +	model = "Freescale i.MX6 Qwuad K+P TPC Board"; +	compatible = "kiebackpeter,imx6q-tpc", "fsl,imx6q"; + +	memory@10000000 { +		reg = <0x10000000 0x40000000>; +	}; +}; + +&ipu1_di0_disp0 { +	remote-endpoint = <&lcd_display_in>; +}; diff --git a/arch/arm/boot/dts/imx6q-kp.dtsi b/arch/arm/boot/dts/imx6q-kp.dtsi new file mode 100644 index 000000000000..24c8169baf44 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-kp.dtsi @@ -0,0 +1,432 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2018 + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de + */ + +/dts-v1/; + +#include "imx6q.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pwm/pwm.h> +#include <dt-bindings/sound/fsl-imx-audmux.h> + +/ { +	backlight_lcd: backlight-lcd { +		compatible = "pwm-backlight"; +		pwms = <&pwm1 0 5000000>; +		brightness-levels = <0 255>; +		num-interpolated-steps = <255>; +		default-brightness-level = <250>; +	}; + +	beeper { +		compatible = "pwm-beeper"; +		pwms = <&pwm2 0 500000>; +	}; + +	lcd_display: display { +		compatible = "fsl,imx-parallel-display"; +		#address-cells = <1>; +		#size-cells = <0>; +		interface-pix-fmt = "rgb24"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_ipu1>; + +		port@0 { +			reg = <0>; + +			lcd_display_in: endpoint { +				remote-endpoint = <&ipu1_di0_disp0>; +			}; +		}; + +		port@1 { +			reg = <1>; + +			lcd_display_out: endpoint { +				remote-endpoint = <&lcd_panel_in>; +			}; +		}; +	}; + +	lcd_panel: lcd-panel { +		compatible = "auo,g070vvn01"; +		backlight = <&backlight_lcd>; +		power-supply = <®_display>; + +		port { +			lcd_panel_in: endpoint { +				remote-endpoint = <&lcd_display_out>; +			}; +		}; +	}; + +	leds { +		compatible = "gpio-leds"; + +		green { +			label = "led1"; +			gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; +			linux,default-trigger = "gpio"; +			default-state = "off"; +		}; + +		red { +			label = "led0"; +			gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; +			linux,default-trigger = "gpio"; +			default-state = "off"; +		}; +	}; + +	reg_3p3v: regulator-3p3v { +		compatible = "regulator-fixed"; +		regulator-name = "3P3V"; +		regulator-min-microvolt = <3300000>; +		regulator-max-microvolt = <3300000>; +		regulator-always-on; +	}; + +	reg_audio: regulator-audio { +		compatible = "regulator-fixed"; +		regulator-name = "sgtl5000-supply"; +		gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>; +		enable-active-high; +		regulator-always-on; +	}; + +	reg_display: regulator-display { +		compatible = "regulator-fixed"; +		regulator-name = "display-supply"; +		regulator-min-microvolt = <3300000>; +		regulator-max-microvolt = <3300000>; +		regulator-always-on; +	}; + +	reg_usb_h1_vbus: regulator-usb_h1_vbus { +		compatible = "regulator-fixed"; +		regulator-name = "usb_h1_vbus"; +		regulator-min-microvolt = <5000000>; +		regulator-max-microvolt = <5000000>; +		enable-active-high; +	}; + +	sound { +		compatible = "simple-audio-card"; +		simple-audio-card,name = "imx6q-sgtl5000-audio"; +		simple-audio-card,format = "i2s"; +		simple-audio-card,bitclock-master = <&codec_dai>; +		simple-audio-card,frame-master = <&codec_dai>; + +		cpu_dai: simple-audio-card,cpu { +			sound-dai = <&ssi1>; +		}; + +		codec_dai: simple-audio-card,codec { +			sound-dai = <&sgtl5000>; +		}; +	}; +}; + +&audmux { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_audmux>; +	status = "okay"; + +	ssi1 { +		fsl,audmux-port = <0>; +		fsl,port-config = < +			(IMX_AUDMUX_V2_PTCR_SYN | +			IMX_AUDMUX_V2_PTCR_TFSEL(2) | +			IMX_AUDMUX_V2_PTCR_TCSEL(2) | +			IMX_AUDMUX_V2_PTCR_TFSDIR | +			IMX_AUDMUX_V2_PTCR_TCLKDIR) +			IMX_AUDMUX_V2_PDCR_RXDSEL(2) +		>; +	}; + +	aud3 { +		fsl,audmux-port = <2>; +		fsl,port-config = < +			IMX_AUDMUX_V2_PTCR_SYN +			IMX_AUDMUX_V2_PDCR_RXDSEL(0) +		>; +	}; +}; + +&can1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_flexcan1>; +}; + +&can2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_flexcan2>; +}; + +&fec { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_enet>; +	phy-mode = "rgmii"; +	fsl,magic-packet; +	status = "okay"; +}; + +&i2c1 { +	clock-frequency = <400000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c1>; +	status = "okay"; + +	touchscreen@5d { +		compatible = "goodix,gt911"; +		reg = <0x5d>; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_ts>; +		interrupt-parent = <&gpio1>; +		interrupts = <9 IRQ_TYPE_EDGE_FALLING>; +		irq-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; +		reset-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; +	}; + +	ds1307: rtc@32 { +		compatible = "dallas,ds1307"; +		reg = <0x32>; +	}; +}; + +&i2c2 { +	clock-frequency = <400000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c2>; +	status = "okay"; + +	sgtl5000: audio-codec@a { +		compatible = "fsl,sgtl5000"; +		#sound-dai-cells = <0>; +		reg = <0x0a>; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_codec>; +		clocks = <&clks IMX6QDL_CLK_CKO>; +		VDDA-supply = <®_3p3v>; +		VDDIO-supply = <®_3p3v>; +	}; +}; + +&iomuxc { +	pinctrl_audmux: audmuxgrp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0 +			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0 +			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0 +			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS	0x130b0 +		>; +	}; + +	pinctrl_codec: codecgrp { +		fsl,pins = < +			MX6QDL_PAD_EIM_BCLK__GPIO6_IO31   0x1b0b0 +			/* sgtl5000 sys_mclk clock routed to CLKO1 */ +			MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000b0 +		>; +	}; + +	pinctrl_enet: enetgrp { +		fsl,pins = < +			MX6QDL_PAD_ENET_MDIO__ENET_MDIO	0x1b0b0 +			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0 +			MX6QDL_PAD_RGMII_TXC__RGMII_TXC	0x1b0b0 +			MX6QDL_PAD_RGMII_TD0__RGMII_TD0	0x1b0b0 +			MX6QDL_PAD_RGMII_TD1__RGMII_TD1	0x1b0b0 +			MX6QDL_PAD_RGMII_TD2__RGMII_TD2	0x1b0b0 +			MX6QDL_PAD_RGMII_TD3__RGMII_TD3	0x1b0b0 +			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0 +			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0 +			MX6QDL_PAD_RGMII_RXC__RGMII_RXC	0x1b0b0 +			MX6QDL_PAD_RGMII_RD0__RGMII_RD0	0x1b0b0 +			MX6QDL_PAD_RGMII_RD1__RGMII_RD1	0x1b0b0 +			MX6QDL_PAD_RGMII_RD2__RGMII_RD2	0x1b0b0 +			MX6QDL_PAD_RGMII_RD3__RGMII_RD3	0x1b0b0 +			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0 +			MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 +		>; +	}; + +	pinctrl_flexcan1: can1grp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_7__FLEXCAN1_TX        0x1b0b0 +			MX6QDL_PAD_GPIO_8__FLEXCAN1_RX        0x1b0b0 +		>; +	}; + +	pinctrl_flexcan2: can2grp { +		fsl,pins = < +			MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX        0x1b0b0 +			MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX        0x1b0b0 +		>; +	}; + +	pinctrl_i2c1: i2c1grp { +		fsl,pins = < +			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA	0x4001b8b1 +			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL	0x4001b8b1 +		>; +	}; + +	pinctrl_i2c2: i2c2grp { +		fsl,pins = < +			MX6QDL_PAD_KEY_COL3__I2C2_SCL	0x4001b8b1 +			MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b8b1 +		 >; +	}; + +	pinctrl_ipu1: ipu1grp { +		fsl,pins = < +			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 +			MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10 +			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10 +			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10 +			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10 +			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10 +			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10 +			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10 +			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10 +			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10 +			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10 +			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10 +			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10 +			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10 +			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10 +			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10 +			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10 +			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10 +			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10 +			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10 +			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10 +			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10 +			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10 +			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10 +			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10 +			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10 +			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10 +			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10 +		>; +	}; + +	pinctrl_pwm1: pwm1grp { +		fsl,pins = < +			MX6QDL_PAD_SD1_DAT3__PWM1_OUT		0x1b0b1 +		>; +	}; + +	pinctrl_pwm2: pwm2grp { +		fsl,pins = < +			MX6QDL_PAD_SD1_DAT2__PWM2_OUT		0x1b0b1 +		>; +	}; + +	pinctrl_ts: tsgrp { +		fsl,pins = < +			MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0 +			MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b0 +		>; +	}; + +	pinctrl_uart1: uart1grp { +		fsl,pins = < +			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1 +			MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1 +		>; +	}; + +	pinctrl_uart2: uart2grp { +		fsl,pins = < +			MX6QDL_PAD_EIM_D26__UART2_TX_DATA       0x1b0b1 +			MX6QDL_PAD_EIM_D27__UART2_RX_DATA       0x1b0b1 +			MX6QDL_PAD_EIM_D28__UART2_CTS_B         0x1b0b1 +			MX6QDL_PAD_EIM_D29__UART2_RTS_B         0x1b0b1 +		>; +	}; + +	pinctrl_usdhc2: usdhc2grp { +		fsl,pins = < +			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059 +			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059 +			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059 +			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059 +			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059 +			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059 +		>; +	}; + +	pinctrl_usdhc4: usdhc4grp { +		fsl,pins = < +			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059 +			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059 +			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059 +			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059 +			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059 +			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059 +			MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059 +			MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059 +			MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059 +			MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059 +		>; +	}; +}; + +&pwm1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_pwm1>; +	status = "okay"; +}; + +&pwm2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_pwm2>; +	status = "okay"; +}; + +&ssi1 { +	status = "okay"; +}; + +&uart1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_uart1>; +	status = "okay"; +}; + +&uart2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_uart2>; +	uart-has-rtscts; +}; + +&usbh1 { +	status = "okay"; +}; + +&usdhc2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc2>; +	bus-width = <4>; +	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; +	status = "okay"; +}; + +&usdhc4 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc4>; +	bus-width = <8>; +	non-removable; +	no-1-8-v; +	keep-power-in-suspend; +	status = "okay"; +}; + +&wdog1 { +	status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6q-novena.dts b/arch/arm/boot/dts/imx6q-novena.dts index 52f39371188d..fcd824dc485b 100644 --- a/arch/arm/boot/dts/imx6q-novena.dts +++ b/arch/arm/boot/dts/imx6q-novena.dts @@ -268,8 +268,6 @@  	touch: stmpe811@44 {  		compatible = "st,stmpe811";  		reg = <0x44>; -		#address-cells = <1>; -		#size-cells = <0>;  		irq-gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>;  		id = <0>;  		blocks = <0x5>; diff --git a/arch/arm/boot/dts/imx6q-pistachio.dts b/arch/arm/boot/dts/imx6q-pistachio.dts index bd57b3b74db7..a31e83cd07a3 100644 --- a/arch/arm/boot/dts/imx6q-pistachio.dts +++ b/arch/arm/boot/dts/imx6q-pistachio.dts @@ -614,7 +614,7 @@  &uart5 {  	pinctrl-names = "default";  	pinctrl-0 = <&pinctrl_uart5>; -	fsl,uart-has-rtscts; +	uart-has-rtscts;  	status = "okay";  }; diff --git a/arch/arm/boot/dts/imx6q-sabreauto.dts b/arch/arm/boot/dts/imx6q-sabreauto.dts index 334b9247e78c..6e981a3e0a83 100644 --- a/arch/arm/boot/dts/imx6q-sabreauto.dts +++ b/arch/arm/boot/dts/imx6q-sabreauto.dts @@ -1,14 +1,7 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts index 527772b62fee..eec944673c0b 100644 --- a/arch/arm/boot/dts/imx6q-sabresd.dts +++ b/arch/arm/boot/dts/imx6q-sabresd.dts @@ -1,14 +1,7 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6q-udoo.dts b/arch/arm/boot/dts/imx6q-udoo.dts index c3e64ff3d544..52e9f4a211d0 100644 --- a/arch/arm/boot/dts/imx6q-udoo.dts +++ b/arch/arm/boot/dts/imx6q-udoo.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6q.dtsi" diff --git a/arch/arm/boot/dts/imx6q-utilite-pro.dts b/arch/arm/boot/dts/imx6q-utilite-pro.dts index f5d9c34b0d39..d16ff2083d62 100644 --- a/arch/arm/boot/dts/imx6q-utilite-pro.dts +++ b/arch/arm/boot/dts/imx6q-utilite-pro.dts @@ -61,8 +61,6 @@  	encoder {  		compatible = "ti,tfp410"; -		#address-cells = <1>; -		#size-cells = <0>;  		ports {  			#address-cells = <1>; diff --git a/arch/arm/boot/dts/imx6q-var-dt6customboard.dts b/arch/arm/boot/dts/imx6q-var-dt6customboard.dts index e0728d475f6f..f2368a073d07 100644 --- a/arch/arm/boot/dts/imx6q-var-dt6customboard.dts +++ b/arch/arm/boot/dts/imx6q-var-dt6customboard.dts @@ -26,8 +26,6 @@  	gpio-keys {  		compatible = "gpio-keys"; -		#address-cells = <1>; -		#size-cells = <0>;  		autorepeat;  		back { diff --git a/arch/arm/boot/dts/imx6q-wandboard-revb1.dts b/arch/arm/boot/dts/imx6q-wandboard-revb1.dts index b763352cddae..be85b980bdfe 100644 --- a/arch/arm/boot/dts/imx6q-wandboard-revb1.dts +++ b/arch/arm/boot/dts/imx6q-wandboard-revb1.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6q.dtsi" diff --git a/arch/arm/boot/dts/imx6q-wandboard-revd1.dts b/arch/arm/boot/dts/imx6q-wandboard-revd1.dts index 8691fab21058..fcfba28764d4 100644 --- a/arch/arm/boot/dts/imx6q-wandboard-revd1.dts +++ b/arch/arm/boot/dts/imx6q-wandboard-revd1.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6q.dtsi" diff --git a/arch/arm/boot/dts/imx6q-wandboard.dts b/arch/arm/boot/dts/imx6q-wandboard.dts index 2a3d98c1489a..fa36fe183fc0 100644 --- a/arch/arm/boot/dts/imx6q-wandboard.dts +++ b/arch/arm/boot/dts/imx6q-wandboard.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6q.dtsi" diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi index ae7b3f107893..70483ce72ba6 100644 --- a/arch/arm/boot/dts/imx6q.dtsi +++ b/arch/arm/boot/dts/imx6q.dtsi @@ -1,12 +1,6 @@ - -/* - * Copyright 2013 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright 2013 Freescale Semiconductor, Inc.  #include <dt-bindings/interrupt-controller/irq.h>  #include "imx6q-pinfunc.h" @@ -162,22 +156,27 @@  				#size-cells = <0>;  				reg = <2>; -				ipu2_di0_disp0: disp0-endpoint { +				ipu2_di0_disp0: endpoint@0 { +					reg = <0>;  				}; -				ipu2_di0_hdmi: hdmi-endpoint { +				ipu2_di0_hdmi: endpoint@1 { +					reg = <1>;  					remote-endpoint = <&hdmi_mux_2>;  				}; -				ipu2_di0_mipi: mipi-endpoint { +				ipu2_di0_mipi: endpoint@2 { +					reg = <2>;  					remote-endpoint = <&mipi_mux_2>;  				}; -				ipu2_di0_lvds0: lvds0-endpoint { +				ipu2_di0_lvds0: endpoint@3 { +					reg = <3>;  					remote-endpoint = <&lvds0_mux_2>;  				}; -				ipu2_di0_lvds1: lvds1-endpoint { +				ipu2_di0_lvds1: endpoint@4 { +					reg = <4>;  					remote-endpoint = <&lvds1_mux_2>;  				};  			}; @@ -187,19 +186,23 @@  				#size-cells = <0>;  				reg = <3>; -				ipu2_di1_hdmi: hdmi-endpoint { +				ipu2_di1_hdmi: endpoint@1 { +					reg = <1>;  					remote-endpoint = <&hdmi_mux_3>;  				}; -				ipu2_di1_mipi: mipi-endpoint { +				ipu2_di1_mipi: endpoint@2 { +					reg = <2>;  					remote-endpoint = <&mipi_mux_3>;  				}; -				ipu2_di1_lvds0: lvds0-endpoint { +				ipu2_di1_lvds0: endpoint@3 { +					reg = <3>;  					remote-endpoint = <&lvds0_mux_3>;  				}; -				ipu2_di1_lvds1: lvds1-endpoint { +				ipu2_di1_lvds1: endpoint@4 { +					reg = <4>;  					remote-endpoint = <&lvds1_mux_3>;  				};  			}; diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi index 8206683172d2..64fbee61de44 100644 --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi @@ -331,8 +331,6 @@  		compatible = "st,stmpe811";  		pinctrl-names = "default";  		pinctrl-0 = <&pinctrl_touch_int>; -		#address-cells = <1>; -		#size-cells = <0>;  		reg = <0x41>;  		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;  		interrupt-parent = <&gpio4>; diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/imx6qdl-colibri.dtsi index e4eb300549d4..76035db96f67 100644 --- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi +++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi @@ -262,8 +262,6 @@  		compatible = "st,stmpe811";  		pinctrl-names = "default";  		pinctrl-0 = <&pinctrl_touch_int>; -		#address-cells = <1>; -		#size-cells = <0>;  		reg = <0x41>;  		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;  		interrupt-parent = <&gpio6>; diff --git a/arch/arm/boot/dts/imx6qdl-gw5904.dtsi b/arch/arm/boot/dts/imx6qdl-gw5904.dtsi index 58124adfd65b..3c52bdb453f3 100644 --- a/arch/arm/boot/dts/imx6qdl-gw5904.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw5904.dtsi @@ -162,8 +162,6 @@  		switch@0 {  			compatible = "marvell,mv88e6085"; -			#address-cells = <1>; -			#size-cells = <0>;  			reg = <0>;  			ports { diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi index 7e20b47de839..0e64016e765f 100644 --- a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +++ b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi @@ -38,6 +38,7 @@   *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR   *     OTHER DEALINGS IN THE SOFTWARE.   */ +#include <dt-bindings/sound/fsl-imx-audmux.h>  / {  	/* Will be filled by the bootloader */ @@ -110,17 +111,27 @@  		vin-supply = <&v_5v0>;  	}; -	sound-sgtl5000 { -		audio-codec = <&sgtl5000>; -		audio-routing = -			"MIC_IN", "Mic Jack", -			"Mic Jack", "Mic Bias", +	audio: sound-sgtl5000 { +		compatible = "simple-audio-card"; +		simple-audio-card,name = "On-board Codec"; +		simple-audio-card,format = "i2s"; +		simple-audio-card,bitclock-master = <&sound_codec>; +		simple-audio-card,frame-master = <&sound_codec>; +		simple-audio-card,widgets = +			"Microphone", "Headphone Jack", +			"Headphone", "Headphone Jack"; +		simple-audio-card,routing = +			"MIC_IN", "Headphone Jack", +			"Headphone Jack", "Mic Bias",  			"Headphone Jack", "HP_OUT"; -		compatible = "fsl,imx-audio-sgtl5000"; -		model = "On-board Codec"; -		mux-ext-port = <5>; -		mux-int-port = <1>; -		ssi-controller = <&ssi1>; + +		sound_cpu: simple-audio-card,cpu { +			sound-dai = <&ssi1>; +		}; + +		sound_codec: simple-audio-card,codec { +			sound-dai = <&sgtl5000>; +		};  	};  	sound-spdif { @@ -134,6 +145,26 @@  &audmux {  	status = "okay"; + +	ssi1 { +		fsl,audmux-port = <0>; +		fsl,port-config = < +			(IMX_AUDMUX_V2_PTCR_SYN | +			 IMX_AUDMUX_V2_PTCR_TFSEL(4) | +			 IMX_AUDMUX_V2_PTCR_TCSEL(4) | +			 IMX_AUDMUX_V2_PTCR_TFSDIR | +			 IMX_AUDMUX_V2_PTCR_TCLKDIR) +			 IMX_AUDMUX_V2_PDCR_RXDSEL(4) +		>; +	}; + +	pins5 { +		fsl,audmux-port = <4>; +		fsl,port-config = < +			IMX_AUDMUX_V2_PTCR_SYN +			IMX_AUDMUX_V2_PDCR_RXDSEL(0) +		>; +	};  };  &can1 { @@ -166,6 +197,7 @@  		compatible = "fsl,sgtl5000";  		pinctrl-names = "default";  		pinctrl-0 = <&pinctrl_hummingboard_sgtl5000>; +		#sound-dai-cells = <0>;  		reg = <0x0a>;  		VDDA-supply = <&v_3v2>;  		VDDIO-supply = <&v_3v2>; diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi index 98241acb08a6..c413f9c3540f 100644 --- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi @@ -38,6 +38,7 @@   *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR   *     OTHER DEALINGS IN THE SOFTWARE.   */ +#include <dt-bindings/sound/fsl-imx-audmux.h>  / {  	/* Will be filled by the bootloader */ @@ -150,22 +151,52 @@  		vin-supply = <&v_5v0>;  	}; -	sound-sgtl5000 { -		audio-codec = <&sgtl5000>; -		audio-routing = +	audio: sound-sgtl5000 { +		compatible = "simple-audio-card"; +		simple-audio-card,name = "On-board Codec"; +		simple-audio-card,format = "i2s"; +		simple-audio-card,bitclock-master = <&sound_codec>; +		simple-audio-card,frame-master = <&sound_codec>; +		simple-audio-card,widgets = +			"Microphone", "Mic Jack", +			"Headphone", "Headphone Jack"; +		simple-audio-card,routing =  			"MIC_IN", "Mic Jack",  			"Mic Jack", "Mic Bias",  			"Headphone Jack", "HP_OUT"; -		compatible = "fsl,imx-audio-sgtl5000"; -		model = "On-board Codec"; -		mux-ext-port = <5>; -		mux-int-port = <1>; -		ssi-controller = <&ssi1>; + +		sound_cpu: simple-audio-card,cpu { +			sound-dai = <&ssi1>; +		}; + +		sound_codec: simple-audio-card,codec { +			sound-dai = <&sgtl5000>; +		};  	};  };  &audmux {  	status = "okay"; + +	ssi1 { +		fsl,audmux-port = <0>; +		fsl,port-config = < +			(IMX_AUDMUX_V2_PTCR_SYN | +			 IMX_AUDMUX_V2_PTCR_TFSEL(4) | +			 IMX_AUDMUX_V2_PTCR_TCSEL(4) | +			 IMX_AUDMUX_V2_PTCR_TFSDIR | +			 IMX_AUDMUX_V2_PTCR_TCLKDIR) +			 IMX_AUDMUX_V2_PDCR_RXDSEL(4) +		>; +	}; + +	pins5 { +		fsl,audmux-port = <4>; +		fsl,port-config = < +			IMX_AUDMUX_V2_PTCR_SYN +			IMX_AUDMUX_V2_PDCR_RXDSEL(0) +		>; +	};  };  &ecspi2 { diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi index b3a463a5908b..0a1574998fc6 100644 --- a/arch/arm/boot/dts/imx6qdl-icore.dtsi +++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi @@ -49,7 +49,7 @@  		reg = <0x10000000 0x80000000>;  	}; -	backlight { +	backlight_lvds: backlight-lvds {  		compatible = "pwm-backlight";  		pwms = <&pwm3 0 100000>;  		brightness-levels = <0 4 8 16 32 64 128 255>; @@ -265,6 +265,14 @@  	status = "okay";  }; +&usdhc3 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_usdhc3>; +	no-1-8-v; +	non-removable; +	status = "disabled"; +}; +  &iomuxc {  	pinctrl_audmux: audmux {  		fsl,pins = < @@ -378,4 +386,19 @@  			MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070  		>;  	}; + +	pinctrl_usdhc3: usdhc3grp { +		fsl,pins = < +			MX6QDL_PAD_SD3_CMD__SD3_CMD    0x17059 +			MX6QDL_PAD_SD3_CLK__SD3_CLK    0x10059 +			MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 +			MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 +			MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 +			MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 +			MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 +			MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 +			MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 +			MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 +		>; +	};  }; diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi index c58f3443d55d..ed1aafd56973 100644 --- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi +++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi @@ -115,7 +115,7 @@  		compatible = "dlg,da9063";  		reg = <0x58>;  		interrupt-parent = <&gpio2>; -		interrupts = <9 0x8>; /* active-low GPIO2_9 */ +		interrupts = <9 IRQ_TYPE_LEVEL_LOW>; /* active-low GPIO2_9 */  		regulators {  			vddcore_reg: bcore1 { diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi index 54b0139e978d..0e28e36ddbb2 100644 --- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi @@ -1,14 +1,7 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  #include <dt-bindings/gpio/gpio.h> diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi index 18b65052553d..654cf2c9b073 100644 --- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi @@ -379,9 +379,6 @@  		powerdown-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* NANDF_WP_B */  		port { -			#address-cells = <1>; -			#size-cells = <0>; -  			ov5640_to_mipi_csi2: endpoint {  				remote-endpoint = <&mipi_csi2_in>;  				clock-lanes = <0>; diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi index f019f9900369..15744ad52535 100644 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi @@ -1,14 +1,7 @@ -/* - * Copyright 2012 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2012 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  #include <dt-bindings/clock/imx6qdl-clock.h>  #include <dt-bindings/gpio/gpio.h> @@ -294,9 +287,6 @@  		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;  		port { -			#address-cells = <1>; -			#size-cells = <0>; -  			ov5640_to_mipi_csi2: endpoint {  				remote-endpoint = <&mipi_csi2_in>;  				clock-lanes = <0>; diff --git a/arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi b/arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi index 5102fc47380b..79f2354886b7 100644 --- a/arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi @@ -77,7 +77,6 @@  		enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;  		power-supply = <®_3v3>;  		backlight = <&backlight>; -		bus-format-override = "rgb24";  		port {  			lcd_panel_in: endpoint { diff --git a/arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi b/arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi index 4c4e2e1a931f..410972e1dca9 100644 --- a/arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi +++ b/arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi @@ -54,19 +54,16 @@  	lcd-panel {  		compatible = "edt,et057090dhu"; -		bus-format-override = "rgb24";  		pixelclk-active = <0>;  	};  	lvds0-panel {  		compatible = "edt,etml1010g0dka"; -		bus-format-override = "spwg-18";  		pixelclk-active = <0>;  	};  	lvds1-panel {  		compatible = "edt,etml1010g0dka"; -		bus-format-override = "spwg-18";  		pixelclk-active = <0>;  	};  }; diff --git a/arch/arm/boot/dts/imx6qdl-tx6.dtsi b/arch/arm/boot/dts/imx6qdl-tx6.dtsi index f015e2d1cf35..a98fb2564c63 100644 --- a/arch/arm/boot/dts/imx6qdl-tx6.dtsi +++ b/arch/arm/boot/dts/imx6qdl-tx6.dtsi @@ -50,11 +50,11 @@  		can0 = &can2;  		can1 = &can1;  		ethernet0 = &fec; -		lcdif_23bit_pins_a = &pinctrl_disp0_1; -		lcdif_24bit_pins_a = &pinctrl_disp0_2; +		lcdif-23bit-pins-a = &pinctrl_disp0_1; +		lcdif-24bit-pins-a = &pinctrl_disp0_2;  		pwm0 = &pwm1;  		pwm1 = &pwm2; -		reg_can_xcvr = ®_can_xcvr; +		reg-can-xcvr = ®_can_xcvr;  		stk5led = &user_led;  		usbotg = &usbotg;  		sdhc0 = &usdhc1; diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi index 906387915dc5..4f27861bbb32 100644 --- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi +++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  / { diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi index a32089132263..855dc6f9df75 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi @@ -17,7 +17,6 @@  	imx6qdl-wandboard {  		pinctrl_hog: hoggrp {  			fsl,pins = < -				MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x130b0		/* GPIO_0_CLKO */  				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x80000000	/* uSDHC1 CD */  				MX6QDL_PAD_EIM_DA9__GPIO3_IO09		0x80000000	/* uSDHC3 CD */  				MX6QDL_PAD_EIM_EB1__GPIO2_IO29		0x0f0b0		/* WL_REF_ON */ diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi index 8d893a78cdf0..49a0a557e62e 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi @@ -17,7 +17,6 @@  	imx6qdl-wandboard {  		pinctrl_hog: hoggrp {  			fsl,pins = < -				MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x130b0		/* GPIO_0_CLKO */  				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x80000000	/* uSDHC1 CD */  				MX6QDL_PAD_EIM_DA9__GPIO3_IO09		0x80000000	/* uSDHC3 CD */  				MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00	0x0f0b0		/* WIFI_ON (reset, active low) */ diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi index 3a8a4952d45e..69d9c8661439 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi @@ -147,7 +147,6 @@  	imx6qdl-wandboard {  		pinctrl_hog: hoggrp {  			fsl,pins = < -				MX6QDL_PAD_GPIO_0__CCM_CLKO1     	0x130b0  				MX6QDL_PAD_EIM_D22__USB_OTG_PWR		0x80000000	/* USB Power Enable */  				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x80000000	/* USDHC1 CD */  				MX6QDL_PAD_EIM_DA9__GPIO3_IO09		0x80000000	/* uSDHC3 CD */ diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi index ed96d7b5feab..e1afa54404d0 100644 --- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi +++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  #include <dt-bindings/gpio/gpio.h> @@ -83,6 +79,8 @@  	status = "okay";  	codec: sgtl5000@a { +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_mclk>;  		compatible = "fsl,sgtl5000";  		reg = <0x0a>;  		clocks = <&clks IMX6QDL_CLK_CKO>; @@ -142,6 +140,12 @@  			>;  		}; +		pinctrl_mclk: mclkgrp { +			fsl,pins = < +				MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x130b0 +			>; +		}; +  		pinctrl_spdif: spdifgrp {  			fsl,pins = <  				MX6QDL_PAD_ENET_RXD0__SPDIF_OUT		0x1b0b0 diff --git a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi index 911f7f0e3cea..19a075aee19e 100644 --- a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi +++ b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi @@ -263,6 +263,17 @@  	};  }; +&cpu0 { +	fsl,soc-operating-points = < +		/* ARM kHz  SOC-PU uV */ +		1200000 1300000 +		996000	1275000 +		852000	1275000 +		792000	1200000 +		396000	1200000 +	>; +}; +  ®_arm {  	vin-supply = <&sw1a_reg>;  }; @@ -571,6 +582,17 @@  		};  	}; +	touchscreen@2a { +		compatible = "eeti,egalax_ts"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_ts>; +		reg = <0x2a>; +		interrupt-parent = <&gpio1>; +		interrupts = <8 IRQ_TYPE_LEVEL_LOW>; +		wakeup-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; +		status = "disabled"; +	}; +  	hpa1: amp@60 {  		compatible = "ti,tpa6130a2";  		pinctrl-names = "default"; @@ -666,8 +688,6 @@  			compatible = "marvell,mv88e6085";  			pinctrl-0 = <&pinctrl_switch_irq>;  			pinctrl-names = "default"; -			#address-cells = <1>; -			#size-cells = <0>;  			reg = <0>;  			dsa,member = <0 0>;  			eeprom-length = <512>; diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi index c003e62bf290..911141e24681 100644 --- a/arch/arm/boot/dts/imx6qdl.dtsi +++ b/arch/arm/boot/dts/imx6qdl.dtsi @@ -1,14 +1,7 @@ -/* - * Copyright 2011 Freescale Semiconductor, Inc. - * Copyright 2011 Linaro Ltd. - * - * 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 - */ +// SPDX-License-Identifier: GPL-2.0+ +// +// Copyright 2011 Freescale Semiconductor, Inc. +// Copyright 2011 Linaro Ltd.  #include <dt-bindings/clock/imx6qdl-clock.h>  #include <dt-bindings/interrupt-controller/arm-gic.h> @@ -58,9 +51,6 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -  		ckil {  			compatible = "fsl,imx-ckil", "fixed-clock";  			#clock-cells = <0>; @@ -695,11 +685,8 @@  				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,  					     <0 54 IRQ_TYPE_LEVEL_HIGH>,  					     <0 127 IRQ_TYPE_LEVEL_HIGH>; -				#address-cells = <1>; -				#size-cells = <0>; -				regulator-1p1@20c8110 { -					reg = <0x20c8110>; +				regulator-1p1 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd1p1";  					regulator-min-microvolt = <1000000>; @@ -714,8 +701,7 @@  					anatop-enable-bit = <0>;  				}; -				regulator-3p0@20c8120 { -					reg = <0x20c8120>; +				regulator-3p0 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd3p0";  					regulator-min-microvolt = <2800000>; @@ -730,8 +716,7 @@  					anatop-enable-bit = <0>;  				}; -				regulator-2p5@20c8130 { -					reg = <0x20c8130>; +				regulator-2p5 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd2p5";  					regulator-min-microvolt = <2250000>; @@ -746,8 +731,7 @@  					anatop-enable-bit = <0>;  				}; -				reg_arm: regulator-vddcore@20c8140 { -					reg = <0x20c8140>; +				reg_arm: regulator-vddcore {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddarm";  					regulator-min-microvolt = <725000>; @@ -764,8 +748,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_pu: regulator-vddpu@20c8140 { -					reg = <0x20c8140>; +				reg_pu: regulator-vddpu {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddpu";  					regulator-min-microvolt = <725000>; @@ -782,8 +765,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_soc: regulator-vddsoc@20c8140 { -					reg = <0x20c8140>; +				reg_soc: regulator-vddsoc {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddsoc";  					regulator-min-microvolt = <725000>; @@ -1187,8 +1169,6 @@  			};  			mipi_dsi: mipi@21e0000 { -				#address-cells = <1>; -				#size-cells = <0>;  				reg = <0x021e0000 0x4000>;  				status = "disabled"; @@ -1300,22 +1280,27 @@  				#size-cells = <0>;  				reg = <2>; -				ipu1_di0_disp0: disp0-endpoint { +				ipu1_di0_disp0: endpoint@0 { +					reg = <0>;  				}; -				ipu1_di0_hdmi: hdmi-endpoint { +				ipu1_di0_hdmi: endpoint@1 { +					reg = <1>;  					remote-endpoint = <&hdmi_mux_0>;  				}; -				ipu1_di0_mipi: mipi-endpoint { +				ipu1_di0_mipi: endpoint@2 { +					reg = <2>;  					remote-endpoint = <&mipi_mux_0>;  				}; -				ipu1_di0_lvds0: lvds0-endpoint { +				ipu1_di0_lvds0: endpoint@3 { +					reg = <3>;  					remote-endpoint = <&lvds0_mux_0>;  				}; -				ipu1_di0_lvds1: lvds1-endpoint { +				ipu1_di0_lvds1: endpoint@4 { +					reg = <4>;  					remote-endpoint = <&lvds1_mux_0>;  				};  			}; @@ -1325,22 +1310,27 @@  				#size-cells = <0>;  				reg = <3>; -				ipu1_di1_disp1: disp1-endpoint { +				ipu1_di1_disp1: endpoint@0 { +					reg = <0>;  				}; -				ipu1_di1_hdmi: hdmi-endpoint { +				ipu1_di1_hdmi: endpoint@1 { +					reg = <1>;  					remote-endpoint = <&hdmi_mux_1>;  				}; -				ipu1_di1_mipi: mipi-endpoint { +				ipu1_di1_mipi: endpoint@2 { +					reg = <2>;  					remote-endpoint = <&mipi_mux_1>;  				}; -				ipu1_di1_lvds0: lvds0-endpoint { +				ipu1_di1_lvds0: endpoint@3 { +					reg = <3>;  					remote-endpoint = <&lvds0_mux_1>;  				}; -				ipu1_di1_lvds1: lvds1-endpoint { +				ipu1_di1_lvds1: endpoint@4 { +					reg = <4>;  					remote-endpoint = <&lvds1_mux_1>;  				};  			}; diff --git a/arch/arm/boot/dts/imx6qp-sabreauto.dts b/arch/arm/boot/dts/imx6qp-sabreauto.dts index 5ce3840d83d3..d4caeeb0af70 100644 --- a/arch/arm/boot/dts/imx6qp-sabreauto.dts +++ b/arch/arm/boot/dts/imx6qp-sabreauto.dts @@ -1,44 +1,6 @@ -/* - * Copyright 2016 Freescale Semiconductor, Inc. - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright 2016 Freescale Semiconductor, Inc.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6qp-sabresd.dts b/arch/arm/boot/dts/imx6qp-sabresd.dts index a8a5004dd9c8..f1b9cb104fdd 100644 --- a/arch/arm/boot/dts/imx6qp-sabresd.dts +++ b/arch/arm/boot/dts/imx6qp-sabresd.dts @@ -1,44 +1,6 @@ -/* - * Copyright 2016 Freescale Semiconductor, Inc. - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright 2016 Freescale Semiconductor, Inc.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts b/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts index 907ba0c74ba6..bcca5ac5fa51 100644 --- a/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts +++ b/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts @@ -1,12 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * Copyright 2013 Freescale Semiconductor, Inc.   *   * Author: Fabio Estevam <fabio.estevam@freescale.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - *   */  /dts-v1/;  #include "imx6qp.dtsi" diff --git a/arch/arm/boot/dts/imx6qp-zii-rdu2.dts b/arch/arm/boot/dts/imx6qp-zii-rdu2.dts index de5b50df833c..8c293e9f36a7 100644 --- a/arch/arm/boot/dts/imx6qp-zii-rdu2.dts +++ b/arch/arm/boot/dts/imx6qp-zii-rdu2.dts @@ -53,3 +53,8 @@  		reg = <0x10000000 0>;  	};  }; + +&gpu_3d { +	assigned-clocks = <&clks IMX6QDL_CLK_GPU3D_SHADER_SEL>; +	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL2_PFD1_594M>; +}; diff --git a/arch/arm/boot/dts/imx6qp.dtsi b/arch/arm/boot/dts/imx6qp.dtsi index 5f4fdce715c1..5f51f8e5c1fa 100644 --- a/arch/arm/boot/dts/imx6qp.dtsi +++ b/arch/arm/boot/dts/imx6qp.dtsi @@ -1,44 +1,6 @@ -/* - * Copyright 2016 Freescale Semiconductor, Inc. - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright 2016 Freescale Semiconductor, Inc.  #include "imx6q.dtsi" diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts index 37e792fdc160..92ad01f676e3 100644 --- a/arch/arm/boot/dts/imx6sl-evk.dts +++ b/arch/arm/boot/dts/imx6sl-evk.dts @@ -1,10 +1,6 @@ -/* - * Copyright (C) 2013 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +//Copyright (C) 2013 Freescale Semiconductor, Inc.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi index ab6a7e2e7e8f..994e48dc1df0 100644 --- a/arch/arm/boot/dts/imx6sl.dtsi +++ b/arch/arm/boot/dts/imx6sl.dtsi @@ -1,11 +1,6 @@ -/* - * Copyright 2013 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright 2013 Freescale Semiconductor, Inc.  #include <dt-bindings/interrupt-controller/irq.h>  #include "imx6sl-pinfunc.h" @@ -86,9 +81,6 @@  	};  	clocks { -		#address-cells = <1>; -		#size-cells = <0>; -  		ckil {  			compatible = "fixed-clock";  			#clock-cells = <0>; @@ -527,11 +519,8 @@  				interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,  					     <0 54 IRQ_TYPE_LEVEL_HIGH>,  					     <0 127 IRQ_TYPE_LEVEL_HIGH>; -				#address-cells = <1>; -				#size-cells = <0>; -				regulator-1p1@20c8110 { -					reg = <0x20c8110>; +				regulator-1p1 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd1p1";  					regulator-min-microvolt = <800000>; @@ -546,8 +535,7 @@  					anatop-enable-bit = <0>;  				}; -				regulator-3p0@20c8120 { -					reg = <0x20c8120>; +				regulator-3p0 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd3p0";  					regulator-min-microvolt = <2800000>; @@ -562,8 +550,7 @@  					anatop-enable-bit = <0>;  				}; -				regulator-2p5@20c8130 { -					reg = <0x20c8130>; +				regulator-2p5 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd2p5";  					regulator-min-microvolt = <2100000>; @@ -578,8 +565,7 @@  					anatop-enable-bit = <0>;  				}; -				reg_arm: regulator-vddcore@20c8140 { -					reg = <0x20c8140>; +				reg_arm: regulator-vddcore {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddarm";  					regulator-min-microvolt = <725000>; @@ -596,8 +582,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_pu: regulator-vddpu@20c8140 { -					reg = <0x20c8140>; +				reg_pu: regulator-vddpu {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddpu";  					regulator-min-microvolt = <725000>; @@ -614,8 +599,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_soc: regulator-vddsoc@20c8140 { -					reg = <0x20c8140>; +				reg_soc: regulator-vddsoc {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddsoc";  					regulator-min-microvolt = <725000>; diff --git a/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts b/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts index b58f770c40d9..59e52f504922 100644 --- a/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts +++ b/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts @@ -48,8 +48,8 @@  	compatible = "boundary,imx6sx-nitrogen6sx", "fsl,imx6sx";  	aliases { -		fb_lcd = &lcdif1; -		t_lcd = &t_lcd; +		fb-lcd = &lcdif1; +		t-lcd = &t_lcd;  	};  	memory@80000000 { diff --git a/arch/arm/boot/dts/imx6sx-sabreauto.dts b/arch/arm/boot/dts/imx6sx-sabreauto.dts index 72da5acf35a2..841a27f3198f 100644 --- a/arch/arm/boot/dts/imx6sx-sabreauto.dts +++ b/arch/arm/boot/dts/imx6sx-sabreauto.dts @@ -1,10 +1,6 @@ -/* - * Copyright (C) 2014 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright (C) 2014 Freescale Semiconductor, Inc.  /dts-v1/; @@ -18,25 +14,67 @@  		reg = <0x80000000 0x80000000>;  	}; -	regulators { -		compatible = "simple-bus"; +	leds { +		compatible = "gpio-leds"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_led>; + +		user { +			label = "debug"; +			gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; +			linux,default-trigger = "heartbeat"; +		}; +	}; + +	vcc_sd3: regulator-vcc-sd3 { +		compatible = "regulator-fixed"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_vcc_sd3>; +		regulator-name = "VCC_SD3"; +		regulator-min-microvolt = <3000000>; +		regulator-max-microvolt = <3000000>; +		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; +		enable-active-high; +	}; +}; + +&anaclk2 { +	clock-frequency = <24576000>; +}; + +&fec1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_enet1>; +	phy-mode = "rgmii"; +	phy-handle = <ðphy1>; +	fsl,magic-packet; +	status = "okay"; + +	mdio {  		#address-cells = <1>;  		#size-cells = <0>; -		vcc_sd3: regulator@0 { -			compatible = "regulator-fixed"; +		ethphy0: ethernet-phy@0 { +			compatible = "ethernet-phy-ieee802.3-c22";  			reg = <0>; -			pinctrl-names = "default"; -			pinctrl-0 = <&pinctrl_vcc_sd3>; -			regulator-name = "VCC_SD3"; -			regulator-min-microvolt = <3000000>; -			regulator-max-microvolt = <3000000>; -			gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; -			enable-active-high; +		}; + +		ethphy1: ethernet-phy@1 { +			compatible = "ethernet-phy-ieee802.3-c22"; +			reg = <1>;  		};  	};  }; +&fec2 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_enet2>; +	phy-mode = "rgmii"; +	phy-handle = <ðphy0>; +	fsl,magic-packet; +	status = "okay"; +}; +  &uart1 {  	pinctrl-names = "default";  	pinctrl-0 = <&pinctrl_uart1>; @@ -69,78 +107,297 @@  };  &iomuxc { -	imx6x-sabreauto { -		pinctrl_uart1: uart1grp { -			fsl,pins = < -				MX6SX_PAD_GPIO1_IO04__UART1_TX		0x1b0b1 -				MX6SX_PAD_GPIO1_IO05__UART1_RX		0x1b0b1 -			>; -		}; +	pinctrl_egalax_int: egalax-intgrp { +		fsl,pins = < +			MX6SX_PAD_SD4_RESET_B__GPIO6_IO_22      0x10b0 +		>; +	}; -		pinctrl_usdhc3: usdhc3grp { -			fsl,pins = < -				MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x17059 -				MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x10059 -				MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x17059 -				MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x17059 -				MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x17059 -				MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x17059 -				MX6SX_PAD_SD3_DATA4__USDHC3_DATA4	0x17059 -				MX6SX_PAD_SD3_DATA5__USDHC3_DATA5	0x17059 -				MX6SX_PAD_SD3_DATA6__USDHC3_DATA6	0x17059 -				MX6SX_PAD_SD3_DATA7__USDHC3_DATA7	0x17059 -				MX6SX_PAD_KEY_COL0__GPIO2_IO_10		0x17059 /* CD */ -				MX6SX_PAD_KEY_ROW0__GPIO2_IO_15		0x17059 /* WP */ -			>; -		}; +	pinctrl_enet1: enet1grp { +		fsl,pins = < +			MX6SX_PAD_ENET1_MDIO__ENET1_MDIO        0xa0b1 +			MX6SX_PAD_ENET1_MDC__ENET1_MDC          0xa0b1 +			MX6SX_PAD_RGMII1_TXC__ENET1_RGMII_TXC   0xa0b9 +			MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0   0xa0b1 +			MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1   0xa0b1 +			MX6SX_PAD_RGMII1_TD2__ENET1_TX_DATA_2   0xa0b1 +			MX6SX_PAD_RGMII1_TD3__ENET1_TX_DATA_3   0xa0b1 +			MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN    0xa0b1 +			MX6SX_PAD_RGMII1_RXC__ENET1_RX_CLK      0x3081 +			MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0   0x3081 +			MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1   0x3081 +			MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2   0x3081 +			MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3   0x3081 +			MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN    0x3081 +		>; +	}; -		pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { -			fsl,pins = < -				MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x170b9 -				MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x100b9 -				MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x170b9 -				MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x170b9 -				MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x170b9 -				MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x170b9 -				MX6SX_PAD_SD3_DATA4__USDHC3_DATA4	0x170b9 -				MX6SX_PAD_SD3_DATA5__USDHC3_DATA5	0x170b9 -				MX6SX_PAD_SD3_DATA6__USDHC3_DATA6	0x170b9 -				MX6SX_PAD_SD3_DATA7__USDHC3_DATA7	0x170b9 -			>; -		}; +	pinctrl_enet2: enet2grp { +		fsl,pins = < +			MX6SX_PAD_RGMII2_TXC__ENET2_RGMII_TXC   0xa0b9 +			MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0   0xa0b1 +			MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1   0xa0b1 +			MX6SX_PAD_RGMII2_TD2__ENET2_TX_DATA_2   0xa0b1 +			MX6SX_PAD_RGMII2_TD3__ENET2_TX_DATA_3   0xa0b1 +			MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN    0xa0b1 +			MX6SX_PAD_RGMII2_RXC__ENET2_RX_CLK      0x3081 +			MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0   0x3081 +			MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1   0x3081 +			MX6SX_PAD_RGMII2_RD2__ENET2_RX_DATA_2   0x3081 +			MX6SX_PAD_RGMII2_RD3__ENET2_RX_DATA_3   0x3081 +			MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN    0x3081 +		>; +	}; -		pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { -			fsl,pins = < -				MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x170f9 -				MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x100f9 -				MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x170f9 -				MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x170f9 -				MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x170f9 -				MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x170f9 -				MX6SX_PAD_SD3_DATA4__USDHC3_DATA4	0x170f9 -				MX6SX_PAD_SD3_DATA5__USDHC3_DATA5	0x170f9 -				MX6SX_PAD_SD3_DATA6__USDHC3_DATA6	0x170f9 -				MX6SX_PAD_SD3_DATA7__USDHC3_DATA7	0x170f9 -			>; -		}; +	pinctrl_i2c2: i2c2grp { +		fsl,pins = < +			MX6SX_PAD_GPIO1_IO03__I2C2_SDA          0x4001b8b1 +			MX6SX_PAD_GPIO1_IO02__I2C2_SCL          0x4001b8b1 +		>; +	}; -		pinctrl_usdhc4: usdhc4grp { -			fsl,pins = < -				MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x17059 -				MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x10059 -				MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x17059 -				MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x17059 -				MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x17059 -				MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x17059 -				MX6SX_PAD_SD4_DATA7__GPIO6_IO_21	0x17059 /* CD */ -				MX6SX_PAD_SD4_DATA6__GPIO6_IO_20	0x17059 /* WP */ -			>; -		}; +	pinctrl_i2c3: i2c3grp { +		fsl,pins = < +			MX6SX_PAD_KEY_ROW4__I2C3_SDA            0x4001b8b1 +			MX6SX_PAD_KEY_COL4__I2C3_SCL            0x4001b8b1 +		>; +	}; + +	pinctrl_led: ledgrp { +		fsl,pins = < +			MX6SX_PAD_CSI_PIXCLK__GPIO1_IO_24 0x17059 +		>; +	}; + +	pinctrl_uart1: uart1grp { +		fsl,pins = < +			MX6SX_PAD_GPIO1_IO04__UART1_TX		0x1b0b1 +			MX6SX_PAD_GPIO1_IO05__UART1_RX		0x1b0b1 +		>; +	}; + +	pinctrl_usdhc3: usdhc3grp { +		fsl,pins = < +			MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x17059 +			MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x10059 +			MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x17059 +			MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x17059 +			MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x17059 +			MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x17059 +			MX6SX_PAD_SD3_DATA4__USDHC3_DATA4	0x17059 +			MX6SX_PAD_SD3_DATA5__USDHC3_DATA5	0x17059 +			MX6SX_PAD_SD3_DATA6__USDHC3_DATA6	0x17059 +			MX6SX_PAD_SD3_DATA7__USDHC3_DATA7	0x17059 +			MX6SX_PAD_KEY_COL0__GPIO2_IO_10		0x17059 /* CD */ +			MX6SX_PAD_KEY_ROW0__GPIO2_IO_15		0x17059 /* WP */ +		>; +	}; + +	pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { +		fsl,pins = < +			MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x170b9 +			MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x100b9 +			MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x170b9 +			MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x170b9 +			MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x170b9 +			MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x170b9 +			MX6SX_PAD_SD3_DATA4__USDHC3_DATA4	0x170b9 +			MX6SX_PAD_SD3_DATA5__USDHC3_DATA5	0x170b9 +			MX6SX_PAD_SD3_DATA6__USDHC3_DATA6	0x170b9 +			MX6SX_PAD_SD3_DATA7__USDHC3_DATA7	0x170b9 +		>; +	}; + +	pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { +		fsl,pins = < +			MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x170f9 +			MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x100f9 +			MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x170f9 +			MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x170f9 +			MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x170f9 +			MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x170f9 +			MX6SX_PAD_SD3_DATA4__USDHC3_DATA4	0x170f9 +			MX6SX_PAD_SD3_DATA5__USDHC3_DATA5	0x170f9 +			MX6SX_PAD_SD3_DATA6__USDHC3_DATA6	0x170f9 +			MX6SX_PAD_SD3_DATA7__USDHC3_DATA7	0x170f9 +		>; +	}; + +	pinctrl_usdhc4: usdhc4grp { +		fsl,pins = < +			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x17059 +			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x10059 +			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x17059 +			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x17059 +			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x17059 +			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x17059 +			MX6SX_PAD_SD4_DATA7__GPIO6_IO_21	0x17059 /* CD */ +			MX6SX_PAD_SD4_DATA6__GPIO6_IO_20	0x17059 /* WP */ +		>; +	}; + +	pinctrl_vcc_sd3: vccsd3grp { +		fsl,pins = < +			MX6SX_PAD_KEY_COL1__GPIO2_IO_11		0x17059 +		>; +	}; + +	pinctrl_wdog: wdoggrp { +		fsl,pins = < +			MX6SX_PAD_GPIO1_IO13__WDOG1_WDOG_ANY	0x30b0 +		>; +	}; +}; + +&i2c2 { +	clock-frequency = <100000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c2>; +	status = "okay"; + +	touchscreen@4 { +		compatible = "eeti,egalax_ts"; +		reg = <0x04>; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_egalax_int>; +		interrupt-parent = <&gpio6>; +		interrupts = <22 IRQ_TYPE_EDGE_FALLING>; +		wakeup-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; +	}; + +	pfuze100: pmic@8 { +		compatible = "fsl,pfuze100"; +		reg = <0x08>; + +		regulators { +			sw1a_reg: sw1ab { +				regulator-min-microvolt = <300000>; +				regulator-max-microvolt = <1875000>; +				regulator-boot-on; +				regulator-always-on; +				regulator-ramp-delay = <6250>; +			}; + +			sw1c_reg: sw1c { +				regulator-min-microvolt = <300000>; +				regulator-max-microvolt = <1875000>; +				regulator-boot-on; +				regulator-always-on; +				regulator-ramp-delay = <6250>; +			}; + +			sw2_reg: sw2 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <3300000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			sw3a_reg: sw3a { +				regulator-min-microvolt = <400000>; +				regulator-max-microvolt = <1975000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			sw3b_reg: sw3b { +				regulator-min-microvolt = <400000>; +				regulator-max-microvolt = <1975000>; +				regulator-boot-on; +				regulator-always-on; +			}; + +			sw4_reg: sw4 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; + +			swbst_reg: swbst { +				regulator-min-microvolt = <5000000>; +				regulator-max-microvolt = <5150000>; +			}; + +			snvs_reg: vsnvs { +				regulator-min-microvolt = <1000000>; +				regulator-max-microvolt = <3000000>; +				regulator-boot-on; +				regulator-always-on; +			}; -		pinctrl_vcc_sd3: vccsd3grp { -			fsl,pins = < -				MX6SX_PAD_KEY_COL1__GPIO2_IO_11		0x17059 -			>; +			vref_reg: vrefddr { +				regulator-boot-on; +				regulator-always-on; +			}; + +			vgen1_reg: vgen1 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <1550000>; +				regulator-always-on; +			}; + +			vgen2_reg: vgen2 { +				regulator-min-microvolt = <800000>; +				regulator-max-microvolt = <1550000>; +			}; + +			vgen3_reg: vgen3 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; + +			vgen4_reg: vgen4 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; + +			vgen5_reg: vgen5 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			}; + +			vgen6_reg: vgen6 { +				regulator-min-microvolt = <1800000>; +				regulator-max-microvolt = <3300000>; +				regulator-always-on; +			};  		};  	}; + +	max7322: gpio@68 { +		compatible = "maxim,max7322"; +		reg = <0x68>; +		gpio-controller; +		#gpio-cells = <2>; +	}; +}; + +&i2c3 { +	clock-frequency = <100000>; +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_i2c3>; +	status = "okay"; + +	max7310_a: gpio@30 { +		compatible = "maxim,max7310"; +		reg = <0x30>; +		gpio-controller; +		#gpio-cells = <2>; +	}; + +	max7310_b: gpio@32 { +		compatible = "maxim,max7310"; +		reg = <0x32>; +		gpio-controller; +		#gpio-cells = <2>; +	}; +}; + +&wdog1 { +	pinctrl-names = "default"; +	pinctrl-0 = <&pinctrl_wdog>; +	fsl,ext-reset-output;  }; diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi index 49c7205b8db8..d8b94f47498b 100644 --- a/arch/arm/boot/dts/imx6sx.dtsi +++ b/arch/arm/boot/dts/imx6sx.dtsi @@ -1,10 +1,6 @@ -/* - * Copyright 2014 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright 2014 Freescale Semiconductor, Inc.  #include <dt-bindings/clock/imx6sx-clock.h>  #include <dt-bindings/gpio/gpio.h> @@ -104,41 +100,46 @@  		interrupt-parent = <&intc>;  	}; -	clocks { -		#address-cells = <1>; -		#size-cells = <0>; +	ckil: clock-ckil { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <32768>; +		clock-output-names = "ckil"; +	}; -		ckil: clock@0 { -			compatible = "fixed-clock"; -			reg = <0>; -			#clock-cells = <0>; -			clock-frequency = <32768>; -			clock-output-names = "ckil"; -		}; +	osc: clock-osc { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <24000000>; +		clock-output-names = "osc"; +	}; -		osc: clock@1 { -			compatible = "fixed-clock"; -			reg = <1>; -			#clock-cells = <0>; -			clock-frequency = <24000000>; -			clock-output-names = "osc"; -		}; +	ipp_di0: clock-ipp-di0 { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +		clock-output-names = "ipp_di0"; +	}; -		ipp_di0: clock@2 { -			compatible = "fixed-clock"; -			reg = <2>; -			#clock-cells = <0>; -			clock-frequency = <0>; -			clock-output-names = "ipp_di0"; -		}; +	ipp_di1: clock-ipp-di1 { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +		clock-output-names = "ipp_di1"; +	}; -		ipp_di1: clock@3 { -			compatible = "fixed-clock"; -			reg = <3>; -			#clock-cells = <0>; -			clock-frequency = <0>; -			clock-output-names = "ipp_di1"; -		}; +	anaclk1: clock-anaclk1 { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +		clock-output-names = "anaclk1"; +	}; + +	anaclk2: clock-anaclk2 { +		compatible = "fixed-clock"; +		#clock-cells = <0>; +		clock-frequency = <0>; +		clock-output-names = "anaclk2";  	};  	tempmon: tempmon { @@ -575,8 +576,8 @@  				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,  					     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;  				#clock-cells = <1>; -				clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>; -				clock-names = "ckil", "osc", "ipp_di0", "ipp_di1"; +				clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>, <&anaclk1>, <&anaclk2>; +				clock-names = "ckil", "osc", "ipp_di0", "ipp_di1", "anaclk1", "anaclk2";  			};  			anatop: anatop@20c8000 { @@ -586,11 +587,8 @@  				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,  					     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,  					     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; -				#address-cells = <1>; -				#size-cells = <0>; -				regulator-1p1@20c8110 { -					reg = <0x20c8110>; +				regulator-1p1 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd1p1";  					regulator-min-microvolt = <800000>; @@ -605,8 +603,7 @@  					anatop-enable-bit = <0>;  				}; -				regulator-3p0@20c8120 { -					reg = <0x20c8120>; +				regulator-3p0 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd3p0";  					regulator-min-microvolt = <2800000>; @@ -621,8 +618,7 @@  					anatop-enable-bit = <0>;  				}; -				regulator-2p5@20c8130 { -					reg = <0x20c8130>; +				regulator-2p5 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd2p5";  					regulator-min-microvolt = <2100000>; @@ -637,8 +633,7 @@  					anatop-enable-bit = <0>;  				}; -				reg_arm: regulator-vddcore@20c8140 { -					reg = <0x20c8140>; +				reg_arm: regulator-vddcore {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddarm";  					regulator-min-microvolt = <725000>; @@ -655,8 +650,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_pcie: regulator-vddpcie@20c8140 { -					reg = <0x20c8140>; +				reg_pcie: regulator-vddpcie {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddpcie";  					regulator-min-microvolt = <725000>; @@ -672,8 +666,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_soc: regulator-vddsoc@20c8140 { -					reg = <0x20c8140>; +				reg_soc: regulator-vddsoc {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddsoc";  					regulator-min-microvolt = <725000>; diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk.dts b/arch/arm/boot/dts/imx6ul-14x14-evk.dts index 6d720b20e7ed..2438669f149a 100644 --- a/arch/arm/boot/dts/imx6ul-14x14-evk.dts +++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dts @@ -1,10 +1,6 @@ -/* - * Copyright (C) 2015 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright (C) 2015 Freescale Semiconductor, Inc.  /dts-v1/; diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi index 921e12c69a00..cd9928551154 100644 --- a/arch/arm/boot/dts/imx6ul-isiot.dtsi +++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi @@ -153,8 +153,6 @@  	stmpe811: gpio-expander@44 {  		compatible = "st,stmpe811";  		reg = <0x44>; -		#address-cells = <1>; -		#size-cells = <0>;  		pinctrl-names = "default";  		pinctrl-0 = <&pinctrl_stmpe>;  		interrupt-parent = <&gpio1>; diff --git a/arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dts b/arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dts index 2d80f7b50bc0..97686097a86e 100644 --- a/arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dts +++ b/arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dts @@ -48,7 +48,7 @@  	compatible = "karo,imx6ul-tx6ul", "fsl,imx6ul";  	aliases { -		lcdif_24bit_pins_a = &pinctrl_disp0_3; +		lcdif-24bit-pins-a = &pinctrl_disp0_3;  		mmc0 = &usdhc1;  		/delete-property/ mmc1;  		serial2 = &uart3; diff --git a/arch/arm/boot/dts/imx6ul-tx6ul.dtsi b/arch/arm/boot/dts/imx6ul-tx6ul.dtsi index f678d18ad44a..02b5ba42cd59 100644 --- a/arch/arm/boot/dts/imx6ul-tx6ul.dtsi +++ b/arch/arm/boot/dts/imx6ul-tx6ul.dtsi @@ -53,10 +53,10 @@  		i2c2 = &i2c1;  		i2c3 = &i2c3;  		i2c4 = &i2c4; -		lcdif_23bit_pins_a = &pinctrl_disp0_1; -		lcdif_24bit_pins_a = &pinctrl_disp0_2; +		lcdif-23bit-pins-a = &pinctrl_disp0_1; +		lcdif-24bit-pins-a = &pinctrl_disp0_2;  		pwm0 = &pwm5; -		reg_can_xcvr = ®_can_xcvr; +		reg-can-xcvr = ®_can_xcvr;  		serial2 = &uart5;  		serial4 = &uart3;  		spi0 = &ecspi2; diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi index 1241972b16ba..47a3453a4211 100644 --- a/arch/arm/boot/dts/imx6ul.dtsi +++ b/arch/arm/boot/dts/imx6ul.dtsi @@ -1,10 +1,6 @@ -/* - * Copyright 2015 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright 2015 Freescale Semiconductor, Inc.  #include <dt-bindings/clock/imx6ul-clock.h>  #include <dt-bindings/gpio/gpio.h> @@ -551,11 +547,8 @@  				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,  					     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,  					     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; -				#address-cells = <1>; -				#size-cells = <0>; -				reg_3p0: regulator-3p0@20c8110 { -					reg = <0x20c8110>; +				reg_3p0: regulator-3p0 {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd3p0";  					regulator-min-microvolt = <2625000>; @@ -569,8 +562,7 @@  					anatop-enable-bit = <0>;  				}; -				reg_arm: regulator-vddcore@20c8140 { -					reg = <0x20c8140>; +				reg_arm: regulator-vddcore {  					compatible = "fsl,anatop-regulator";  					regulator-name = "cpu";  					regulator-min-microvolt = <725000>; @@ -587,8 +579,7 @@  					anatop-max-voltage = <1450000>;  				}; -				reg_soc: regulator-vddsoc@20c8140 { -					reg = <0x20c8140>; +				reg_soc: regulator-vddsoc {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vddsoc";  					regulator-min-microvolt = <725000>; @@ -769,6 +760,36 @@  			reg = <0x02100000 0x100000>;  			ranges; +			crypto: caam@2140000 { +				compatible = "fsl,imx6ul-caam", "fsl,sec-v4.0"; +				#address-cells = <1>; +				#size-cells = <1>; +				reg = <0x2140000 0x3c000>; +				ranges = <0 0x2140000 0x3c000>; +				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; +				clocks = <&clks IMX6UL_CLK_CAAM_IPG>, <&clks IMX6UL_CLK_CAAM_ACLK>, +					 <&clks IMX6UL_CLK_CAAM_MEM>; +				clock-names = "ipg", "aclk", "mem"; + +				sec_jr0: jr0@1000 { +					compatible = "fsl,sec-v4.0-job-ring"; +					reg = <0x1000 0x1000>; +					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; +				}; + +				sec_jr1: jr1@2000 { +					compatible = "fsl,sec-v4.0-job-ring"; +					reg = <0x2000 0x1000>; +					interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; +				}; + +				sec_jr2: jr2@3000 { +					compatible = "fsl,sec-v4.0-job-ring"; +					reg = <0x3000 0x1000>; +					interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; +				}; +			}; +  			usbotg1: usb@2184000 {  				compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";  				reg = <0x02184000 0x200>; diff --git a/arch/arm/boot/dts/imx6ull-pinfunc.h b/arch/arm/boot/dts/imx6ull-pinfunc.h index 118202336691..fdc46bb09cc1 100644 --- a/arch/arm/boot/dts/imx6ull-pinfunc.h +++ b/arch/arm/boot/dts/imx6ull-pinfunc.h @@ -14,6 +14,14 @@   * The pin function ID is a tuple of   * <mux_reg conf_reg input_reg mux_mode input_val>   */ +#define MX6ULL_PAD_UART1_TX_DATA__UART5_DTE_RX                    0x0084 0x0310 0x0644 0x9 0x4 +#define MX6ULL_PAD_UART1_RX_DATA__UART5_DCE_RX                    0x0088 0x0314 0x0644 0x9 0x5 +#define MX6ULL_PAD_UART1_CTS_B__UART5_DCE_RTS                     0x008C 0x0318 0x0640 0x9 0x3 +#define MX6ULL_PAD_UART1_RTS_B__UART5_DTE_RTS                     0x0090 0x031C 0x0640 0x9 0x4 +#define MX6ULL_PAD_UART5_TX_DATA__UART5_DTE_RX                    0x00BC 0x0348 0x0644 0x0 0x6 +#define MX6ULL_PAD_UART5_RX_DATA__UART5_DCE_RX                    0x00C0 0x034C 0x0644 0x0 0x7 +#define MX6ULL_PAD_ENET1_RX_EN__UART5_DCE_RTS                     0x00CC 0x0358 0x0640 0x1 0x5 +#define MX6ULL_PAD_ENET1_TX_DATA0__UART5_DTE_RTS                  0x00D0 0x035C 0x0640 0x1 0x6  #define MX6ULL_PAD_ENET2_RX_DATA0__EPDC_SDDO08                    0x00E4 0x0370 0x0000 0x9 0x0  #define MX6ULL_PAD_ENET2_RX_DATA1__EPDC_SDDO09                    0x00E8 0x0374 0x0000 0x9 0x0  #define MX6ULL_PAD_ENET2_RX_EN__EPDC_SDDO10                       0x00EC 0x0378 0x0000 0x9 0x0 @@ -47,6 +55,7 @@  #define MX6ULL_PAD_CSI_DATA00__ESAI_TX_HF_CLK                     0x01E4 0x0470 0x0000 0x9 0x0  #define MX6ULL_PAD_CSI_DATA01__ESAI_RX_HF_CLK                     0x01E8 0x0474 0x0000 0x9 0x0  #define MX6ULL_PAD_CSI_DATA02__ESAI_RX_FS                         0x01EC 0x0478 0x0000 0x9 0x0 +#define MX6ULL_PAD_CSI_DATA02__UART5_DCE_RTS                      0x01EC 0x0478 0x0640 0x8 0x7  #define MX6ULL_PAD_CSI_DATA03__ESAI_RX_CLK                        0x01F0 0x047C 0x0000 0x9 0x0  #define MX6ULL_PAD_CSI_DATA04__ESAI_TX_FS                         0x01F4 0x0480 0x0000 0x9 0x0  #define MX6ULL_PAD_CSI_DATA05__ESAI_TX_CLK                        0x01F8 0x0484 0x0000 0x9 0x0 diff --git a/arch/arm/boot/dts/imx6ull.dtsi b/arch/arm/boot/dts/imx6ull.dtsi index 571ddd71cdba..ebc25c98e5e1 100644 --- a/arch/arm/boot/dts/imx6ull.dtsi +++ b/arch/arm/boot/dts/imx6ull.dtsi @@ -45,6 +45,8 @@  /* Delete UART8 in AIPS-1 (i.MX6UL specific) */  /delete-node/ &uart8; +/* Delete CAAM node in AIPS-2 (i.MX6UL specific) */ +/delete-node/ &crypto;  / {  	soc { diff --git a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts index 7f645683f53b..8bf365d28cac 100644 --- a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts +++ b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts @@ -33,7 +33,7 @@  };  &cpu0 { -	arm-supply = <&sw1a_reg>; +	cpu-supply = <&sw1a_reg>;  };  &fec1 { diff --git a/arch/arm/boot/dts/imx7d-nitrogen7.dts b/arch/arm/boot/dts/imx7d-nitrogen7.dts index 52167298984d..70c53e50b2fc 100644 --- a/arch/arm/boot/dts/imx7d-nitrogen7.dts +++ b/arch/arm/boot/dts/imx7d-nitrogen7.dts @@ -49,8 +49,8 @@  	compatible = "boundary,imx7d-nitrogen7", "fsl,imx7d";  	aliases { -		fb_lcd = &lcdif; -		t_lcd = &t_lcd; +		fb-lcd = &lcdif; +		t-lcd = &t_lcd;  	};  	memory@80000000 { @@ -144,7 +144,7 @@  };  &cpu0 { -	arm-supply = <&sw1a_reg>; +	cpu-supply = <&sw1a_reg>;  };  &fec1 { diff --git a/arch/arm/boot/dts/imx7d-pinfunc.h b/arch/arm/boot/dts/imx7d-pinfunc.h index f2493bc63da4..aa9dbead4b8b 100644 --- a/arch/arm/boot/dts/imx7d-pinfunc.h +++ b/arch/arm/boot/dts/imx7d-pinfunc.h @@ -592,7 +592,7 @@  #define MX7D_PAD_UART2_RX_DATA__UART2_DCE_RX                      0x0130 0x03A0 0x06FC 0x0 0x2  #define MX7D_PAD_UART2_RX_DATA__UART2_DTE_TX                      0x0130 0x03A0 0x0000 0x0 0x0  #define MX7D_PAD_UART2_RX_DATA__I2C2_SCL                          0x0130 0x03A0 0x05DC 0x1 0x0 -#define MX7D_PAD_UART2_RX_DATA__SAI3_RX_BCLK                      0x0130 0x03A0 0x0000 0x2 0x0 +#define MX7D_PAD_UART2_RX_DATA__SAI3_RX_BCLK                      0x0130 0x03A0 0x06C4 0x2 0x0  #define MX7D_PAD_UART2_RX_DATA__ECSPI1_SS3                        0x0130 0x03A0 0x0000 0x3 0x0  #define MX7D_PAD_UART2_RX_DATA__ENET2_1588_EVENT1_IN              0x0130 0x03A0 0x0000 0x4 0x0  #define MX7D_PAD_UART2_RX_DATA__GPIO4_IO2                         0x0130 0x03A0 0x0000 0x5 0x0 @@ -1112,13 +1112,13 @@  #define MX7D_PAD_ENET1_RGMII_TD3__GPIO7_IO9                       0x0250 0x04C0 0x0000 0x5 0x0  #define MX7D_PAD_ENET1_RGMII_TD3__CAAM_RNG_OSC_OBS                0x0250 0x04C0 0x0000 0x7 0x0  #define MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL           0x0254 0x04C4 0x0000 0x0 0x0 -#define MX7D_PAD_ENET1_RGMII_TX_CTL__SAI1_RX_SYNC                 0x0254 0x04C4 0x0000 0x2 0x0 +#define MX7D_PAD_ENET1_RGMII_TX_CTL__SAI1_RX_SYNC                 0x0254 0x04C4 0x06A4 0x2 0x1  #define MX7D_PAD_ENET1_RGMII_TX_CTL__GPT2_COMPARE1                0x0254 0x04C4 0x0000 0x3 0x0  #define MX7D_PAD_ENET1_RGMII_TX_CTL__EPDC_PWR_CTRL2               0x0254 0x04C4 0x0000 0x4 0x0  #define MX7D_PAD_ENET1_RGMII_TX_CTL__GPIO7_IO10                   0x0254 0x04C4 0x0000 0x5 0x0  #define MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC                 0x0258 0x04C8 0x0000 0x0 0x0  #define MX7D_PAD_ENET1_RGMII_TXC__ENET1_TX_ER                     0x0258 0x04C8 0x0000 0x1 0x0 -#define MX7D_PAD_ENET1_RGMII_TXC__SAI1_RX_BCLK                    0x0258 0x04C8 0x0000 0x2 0x0 +#define MX7D_PAD_ENET1_RGMII_TXC__SAI1_RX_BCLK                    0x0258 0x04C8 0x069C 0x2 0x1  #define MX7D_PAD_ENET1_RGMII_TXC__GPT2_COMPARE2                   0x0258 0x04C8 0x0000 0x3 0x0  #define MX7D_PAD_ENET1_RGMII_TXC__EPDC_PWR_CTRL3                  0x0258 0x04C8 0x0000 0x4 0x0  #define MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11                      0x0258 0x04C8 0x0000 0x5 0x0 diff --git a/arch/arm/boot/dts/imx7d-sdb-sht11.dts b/arch/arm/boot/dts/imx7d-sdb-sht11.dts index 64a20ed1713a..996555596d40 100644 --- a/arch/arm/boot/dts/imx7d-sdb-sht11.dts +++ b/arch/arm/boot/dts/imx7d-sdb-sht11.dts @@ -1,44 +1,6 @@ -/* - * Copyright (C) 2015 Freescale Semiconductor, Inc. - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright (C) 2015 Freescale Semiconductor, Inc.  #include "imx7d-sdb.dts" diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts index 5d6a08be397f..940849163104 100644 --- a/arch/arm/boot/dts/imx7d-sdb.dts +++ b/arch/arm/boot/dts/imx7d-sdb.dts @@ -1,44 +1,6 @@ -/* - * Copyright (C) 2015 Freescale Semiconductor, Inc. - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright (C) 2015 Freescale Semiconductor, Inc.  /dts-v1/; @@ -52,6 +14,24 @@  		reg = <0x80000000 0x80000000>;  	}; +	gpio-keys { +		compatible = "gpio-keys"; +		pinctrl-names = "default"; +		pinctrl-0 = <&pinctrl_gpio_keys>; + +		volume-up { +			label = "Volume Up"; +			gpios = <&gpio5 11 GPIO_ACTIVE_LOW>; +			linux,code = <KEY_VOLUMEUP>; +		}; + +		volume-down { +			label = "Volume Down"; +			gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; +			linux,code = <KEY_VOLUMEDOWN>; +		}; +	}; +  	spi4 {  		compatible = "spi-gpio";  		pinctrl-names = "default"; @@ -161,7 +141,7 @@  };  &cpu0 { -	arm-supply = <&sw1a_reg>; +	cpu-supply = <&sw1a_reg>;  };  &ecspi3 { @@ -519,6 +499,12 @@  			>;  		}; +		pinctrl_gpio_keys: gpio_keysgrp { +			fsl,pins = < +				MX7D_PAD_SD2_RESET_B__GPIO5_IO11	0x59 +				MX7D_PAD_SD2_WP__GPIO5_IO10		0x59 +			>; +		};  		pinctrl_hog: hoggrp {  			fsl,pins = < diff --git a/arch/arm/boot/dts/imx7d.dtsi b/arch/arm/boot/dts/imx7d.dtsi index 200714e3feea..f579fe5c9941 100644 --- a/arch/arm/boot/dts/imx7d.dtsi +++ b/arch/arm/boot/dts/imx7d.dtsi @@ -1,45 +1,7 @@ -/* - * Copyright 2015 Freescale Semiconductor, Inc. - * Copyright 2016 Toradex AG - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright 2015 Freescale Semiconductor, Inc. +// Copyright 2016 Toradex AG  #include "imx7s.dtsi"  #include <dt-bindings/reset/imx7-reset.h> @@ -47,12 +9,8 @@  / {  	cpus {  		cpu0: cpu@0 { -			operating-points = < -				/* KHz	uV */ -				996000	1075000 -				792000	975000 -			>;  			clock-frequency = <996000000>; +			operating-points-v2 = <&cpu0_opp_table>;  		};  		cpu1: cpu@1 { @@ -60,6 +18,25 @@  			device_type = "cpu";  			reg = <1>;  			clock-frequency = <996000000>; +			operating-points-v2 = <&cpu0_opp_table>; +		}; +	}; + +	cpu0_opp_table: opp-table { +		compatible = "operating-points-v2"; +		opp-shared; + +		opp-792000000 { +			opp-hz = /bits/ 64 <792000000>; +			opp-microvolt = <975000>; +			clock-latency-ns = <150000>; +		}; + +		opp-996000000 { +			opp-hz = /bits/ 64 <996000000>; +			opp-microvolt = <1075000>; +			clock-latency-ns = <150000>; +			opp-suspend;  		};  	}; diff --git a/arch/arm/boot/dts/imx7s-warp.dts b/arch/arm/boot/dts/imx7s-warp.dts index 8a30b148534d..fa390da636de 100644 --- a/arch/arm/boot/dts/imx7s-warp.dts +++ b/arch/arm/boot/dts/imx7s-warp.dts @@ -113,10 +113,6 @@  	assigned-clock-rates = <884736000>;  }; -&cpu0 { -	arm-supply = <&sw1a_reg>; -}; -  &i2c1 {  	pinctrl-names = "default";  	pinctrl-0 = <&pinctrl_i2c1>; diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi index 4d42335c0dee..0cd6d37dd26e 100644 --- a/arch/arm/boot/dts/imx7s.dtsi +++ b/arch/arm/boot/dts/imx7s.dtsi @@ -1,45 +1,7 @@ -/* - * Copyright 2015 Freescale Semiconductor, Inc. - * Copyright 2016 Toradex AG - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - *  a) This file is free software; you can redistribute it and/or - *     modify it under the terms of the GNU General Public License as - *     published by the Free Software Foundation; either version 2 of the - *     License, or (at your option) any later version. - * - *     This file is distributed in the hope that it will be useful, - *     but WITHOUT ANY WARRANTY; without even the implied warranty of - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *     GNU General Public License for more details. - * - * Or, alternatively, - * - *  b) Permission is hereby granted, free of charge, to any person - *     obtaining a copy of this software and associated documentation - *     files (the "Software"), to deal in the Software without - *     restriction, including without limitation the rights to use, - *     copy, modify, merge, publish, distribute, sublicense, and/or - *     sell copies of the Software, and to permit persons to whom the - *     Software is furnished to do so, subject to the following - *     conditions: - * - *     The above copyright notice and this permission notice shall be - *     included in all copies or substantial portions of the Software. - * - *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - *     OTHER DEALINGS IN THE SOFTWARE. - */ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +// +// Copyright 2015 Freescale Semiconductor, Inc. +// Copyright 2016 Toradex AG  #include <dt-bindings/clock/imx7d-clock.h>  #include <dt-bindings/power/imx7-power.h> @@ -173,6 +135,17 @@  		};  	}; +	tempmon: tempmon { +		compatible = "fsl,imx7d-tempmon"; +		interrupt-parent = <&gpc>; +		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; +		fsl,tempmon =<&anatop>; +		nvmem-cells = <&tempmon_calib>, +			<&tempmon_temp_grade>; +		nvmem-cell-names = "calib", "temp_grade"; +		clocks = <&clks IMX7D_PLL_SYS_MAIN_CLK>; +	}; +  	timer {  		compatible = "arm,armv7-timer";  		interrupt-parent = <&intc>; @@ -321,7 +294,7 @@  			port {  				tpiu_in_port: endpoint {  					slave-mode; -					remote-endpoint = <&replicator_out_port1>; +					remote-endpoint = <&replicator_out_port0>;  				};  			};  		}; @@ -540,27 +513,14 @@  				};  			}; -			tempmon: tempmon { -				compatible = "fsl,imx7d-tempmon"; -				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; -				fsl,tempmon =<&anatop>; -				nvmem-cells = <&tempmon_calib>, -					<&tempmon_temp_grade>; -				nvmem-cell-names = "calib", "temp_grade"; -				clocks = <&clks IMX7D_PLL_SYS_MAIN_CLK>; -			}; -  			anatop: anatop@30360000 {  				compatible = "fsl,imx7d-anatop", "fsl,imx6q-anatop",  					"syscon", "simple-bus";  				reg = <0x30360000 0x10000>;  				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,  					<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; -				#address-cells = <1>; -				#size-cells = <0>; -				reg_1p0d: regulator-vdd1p0d@30360210 { -					reg = <0x30360210>; +				reg_1p0d: regulator-vdd1p0d {  					compatible = "fsl,anatop-regulator";  					regulator-name = "vdd1p0d";  					regulator-min-microvolt = <800000>; @@ -573,6 +533,20 @@  					anatop-max-voltage = <1200000>;  					anatop-enable-bit = <0>;  				}; + +				reg_1p2: regulator-vdd1p2 { +					compatible = "fsl,anatop-regulator"; +					regulator-name = "vdd1p2"; +					regulator-min-microvolt = <1100000>; +					regulator-max-microvolt = <1300000>; +					anatop-reg-offset = <0x220>; +					anatop-vol-bit-shift = <8>; +					anatop-vol-bit-width = <5>; +					anatop-min-bit-val = <0x14>; +					anatop-min-voltage = <1100000>; +					anatop-max-voltage = <1300000>; +					anatop-enable-bit = <0>; +				};  			};  			snvs: snvs@30370000 { diff --git a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi index d8b2972527eb..e2da122a63f4 100644 --- a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi +++ b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi @@ -117,7 +117,7 @@  		clocks = <&clk16m>;  		spi-max-frequency = <10000000>;  		interrupt-parent = <&gpio1>; -		interrupts = <11 GPIO_ACTIVE_LOW>; +		interrupts = <11 IRQ_TYPE_EDGE_RISING>;  	};  }; diff --git a/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts b/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts index 782b69a3acdf..bd79e00bf615 100644 --- a/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts +++ b/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts @@ -70,8 +70,6 @@  				compatible = "marvell,mv88e6085";  				pinctrl-0 = <&pinctrl_gpio_switch0>;  				pinctrl-names = "default"; -				#address-cells = <1>; -				#size-cells = <0>;  				reg = <0>;  				dsa,member = <0 0>;  				interrupt-parent = <&gpio0>; @@ -156,8 +154,6 @@  				compatible = "marvell,mv88e6085";  				pinctrl-0 = <&pinctrl_gpio_switch1>;  				pinctrl-names = "default"; -				#address-cells = <1>; -				#size-cells = <0>;  				reg = <0>;  				dsa,member = <0 1>;  				interrupt-parent = <&gpio0>; @@ -243,8 +239,6 @@  			switch2: switch@0 {  				compatible = "marvell,mv88e6085"; -				#address-cells = <1>; -				#size-cells = <0>;  				reg = <0>;  				dsa,member = <0 2>; diff --git a/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts b/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts index c6f134c78303..0b1e94c6f25b 100644 --- a/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts +++ b/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts @@ -69,8 +69,6 @@  				compatible = "marvell,mv88e6190";  				pinctrl-0 = <&pinctrl_gpio_switch0>;  				pinctrl-names = "default"; -				#address-cells = <1>; -				#size-cells = <0>;  				reg = <0>;  				dsa,member = <0 0>;  				eeprom-length = <65536>; @@ -166,8 +164,6 @@  				compatible = "marvell,mv88e6190";  				pinctrl-0 = <&pinctrl_gpio_switch1>;  				pinctrl-names = "default"; -				#address-cells = <1>; -				#size-cells = <0>;  				reg = <0>;  				dsa,member = <0 1>;  				eeprom-length = <65536>; diff --git a/arch/arm/boot/dts/vf610-zii-dev.dtsi b/arch/arm/boot/dts/vf610-zii-dev.dtsi index 4890b8a5aa44..5ae5abfe1d55 100644 --- a/arch/arm/boot/dts/vf610-zii-dev.dtsi +++ b/arch/arm/boot/dts/vf610-zii-dev.dtsi @@ -222,6 +222,10 @@  	status = "okay";  }; +&tempsensor { +	io-channels = <&adc0 16>; +}; +  &iomuxc {  	pinctrl_adc0_ad5: adc0ad5grp {  		fsl,pins = < diff --git a/arch/arm/boot/dts/vfxxx.dtsi b/arch/arm/boot/dts/vfxxx.dtsi index c3f09b737924..d392794d9c13 100644 --- a/arch/arm/boot/dts/vfxxx.dtsi +++ b/arch/arm/boot/dts/vfxxx.dtsi @@ -84,7 +84,7 @@  		mask = <0x1000>;  	}; -	iio-hwmon { +	tempsensor: iio-hwmon {  		compatible = "iio-hwmon";  		io-channels = <&adc0 16>, <&adc1 16>;  	}; | 
