All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/25] ARM: tegra: Various cleanups for DT validation
@ 2021-12-09 17:33 Thierry Reding
  2021-12-09 17:33 ` [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes Thierry Reding
                   ` (24 more replies)
  0 siblings, 25 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

This is a set of patches that clean up existing device trees so that
they can pass DT validation. Note that for this to take full effect a
bunch of DT json-schema conversion patches are needed. I've started
sending those out but want to get these here in so that everything is
in place when the json-schema conversions land and we don't get an
excessive amount of warnings.

Thierry

Thierry Reding (25):
  ARM: tegra: Clean up external memory controller nodes
  ARM: tegra: Specify correct PMIC compatible on Tegra114 boards
  ARM: tegra: Rename SPI flash chip nodes
  ARM: tegra: Rename top-level clocks
  ARM: tegra: Rename top-level regulators
  ARM: tegra: Fix compatible string for Tegra30+ timer
  ARM: tegra: Add #reset-cells for Tegra114 MC
  ARM: tegra: Rename GPIO hog nodes to match schema
  ARM: tegra: Rename GPU node on Tegra124
  ARM: tegra: Drop reg-shift for Tegra HS UART
  ARM: tegra: Rename thermal zone nodes
  ARM: tegra: Do not use unit-address for OPP nodes
  ARM: tegra: Fix Tegra124 I2C compatible string list
  ARM: tegra: Drop unused AHCI clocks on Tegra124
  ARM: tegra: Sort Tegra124 XUSB clocks correctly
  ARM: tegra: Avoid pwm- prefix in pinmux nodes
  ARM: tegra: Add compatible string for built-in ASIX on Colibri boards
  ARM: tegra: Remove PHY reset GPIO references from USB controller node
  ARM: tegra: Add dummy backlight power supplies
  ARM: tegra: Use correct vendor prefix for Invensense
  ARM: tegra: Remove unsupported properties on Apalis
  ARM: tegra: Move I2C clock frequency to bus nodes
  ARM: tegra: Remove stray #reset-cells property
  ARM: tegra: Fix SLINK compatible string on Tegra30
  ARM: tegra: Fix I2C mux reset GPIO reference on Cardhu

 arch/arm/boot/dts/tegra114-dalmore.dts        |   21 +-
 arch/arm/boot/dts/tegra114-roth.dts           |   16 +-
 arch/arm/boot/dts/tegra114-tn7.dts            |   10 +-
 arch/arm/boot/dts/tegra114.dtsi               |    3 +-
 arch/arm/boot/dts/tegra124-apalis-emc.dtsi    |  483 +++--
 arch/arm/boot/dts/tegra124-apalis-eval.dts    |    2 +-
 .../boot/dts/tegra124-apalis-v1.2-eval.dts    |    2 +-
 arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi   |   15 +-
 arch/arm/boot/dts/tegra124-apalis.dtsi        |   12 +-
 .../arm/boot/dts/tegra124-jetson-tk1-emc.dtsi |  699 +++---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts     |   39 +-
 arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi  | 1918 +++++++++--------
 .../arm/boot/dts/tegra124-nyan-blaze-emc.dtsi |  639 +++---
 arch/arm/boot/dts/tegra124-nyan.dtsi          |   30 +-
 .../boot/dts/tegra124-peripherals-opp.dtsi    |  142 +-
 arch/arm/boot/dts/tegra124-venice2.dts        |   33 +-
 arch/arm/boot/dts/tegra124.dtsi               |   39 +-
 .../boot/dts/tegra20-acer-a500-picasso.dts    |   12 +-
 arch/arm/boot/dts/tegra20-colibri-eval-v3.dts |    4 +-
 arch/arm/boot/dts/tegra20-colibri-iris.dts    |    4 +-
 arch/arm/boot/dts/tegra20-colibri.dtsi        |   11 +-
 .../boot/dts/tegra20-cpu-opp-microvolt.dtsi   |   82 +-
 arch/arm/boot/dts/tegra20-cpu-opp.dtsi        |   82 +-
 arch/arm/boot/dts/tegra20-harmony.dts         |   18 +-
 arch/arm/boot/dts/tegra20-medcom-wide.dts     |   11 +-
 arch/arm/boot/dts/tegra20-paz00.dts           |   11 +-
 .../arm/boot/dts/tegra20-peripherals-opp.dtsi |   36 +-
 arch/arm/boot/dts/tegra20-plutux.dts          |    8 +-
 arch/arm/boot/dts/tegra20-seaboard.dts        |   20 +-
 arch/arm/boot/dts/tegra20-tamonten.dtsi       |    4 +-
 arch/arm/boot/dts/tegra20-tec.dts             |    8 +-
 arch/arm/boot/dts/tegra20-trimslice.dts       |   17 +-
 arch/arm/boot/dts/tegra20-ventana.dts         |   14 +-
 arch/arm/boot/dts/tegra30-apalis-eval.dts     |    2 +-
 .../arm/boot/dts/tegra30-apalis-v1.1-eval.dts |    2 +-
 arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi    |    3 -
 arch/arm/boot/dts/tegra30-apalis.dtsi         |    3 -
 .../tegra30-asus-nexus7-grouper-common.dtsi   |   12 +-
 ...egra30-asus-nexus7-grouper-maxim-pmic.dtsi |    4 +-
 .../tegra30-asus-nexus7-grouper-ti-pmic.dtsi  |    2 +-
 .../boot/dts/tegra30-asus-nexus7-grouper.dtsi |    3 +-
 .../boot/dts/tegra30-asus-nexus7-tilapia.dtsi |    4 +-
 arch/arm/boot/dts/tegra30-beaver.dts          |   23 +-
 arch/arm/boot/dts/tegra30-cardhu-a02.dts      |   12 +-
 arch/arm/boot/dts/tegra30-cardhu-a04.dts      |   14 +-
 arch/arm/boot/dts/tegra30-cardhu.dtsi         |   33 +-
 arch/arm/boot/dts/tegra30-colibri.dtsi        |    8 +-
 .../boot/dts/tegra30-cpu-opp-microvolt.dtsi   |  144 +-
 arch/arm/boot/dts/tegra30-cpu-opp.dtsi        |  144 +-
 arch/arm/boot/dts/tegra30-ouya.dts            |    1 -
 .../arm/boot/dts/tegra30-peripherals-opp.dtsi |  130 +-
 arch/arm/boot/dts/tegra30.dtsi                |   14 +-
 52 files changed, 2533 insertions(+), 2470 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 70+ messages in thread

* [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 20:01   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 02/25] ARM: tegra: Specify correct PMIC compatible on Tegra114 boards Thierry Reding
                   ` (23 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The external memory controller should be sorted after the memory
controller to keep the ordering by unit-address intact. While at it,
rename the emc-timings and timing nodes to avoid including the RAM code
and clock frequency in their names. There is no requirement to do this,
so we can use simple enumerations instead.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124-apalis-emc.dtsi    |  483 +++--
 .../arm/boot/dts/tegra124-jetson-tk1-emc.dtsi |  699 +++---
 arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi  | 1918 +++++++++--------
 .../arm/boot/dts/tegra124-nyan-blaze-emc.dtsi |  639 +++---
 4 files changed, 1900 insertions(+), 1839 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124-apalis-emc.dtsi b/arch/arm/boot/dts/tegra124-apalis-emc.dtsi
index a7ac805eeed5..f1583e64048a 100644
--- a/arch/arm/boot/dts/tegra124-apalis-emc.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis-emc.dtsi
@@ -6,76 +6,87 @@
 
 / {
 	clock@60006000 {
-		emc-timings-1 {
+		emc-timings-0 {
 			nvidia,ram-code = <1>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-20400000 {
+
+			timing-1 {
 				clock-frequency = <20400000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-40800000 {
+
+			timing-2 {
 				clock-frequency = <40800000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-68000000 {
+
+			timing-3 {
 				clock-frequency = <68000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-102000000 {
+
+			timing-4 {
 				clock-frequency = <102000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-204000000 {
+
+			timing-5 {
 				clock-frequency = <204000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-300000000 {
+
+			timing-6 {
 				clock-frequency = <300000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
 				clock-names = "emc-parent";
 			};
-			timing-396000000 {
+
+			timing-7 {
 				clock-frequency = <396000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
 				clock-names = "emc-parent";
 			};
-			timing-528000000 {
+
+			timing-8 {
 				clock-frequency = <528000000>;
 				nvidia,parent-clock-frequency = <528000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-600000000 {
+
+			timing-9 {
 				clock-frequency = <600000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-792000000 {
+
+			timing-10 {
 				clock-frequency = <792000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-924000000 {
+
+			timing-11 {
 				clock-frequency = <924000000>;
 				nvidia,parent-clock-frequency = <924000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
@@ -84,11 +95,221 @@ timing-924000000 {
 		};
 	};
 
+	memory-controller@70019000 {
+		emc-timings-0 {
+			nvidia,ram-code = <1>;
+
+			timing-0 {
+				clock-frequency = <12750000>;
+
+				nvidia,emem-configuration = <
+					0x40040001 0x8000000a
+					0x00000001 0x00000001
+					0x00000002 0x00000000
+					0x00000002 0x00000001
+					0x00000003 0x00000008
+					0x00000003 0x00000002
+					0x00000003 0x00000006
+					0x06030203 0x000a0502
+					0x77e30303 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-1 {
+				clock-frequency = <20400000>;
+
+				nvidia,emem-configuration = <
+					0x40020001 0x80000012
+					0x00000001 0x00000001
+					0x00000002 0x00000000
+					0x00000002 0x00000001
+					0x00000003 0x00000008
+					0x00000003 0x00000002
+					0x00000003 0x00000006
+					0x06030203 0x000a0502
+					0x76230303 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-2 {
+				clock-frequency = <40800000>;
+
+				nvidia,emem-configuration = <
+					0xa0000001 0x80000017
+					0x00000001 0x00000001
+					0x00000002 0x00000000
+					0x00000002 0x00000001
+					0x00000003 0x00000008
+					0x00000003 0x00000002
+					0x00000003 0x00000006
+					0x06030203 0x000a0502
+					0x74a30303 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-3 {
+				clock-frequency = <68000000>;
+
+				nvidia,emem-configuration = <
+					0x00000001 0x8000001e
+					0x00000001 0x00000001
+					0x00000002 0x00000000
+					0x00000002 0x00000001
+					0x00000003 0x00000008
+					0x00000003 0x00000002
+					0x00000003 0x00000006
+					0x06030203 0x000a0502
+					0x74230403 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-4 {
+				clock-frequency = <102000000>;
+
+				nvidia,emem-configuration = <
+					0x08000001 0x80000026
+					0x00000001 0x00000001
+					0x00000003 0x00000000
+					0x00000002 0x00000001
+					0x00000003 0x00000008
+					0x00000003 0x00000002
+					0x00000003 0x00000006
+					0x06030203 0x000a0503
+					0x73c30504 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-5 {
+				clock-frequency = <204000000>;
+
+				nvidia,emem-configuration = <
+					0x01000003 0x80000040
+					0x00000001 0x00000001
+					0x00000004 0x00000002
+					0x00000003 0x00000001
+					0x00000003 0x00000008
+					0x00000003 0x00000002
+					0x00000004 0x00000006
+					0x06040203 0x000a0504
+					0x73840a05 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-6 {
+				clock-frequency = <300000000>;
+
+				nvidia,emem-configuration = <
+					0x08000004 0x80000040
+					0x00000001 0x00000002
+					0x00000007 0x00000004
+					0x00000004 0x00000001
+					0x00000002 0x00000007
+					0x00000002 0x00000002
+					0x00000004 0x00000006
+					0x06040202 0x000b0607
+					0x77450e08 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-7 {
+				clock-frequency = <396000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000005 0x80000040
+					0x00000001 0x00000002
+					0x00000009 0x00000005
+					0x00000006 0x00000001
+					0x00000002 0x00000008
+					0x00000002 0x00000002
+					0x00000004 0x00000006
+					0x06040202 0x000d0709
+					0x7586120a 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-8 {
+				clock-frequency = <528000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000007 0x80000040
+					0x00000002 0x00000003
+					0x0000000c 0x00000007
+					0x00000008 0x00000001
+					0x00000002 0x00000009
+					0x00000002 0x00000002
+					0x00000005 0x00000006
+					0x06050202 0x0010090c
+					0x7428180d 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-9 {
+				clock-frequency = <600000000>;
+
+				nvidia,emem-configuration = <
+					0x00000009 0x80000040
+					0x00000003 0x00000004
+					0x0000000e 0x00000009
+					0x0000000a 0x00000001
+					0x00000003 0x0000000b
+					0x00000002 0x00000002
+					0x00000005 0x00000007
+					0x07050202 0x00130b0e
+					0x73a91b0f 0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-10 {
+				clock-frequency = <792000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000b 0x80000040
+					0x00000004 0x00000005
+					0x00000013 0x0000000c
+					0x0000000d 0x00000002
+					0x00000003 0x0000000c
+					0x00000002 0x00000002
+					0x00000006 0x00000008
+					0x08060202 0x00170e13
+					0x736c2414 0x70000f02
+					0x001f0000
+				>;
+			};
+
+			timing-11 {
+				clock-frequency = <924000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000d 0x80000040
+					0x00000005 0x00000006
+					0x00000016 0x0000000e
+					0x0000000f 0x00000002
+					0x00000004 0x0000000e
+					0x00000002 0x00000002
+					0x00000006 0x00000009
+					0x09060202 0x001a1016
+					0x734e2a17 0x70000f02
+					0x001f0000
+				>;
+			};
+		};
+	};
+
 	external-memory-controller@7001b000 {
-		emc-timings-1 {
+		emc-timings-0 {
 			nvidia,ram-code = <1>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -185,7 +406,7 @@ timing-12750000 {
 				>;
 			};
 
-			timing-20400000 {
+			timing-1 {
 				clock-frequency = <20400000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -282,7 +503,7 @@ timing-20400000 {
 				>;
 			};
 
-			timing-40800000 {
+			timing-2 {
 				clock-frequency = <40800000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -379,7 +600,7 @@ timing-40800000 {
 				>;
 			};
 
-			timing-68000000 {
+			timing-3 {
 				clock-frequency = <68000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -476,7 +697,7 @@ timing-68000000 {
 				>;
 			};
 
-			timing-102000000 {
+			timing-4 {
 				clock-frequency = <102000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -573,7 +794,7 @@ timing-102000000 {
 				>;
 			};
 
-			timing-204000000 {
+			timing-5 {
 				clock-frequency = <204000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -670,7 +891,7 @@ timing-204000000 {
 				>;
 			};
 
-			timing-300000000 {
+			timing-6 {
 				clock-frequency = <300000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -767,7 +988,7 @@ timing-300000000 {
 				>;
 			};
 
-			timing-396000000 {
+			timing-7 {
 				clock-frequency = <396000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -864,7 +1085,7 @@ timing-396000000 {
 				>;
 			};
 
-			timing-528000000 {
+			timing-8 {
 				clock-frequency = <528000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -961,7 +1182,7 @@ timing-528000000 {
 				>;
 			};
 
-			timing-600000000 {
+			timing-9 {
 				clock-frequency = <600000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1058,7 +1279,7 @@ timing-600000000 {
 				>;
 			};
 
-			timing-792000000 {
+			timing-10 {
 				clock-frequency = <792000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1155,7 +1376,7 @@ timing-792000000 {
 				>;
 			};
 
-			timing-924000000 {
+			timing-11 {
 				clock-frequency = <924000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430303>;
@@ -1254,216 +1475,6 @@ timing-924000000 {
 
 		};
 	};
-
-	memory-controller@70019000 {
-		emc-timings-1 {
-			nvidia,ram-code = <1>;
-
-			timing-12750000 {
-				clock-frequency = <12750000>;
-
-				nvidia,emem-configuration = <
-					0x40040001 0x8000000a
-					0x00000001 0x00000001
-					0x00000002 0x00000000
-					0x00000002 0x00000001
-					0x00000003 0x00000008
-					0x00000003 0x00000002
-					0x00000003 0x00000006
-					0x06030203 0x000a0502
-					0x77e30303 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-20400000 {
-				clock-frequency = <20400000>;
-
-				nvidia,emem-configuration = <
-					0x40020001 0x80000012
-					0x00000001 0x00000001
-					0x00000002 0x00000000
-					0x00000002 0x00000001
-					0x00000003 0x00000008
-					0x00000003 0x00000002
-					0x00000003 0x00000006
-					0x06030203 0x000a0502
-					0x76230303 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-40800000 {
-				clock-frequency = <40800000>;
-
-				nvidia,emem-configuration = <
-					0xa0000001 0x80000017
-					0x00000001 0x00000001
-					0x00000002 0x00000000
-					0x00000002 0x00000001
-					0x00000003 0x00000008
-					0x00000003 0x00000002
-					0x00000003 0x00000006
-					0x06030203 0x000a0502
-					0x74a30303 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-68000000 {
-				clock-frequency = <68000000>;
-
-				nvidia,emem-configuration = <
-					0x00000001 0x8000001e
-					0x00000001 0x00000001
-					0x00000002 0x00000000
-					0x00000002 0x00000001
-					0x00000003 0x00000008
-					0x00000003 0x00000002
-					0x00000003 0x00000006
-					0x06030203 0x000a0502
-					0x74230403 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-102000000 {
-				clock-frequency = <102000000>;
-
-				nvidia,emem-configuration = <
-					0x08000001 0x80000026
-					0x00000001 0x00000001
-					0x00000003 0x00000000
-					0x00000002 0x00000001
-					0x00000003 0x00000008
-					0x00000003 0x00000002
-					0x00000003 0x00000006
-					0x06030203 0x000a0503
-					0x73c30504 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-204000000 {
-				clock-frequency = <204000000>;
-
-				nvidia,emem-configuration = <
-					0x01000003 0x80000040
-					0x00000001 0x00000001
-					0x00000004 0x00000002
-					0x00000003 0x00000001
-					0x00000003 0x00000008
-					0x00000003 0x00000002
-					0x00000004 0x00000006
-					0x06040203 0x000a0504
-					0x73840a05 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-300000000 {
-				clock-frequency = <300000000>;
-
-				nvidia,emem-configuration = <
-					0x08000004 0x80000040
-					0x00000001 0x00000002
-					0x00000007 0x00000004
-					0x00000004 0x00000001
-					0x00000002 0x00000007
-					0x00000002 0x00000002
-					0x00000004 0x00000006
-					0x06040202 0x000b0607
-					0x77450e08 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-396000000 {
-				clock-frequency = <396000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000005 0x80000040
-					0x00000001 0x00000002
-					0x00000009 0x00000005
-					0x00000006 0x00000001
-					0x00000002 0x00000008
-					0x00000002 0x00000002
-					0x00000004 0x00000006
-					0x06040202 0x000d0709
-					0x7586120a 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-528000000 {
-				clock-frequency = <528000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000007 0x80000040
-					0x00000002 0x00000003
-					0x0000000c 0x00000007
-					0x00000008 0x00000001
-					0x00000002 0x00000009
-					0x00000002 0x00000002
-					0x00000005 0x00000006
-					0x06050202 0x0010090c
-					0x7428180d 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-600000000 {
-				clock-frequency = <600000000>;
-
-				nvidia,emem-configuration = <
-					0x00000009 0x80000040
-					0x00000003 0x00000004
-					0x0000000e 0x00000009
-					0x0000000a 0x00000001
-					0x00000003 0x0000000b
-					0x00000002 0x00000002
-					0x00000005 0x00000007
-					0x07050202 0x00130b0e
-					0x73a91b0f 0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-792000000 {
-				clock-frequency = <792000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000b 0x80000040
-					0x00000004 0x00000005
-					0x00000013 0x0000000c
-					0x0000000d 0x00000002
-					0x00000003 0x0000000c
-					0x00000002 0x00000002
-					0x00000006 0x00000008
-					0x08060202 0x00170e13
-					0x736c2414 0x70000f02
-					0x001f0000
-				>;
-			};
-
-			timing-924000000 {
-				clock-frequency = <924000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000d 0x80000040
-					0x00000005 0x00000006
-					0x00000016 0x0000000e
-					0x0000000f 0x00000002
-					0x00000004 0x0000000e
-					0x00000002 0x00000002
-					0x00000006 0x00000009
-					0x09060202 0x001a1016
-					0x734e2a17 0x70000f02
-					0x001f0000
-				>;
-			};
-		};
-	};
 };
 
 &emc_icc_dvfs_opp_table {
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi b/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi
index df4e463afbd1..d4fdf2716454 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi
@@ -1,76 +1,87 @@
 // SPDX-License-Identifier: GPL-2.0
 / {
 	clock@60006000 {
-		emc-timings-3 {
+		emc-timings-0 {
 			nvidia,ram-code = <3>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-20400000 {
+
+			timing-1 {
 				clock-frequency = <20400000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-40800000 {
+
+			timing-2 {
 				clock-frequency = <40800000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-68000000 {
+
+			timing-3 {
 				clock-frequency = <68000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-102000000 {
+
+			timing-4 {
 				clock-frequency = <102000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-204000000 {
+
+			timing-5 {
 				clock-frequency = <204000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-300000000 {
+
+			timing-6 {
 				clock-frequency = <300000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
 				clock-names = "emc-parent";
 			};
-			timing-396000000 {
+
+			timing-7 {
 				clock-frequency = <396000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
 				clock-names = "emc-parent";
 			};
-			timing-528000000 {
+
+			timing-8 {
 				clock-frequency = <528000000>;
 				nvidia,parent-clock-frequency = <528000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-600000000 {
+
+			timing-9 {
 				clock-frequency = <600000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-792000000 {
+
+			timing-10 {
 				clock-frequency = <792000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-924000000 {
+
+			timing-11 {
 				clock-frequency = <924000000>;
 				nvidia,parent-clock-frequency = <924000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
@@ -79,11 +90,329 @@ timing-924000000 {
 		};
 	};
 
+	memory-controller@70019000 {
+		emc-timings-0 {
+			nvidia,ram-code = <3>;
+
+			timing-0 {
+				clock-frequency = <12750000>;
+
+				nvidia,emem-configuration = <
+					0x40040001
+					0x8000000a
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000003
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0502
+					0x77e30303
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-1 {
+				clock-frequency = <20400000>;
+
+				nvidia,emem-configuration = <
+					0x40020001
+					0x80000012
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000003
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0502
+					0x76230303
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-2 {
+				clock-frequency = <40800000>;
+
+				nvidia,emem-configuration = <
+					0xa0000001
+					0x80000017
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000003
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0502
+					0x74a30303
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-3 {
+				clock-frequency = <68000000>;
+
+				nvidia,emem-configuration = <
+					0x00000001
+					0x8000001e
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000003
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0502
+					0x74230403
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-4 {
+				clock-frequency = <102000000>;
+
+				nvidia,emem-configuration = <
+					0x08000001
+					0x80000026
+					0x00000001
+					0x00000001
+					0x00000003
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000003
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0503
+					0x73c30504
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-5 {
+				clock-frequency = <204000000>;
+
+				nvidia,emem-configuration = <
+					0x01000003
+					0x80000040
+					0x00000001
+					0x00000001
+					0x00000004
+					0x00000002
+					0x00000003
+					0x00000001
+					0x00000003
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000004
+					0x00000006
+					0x06040203
+					0x000a0504
+					0x73840a05
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-6 {
+				clock-frequency = <300000000>;
+
+				nvidia,emem-configuration = <
+					0x08000004
+					0x80000040
+					0x00000001
+					0x00000002
+					0x00000007
+					0x00000004
+					0x00000004
+					0x00000001
+					0x00000002
+					0x00000007
+					0x00000002
+					0x00000002
+					0x00000004
+					0x00000006
+					0x06040202
+					0x000b0607
+					0x77450e08
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-7 {
+				clock-frequency = <396000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000005
+					0x80000040
+					0x00000001
+					0x00000002
+					0x00000009
+					0x00000005
+					0x00000006
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000002
+					0x00000002
+					0x00000004
+					0x00000006
+					0x06040202
+					0x000d0709
+					0x7586120a
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-8 {
+				clock-frequency = <528000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000007
+					0x80000040
+					0x00000002
+					0x00000003
+					0x0000000c
+					0x00000007
+					0x00000008
+					0x00000001
+					0x00000002
+					0x00000009
+					0x00000002
+					0x00000002
+					0x00000005
+					0x00000006
+					0x06050202
+					0x0010090c
+					0x7428180d
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-9 {
+				clock-frequency = <600000000>;
+
+				nvidia,emem-configuration = <
+					0x00000009
+					0x80000040
+					0x00000003
+					0x00000004
+					0x0000000e
+					0x00000009
+					0x0000000a
+					0x00000001
+					0x00000003
+					0x0000000b
+					0x00000002
+					0x00000002
+					0x00000005
+					0x00000007
+					0x07050202
+					0x00130b0e
+					0x73a91b0f
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-10 {
+				clock-frequency = <792000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000b
+					0x80000040
+					0x00000004
+					0x00000005
+					0x00000013
+					0x0000000c
+					0x0000000d
+					0x00000002
+					0x00000003
+					0x0000000c
+					0x00000002
+					0x00000002
+					0x00000006
+					0x00000008
+					0x08060202
+					0x00170e13
+					0x736c2414
+					0x70000f02
+					0x001f0000
+				>;
+			};
+
+			timing-11 {
+				clock-frequency = <924000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000d
+					0x80000040
+					0x00000005
+					0x00000006
+					0x00000016
+					0x0000000e
+					0x0000000f
+					0x00000002
+					0x00000004
+					0x0000000e
+					0x00000002
+					0x00000002
+					0x00000006
+					0x00000009
+					0x09060202
+					0x001a1016
+					0x734e2a17
+					0x70000f02
+					0x001f0000
+				>;
+			};
+		};
+	};
+
 	external-memory-controller@7001b000 {
-		emc-timings-3 {
+		emc-timings-0 {
 			nvidia,ram-code = <3>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -251,7 +580,7 @@ timing-12750000 {
 				>;
 			};
 
-			timing-20400000 {
+			timing-1 {
 				clock-frequency = <20400000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -419,7 +748,7 @@ timing-20400000 {
 				>;
 			};
 
-			timing-40800000 {
+			timing-2 {
 				clock-frequency = <40800000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -587,7 +916,7 @@ timing-40800000 {
 				>;
 			};
 
-			timing-68000000 {
+			timing-3 {
 				clock-frequency = <68000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -755,7 +1084,7 @@ timing-68000000 {
 				>;
 			};
 
-			timing-102000000 {
+			timing-4 {
 				clock-frequency = <102000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -923,7 +1252,7 @@ timing-102000000 {
 				>;
 			};
 
-			timing-204000000 {
+			timing-5 {
 				clock-frequency = <204000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1091,7 +1420,7 @@ timing-204000000 {
 				>;
 			};
 
-			timing-300000000 {
+			timing-6 {
 				clock-frequency = <300000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1259,7 +1588,7 @@ timing-300000000 {
 				>;
 			};
 
-			timing-396000000 {
+			timing-7 {
 				clock-frequency = <396000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1427,7 +1756,7 @@ timing-396000000 {
 				>;
 			};
 
-			timing-528000000 {
+			timing-8 {
 				clock-frequency = <528000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1595,7 +1924,7 @@ timing-528000000 {
 				>;
 			};
 
-			timing-600000000 {
+			timing-9 {
 				clock-frequency = <600000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1763,7 +2092,7 @@ timing-600000000 {
 				>;
 			};
 
-			timing-792000000 {
+			timing-10 {
 				clock-frequency = <792000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1931,7 +2260,7 @@ timing-792000000 {
 				>;
 			};
 
-			timing-924000000 {
+			timing-11 {
 				clock-frequency = <924000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430303>;
@@ -2101,324 +2430,6 @@ timing-924000000 {
 
 		};
 	};
-
-	memory-controller@70019000 {
-		emc-timings-3 {
-			nvidia,ram-code = <3>;
-
-			timing-12750000 {
-				clock-frequency = <12750000>;
-
-				nvidia,emem-configuration = <
-					0x40040001
-					0x8000000a
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000003
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0502
-					0x77e30303
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-20400000 {
-				clock-frequency = <20400000>;
-
-				nvidia,emem-configuration = <
-					0x40020001
-					0x80000012
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000003
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0502
-					0x76230303
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-40800000 {
-				clock-frequency = <40800000>;
-
-				nvidia,emem-configuration = <
-					0xa0000001
-					0x80000017
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000003
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0502
-					0x74a30303
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-68000000 {
-				clock-frequency = <68000000>;
-
-				nvidia,emem-configuration = <
-					0x00000001
-					0x8000001e
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000003
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0502
-					0x74230403
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-102000000 {
-				clock-frequency = <102000000>;
-
-				nvidia,emem-configuration = <
-					0x08000001
-					0x80000026
-					0x00000001
-					0x00000001
-					0x00000003
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000003
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0503
-					0x73c30504
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-204000000 {
-				clock-frequency = <204000000>;
-
-				nvidia,emem-configuration = <
-					0x01000003
-					0x80000040
-					0x00000001
-					0x00000001
-					0x00000004
-					0x00000002
-					0x00000003
-					0x00000001
-					0x00000003
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000004
-					0x00000006
-					0x06040203
-					0x000a0504
-					0x73840a05
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-300000000 {
-				clock-frequency = <300000000>;
-
-				nvidia,emem-configuration = <
-					0x08000004
-					0x80000040
-					0x00000001
-					0x00000002
-					0x00000007
-					0x00000004
-					0x00000004
-					0x00000001
-					0x00000002
-					0x00000007
-					0x00000002
-					0x00000002
-					0x00000004
-					0x00000006
-					0x06040202
-					0x000b0607
-					0x77450e08
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-396000000 {
-				clock-frequency = <396000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000005
-					0x80000040
-					0x00000001
-					0x00000002
-					0x00000009
-					0x00000005
-					0x00000006
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000002
-					0x00000002
-					0x00000004
-					0x00000006
-					0x06040202
-					0x000d0709
-					0x7586120a
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-528000000 {
-				clock-frequency = <528000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000007
-					0x80000040
-					0x00000002
-					0x00000003
-					0x0000000c
-					0x00000007
-					0x00000008
-					0x00000001
-					0x00000002
-					0x00000009
-					0x00000002
-					0x00000002
-					0x00000005
-					0x00000006
-					0x06050202
-					0x0010090c
-					0x7428180d
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-600000000 {
-				clock-frequency = <600000000>;
-
-				nvidia,emem-configuration = <
-					0x00000009
-					0x80000040
-					0x00000003
-					0x00000004
-					0x0000000e
-					0x00000009
-					0x0000000a
-					0x00000001
-					0x00000003
-					0x0000000b
-					0x00000002
-					0x00000002
-					0x00000005
-					0x00000007
-					0x07050202
-					0x00130b0e
-					0x73a91b0f
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-792000000 {
-				clock-frequency = <792000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000b
-					0x80000040
-					0x00000004
-					0x00000005
-					0x00000013
-					0x0000000c
-					0x0000000d
-					0x00000002
-					0x00000003
-					0x0000000c
-					0x00000002
-					0x00000002
-					0x00000006
-					0x00000008
-					0x08060202
-					0x00170e13
-					0x736c2414
-					0x70000f02
-					0x001f0000
-				>;
-			};
-
-			timing-924000000 {
-				clock-frequency = <924000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000d
-					0x80000040
-					0x00000005
-					0x00000006
-					0x00000016
-					0x0000000e
-					0x0000000f
-					0x00000002
-					0x00000004
-					0x0000000e
-					0x00000002
-					0x00000002
-					0x00000006
-					0x00000009
-					0x09060202
-					0x001a1016
-					0x734e2a17
-					0x70000f02
-					0x001f0000
-				>;
-			};
-		};
-	};
 };
 
 &emc_icc_dvfs_opp_table {
diff --git a/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi b/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi
index a0f56cc9da5c..ad0711500087 100644
--- a/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi
+++ b/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi
@@ -5,70 +5,80 @@ apbmisc@70000800 {
 	};
 
 	clock@60006000 {
-		emc-timings-1 {
+		emc-timings-0 {
 			nvidia,ram-code = <1>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-20400000 {
+
+			timing-1 {
 				clock-frequency = <20400000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-40800000 {
+
+			timing-2 {
 				clock-frequency = <40800000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-68000000 {
+
+			timing-3 {
 				clock-frequency = <68000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-102000000 {
+
+			timing-4 {
 				clock-frequency = <102000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-204000000 {
+
+			timing-5 {
 				clock-frequency = <204000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-300000000 {
+
+			timing-6 {
 				clock-frequency = <300000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
 				clock-names = "emc-parent";
 			};
-			timing-396000000 {
+
+			timing-7 {
 				clock-frequency = <396000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
 				clock-names = "emc-parent";
 			};
-			timing-528000000 {
+
+			timing-8 {
 				clock-frequency = <528000000>;
 				nvidia,parent-clock-frequency = <528000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-600000000 {
+
+			timing-9 {
 				clock-frequency = <600000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-792000000 {
+
+			timing-10 {
 				clock-frequency = <792000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
@@ -76,70 +86,80 @@ timing-792000000 {
 			};
 		};
 
-		emc-timings-4 {
+		emc-timings-1 {
 			nvidia,ram-code = <4>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-20400000 {
+
+			timing-1 {
 				clock-frequency = <20400000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-40800000 {
+
+			timing-2 {
 				clock-frequency = <40800000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-68000000 {
+
+			timing-3 {
 				clock-frequency = <68000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-102000000 {
+
+			timing-4 {
 				clock-frequency = <102000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-204000000 {
+
+			timing-5 {
 				clock-frequency = <204000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-300000000 {
+
+			timing-6 {
 				clock-frequency = <300000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
 				clock-names = "emc-parent";
 			};
-			timing-396000000 {
+
+			timing-7 {
 				clock-frequency = <396000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
 				clock-names = "emc-parent";
 			};
-			timing-528000000 {
+
+			timing-8 {
 				clock-frequency = <528000000>;
 				nvidia,parent-clock-frequency = <528000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-600000000 {
+
+			timing-9 {
 				clock-frequency = <600000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-792000000 {
+
+			timing-10 {
 				clock-frequency = <792000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
@@ -147,70 +167,80 @@ timing-792000000 {
 			};
 		};
 
-		emc-timings-6 {
+		emc-timings-2 {
 			nvidia,ram-code = <6>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-20400000 {
+
+			timing-1 {
 				clock-frequency = <20400000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-40800000 {
+
+			timing-2 {
 				clock-frequency = <40800000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-68000000 {
+
+			timing-3 {
 				clock-frequency = <68000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-102000000 {
+
+			timing-4 {
 				clock-frequency = <102000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-204000000 {
+
+			timing-5 {
 				clock-frequency = <204000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-300000000 {
+
+			timing-6 {
 				clock-frequency = <300000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
 				clock-names = "emc-parent";
 			};
-			timing-396000000 {
+
+			timing-7 {
 				clock-frequency = <396000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
 				clock-names = "emc-parent";
 			};
-			timing-528000000 {
+
+			timing-8 {
 				clock-frequency = <528000000>;
 				nvidia,parent-clock-frequency = <528000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-600000000 {
+
+			timing-9 {
 				clock-frequency = <600000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-792000000 {
+
+			timing-10 {
 				clock-frequency = <792000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
@@ -219,11 +249,883 @@ timing-792000000 {
 		};
 	};
 
-	external-memory-controller@7001b000 {
+	memory-controller@70019000 {
+		emc-timings-0 {
+			nvidia,ram-code = <1>;
+
+			timing-0 {
+				clock-frequency = <12750000>;
+
+				nvidia,emem-configuration = <
+					0x40040001 /* MC_EMEM_ARB_CFG */
+					0x8000000a /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x77e30303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-1 {
+				clock-frequency = <20400000>;
+
+				nvidia,emem-configuration = <
+					0x40020001 /* MC_EMEM_ARB_CFG */
+					0x80000012 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x76230303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-2 {
+				clock-frequency = <40800000>;
+
+				nvidia,emem-configuration = <
+					0xa0000001 /* MC_EMEM_ARB_CFG */
+					0x80000017 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x74a30303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-3 {
+				clock-frequency = <68000000>;
+
+				nvidia,emem-configuration = <
+					0x00000001 /* MC_EMEM_ARB_CFG */
+					0x8000001e /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x74230403 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-4 {
+				clock-frequency = <102000000>;
+
+				nvidia,emem-configuration = <
+					0x08000001 /* MC_EMEM_ARB_CFG */
+					0x80000026 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0403 /* MC_EMEM_ARB_DA_COVERS */
+					0x73c30504 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-5 {
+				clock-frequency = <204000000>;
+
+				nvidia,emem-configuration = <
+					0x01000003 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000004 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0405 /* MC_EMEM_ARB_DA_COVERS */
+					0x73840a06 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-6 {
+				clock-frequency = <300000000>;
+
+				nvidia,emem-configuration = <
+					0x08000004 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000007 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000005 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000007 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
+					0x000b0607 /* MC_EMEM_ARB_DA_COVERS */
+					0x77450e08 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-7 {
+				clock-frequency = <396000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000005 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000009 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000007 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
+					0x000d0709 /* MC_EMEM_ARB_DA_COVERS */
+					0x7586120a /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-8 {
+				clock-frequency = <528000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000007 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RP */
+					0x0000000d /* MC_EMEM_ARB_TIMING_RC */
+					0x00000008 /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000a /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000009 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06050202 /* MC_EMEM_ARB_DA_TURNS */
+					0x0010090d /* MC_EMEM_ARB_DA_COVERS */
+					0x7428180e /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-9 {
+				clock-frequency = <600000000>;
+
+				nvidia,emem-configuration = <
+					0x00000009 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RP */
+					0x0000000e /* MC_EMEM_ARB_TIMING_RC */
+					0x00000009 /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000b /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x0000000b /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000007 /* MC_EMEM_ARB_TIMING_W2R */
+					0x07050202 /* MC_EMEM_ARB_DA_TURNS */
+					0x00130b0e /* MC_EMEM_ARB_DA_COVERS */
+					0x73a91b0f /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-10 {
+				clock-frequency = <792000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000b /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000013 /* MC_EMEM_ARB_TIMING_RC */
+					0x0000000c /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000f /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x0000000c /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000008 /* MC_EMEM_ARB_TIMING_W2R */
+					0x08060202 /* MC_EMEM_ARB_DA_TURNS */
+					0x00160d13 /* MC_EMEM_ARB_DA_COVERS */
+					0x734c2414 /* MC_EMEM_ARB_MISC0 */
+					0x70000f02 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+		};
+
 		emc-timings-1 {
+			nvidia,ram-code = <4>;
+
+			timing-0 {
+				clock-frequency = <12750000>;
+
+				nvidia,emem-configuration = <
+					0x40040001 /* MC_EMEM_ARB_CFG */
+					0x8000000a /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
+					0x77e30303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-1 {
+				clock-frequency = <20400000>;
+
+				nvidia,emem-configuration = <
+					0x40020001 /* MC_EMEM_ARB_CFG */
+					0x80000012 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
+					0x77430303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-2 {
+				clock-frequency = <40800000>;
+
+				nvidia,emem-configuration = <
+					0xa0000001 /* MC_EMEM_ARB_CFG */
+					0x80000017 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
+					0x75e30303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-3 {
+				clock-frequency = <68000000>;
+
+				nvidia,emem-configuration = <
+					0x00000001 /* MC_EMEM_ARB_CFG */
+					0x8000001e /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
+					0x75430403 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-4 {
+				clock-frequency = <102000000>;
+
+				nvidia,emem-configuration = <
+					0x08000001 /* MC_EMEM_ARB_CFG */
+					0x80000026 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0503 /* MC_EMEM_ARB_DA_COVERS */
+					0x74e30504 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-5 {
+				clock-frequency = <204000000>;
+
+				nvidia,emem-configuration = <
+					0x01000003 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000004 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0504 /* MC_EMEM_ARB_DA_COVERS */
+					0x74a40a05 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-6 {
+				clock-frequency = <300000000>;
+
+				nvidia,emem-configuration = <
+					0x08000004 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000007 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000005 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000007 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
+					0x000b0607 /* MC_EMEM_ARB_DA_COVERS */
+					0x77450e08 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-7 {
+				clock-frequency = <396000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000005 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000009 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000007 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
+					0x000d0709 /* MC_EMEM_ARB_DA_COVERS */
+					0x7586120a /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-8 {
+				clock-frequency = <528000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000007 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RP */
+					0x0000000c /* MC_EMEM_ARB_TIMING_RC */
+					0x00000007 /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000a /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000009 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06050202 /* MC_EMEM_ARB_DA_TURNS */
+					0x0010090c /* MC_EMEM_ARB_DA_COVERS */
+					0x7488180d /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-9 {
+				clock-frequency = <600000000>;
+
+				nvidia,emem-configuration = <
+					0x00000009 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RP */
+					0x0000000e /* MC_EMEM_ARB_TIMING_RC */
+					0x00000009 /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000b /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x0000000b /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000007 /* MC_EMEM_ARB_TIMING_W2R */
+					0x07050202 /* MC_EMEM_ARB_DA_TURNS */
+					0x00130b0e /* MC_EMEM_ARB_DA_COVERS */
+					0x74691b0f /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-10 {
+				clock-frequency = <792000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000b /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000013 /* MC_EMEM_ARB_TIMING_RC */
+					0x0000000c /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000f /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x0000000c /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000008 /* MC_EMEM_ARB_TIMING_W2R */
+					0x08060202 /* MC_EMEM_ARB_DA_TURNS */
+					0x00170e13 /* MC_EMEM_ARB_DA_COVERS */
+					0x746c2414 /* MC_EMEM_ARB_MISC0 */
+					0x70000f02 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+		};
+
+		emc-timings-2 {
+			nvidia,ram-code = <6>;
+
+			timing-0 {
+				clock-frequency = <12750000>;
+
+				nvidia,emem-configuration = <
+					0x40040001 /* MC_EMEM_ARB_CFG */
+					0x8000000a /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x77e30303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-1 {
+				clock-frequency = <20400000>;
+
+				nvidia,emem-configuration = <
+					0x40020001 /* MC_EMEM_ARB_CFG */
+					0x80000012 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x76230303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-2 {
+				clock-frequency = <40800000>;
+
+				nvidia,emem-configuration = <
+					0xa0000001 /* MC_EMEM_ARB_CFG */
+					0x80000017 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x74a30303 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-3 {
+				clock-frequency = <68000000>;
+
+				nvidia,emem-configuration = <
+					0x00000001 /* MC_EMEM_ARB_CFG */
+					0x8000001e /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
+					0x74230403 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-4 {
+				clock-frequency = <102000000>;
+
+				nvidia,emem-configuration = <
+					0x08000001 /* MC_EMEM_ARB_CFG */
+					0x80000026 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0403 /* MC_EMEM_ARB_DA_COVERS */
+					0x73c30504 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-5 {
+				clock-frequency = <204000000>;
+
+				nvidia,emem-configuration = <
+					0x01000003 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000004 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040203 /* MC_EMEM_ARB_DA_TURNS */
+					0x000a0405 /* MC_EMEM_ARB_DA_COVERS */
+					0x73840a06 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-6 {
+				clock-frequency = <300000000>;
+
+				nvidia,emem-configuration = <
+					0x08000004 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000007 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000005 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000007 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
+					0x000b0607 /* MC_EMEM_ARB_DA_COVERS */
+					0x77450e08 /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-7 {
+				clock-frequency = <396000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000005 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000009 /* MC_EMEM_ARB_TIMING_RC */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RAS */
+					0x00000007 /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
+					0x000d0709 /* MC_EMEM_ARB_DA_COVERS */
+					0x7586120a /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-8 {
+				clock-frequency = <528000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000007 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RP */
+					0x0000000d /* MC_EMEM_ARB_TIMING_RC */
+					0x00000008 /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000a /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x00000009 /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
+					0x06050202 /* MC_EMEM_ARB_DA_TURNS */
+					0x0010090d /* MC_EMEM_ARB_DA_COVERS */
+					0x7428180e /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-9 {
+				clock-frequency = <600000000>;
+
+				nvidia,emem-configuration = <
+					0x00000009 /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RP */
+					0x0000000e /* MC_EMEM_ARB_TIMING_RC */
+					0x00000009 /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000b /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x0000000b /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000007 /* MC_EMEM_ARB_TIMING_W2R */
+					0x07050202 /* MC_EMEM_ARB_DA_TURNS */
+					0x00130b0e /* MC_EMEM_ARB_DA_COVERS */
+					0x73a91b0f /* MC_EMEM_ARB_MISC0 */
+					0x70000f03 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+
+			timing-10 {
+				clock-frequency = <792000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000b /* MC_EMEM_ARB_CFG */
+					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
+					0x00000004 /* MC_EMEM_ARB_TIMING_RCD */
+					0x00000005 /* MC_EMEM_ARB_TIMING_RP */
+					0x00000013 /* MC_EMEM_ARB_TIMING_RC */
+					0x0000000c /* MC_EMEM_ARB_TIMING_RAS */
+					0x0000000f /* MC_EMEM_ARB_TIMING_FAW */
+					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
+					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
+					0x0000000c /* MC_EMEM_ARB_TIMING_WAP2PRE */
+					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
+					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
+					0x00000006 /* MC_EMEM_ARB_TIMING_R2W */
+					0x00000008 /* MC_EMEM_ARB_TIMING_W2R */
+					0x08060202 /* MC_EMEM_ARB_DA_TURNS */
+					0x00160d13 /* MC_EMEM_ARB_DA_COVERS */
+					0x734c2414 /* MC_EMEM_ARB_MISC0 */
+					0x70000f02 /* MC_EMEM_ARB_MISC1 */
+					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
+				>;
+			};
+		};
+	};
+
+	external-memory-controller@7001b000 {
+		emc-timings-0 {
 			nvidia,ram-code = <1>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -391,7 +1293,7 @@ timing-12750000 {
 				>;
 			};
 
-			timing-20400000 {
+			timing-1 {
 				clock-frequency = <20400000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -559,7 +1461,7 @@ timing-20400000 {
 				>;
 			};
 
-			timing-40800000 {
+			timing-2 {
 				clock-frequency = <40800000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -727,7 +1629,7 @@ timing-40800000 {
 				>;
 			};
 
-			timing-68000000 {
+			timing-3 {
 				clock-frequency = <68000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -895,7 +1797,7 @@ timing-68000000 {
 				>;
 			};
 
-			timing-102000000 {
+			timing-4 {
 				clock-frequency = <102000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1063,7 +1965,7 @@ timing-102000000 {
 				>;
 			};
 
-			timing-204000000 {
+			timing-5 {
 				clock-frequency = <204000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1231,7 +2133,7 @@ timing-204000000 {
 				>;
 			};
 
-			timing-300000000 {
+			timing-6 {
 				clock-frequency = <300000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1399,7 +2301,7 @@ timing-300000000 {
 				>;
 			};
 
-			timing-396000000 {
+			timing-7 {
 				clock-frequency = <396000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1567,7 +2469,7 @@ timing-396000000 {
 				>;
 			};
 
-			timing-528000000 {
+			timing-8 {
 				clock-frequency = <528000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1735,7 +2637,7 @@ timing-528000000 {
 				>;
 			};
 
-			timing-600000000 {
+			timing-9 {
 				clock-frequency = <600000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1903,7 +2805,7 @@ timing-600000000 {
 				>;
 			};
 
-			timing-792000000 {
+			timing-10 {
 				clock-frequency = <792000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -2072,10 +2974,10 @@ timing-792000000 {
 			};
 		};
 
-		emc-timings-4 {
+		emc-timings-1 {
 			nvidia,ram-code = <4>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -2243,7 +3145,7 @@ timing-12750000 {
 				>;
 			};
 
-			timing-20400000 {
+			timing-1 {
 				clock-frequency = <20400000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -2411,7 +3313,7 @@ timing-20400000 {
 				>;
 			};
 
-			timing-40800000 {
+			timing-2 {
 				clock-frequency = <40800000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -2579,7 +3481,7 @@ timing-40800000 {
 				>;
 			};
 
-			timing-68000000 {
+			timing-3 {
 				clock-frequency = <68000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -2747,7 +3649,7 @@ timing-68000000 {
 				>;
 			};
 
-			timing-102000000 {
+			timing-4 {
 				clock-frequency = <102000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -2915,7 +3817,7 @@ timing-102000000 {
 				>;
 			};
 
-			timing-204000000 {
+			timing-5 {
 				clock-frequency = <204000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -3083,7 +3985,7 @@ timing-204000000 {
 				>;
 			};
 
-			timing-300000000 {
+			timing-6 {
 				clock-frequency = <300000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -3251,7 +4153,7 @@ timing-300000000 {
 				>;
 			};
 
-			timing-396000000 {
+			timing-7 {
 				clock-frequency = <396000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -3419,7 +4321,7 @@ timing-396000000 {
 				>;
 			};
 
-			timing-528000000 {
+			timing-8 {
 				clock-frequency = <528000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -3587,7 +4489,7 @@ timing-528000000 {
 				>;
 			};
 
-			timing-600000000 {
+			timing-9 {
 				clock-frequency = <600000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -3755,7 +4657,7 @@ timing-600000000 {
 				>;
 			};
 
-			timing-792000000 {
+			timing-10 {
 				clock-frequency = <792000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -3924,10 +4826,10 @@ timing-792000000 {
 			};
 		};
 
-		emc-timings-6 {
+		emc-timings-2 {
 			nvidia,ram-code = <6>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -4095,7 +4997,7 @@ timing-12750000 {
 				>;
 			};
 
-			timing-20400000 {
+			timing-1 {
 				clock-frequency = <20400000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -4263,7 +5165,7 @@ timing-20400000 {
 				>;
 			};
 
-			timing-40800000 {
+			timing-2 {
 				clock-frequency = <40800000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -4431,7 +5333,7 @@ timing-40800000 {
 				>;
 			};
 
-			timing-68000000 {
+			timing-3 {
 				clock-frequency = <68000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -4599,7 +5501,7 @@ timing-68000000 {
 				>;
 			};
 
-			timing-102000000 {
+			timing-4 {
 				clock-frequency = <102000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -4767,7 +5669,7 @@ timing-102000000 {
 				>;
 			};
 
-			timing-204000000 {
+			timing-5 {
 				clock-frequency = <204000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -4935,7 +5837,7 @@ timing-204000000 {
 				>;
 			};
 
-			timing-300000000 {
+			timing-6 {
 				clock-frequency = <300000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -5103,7 +6005,7 @@ timing-300000000 {
 				>;
 			};
 
-			timing-396000000 {
+			timing-7 {
 				clock-frequency = <396000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -5271,7 +6173,7 @@ timing-396000000 {
 				>;
 			};
 
-			timing-528000000 {
+			timing-8 {
 				clock-frequency = <528000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -5439,7 +6341,7 @@ timing-528000000 {
 				>;
 			};
 
-			timing-600000000 {
+			timing-9 {
 				clock-frequency = <600000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -5607,7 +6509,7 @@ timing-600000000 {
 				>;
 			};
 
-			timing-792000000 {
+			timing-10 {
 				clock-frequency = <792000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -5776,878 +6678,6 @@ timing-792000000 {
 			};
 		};
 	};
-
-	memory-controller@70019000 {
-		emc-timings-1 {
-			nvidia,ram-code = <1>;
-
-			timing-12750000 {
-				clock-frequency = <12750000>;
-
-				nvidia,emem-configuration = <
-					0x40040001 /* MC_EMEM_ARB_CFG */
-					0x8000000a /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x77e30303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-20400000 {
-				clock-frequency = <20400000>;
-
-				nvidia,emem-configuration = <
-					0x40020001 /* MC_EMEM_ARB_CFG */
-					0x80000012 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x76230303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-40800000 {
-				clock-frequency = <40800000>;
-
-				nvidia,emem-configuration = <
-					0xa0000001 /* MC_EMEM_ARB_CFG */
-					0x80000017 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x74a30303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-68000000 {
-				clock-frequency = <68000000>;
-
-				nvidia,emem-configuration = <
-					0x00000001 /* MC_EMEM_ARB_CFG */
-					0x8000001e /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x74230403 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-102000000 {
-				clock-frequency = <102000000>;
-
-				nvidia,emem-configuration = <
-					0x08000001 /* MC_EMEM_ARB_CFG */
-					0x80000026 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0403 /* MC_EMEM_ARB_DA_COVERS */
-					0x73c30504 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-204000000 {
-				clock-frequency = <204000000>;
-
-				nvidia,emem-configuration = <
-					0x01000003 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000004 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0405 /* MC_EMEM_ARB_DA_COVERS */
-					0x73840a06 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-300000000 {
-				clock-frequency = <300000000>;
-
-				nvidia,emem-configuration = <
-					0x08000004 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000007 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000005 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000007 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
-					0x000b0607 /* MC_EMEM_ARB_DA_COVERS */
-					0x77450e08 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-396000000 {
-				clock-frequency = <396000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000005 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000009 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000007 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
-					0x000d0709 /* MC_EMEM_ARB_DA_COVERS */
-					0x7586120a /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-528000000 {
-				clock-frequency = <528000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000007 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RP */
-					0x0000000d /* MC_EMEM_ARB_TIMING_RC */
-					0x00000008 /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000a /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000009 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06050202 /* MC_EMEM_ARB_DA_TURNS */
-					0x0010090d /* MC_EMEM_ARB_DA_COVERS */
-					0x7428180e /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-600000000 {
-				clock-frequency = <600000000>;
-
-				nvidia,emem-configuration = <
-					0x00000009 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RP */
-					0x0000000e /* MC_EMEM_ARB_TIMING_RC */
-					0x00000009 /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000b /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x0000000b /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000007 /* MC_EMEM_ARB_TIMING_W2R */
-					0x07050202 /* MC_EMEM_ARB_DA_TURNS */
-					0x00130b0e /* MC_EMEM_ARB_DA_COVERS */
-					0x73a91b0f /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-792000000 {
-				clock-frequency = <792000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000b /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000013 /* MC_EMEM_ARB_TIMING_RC */
-					0x0000000c /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000f /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x0000000c /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000008 /* MC_EMEM_ARB_TIMING_W2R */
-					0x08060202 /* MC_EMEM_ARB_DA_TURNS */
-					0x00160d13 /* MC_EMEM_ARB_DA_COVERS */
-					0x734c2414 /* MC_EMEM_ARB_MISC0 */
-					0x70000f02 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-		};
-
-		emc-timings-4 {
-			nvidia,ram-code = <4>;
-
-			timing-12750000 {
-				clock-frequency = <12750000>;
-
-				nvidia,emem-configuration = <
-					0x40040001 /* MC_EMEM_ARB_CFG */
-					0x8000000a /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
-					0x77e30303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-20400000 {
-				clock-frequency = <20400000>;
-
-				nvidia,emem-configuration = <
-					0x40020001 /* MC_EMEM_ARB_CFG */
-					0x80000012 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
-					0x77430303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-40800000 {
-				clock-frequency = <40800000>;
-
-				nvidia,emem-configuration = <
-					0xa0000001 /* MC_EMEM_ARB_CFG */
-					0x80000017 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
-					0x75e30303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-68000000 {
-				clock-frequency = <68000000>;
-
-				nvidia,emem-configuration = <
-					0x00000001 /* MC_EMEM_ARB_CFG */
-					0x8000001e /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0502 /* MC_EMEM_ARB_DA_COVERS */
-					0x75430403 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-102000000 {
-				clock-frequency = <102000000>;
-
-				nvidia,emem-configuration = <
-					0x08000001 /* MC_EMEM_ARB_CFG */
-					0x80000026 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0503 /* MC_EMEM_ARB_DA_COVERS */
-					0x74e30504 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-204000000 {
-				clock-frequency = <204000000>;
-
-				nvidia,emem-configuration = <
-					0x01000003 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000004 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0504 /* MC_EMEM_ARB_DA_COVERS */
-					0x74a40a05 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-300000000 {
-				clock-frequency = <300000000>;
-
-				nvidia,emem-configuration = <
-					0x08000004 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000007 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000005 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000007 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
-					0x000b0607 /* MC_EMEM_ARB_DA_COVERS */
-					0x77450e08 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-396000000 {
-				clock-frequency = <396000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000005 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000009 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000007 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
-					0x000d0709 /* MC_EMEM_ARB_DA_COVERS */
-					0x7586120a /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-528000000 {
-				clock-frequency = <528000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000007 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RP */
-					0x0000000c /* MC_EMEM_ARB_TIMING_RC */
-					0x00000007 /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000a /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000009 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06050202 /* MC_EMEM_ARB_DA_TURNS */
-					0x0010090c /* MC_EMEM_ARB_DA_COVERS */
-					0x7488180d /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-600000000 {
-				clock-frequency = <600000000>;
-
-				nvidia,emem-configuration = <
-					0x00000009 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RP */
-					0x0000000e /* MC_EMEM_ARB_TIMING_RC */
-					0x00000009 /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000b /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x0000000b /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000007 /* MC_EMEM_ARB_TIMING_W2R */
-					0x07050202 /* MC_EMEM_ARB_DA_TURNS */
-					0x00130b0e /* MC_EMEM_ARB_DA_COVERS */
-					0x74691b0f /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-792000000 {
-				clock-frequency = <792000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000b /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000013 /* MC_EMEM_ARB_TIMING_RC */
-					0x0000000c /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000f /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x0000000c /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000008 /* MC_EMEM_ARB_TIMING_W2R */
-					0x08060202 /* MC_EMEM_ARB_DA_TURNS */
-					0x00170e13 /* MC_EMEM_ARB_DA_COVERS */
-					0x746c2414 /* MC_EMEM_ARB_MISC0 */
-					0x70000f02 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-		};
-
-		emc-timings-6 {
-			nvidia,ram-code = <6>;
-
-			timing-12750000 {
-				clock-frequency = <12750000>;
-
-				nvidia,emem-configuration = <
-					0x40040001 /* MC_EMEM_ARB_CFG */
-					0x8000000a /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x77e30303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-20400000 {
-				clock-frequency = <20400000>;
-
-				nvidia,emem-configuration = <
-					0x40020001 /* MC_EMEM_ARB_CFG */
-					0x80000012 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x76230303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-40800000 {
-				clock-frequency = <40800000>;
-
-				nvidia,emem-configuration = <
-					0xa0000001 /* MC_EMEM_ARB_CFG */
-					0x80000017 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x74a30303 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-68000000 {
-				clock-frequency = <68000000>;
-
-				nvidia,emem-configuration = <
-					0x00000001 /* MC_EMEM_ARB_CFG */
-					0x8000001e /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0402 /* MC_EMEM_ARB_DA_COVERS */
-					0x74230403 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-102000000 {
-				clock-frequency = <102000000>;
-
-				nvidia,emem-configuration = <
-					0x08000001 /* MC_EMEM_ARB_CFG */
-					0x80000026 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000000 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000002 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06030203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0403 /* MC_EMEM_ARB_DA_COVERS */
-					0x73c30504 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-204000000 {
-				clock-frequency = <204000000>;
-
-				nvidia,emem-configuration = <
-					0x01000003 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000004 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000003 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040203 /* MC_EMEM_ARB_DA_TURNS */
-					0x000a0405 /* MC_EMEM_ARB_DA_COVERS */
-					0x73840a06 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-300000000 {
-				clock-frequency = <300000000>;
-
-				nvidia,emem-configuration = <
-					0x08000004 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000007 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000005 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000007 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
-					0x000b0607 /* MC_EMEM_ARB_DA_COVERS */
-					0x77450e08 /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-396000000 {
-				clock-frequency = <396000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000005 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000009 /* MC_EMEM_ARB_TIMING_RC */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RAS */
-					0x00000007 /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000008 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000004 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06040202 /* MC_EMEM_ARB_DA_TURNS */
-					0x000d0709 /* MC_EMEM_ARB_DA_COVERS */
-					0x7586120a /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-528000000 {
-				clock-frequency = <528000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000007 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RP */
-					0x0000000d /* MC_EMEM_ARB_TIMING_RC */
-					0x00000008 /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000a /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000001 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x00000009 /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_W2R */
-					0x06050202 /* MC_EMEM_ARB_DA_TURNS */
-					0x0010090d /* MC_EMEM_ARB_DA_COVERS */
-					0x7428180e /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-600000000 {
-				clock-frequency = <600000000>;
-
-				nvidia,emem-configuration = <
-					0x00000009 /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RP */
-					0x0000000e /* MC_EMEM_ARB_TIMING_RC */
-					0x00000009 /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000b /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x0000000b /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000005 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000007 /* MC_EMEM_ARB_TIMING_W2R */
-					0x07050202 /* MC_EMEM_ARB_DA_TURNS */
-					0x00130b0e /* MC_EMEM_ARB_DA_COVERS */
-					0x73a91b0f /* MC_EMEM_ARB_MISC0 */
-					0x70000f03 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-
-			timing-792000000 {
-				clock-frequency = <792000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000b /* MC_EMEM_ARB_CFG */
-					0x80000040 /* MC_EMEM_ARB_OUTSTANDING_REQ */
-					0x00000004 /* MC_EMEM_ARB_TIMING_RCD */
-					0x00000005 /* MC_EMEM_ARB_TIMING_RP */
-					0x00000013 /* MC_EMEM_ARB_TIMING_RC */
-					0x0000000c /* MC_EMEM_ARB_TIMING_RAS */
-					0x0000000f /* MC_EMEM_ARB_TIMING_FAW */
-					0x00000002 /* MC_EMEM_ARB_TIMING_RRD */
-					0x00000003 /* MC_EMEM_ARB_TIMING_RAP2PRE */
-					0x0000000c /* MC_EMEM_ARB_TIMING_WAP2PRE */
-					0x00000002 /* MC_EMEM_ARB_TIMING_R2R */
-					0x00000002 /* MC_EMEM_ARB_TIMING_W2W */
-					0x00000006 /* MC_EMEM_ARB_TIMING_R2W */
-					0x00000008 /* MC_EMEM_ARB_TIMING_W2R */
-					0x08060202 /* MC_EMEM_ARB_DA_TURNS */
-					0x00160d13 /* MC_EMEM_ARB_DA_COVERS */
-					0x734c2414 /* MC_EMEM_ARB_MISC0 */
-					0x70000f02 /* MC_EMEM_ARB_MISC1 */
-					0x001f0000 /* MC_EMEM_ARB_RING1_THROTTLE */
-				>;
-			};
-		};
-	};
 };
 
 &emc_icc_dvfs_opp_table {
diff --git a/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi b/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi
index 35c98734d35f..fdafb9d15bce 100644
--- a/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi
+++ b/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi
@@ -1,65 +1,75 @@
 // SPDX-License-Identifier: GPL-2.0
 / {
 	clock@60006000 {
-		emc-timings-1 {
+		emc-timings-0 {
 			nvidia,ram-code = <1>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-20400000 {
+
+			timing-1 {
 				clock-frequency = <20400000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-40800000 {
+
+			timing-2 {
 				clock-frequency = <40800000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-68000000 {
+
+			timing-3 {
 				clock-frequency = <68000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-102000000 {
+
+			timing-4 {
 				clock-frequency = <102000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-204000000 {
+
+			timing-5 {
 				clock-frequency = <204000000>;
 				nvidia,parent-clock-frequency = <408000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
 				clock-names = "emc-parent";
 			};
-			timing-300000000 {
+
+			timing-6 {
 				clock-frequency = <300000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
 				clock-names = "emc-parent";
 			};
-			timing-396000000 {
+
+			timing-7 {
 				clock-frequency = <396000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
 				clock-names = "emc-parent";
 			};
+
 			/* TODO: Add 528MHz frequency */
-			timing-600000000 {
+
+			timing-9 {
 				clock-frequency = <600000000>;
 				nvidia,parent-clock-frequency = <600000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
 				clock-names = "emc-parent";
 			};
-			timing-792000000 {
+
+			timing-10 {
 				clock-frequency = <792000000>;
 				nvidia,parent-clock-frequency = <792000000>;
 				clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
@@ -68,11 +78,303 @@ timing-792000000 {
 		};
 	};
 
+	memory-controller@70019000 {
+		emc-timings-0 {
+			nvidia,ram-code = <1>;
+
+			timing-0 {
+				clock-frequency = <12750000>;
+
+				nvidia,emem-configuration = <
+					0x40040001
+					0x8000000a
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0402
+					0x77e30303
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-1 {
+				clock-frequency = <20400000>;
+
+				nvidia,emem-configuration = <
+					0x40020001
+					0x80000012
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0402
+					0x76230303
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-2 {
+				clock-frequency = <40800000>;
+
+				nvidia,emem-configuration = <
+					0xa0000001
+					0x80000017
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0402
+					0x74a30303
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-3 {
+				clock-frequency = <68000000>;
+
+				nvidia,emem-configuration = <
+					0x00000001
+					0x8000001e
+					0x00000001
+					0x00000001
+					0x00000002
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0402
+					0x74230403
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-4 {
+				clock-frequency = <102000000>;
+
+				nvidia,emem-configuration = <
+					0x08000001
+					0x80000026
+					0x00000001
+					0x00000001
+					0x00000003
+					0x00000000
+					0x00000002
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000003
+					0x00000006
+					0x06030203
+					0x000a0403
+					0x73c30504
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-5 {
+				clock-frequency = <204000000>;
+
+				nvidia,emem-configuration = <
+					0x01000003
+					0x80000040
+					0x00000001
+					0x00000001
+					0x00000005
+					0x00000002
+					0x00000004
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000003
+					0x00000002
+					0x00000004
+					0x00000006
+					0x06040203
+					0x000a0405
+					0x73840a06
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-6 {
+				clock-frequency = <300000000>;
+
+				nvidia,emem-configuration = <
+					0x08000004
+					0x80000040
+					0x00000001
+					0x00000002
+					0x00000007
+					0x00000004
+					0x00000005
+					0x00000001
+					0x00000002
+					0x00000007
+					0x00000002
+					0x00000002
+					0x00000004
+					0x00000006
+					0x06040202
+					0x000b0607
+					0x77450e08
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-7 {
+				clock-frequency = <396000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000005
+					0x80000040
+					0x00000001
+					0x00000002
+					0x00000009
+					0x00000005
+					0x00000007
+					0x00000001
+					0x00000002
+					0x00000008
+					0x00000002
+					0x00000002
+					0x00000004
+					0x00000006
+					0x06040202
+					0x000d0709
+					0x7586120a
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-8 {
+				clock-frequency = <528000000>;
+
+				nvidia,emem-configuration = <
+					0x0f000007
+					0x80000040
+					0x00000002
+					0x00000003
+					0x0000000d
+					0x00000008
+					0x0000000a
+					0x00000001
+					0x00000002
+					0x00000009
+					0x00000002
+					0x00000002
+					0x00000005
+					0x00000006
+					0x06050202
+					0x0010090d
+					0x7428180e
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-9 {
+				clock-frequency = <600000000>;
+
+				nvidia,emem-configuration = <
+					0x00000009
+					0x80000040
+					0x00000003
+					0x00000004
+					0x0000000e
+					0x00000009
+					0x0000000b
+					0x00000001
+					0x00000003
+					0x0000000b
+					0x00000002
+					0x00000002
+					0x00000005
+					0x00000007
+					0x07050202
+					0x00130b0e
+					0x73a91b0f
+					0x70000f03
+					0x001f0000
+				>;
+			};
+
+			timing-10 {
+				clock-frequency = <792000000>;
+
+				nvidia,emem-configuration = <
+					0x0e00000b
+					0x80000040
+					0x00000004
+					0x00000005
+					0x00000013
+					0x0000000c
+					0x0000000f
+					0x00000002
+					0x00000003
+					0x0000000c
+					0x00000002
+					0x00000002
+					0x00000006
+					0x00000008
+					0x08060202
+					0x00160d13
+					0x734c2414
+					0x70000f02
+					0x001f0000
+				>;
+			};
+		};
+	};
+
 	external-memory-controller@7001b000 {
-		emc-timings-1 {
+		emc-timings-0 {
 			nvidia,ram-code = <1>;
 
-			timing-12750000 {
+			timing-0 {
 				clock-frequency = <12750000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -240,7 +542,7 @@ timing-12750000 {
 				>;
 			};
 
-			timing-20400000 {
+			timing-1 {
 				clock-frequency = <20400000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -408,7 +710,7 @@ timing-20400000 {
 				>;
 			};
 
-			timing-40800000 {
+			timing-2 {
 				clock-frequency = <40800000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -576,7 +878,7 @@ timing-40800000 {
 				>;
 			};
 
-			timing-68000000 {
+			timing-3 {
 				clock-frequency = <68000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -744,7 +1046,7 @@ timing-68000000 {
 				>;
 			};
 
-			timing-102000000 {
+			timing-4 {
 				clock-frequency = <102000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -912,7 +1214,7 @@ timing-102000000 {
 				>;
 			};
 
-			timing-204000000 {
+			timing-5 {
 				clock-frequency = <204000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1080,7 +1382,7 @@ timing-204000000 {
 				>;
 			};
 
-			timing-300000000 {
+			timing-6 {
 				clock-frequency = <300000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1248,7 +1550,7 @@ timing-300000000 {
 				>;
 			};
 
-			timing-396000000 {
+			timing-7 {
 				clock-frequency = <396000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1416,7 +1718,7 @@ timing-396000000 {
 				>;
 			};
 
-			timing-600000000 {
+			timing-9 {
 				clock-frequency = <600000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1584,7 +1886,7 @@ timing-600000000 {
 				>;
 			};
 
-			timing-792000000 {
+			timing-10 {
 				clock-frequency = <792000000>;
 
 				nvidia,emc-auto-cal-config = <0xa1430000>;
@@ -1754,299 +2056,6 @@ timing-792000000 {
 
 		};
 	};
-
-	memory-controller@70019000 {
-		emc-timings-1 {
-			nvidia,ram-code = <1>;
-
-
-			timing-12750000 {
-				clock-frequency = <12750000>;
-
-				nvidia,emem-configuration = <
-					0x40040001
-					0x8000000a
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0402
-					0x77e30303
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-20400000 {
-				clock-frequency = <20400000>;
-
-				nvidia,emem-configuration = <
-					0x40020001
-					0x80000012
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0402
-					0x76230303
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-40800000 {
-				clock-frequency = <40800000>;
-
-				nvidia,emem-configuration = <
-					0xa0000001
-					0x80000017
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0402
-					0x74a30303
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-68000000 {
-				clock-frequency = <68000000>;
-
-				nvidia,emem-configuration = <
-					0x00000001
-					0x8000001e
-					0x00000001
-					0x00000001
-					0x00000002
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0402
-					0x74230403
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-102000000 {
-				clock-frequency = <102000000>;
-
-				nvidia,emem-configuration = <
-					0x08000001
-					0x80000026
-					0x00000001
-					0x00000001
-					0x00000003
-					0x00000000
-					0x00000002
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000003
-					0x00000006
-					0x06030203
-					0x000a0403
-					0x73c30504
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-204000000 {
-				clock-frequency = <204000000>;
-
-				nvidia,emem-configuration = <
-					0x01000003
-					0x80000040
-					0x00000001
-					0x00000001
-					0x00000005
-					0x00000002
-					0x00000004
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000003
-					0x00000002
-					0x00000004
-					0x00000006
-					0x06040203
-					0x000a0405
-					0x73840a06
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-300000000 {
-				clock-frequency = <300000000>;
-
-				nvidia,emem-configuration = <
-					0x08000004
-					0x80000040
-					0x00000001
-					0x00000002
-					0x00000007
-					0x00000004
-					0x00000005
-					0x00000001
-					0x00000002
-					0x00000007
-					0x00000002
-					0x00000002
-					0x00000004
-					0x00000006
-					0x06040202
-					0x000b0607
-					0x77450e08
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-396000000 {
-				clock-frequency = <396000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000005
-					0x80000040
-					0x00000001
-					0x00000002
-					0x00000009
-					0x00000005
-					0x00000007
-					0x00000001
-					0x00000002
-					0x00000008
-					0x00000002
-					0x00000002
-					0x00000004
-					0x00000006
-					0x06040202
-					0x000d0709
-					0x7586120a
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-528000000 {
-				clock-frequency = <528000000>;
-
-				nvidia,emem-configuration = <
-					0x0f000007
-					0x80000040
-					0x00000002
-					0x00000003
-					0x0000000d
-					0x00000008
-					0x0000000a
-					0x00000001
-					0x00000002
-					0x00000009
-					0x00000002
-					0x00000002
-					0x00000005
-					0x00000006
-					0x06050202
-					0x0010090d
-					0x7428180e
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-600000000 {
-				clock-frequency = <600000000>;
-
-				nvidia,emem-configuration = <
-					0x00000009
-					0x80000040
-					0x00000003
-					0x00000004
-					0x0000000e
-					0x00000009
-					0x0000000b
-					0x00000001
-					0x00000003
-					0x0000000b
-					0x00000002
-					0x00000002
-					0x00000005
-					0x00000007
-					0x07050202
-					0x00130b0e
-					0x73a91b0f
-					0x70000f03
-					0x001f0000
-				>;
-			};
-
-			timing-792000000 {
-				clock-frequency = <792000000>;
-
-				nvidia,emem-configuration = <
-					0x0e00000b
-					0x80000040
-					0x00000004
-					0x00000005
-					0x00000013
-					0x0000000c
-					0x0000000f
-					0x00000002
-					0x00000003
-					0x0000000c
-					0x00000002
-					0x00000002
-					0x00000006
-					0x00000008
-					0x08060202
-					0x00160d13
-					0x734c2414
-					0x70000f02
-					0x001f0000
-				>;
-			};
-		};
-	};
 };
 
 &emc_icc_dvfs_opp_table {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 02/25] ARM: tegra: Specify correct PMIC compatible on Tegra114 boards
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
  2021-12-09 17:33 ` [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 03/25] ARM: tegra: Rename SPI flash chip nodes Thierry Reding
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The PMIC found on Dalmore, TN7 and Roth is a TPS65913, so add the
specific compatible string in addition to the generic Palmas series
compatible string.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114-dalmore.dts | 2 +-
 arch/arm/boot/dts/tegra114-roth.dts    | 2 +-
 arch/arm/boot/dts/tegra114-tn7.dts     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index 7fd901f8d39a..82caefe5928c 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -894,7 +894,7 @@ ldo2 {
 		};
 
 		palmas: tps65913@58 {
-			compatible = "ti,palmas";
+			compatible = "ti,tps65913", "ti,palmas";
 			reg = <0x58>;
 			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
 
diff --git a/arch/arm/boot/dts/tegra114-roth.dts b/arch/arm/boot/dts/tegra114-roth.dts
index 07960171fabe..71a2806c0f59 100644
--- a/arch/arm/boot/dts/tegra114-roth.dts
+++ b/arch/arm/boot/dts/tegra114-roth.dts
@@ -801,7 +801,7 @@ regulator@43 {
 		};
 
 		palmas: pmic@58 {
-			compatible = "ti,palmas";
+			compatible = "ti,tps65913", "ti,palmas";
 			reg = <0x58>;
 			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 
diff --git a/arch/arm/boot/dts/tegra114-tn7.dts b/arch/arm/boot/dts/tegra114-tn7.dts
index 745d234b105b..753130b1e37b 100644
--- a/arch/arm/boot/dts/tegra114-tn7.dts
+++ b/arch/arm/boot/dts/tegra114-tn7.dts
@@ -62,7 +62,7 @@ i2c@7000d000 {
 		clock-frequency = <400000>;
 
 		palmas: pmic@58 {
-			compatible = "ti,palmas";
+			compatible = "ti,tps65913", "ti,palmas";
 			reg = <0x58>;
 			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 03/25] ARM: tegra: Rename SPI flash chip nodes
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
  2021-12-09 17:33 ` [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes Thierry Reding
  2021-12-09 17:33 ` [PATCH 02/25] ARM: tegra: Specify correct PMIC compatible on Tegra114 boards Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 04/25] ARM: tegra: Rename top-level clocks Thierry Reding
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

SPI flash chip nodes should be named "flash" instead of "spi-flash".

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114-dalmore.dts    | 3 ++-
 arch/arm/boot/dts/tegra124-jetson-tk1.dts | 3 ++-
 arch/arm/boot/dts/tegra124-venice2.dts    | 3 ++-
 arch/arm/boot/dts/tegra20-trimslice.dts   | 3 ++-
 arch/arm/boot/dts/tegra30-beaver.dts      | 3 ++-
 arch/arm/boot/dts/tegra30-cardhu.dtsi     | 3 ++-
 6 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index 82caefe5928c..e64199ba82cb 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -1084,7 +1084,8 @@ pin_gpio6 {
 	spi@7000da00 {
 		status = "okay";
 		spi-max-frequency = <25000000>;
-		spi-flash@0 {
+
+		flash@0 {
 			compatible = "winbond,w25q32dw", "jedec,spi-nor";
 			reg = <0>;
 			spi-max-frequency = <20000000>;
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index 35ab296408e1..b2b3eea81232 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1655,7 +1655,8 @@ spi@7000d400 {
 	spi@7000da00 {
 		status = "okay";
 		spi-max-frequency = <25000000>;
-		spi-flash@0 {
+
+		flash@0 {
 			compatible = "winbond,w25q32dw", "jedec,spi-nor";
 			reg = <0>;
 			spi-max-frequency = <20000000>;
diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
index e6b54ac1ebd1..02cf986c7567 100644
--- a/arch/arm/boot/dts/tegra124-venice2.dts
+++ b/arch/arm/boot/dts/tegra124-venice2.dts
@@ -881,7 +881,8 @@ battery: sbs-battery@b {
 	spi@7000da00 {
 		status = "okay";
 		spi-max-frequency = <25000000>;
-		spi-flash@0 {
+
+		flash@0 {
 			compatible = "winbond,w25q32dw", "jedec,spi-nor";
 			reg = <0>;
 			spi-max-frequency = <20000000>;
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index 4bc87bc0c2a4..beae368f827a 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -287,7 +287,8 @@ dvi_ddc: i2c@7000c000 {
 	spi@7000c380 {
 		status = "okay";
 		spi-max-frequency = <48000000>;
-		spi-flash@0 {
+
+		flash@0 {
 			compatible = "winbond,w25q80bl", "jedec,spi-nor";
 			reg = <0>;
 			spi-max-frequency = <48000000>;
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index e159feeedef7..f724abcdb1a5 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -1898,7 +1898,8 @@ core_vdd_reg: tps62361@60 {
 	spi@7000da00 {
 		status = "okay";
 		spi-max-frequency = <25000000>;
-		spi-flash@1 {
+
+		flash@1 {
 			compatible = "winbond,w25q32", "jedec,spi-nor";
 			reg = <1>;
 			spi-max-frequency = <20000000>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index 448f1397e64a..e7bfe0e5ee06 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -374,7 +374,8 @@ vdd_core: tps62361@60 {
 	spi@7000da00 {
 		status = "okay";
 		spi-max-frequency = <25000000>;
-		spi-flash@1 {
+
+		flash@1 {
 			compatible = "winbond,w25q32", "jedec,spi-nor";
 			reg = <1>;
 			spi-max-frequency = <20000000>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 04/25] ARM: tegra: Rename top-level clocks
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (2 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 03/25] ARM: tegra: Rename SPI flash chip nodes Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 18:27   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 05/25] ARM: tegra: Rename top-level regulators Thierry Reding
                   ` (20 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

Clocks defined at the top level in device tree are no longer part of a
simple bus and therefore don't have a reg property. Nodes without a reg
property shouldn't have a unit-address either, so drop the unit address
from the node names. To ensure nodes aren't duplicated (in which case
they would end up merged in the final DTB), append the name of the clock
to the node name.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114-dalmore.dts                    | 2 +-
 arch/arm/boot/dts/tegra114-roth.dts                       | 2 +-
 arch/arm/boot/dts/tegra114-tn7.dts                        | 2 +-
 arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 +-
 arch/arm/boot/dts/tegra124-nyan.dtsi                      | 2 +-
 arch/arm/boot/dts/tegra124-venice2.dts                    | 2 +-
 arch/arm/boot/dts/tegra20-acer-a500-picasso.dts           | 4 ++--
 arch/arm/boot/dts/tegra20-harmony.dts                     | 2 +-
 arch/arm/boot/dts/tegra20-paz00.dts                       | 2 +-
 arch/arm/boot/dts/tegra20-seaboard.dts                    | 2 +-
 arch/arm/boot/dts/tegra20-tamonten.dtsi                   | 2 +-
 arch/arm/boot/dts/tegra20-trimslice.dts                   | 2 +-
 arch/arm/boot/dts/tegra20-ventana.dts                     | 2 +-
 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 +-
 arch/arm/boot/dts/tegra30-beaver.dts                      | 2 +-
 arch/arm/boot/dts/tegra30-cardhu.dtsi                     | 2 +-
 16 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index e64199ba82cb..ad8116780dc9 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -1152,7 +1152,7 @@ backlight: backlight {
 		default-brightness-level = <6>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra114-roth.dts b/arch/arm/boot/dts/tegra114-roth.dts
index 71a2806c0f59..ed6ebbf008e1 100644
--- a/arch/arm/boot/dts/tegra114-roth.dts
+++ b/arch/arm/boot/dts/tegra114-roth.dts
@@ -1016,7 +1016,7 @@ backlight: backlight {
 		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra114-tn7.dts b/arch/arm/boot/dts/tegra114-tn7.dts
index 753130b1e37b..36717331101e 100644
--- a/arch/arm/boot/dts/tegra114-tn7.dts
+++ b/arch/arm/boot/dts/tegra114-tn7.dts
@@ -273,7 +273,7 @@ backlight: backlight {
 		power-supply = <&lcd_bl_en>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index b2b3eea81232..f59135b93cb0 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1869,7 +1869,7 @@ usb-phy@7d008000 {
 		vbus-supply = <&vdd_usb3_vbus>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra124-nyan.dtsi b/arch/arm/boot/dts/tegra124-nyan.dtsi
index 63a81270300a..f15623f83893 100644
--- a/arch/arm/boot/dts/tegra124-nyan.dtsi
+++ b/arch/arm/boot/dts/tegra124-nyan.dtsi
@@ -582,7 +582,7 @@ backlight: backlight {
 			 256>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
index 02cf986c7567..14eeb1242b15 100644
--- a/arch/arm/boot/dts/tegra124-venice2.dts
+++ b/arch/arm/boot/dts/tegra124-venice2.dts
@@ -1062,7 +1062,7 @@ backlight: backlight {
 		default-brightness-level = <6>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts b/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
index 23d3f8daab23..be5ef6745ac8 100644
--- a/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
+++ b/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
@@ -827,7 +827,7 @@ bat1010: battery-2s1p {
 	};
 
 	/* PMIC has a built-in 32KHz oscillator which is used by PMC */
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		clock-frequency = <32768>;
@@ -839,7 +839,7 @@ clk32k_in: clock@0 {
 	 * oscillator is used as a reference clock-source by the
 	 * Azurewave WiFi/BT module.
 	 */
-	rtc_32k_wifi: clock@1 {
+	rtc_32k_wifi: clock-rtc-32k-wifi {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		clock-frequency = <32768>;
diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index ae4312eedcbd..4d137461f3c4 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -640,7 +640,7 @@ backlight: backlight {
 		default-brightness-level = <6>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index 5b38b0606f99..d3d24523553e 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -575,7 +575,7 @@ backlight: backlight {
 		default-brightness-level = <10>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index 92d494b8c3d2..ffeae5da22e7 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -792,7 +792,7 @@ backlight: backlight {
 		default-brightness-level = <6>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi
index dd4d506683de..d5f1a46da0bc 100644
--- a/arch/arm/boot/dts/tegra20-tamonten.dtsi
+++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi
@@ -502,7 +502,7 @@ mmc@c8000600 {
 		status = "okay";
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index beae368f827a..49c3b3bfac51 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -380,7 +380,7 @@ mmc@c8000600 {
 		bus-width = <4>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index 5a2578b3707f..ef97457f1334 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -606,7 +606,7 @@ backlight: backlight {
 		default-brightness-level = <6>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
index 07d4ea130964..72159eb55a3d 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
@@ -1069,7 +1069,7 @@ battery_cell: battery-cell {
 	};
 
 	/* PMIC has a built-in 32KHz oscillator which is used by PMC */
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		clock-frequency = <32768>;
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index f724abcdb1a5..91ecca0be5a2 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -1967,7 +1967,7 @@ usb-phy@7d008000 {
 		status = "okay";
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index e7bfe0e5ee06..6074885280fc 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -434,7 +434,7 @@ backlight: backlight {
 		default-brightness-level = <6>;
 	};
 
-	clk32k_in: clock@0 {
+	clk32k_in: clock-32k {
 		compatible = "fixed-clock";
 		clock-frequency = <32768>;
 		#clock-cells = <0>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 05/25] ARM: tegra: Rename top-level regulators
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (3 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 04/25] ARM: tegra: Rename top-level clocks Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer Thierry Reding
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

Regulators defined at the top level in device tree are no longer part of
a simple bus and therefore don't have a reg property. Nodes without a
reg property shouldn't have a unit-address either, so drop the unit
address from the node names. To ensure nodes aren't duplicated (in which
case they would end up merged in the final DTB), append the name of the
regulator to the node name.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114-dalmore.dts        | 14 +++++-----
 arch/arm/boot/dts/tegra114-roth.dts           | 12 ++++-----
 arch/arm/boot/dts/tegra114-tn7.dts            |  6 ++---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts     | 24 ++++++++---------
 arch/arm/boot/dts/tegra124-nyan.dtsi          | 26 +++++++++----------
 arch/arm/boot/dts/tegra124-venice2.dts        | 26 +++++++++----------
 .../boot/dts/tegra20-acer-a500-picasso.dts    |  8 +++---
 arch/arm/boot/dts/tegra20-harmony.dts         | 14 +++++-----
 arch/arm/boot/dts/tegra20-medcom-wide.dts     |  8 +++---
 arch/arm/boot/dts/tegra20-paz00.dts           |  4 +--
 arch/arm/boot/dts/tegra20-plutux.dts          |  8 +++---
 arch/arm/boot/dts/tegra20-seaboard.dts        | 14 +++++-----
 arch/arm/boot/dts/tegra20-tamonten.dtsi       |  2 +-
 arch/arm/boot/dts/tegra20-tec.dts             |  8 +++---
 arch/arm/boot/dts/tegra20-trimslice.dts       | 10 +++----
 arch/arm/boot/dts/tegra20-ventana.dts         | 10 +++----
 .../tegra30-asus-nexus7-grouper-common.dtsi   |  8 +++---
 ...egra30-asus-nexus7-grouper-maxim-pmic.dtsi |  4 +--
 .../tegra30-asus-nexus7-grouper-ti-pmic.dtsi  |  2 +-
 arch/arm/boot/dts/tegra30-beaver.dts          | 18 ++++++-------
 arch/arm/boot/dts/tegra30-cardhu-a02.dts      | 12 ++++-----
 arch/arm/boot/dts/tegra30-cardhu-a04.dts      | 14 +++++-----
 arch/arm/boot/dts/tegra30-cardhu.dtsi         | 26 +++++++++----------
 23 files changed, 139 insertions(+), 139 deletions(-)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index ad8116780dc9..d53caa953b7a 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -1187,7 +1187,7 @@ volume_up {
 		};
 	};
 
-	vdd_ac_bat_reg: regulator@0 {
+	vdd_ac_bat_reg: regulator-vdd-ac-bat {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_ac_bat";
 		regulator-min-microvolt = <5000000>;
@@ -1195,7 +1195,7 @@ vdd_ac_bat_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	dvdd_ts_reg: regulator@1 {
+	dvdd_ts_reg: regulator-vdd-ts {
 		compatible = "regulator-fixed";
 		regulator-name = "dvdd_ts";
 		regulator-min-microvolt = <1800000>;
@@ -1204,7 +1204,7 @@ dvdd_ts_reg: regulator@1 {
 		gpio = <&gpio TEGRA_GPIO(H, 5) GPIO_ACTIVE_HIGH>;
 	};
 
-	usb1_vbus_reg: regulator@3 {
+	usb1_vbus_reg: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb1_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -1215,7 +1215,7 @@ usb1_vbus_reg: regulator@3 {
 		vin-supply = <&tps65090_dcdc1_reg>;
 	};
 
-	usb3_vbus_reg: regulator@4 {
+	usb3_vbus_reg: regulator-vdd-vbus2 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb2_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -1226,7 +1226,7 @@ usb3_vbus_reg: regulator@4 {
 		vin-supply = <&tps65090_dcdc1_reg>;
 	};
 
-	vdd_hdmi_reg: regulator@5 {
+	vdd_hdmi_reg: regulator-vdd-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_hdmi_5v0";
 		regulator-min-microvolt = <5000000>;
@@ -1234,7 +1234,7 @@ vdd_hdmi_reg: regulator@5 {
 		vin-supply = <&tps65090_dcdc1_reg>;
 	};
 
-	vdd_cam_1v8_reg: regulator@6 {
+	vdd_cam_1v8_reg: regulator-vdd-1v8-cam {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_cam_1v8_reg";
 		regulator-min-microvolt = <1800000>;
@@ -1243,7 +1243,7 @@ vdd_cam_1v8_reg: regulator@6 {
 		gpio = <&palmas_gpio 6 0>;
 	};
 
-	vdd_5v0_hdmi: regulator@7 {
+	vdd_5v0_hdmi: regulator-vdd-5v0-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "VDD_5V0_HDMI_CON";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra114-roth.dts b/arch/arm/boot/dts/tegra114-roth.dts
index ed6ebbf008e1..b43d8198f51a 100644
--- a/arch/arm/boot/dts/tegra114-roth.dts
+++ b/arch/arm/boot/dts/tegra114-roth.dts
@@ -1045,7 +1045,7 @@ power {
 		};
 	};
 
-	lcd_bl_en: regulator@0 {
+	lcd_bl_en: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "lcd_bl_en";
 		regulator-min-microvolt = <5000000>;
@@ -1053,7 +1053,7 @@ lcd_bl_en: regulator@0 {
 		regulator-boot-on;
 	};
 
-	vdd_lcd: regulator@1 {
+	vdd_lcd: regulator-vdd-lcd {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_lcd_1v8";
 		regulator-min-microvolt = <1800000>;
@@ -1064,7 +1064,7 @@ vdd_lcd: regulator@1 {
 		regulator-boot-on;
 	};
 
-	regulator@2 {
+	regulator-vdd-1v8-ts {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v8_ts";
 		regulator-min-microvolt = <1800000>;
@@ -1073,7 +1073,7 @@ regulator@2 {
 		regulator-boot-on;
 	};
 
-	regulator@3 {
+	regulator-vdd-3v3-ts {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3_ts";
 		regulator-min-microvolt = <3300000>;
@@ -1083,7 +1083,7 @@ regulator@3 {
 		regulator-boot-on;
 	};
 
-	regulator@4 {
+	regulator-vdd-1v8-com {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v8_com";
 		regulator-min-microvolt = <1800000>;
@@ -1094,7 +1094,7 @@ regulator@4 {
 		regulator-boot-on;
 	};
 
-	regulator@5 {
+	regulator-vdd-3v3-com {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3_com";
 		regulator-min-microvolt = <3300000>;
diff --git a/arch/arm/boot/dts/tegra114-tn7.dts b/arch/arm/boot/dts/tegra114-tn7.dts
index 36717331101e..06cf41ac7029 100644
--- a/arch/arm/boot/dts/tegra114-tn7.dts
+++ b/arch/arm/boot/dts/tegra114-tn7.dts
@@ -303,7 +303,7 @@ volume_up {
 	};
 
 	/* FIXME: output of BQ24192 */
-	vs_sys: regulator@0 {
+	vs_sys: regulator-vdd-sys {
 		compatible = "regulator-fixed";
 		regulator-name = "VS_SYS";
 		regulator-min-microvolt = <4200000>;
@@ -312,7 +312,7 @@ vs_sys: regulator@0 {
 		regulator-boot-on;
 	};
 
-	lcd_bl_en: regulator@1 {
+	lcd_bl_en: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "VDD_LCD_BL";
 		regulator-min-microvolt = <16500000>;
@@ -323,7 +323,7 @@ lcd_bl_en: regulator@1 {
 		regulator-boot-on;
 	};
 
-	vdd_lcd: regulator@2 {
+	vdd_lcd: regulator-vdd-1v8-lcd {
 		compatible = "regulator-fixed";
 		regulator-name = "VD_LCD_1V8";
 		regulator-min-microvolt = <1800000>;
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index f59135b93cb0..95b97c1fa1fb 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1893,7 +1893,7 @@ power {
 		};
 	};
 
-	vdd_mux: regulator@0 {
+	vdd_mux: regulator-vdd-mux {
 		compatible = "regulator-fixed";
 		regulator-name = "+VDD_MUX";
 		regulator-min-microvolt = <12000000>;
@@ -1902,7 +1902,7 @@ vdd_mux: regulator@0 {
 		regulator-boot-on;
 	};
 
-	vdd_5v0_sys: regulator@1 {
+	vdd_5v0_sys: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_SYS";
 		regulator-min-microvolt = <5000000>;
@@ -1912,7 +1912,7 @@ vdd_5v0_sys: regulator@1 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_3v3_sys: regulator@2 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_SYS";
 		regulator-min-microvolt = <3300000>;
@@ -1922,7 +1922,7 @@ vdd_3v3_sys: regulator@2 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_3v3_run: regulator@3 {
+	vdd_3v3_run: regulator-vdd-3v3-run {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_RUN";
 		regulator-min-microvolt = <3300000>;
@@ -1934,7 +1934,7 @@ vdd_3v3_run: regulator@3 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vdd_3v3_hdmi: regulator@4 {
+	vdd_3v3_hdmi: regulator-vdd-3v3-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
 		regulator-min-microvolt = <3300000>;
@@ -1942,7 +1942,7 @@ vdd_3v3_hdmi: regulator@4 {
 		vin-supply = <&vdd_3v3_run>;
 	};
 
-	vdd_usb1_vbus: regulator@5 {
+	vdd_usb1_vbus: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "+USB0_VBUS_SW";
 		regulator-min-microvolt = <5000000>;
@@ -1953,7 +1953,7 @@ vdd_usb1_vbus: regulator@5 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_usb3_vbus: regulator@6 {
+	vdd_usb3_vbus: regulator-vdd-vbus3 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_USB_HS";
 		regulator-min-microvolt = <5000000>;
@@ -1964,7 +1964,7 @@ vdd_usb3_vbus: regulator@6 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_3v3_lp0: regulator@7 {
+	vdd_3v3_lp0: regulator-vdd-3v3-lp0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_LP0";
 		regulator-min-microvolt = <3300000>;
@@ -1976,7 +1976,7 @@ vdd_3v3_lp0: regulator@7 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vdd_hdmi_pll: regulator@8 {
+	vdd_hdmi_pll: regulator-vdd-hdmi-pll {
 		compatible = "regulator-fixed";
 		regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
 		regulator-min-microvolt = <1050000>;
@@ -1985,7 +1985,7 @@ vdd_hdmi_pll: regulator@8 {
 		vin-supply = <&vdd_1v05_run>;
 	};
 
-	vdd_5v0_hdmi: regulator@9 {
+	vdd_5v0_hdmi: regulator-vdd-5v0-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_HDMI_CON";
 		regulator-min-microvolt = <5000000>;
@@ -1996,7 +1996,7 @@ vdd_5v0_hdmi: regulator@9 {
 	};
 
 	/* Molex power connector */
-	vdd_5v0_sata: regulator@10 {
+	vdd_5v0_sata: regulator-vdd-5v0-sata {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_SATA";
 		regulator-min-microvolt = <5000000>;
@@ -2006,7 +2006,7 @@ vdd_5v0_sata: regulator@10 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_12v0_sata: regulator@11 {
+	vdd_12v0_sata: regulator-vdd-12v0-sata {
 		compatible = "regulator-fixed";
 		regulator-name = "+12V_SATA";
 		regulator-min-microvolt = <12000000>;
diff --git a/arch/arm/boot/dts/tegra124-nyan.dtsi b/arch/arm/boot/dts/tegra124-nyan.dtsi
index f15623f83893..1350a0b9a606 100644
--- a/arch/arm/boot/dts/tegra124-nyan.dtsi
+++ b/arch/arm/boot/dts/tegra124-nyan.dtsi
@@ -615,7 +615,7 @@ power {
 		};
 	};
 
-	vdd_mux: regulator@0 {
+	vdd_mux: regulator-vdd-mux {
 		compatible = "regulator-fixed";
 		regulator-name = "+VDD_MUX";
 		regulator-min-microvolt = <12000000>;
@@ -624,7 +624,7 @@ vdd_mux: regulator@0 {
 		regulator-boot-on;
 	};
 
-	vdd_5v0_sys: regulator@1 {
+	vdd_5v0_sys: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_SYS";
 		regulator-min-microvolt = <5000000>;
@@ -634,7 +634,7 @@ vdd_5v0_sys: regulator@1 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_3v3_sys: regulator@2 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_SYS";
 		regulator-min-microvolt = <3300000>;
@@ -644,7 +644,7 @@ vdd_3v3_sys: regulator@2 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_3v3_run: regulator@3 {
+	vdd_3v3_run: regulator-vdd-3v3-run {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_RUN";
 		regulator-min-microvolt = <3300000>;
@@ -656,7 +656,7 @@ vdd_3v3_run: regulator@3 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vdd_3v3_hdmi: regulator@4 {
+	vdd_3v3_hdmi: regulator-vdd-3v3-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
 		regulator-min-microvolt = <3300000>;
@@ -664,7 +664,7 @@ vdd_3v3_hdmi: regulator@4 {
 		vin-supply = <&vdd_3v3_run>;
 	};
 
-	vdd_led: regulator@5 {
+	vdd_led: regulator-vdd-led {
 		compatible = "regulator-fixed";
 		regulator-name = "+VDD_LED";
 		gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
@@ -672,7 +672,7 @@ vdd_led: regulator@5 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_5v0_ts: regulator@6 {
+	vdd_5v0_ts: regulator-vdd-5v0-ts {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_VDD_TS_SW";
 		regulator-min-microvolt = <5000000>;
@@ -683,7 +683,7 @@ vdd_5v0_ts: regulator@6 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_usb1_vbus: regulator@7 {
+	vdd_usb1_vbus: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_USB_HS";
 		regulator-min-microvolt = <5000000>;
@@ -694,7 +694,7 @@ vdd_usb1_vbus: regulator@7 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_usb3_vbus: regulator@8 {
+	vdd_usb3_vbus: regulator-vdd-vbus3 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_USB_SS";
 		regulator-min-microvolt = <5000000>;
@@ -705,7 +705,7 @@ vdd_usb3_vbus: regulator@8 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_3v3_panel: regulator@9 {
+	vdd_3v3_panel: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_PANEL";
 		regulator-min-microvolt = <3300000>;
@@ -715,7 +715,7 @@ vdd_3v3_panel: regulator@9 {
 		vin-supply = <&vdd_3v3_run>;
 	};
 
-	vdd_3v3_lp0: regulator@10 {
+	vdd_3v3_lp0: regulator-vdd-3v3-lp0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_LP0";
 		regulator-min-microvolt = <3300000>;
@@ -730,7 +730,7 @@ vdd_3v3_lp0: regulator@10 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vdd_hdmi_pll: regulator@11 {
+	vdd_hdmi_pll: regulator-vdd-hdmi-pll {
 		compatible = "regulator-fixed";
 		regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
 		regulator-min-microvolt = <1050000>;
@@ -739,7 +739,7 @@ vdd_hdmi_pll: regulator@11 {
 		vin-supply = <&vdd_1v05_run>;
 	};
 
-	vdd_5v0_hdmi: regulator@12 {
+	vdd_5v0_hdmi: regulator-vdd-5v0-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_HDMI_CON";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
index 14eeb1242b15..4698c6db6f76 100644
--- a/arch/arm/boot/dts/tegra124-venice2.dts
+++ b/arch/arm/boot/dts/tegra124-venice2.dts
@@ -1087,7 +1087,7 @@ panel: panel {
 		ddc-i2c-bus = <&dpaux>;
 	};
 
-	vdd_mux: regulator@0 {
+	vdd_mux: regulator-vdd-mux {
 		compatible = "regulator-fixed";
 		regulator-name = "+VDD_MUX";
 		regulator-min-microvolt = <12000000>;
@@ -1096,7 +1096,7 @@ vdd_mux: regulator@0 {
 		regulator-boot-on;
 	};
 
-	vdd_5v0_sys: regulator@1 {
+	vdd_5v0_sys: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_SYS";
 		regulator-min-microvolt = <5000000>;
@@ -1106,7 +1106,7 @@ vdd_5v0_sys: regulator@1 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_3v3_sys: regulator@2 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_SYS";
 		regulator-min-microvolt = <3300000>;
@@ -1116,7 +1116,7 @@ vdd_3v3_sys: regulator@2 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_3v3_run: regulator@3 {
+	vdd_3v3_run: regulator-vdd-3v3-run {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_RUN";
 		regulator-min-microvolt = <3300000>;
@@ -1128,7 +1128,7 @@ vdd_3v3_run: regulator@3 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vdd_3v3_hdmi: regulator@4 {
+	vdd_3v3_hdmi: regulator-vdd-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
 		regulator-min-microvolt = <3300000>;
@@ -1136,7 +1136,7 @@ vdd_3v3_hdmi: regulator@4 {
 		vin-supply = <&vdd_3v3_run>;
 	};
 
-	vdd_led: regulator@5 {
+	vdd_led: regulator-vdd-led {
 		compatible = "regulator-fixed";
 		regulator-name = "+VDD_LED";
 		regulator-min-microvolt = <3300000>;
@@ -1146,7 +1146,7 @@ vdd_led: regulator@5 {
 		vin-supply = <&vdd_mux>;
 	};
 
-	vdd_5v0_ts: regulator@6 {
+	vdd_5v0_ts: regulator-vdd-5v0-ts {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_VDD_TS_SW";
 		regulator-min-microvolt = <5000000>;
@@ -1157,7 +1157,7 @@ vdd_5v0_ts: regulator@6 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_usb1_vbus: regulator@7 {
+	vdd_usb1_vbus: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_USB_HS";
 		regulator-min-microvolt = <5000000>;
@@ -1168,7 +1168,7 @@ vdd_usb1_vbus: regulator@7 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_usb3_vbus: regulator@8 {
+	vdd_usb3_vbus: regulator-vdd-vbus3 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_USB_SS";
 		regulator-min-microvolt = <5000000>;
@@ -1179,7 +1179,7 @@ vdd_usb3_vbus: regulator@8 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_3v3_panel: regulator@9 {
+	vdd_3v3_panel: regulator-vdd-3v3-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_PANEL";
 		regulator-min-microvolt = <3300000>;
@@ -1189,7 +1189,7 @@ vdd_3v3_panel: regulator@9 {
 		vin-supply = <&vdd_3v3_run>;
 	};
 
-	vdd_3v3_lp0: regulator@10 {
+	vdd_3v3_lp0: regulator-vdd-3v3-lp0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+3.3V_LP0";
 		regulator-min-microvolt = <3300000>;
@@ -1204,7 +1204,7 @@ vdd_3v3_lp0: regulator@10 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vdd_hdmi_pll: regulator@11 {
+	vdd_hdmi_pll: regulator-vdd-hdmi-pll {
 		compatible = "regulator-fixed";
 		regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
 		regulator-min-microvolt = <1050000>;
@@ -1213,7 +1213,7 @@ vdd_hdmi_pll: regulator@11 {
 		vin-supply = <&vdd_1v05_run>;
 	};
 
-	vdd_5v0_hdmi: regulator@12 {
+	vdd_5v0_hdmi: regulator-vdd-5v0-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+5V_HDMI_CON";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts b/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
index be5ef6745ac8..acbaea0503aa 100644
--- a/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
+++ b/arch/arm/boot/dts/tegra20-acer-a500-picasso.dts
@@ -964,7 +964,7 @@ lvds_encoder_output: endpoint {
 		};
 	};
 
-	vdd_5v0_sys: regulator@0 {
+	vdd_5v0_sys: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		regulator-min-microvolt = <5000000>;
@@ -972,7 +972,7 @@ vdd_5v0_sys: regulator@0 {
 		regulator-always-on;
 	};
 
-	vdd_3v3_sys: regulator@1 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3_vs";
 		regulator-min-microvolt = <3300000>;
@@ -981,7 +981,7 @@ vdd_3v3_sys: regulator@1 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_1v8_sys: regulator@2 {
+	vdd_1v8_sys: regulator-vdd-1v8 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v8_vs";
 		regulator-min-microvolt = <1800000>;
@@ -990,7 +990,7 @@ vdd_1v8_sys: regulator@2 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_pnl: regulator@3 {
+	vdd_pnl: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_panel";
 		regulator-min-microvolt = <3300000>;
diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index 4d137461f3c4..e39318f90ffc 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -666,7 +666,7 @@ panel: panel {
 		backlight = <&backlight>;
 	};
 
-	vdd_5v0_reg: regulator@0 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		regulator-min-microvolt = <5000000>;
@@ -674,7 +674,7 @@ vdd_5v0_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	regulator@1 {
+	regulator-vdd-1v5 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v5";
 		regulator-min-microvolt = <1500000>;
@@ -682,7 +682,7 @@ regulator@1 {
 		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
 	};
 
-	regulator@2 {
+	regulator-vdd-1v2 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v2";
 		regulator-min-microvolt = <1200000>;
@@ -691,7 +691,7 @@ regulator@2 {
 		enable-active-high;
 	};
 
-	pci_vdd_reg: regulator@3 {
+	pci_vdd_reg: regulator-vdd-1v05 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v05";
 		regulator-min-microvolt = <1050000>;
@@ -700,7 +700,7 @@ pci_vdd_reg: regulator@3 {
 		enable-active-high;
 	};
 
-	vdd_pnl_reg: regulator@4 {
+	vdd_pnl_reg: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_pnl";
 		regulator-min-microvolt = <2800000>;
@@ -709,7 +709,7 @@ vdd_pnl_reg: regulator@4 {
 		enable-active-high;
 	};
 
-	vdd_bl_reg: regulator@5 {
+	vdd_bl_reg: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_bl";
 		regulator-min-microvolt = <2800000>;
@@ -718,7 +718,7 @@ vdd_bl_reg: regulator@5 {
 		enable-active-high;
 	};
 
-	vdd_5v0_hdmi: regulator@6 {
+	vdd_5v0_hdmi: regulator-vdd-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "VDDIO_HDMI";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra20-medcom-wide.dts b/arch/arm/boot/dts/tegra20-medcom-wide.dts
index b31c9bca16e6..ed0e4012e140 100644
--- a/arch/arm/boot/dts/tegra20-medcom-wide.dts
+++ b/arch/arm/boot/dts/tegra20-medcom-wide.dts
@@ -92,7 +92,7 @@ sound {
 		clock-names = "pll_a", "pll_a_out0", "mclk";
 	};
 
-	vcc_24v_reg: regulator@100 {
+	vcc_24v_reg: regulator-vcc-24v {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc_24v";
 		regulator-min-microvolt = <24000000>;
@@ -100,7 +100,7 @@ vcc_24v_reg: regulator@100 {
 		regulator-always-on;
 	};
 
-	vdd_5v0_reg: regulator@101 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		vin-supply = <&vcc_24v_reg>;
@@ -109,7 +109,7 @@ vdd_5v0_reg: regulator@101 {
 		regulator-always-on;
 	};
 
-	vdd_3v3_reg: regulator@102 {
+	vdd_3v3_reg: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3";
 		vin-supply = <&vcc_24v_reg>;
@@ -118,7 +118,7 @@ vdd_3v3_reg: regulator@102 {
 		regulator-always-on;
 	};
 
-	vdd_1v8_reg: regulator@103 {
+	vdd_1v8_reg: regulator-vdd-1v8 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v8";
 		vin-supply = <&vdd_3v3_reg>;
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index d3d24523553e..d525fb8cdacc 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -612,7 +612,7 @@ panel: panel {
 		backlight = <&backlight>;
 	};
 
-	p5valw_reg: regulator@0 {
+	p5valw_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "+5valw";
 		regulator-min-microvolt = <5000000>;
@@ -620,7 +620,7 @@ p5valw_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	vdd_pnl_reg: regulator@1 {
+	vdd_pnl_reg: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "+3VS,vdd_pnl";
 		regulator-min-microvolt = <3300000>;
diff --git a/arch/arm/boot/dts/tegra20-plutux.dts b/arch/arm/boot/dts/tegra20-plutux.dts
index 5811b7006a9b..d1a6137359a1 100644
--- a/arch/arm/boot/dts/tegra20-plutux.dts
+++ b/arch/arm/boot/dts/tegra20-plutux.dts
@@ -60,7 +60,7 @@ sound {
 		clock-names = "pll_a", "pll_a_out0", "mclk";
 	};
 
-	vcc_24v_reg: regulator@100 {
+	vcc_24v_reg: regulator-vcc-24v {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc_24v";
 		regulator-min-microvolt = <24000000>;
@@ -68,7 +68,7 @@ vcc_24v_reg: regulator@100 {
 		regulator-always-on;
 	};
 
-	vdd_5v0_reg: regulator@101 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		vin-supply = <&vcc_24v_reg>;
@@ -77,7 +77,7 @@ vdd_5v0_reg: regulator@101 {
 		regulator-always-on;
 	};
 
-	vdd_3v3_reg: regulator@102 {
+	vdd_3v3_reg: regulator-vcc-24v {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3";
 		vin-supply = <&vcc_24v_reg>;
@@ -86,7 +86,7 @@ vdd_3v3_reg: regulator@102 {
 		regulator-always-on;
 	};
 
-	vdd_1v8_reg: regulator@103 {
+	vdd_1v8_reg: regulator-vdd-1v8 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v8";
 		vin-supply = <&vdd_3v3_reg>;
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index ffeae5da22e7..d1debe54320c 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -828,7 +828,7 @@ panel: panel {
 		ddc-i2c-bus = <&lvds_ddc>;
 	};
 
-	vdd_5v0_reg: regulator@0 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		regulator-min-microvolt = <5000000>;
@@ -836,7 +836,7 @@ vdd_5v0_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	regulator@1 {
+	regulator-vdd-1v5 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v5";
 		regulator-min-microvolt = <1500000>;
@@ -844,7 +844,7 @@ regulator@1 {
 		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
 	};
 
-	regulator@2 {
+	regulator-vdd-1v2 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v2";
 		regulator-min-microvolt = <1200000>;
@@ -853,7 +853,7 @@ regulator@2 {
 		enable-active-high;
 	};
 
-	vbus_reg: regulator@3 {
+	vbus_reg: regulator-vdd-vbus {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_vbus_wup1";
 		regulator-min-microvolt = <5000000>;
@@ -864,7 +864,7 @@ vbus_reg: regulator@3 {
 		regulator-boot-on;
 	};
 
-	vdd_pnl_reg: regulator@4 {
+	vdd_pnl_reg: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_pnl";
 		regulator-min-microvolt = <2800000>;
@@ -873,7 +873,7 @@ vdd_pnl_reg: regulator@4 {
 		enable-active-high;
 	};
 
-	vdd_bl_reg: regulator@5 {
+	vdd_bl_reg: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_bl";
 		regulator-min-microvolt = <2800000>;
@@ -882,7 +882,7 @@ vdd_bl_reg: regulator@5 {
 		enable-active-high;
 	};
 
-	vdd_hdmi: regulator@6 {
+	vdd_hdmi: regulator-vdd-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "VDDIO_HDMI";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi
index d5f1a46da0bc..bcd395326db4 100644
--- a/arch/arm/boot/dts/tegra20-tamonten.dtsi
+++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi
@@ -508,7 +508,7 @@ clk32k_in: clock-32k {
 		#clock-cells = <0>;
 	};
 
-	pci_vdd_reg: regulator@1 {
+	pci_vdd_reg: regulator-vdd-1v05 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v05";
 		regulator-min-microvolt = <1050000>;
diff --git a/arch/arm/boot/dts/tegra20-tec.dts b/arch/arm/boot/dts/tegra20-tec.dts
index 10ff09d86efa..b5291e276f8a 100644
--- a/arch/arm/boot/dts/tegra20-tec.dts
+++ b/arch/arm/boot/dts/tegra20-tec.dts
@@ -69,7 +69,7 @@ sound {
 		clock-names = "pll_a", "pll_a_out0", "mclk";
 	};
 
-	vcc_24v_reg: regulator@100 {
+	vcc_24v_reg: regulator-vcc-24v {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc_24v";
 		regulator-min-microvolt = <24000000>;
@@ -77,7 +77,7 @@ vcc_24v_reg: regulator@100 {
 		regulator-always-on;
 	};
 
-	vdd_5v0_reg: regulator@101 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		vin-supply = <&vcc_24v_reg>;
@@ -86,7 +86,7 @@ vdd_5v0_reg: regulator@101 {
 		regulator-always-on;
 	};
 
-	vdd_3v3_reg: regulator@102 {
+	vdd_3v3_reg: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3";
 		vin-supply = <&vcc_24v_reg>;
@@ -95,7 +95,7 @@ vdd_3v3_reg: regulator@102 {
 		regulator-always-on;
 	};
 
-	vdd_1v8_reg: regulator@103 {
+	vdd_1v8_reg: regulator-vdd-1v8 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v8";
 		vin-supply = <&vdd_3v3_reg>;
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index 49c3b3bfac51..0bcd548023d6 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -402,7 +402,7 @@ poweroff {
 		gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
 	};
 
-	hdmi_vdd_reg: regulator@0 {
+	hdmi_vdd_reg: regulator-vdd-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "avdd_hdmi";
 		regulator-min-microvolt = <3300000>;
@@ -410,7 +410,7 @@ hdmi_vdd_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	hdmi_pll_reg: regulator@1 {
+	hdmi_pll_reg: regulator-vdd-hdmi-pll {
 		compatible = "regulator-fixed";
 		regulator-name = "avdd_hdmi_pll";
 		regulator-min-microvolt = <1800000>;
@@ -418,7 +418,7 @@ hdmi_pll_reg: regulator@1 {
 		regulator-always-on;
 	};
 
-	vbus_reg: regulator@2 {
+	vbus_reg: regulator-usb1-vbus {
 		compatible = "regulator-fixed";
 		regulator-name = "usb1_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -429,7 +429,7 @@ vbus_reg: regulator@2 {
 		regulator-boot-on;
 	};
 
-	pci_clk_reg: regulator@3 {
+	pci_clk_reg: regulator-clk-pci {
 		compatible = "regulator-fixed";
 		regulator-name = "pci_clk";
 		regulator-min-microvolt = <3300000>;
@@ -437,7 +437,7 @@ pci_clk_reg: regulator@3 {
 		regulator-always-on;
 	};
 
-	pci_vdd_reg: regulator@4 {
+	pci_vdd_reg: regulator-vdd-pci {
 		compatible = "regulator-fixed";
 		regulator-name = "pci_vdd";
 		regulator-min-microvolt = <1050000>;
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index ef97457f1334..91060bf27499 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -647,7 +647,7 @@ panel: panel {
 		ddc-i2c-bus = <&lvds_ddc>;
 	};
 
-	vdd_5v0_reg: regulator@0 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		regulator-min-microvolt = <5000000>;
@@ -655,7 +655,7 @@ vdd_5v0_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	regulator@1 {
+	regulator-vdd-1v5 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v5";
 		regulator-min-microvolt = <1500000>;
@@ -663,7 +663,7 @@ regulator@1 {
 		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
 	};
 
-	regulator@2 {
+	regulator-vdd-1v2 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_1v2";
 		regulator-min-microvolt = <1200000>;
@@ -672,7 +672,7 @@ regulator@2 {
 		enable-active-high;
 	};
 
-	vdd_pnl_reg: regulator@3 {
+	vdd_pnl_reg: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_pnl";
 		regulator-min-microvolt = <2800000>;
@@ -681,7 +681,7 @@ vdd_pnl_reg: regulator@3 {
 		enable-active-high;
 	};
 
-	vdd_bl_reg: regulator@4 {
+	vdd_bl_reg: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_bl";
 		regulator-min-microvolt = <2800000>;
diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
index 72159eb55a3d..3fbb57d517c4 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
@@ -1207,7 +1207,7 @@ lvds_encoder_output: endpoint {
 		};
 	};
 
-	vdd_5v0_sys: regulator@0 {
+	vdd_5v0_sys: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v0";
 		regulator-min-microvolt = <5000000>;
@@ -1216,7 +1216,7 @@ vdd_5v0_sys: regulator@0 {
 		regulator-boot-on;
 	};
 
-	vdd_3v3_sys: regulator@1 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -1226,7 +1226,7 @@ vdd_3v3_sys: regulator@1 {
 		vin-supply = <&vdd_5v0_sys>;
 	};
 
-	vdd_pnl: regulator@2 {
+	vdd_pnl: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_panel";
 		regulator-min-microvolt = <3300000>;
@@ -1237,7 +1237,7 @@ vdd_pnl: regulator@2 {
 		vin-supply = <&vdd_3v3_sys>;
 	};
 
-	vcc_3v3_ts: regulator@3 {
+	vcc_3v3_ts: regulator-vdd-3v3-ts {
 		compatible = "regulator-fixed";
 		regulator-name = "ldo_s-1167_3v3";
 		regulator-min-microvolt = <3300000>;
diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi
index 53966fa4eef2..175e18639607 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-maxim-pmic.dtsi
@@ -166,12 +166,12 @@ ldo8 {
 		};
 	};
 
-	vdd_3v3_sys: regulator@1 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		gpio = <&pmic 3 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 	};
 
-	regulator@4 {
+	regulator-vdd-usb {
 		compatible = "regulator-fixed";
 		regulator-name = "avdd_usb";
 		regulator-min-microvolt = <3300000>;
diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi
index 9365ae607239..bf2bd42ba166 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-ti-pmic.dtsi
@@ -143,7 +143,7 @@ vdd_core: core-regulator@60 {
 		};
 	};
 
-	vdd_3v3_sys: regulator@1 {
+	vdd_3v3_sys: regulator-vdd-3v3 {
 		gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 	};
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index 91ecca0be5a2..df743935e1ac 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -1986,7 +1986,7 @@ gpled2 {
 		};
 	};
 
-	vdd_5v_in_reg: regulator@0 {
+	vdd_5v_in_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v_in";
 		regulator-min-microvolt = <5000000>;
@@ -1994,7 +1994,7 @@ vdd_5v_in_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	chargepump_5v_reg: regulator@1 {
+	chargepump_5v_reg: regulator-vdd-chargepump {
 		compatible = "regulator-fixed";
 		regulator-name = "chargepump_5v";
 		regulator-min-microvolt = <5000000>;
@@ -2005,7 +2005,7 @@ chargepump_5v_reg: regulator@1 {
 		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
 	};
 
-	ddr_reg: regulator@2 {
+	ddr_reg: regulator-vdd-ddr {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_ddr";
 		regulator-min-microvolt = <1500000>;
@@ -2017,7 +2017,7 @@ ddr_reg: regulator@2 {
 		vin-supply = <&vdd_5v_in_reg>;
 	};
 
-	vdd_5v_sata_reg: regulator@3 {
+	vdd_5v_sata_reg: regulator-vdd-5v0-sata {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_5v_sata";
 		regulator-min-microvolt = <5000000>;
@@ -2029,7 +2029,7 @@ vdd_5v_sata_reg: regulator@3 {
 		vin-supply = <&vdd_5v_in_reg>;
 	};
 
-	usb1_vbus_reg: regulator@4 {
+	usb1_vbus_reg: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb1_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -2040,7 +2040,7 @@ usb1_vbus_reg: regulator@4 {
 		vin-supply = <&vdd_5v_in_reg>;
 	};
 
-	usb3_vbus_reg: regulator@5 {
+	usb3_vbus_reg: regulator-vdd-vbus3 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb3_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -2051,7 +2051,7 @@ usb3_vbus_reg: regulator@5 {
 		vin-supply = <&vdd_5v_in_reg>;
 	};
 
-	sys_3v3_reg: regulator@6 {
+	sys_3v3_reg: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "sys_3v3,vdd_3v3_alw";
 		regulator-min-microvolt = <3300000>;
@@ -2063,7 +2063,7 @@ sys_3v3_reg: regulator@6 {
 		vin-supply = <&vdd_5v_in_reg>;
 	};
 
-	sys_3v3_pexs_reg: regulator@7 {
+	sys_3v3_pexs_reg: regulator-vdd-3v3-pex {
 		compatible = "regulator-fixed";
 		regulator-name = "sys_3v3_pexs";
 		regulator-min-microvolt = <3300000>;
@@ -2075,7 +2075,7 @@ sys_3v3_pexs_reg: regulator@7 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_5v0_hdmi: regulator@8 {
+	vdd_5v0_hdmi: regulator-vdd-5v0-hdmi {
 		compatible = "regulator-fixed";
 		regulator-name = "+VDD_5V_HDMI";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
index 4899e05a0d9c..eacff4f78208 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a02.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -16,7 +16,7 @@ mmc@78000400 {
 		keep-power-in-suspend;
 	};
 
-	ddr_reg: regulator@100 {
+	ddr_reg: regulator-vdd-ddr {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_ddr";
 		regulator-min-microvolt = <1500000>;
@@ -27,7 +27,7 @@ ddr_reg: regulator@100 {
 		gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
 	};
 
-	sys_3v3_reg: regulator@101 {
+	sys_3v3_reg: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "sys_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -38,7 +38,7 @@ sys_3v3_reg: regulator@101 {
 		gpio = <&pmic 7 GPIO_ACTIVE_HIGH>;
 	};
 
-	usb1_vbus_reg: regulator@102 {
+	usb1_vbus_reg: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb1_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -49,7 +49,7 @@ usb1_vbus_reg: regulator@102 {
 		vin-supply = <&vdd_5v0_reg>;
 	};
 
-	usb3_vbus_reg: regulator@103 {
+	usb3_vbus_reg: regulator-vdd-vbus3 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb3_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -60,7 +60,7 @@ usb3_vbus_reg: regulator@103 {
 		vin-supply = <&vdd_5v0_reg>;
 	};
 
-	vdd_5v0_reg: regulator@104 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "5v0";
 		regulator-min-microvolt = <5000000>;
@@ -69,7 +69,7 @@ vdd_5v0_reg: regulator@104 {
 		gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
 	};
 
-	vdd_bl_reg: regulator@105 {
+	vdd_bl_reg: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_bl";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
index a11028b8b67b..19f2e8f491d5 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a04.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -16,7 +16,7 @@ mmc@78000400 {
 		keep-power-in-suspend;
 	};
 
-	ddr_reg: regulator@100 {
+	ddr_reg: regulator-vdd-ddr {
 		compatible = "regulator-fixed";
 		regulator-name = "ddr";
 		regulator-min-microvolt = <1500000>;
@@ -27,7 +27,7 @@ ddr_reg: regulator@100 {
 		gpio = <&pmic 7 GPIO_ACTIVE_HIGH>;
 	};
 
-	sys_3v3_reg: regulator@101 {
+	sys_3v3_reg: regulator-vdd-3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "sys_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -38,7 +38,7 @@ sys_3v3_reg: regulator@101 {
 		gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
 	};
 
-	usb1_vbus_reg: regulator@102 {
+	usb1_vbus_reg: regulator-vdd-vbus1 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb1_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -49,7 +49,7 @@ usb1_vbus_reg: regulator@102 {
 		vin-supply = <&vdd_5v0_reg>;
 	};
 
-	usb3_vbus_reg: regulator@103 {
+	usb3_vbus_reg: regulator-vdd-vbus3 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb3_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -60,7 +60,7 @@ usb3_vbus_reg: regulator@103 {
 		vin-supply = <&vdd_5v0_reg>;
 	};
 
-	vdd_5v0_reg: regulator@104 {
+	vdd_5v0_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "5v0";
 		regulator-min-microvolt = <5000000>;
@@ -69,7 +69,7 @@ vdd_5v0_reg: regulator@104 {
 		gpio = <&pmic 8 GPIO_ACTIVE_HIGH>;
 	};
 
-	vdd_bl_reg: regulator@105 {
+	vdd_bl_reg: regulator-vdd-backlight {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_bl";
 		regulator-min-microvolt = <5000000>;
@@ -80,7 +80,7 @@ vdd_bl_reg: regulator@105 {
 		gpio = <&gpio TEGRA_GPIO(DD, 2) GPIO_ACTIVE_HIGH>;
 	};
 
-	vdd_bl2_reg: regulator@106 {
+	vdd_bl2_reg: regulator-vdd-backlight2 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_bl2";
 		regulator-min-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index 6074885280fc..efaa39171c99 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -476,7 +476,7 @@ panel: panel {
 		backlight = <&backlight>;
 	};
 
-	vdd_ac_bat_reg: regulator@0 {
+	vdd_ac_bat_reg: regulator-vdd-ac-bat {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_ac_bat";
 		regulator-min-microvolt = <5000000>;
@@ -484,7 +484,7 @@ vdd_ac_bat_reg: regulator@0 {
 		regulator-always-on;
 	};
 
-	cam_1v8_reg: regulator@1 {
+	cam_1v8_reg: regulator-vdd-1v8-cam {
 		compatible = "regulator-fixed";
 		regulator-name = "cam_1v8";
 		regulator-min-microvolt = <1800000>;
@@ -494,7 +494,7 @@ cam_1v8_reg: regulator@1 {
 		vin-supply = <&vio_reg>;
 	};
 
-	cp_5v_reg: regulator@2 {
+	cp_5v_reg: regulator-vdd-5v0 {
 		compatible = "regulator-fixed";
 		regulator-name = "cp_5v";
 		regulator-min-microvolt = <5000000>;
@@ -505,7 +505,7 @@ cp_5v_reg: regulator@2 {
 		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
 	};
 
-	emmc_3v3_reg: regulator@3 {
+	emmc_3v3_reg: regulator-vdd-3v3-emmc {
 		compatible = "regulator-fixed";
 		regulator-name = "emmc_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -517,7 +517,7 @@ emmc_3v3_reg: regulator@3 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	modem_3v3_reg: regulator@4 {
+	modem_3v3_reg: regulator-vdd-3v3-modem {
 		compatible = "regulator-fixed";
 		regulator-name = "modem_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -526,7 +526,7 @@ modem_3v3_reg: regulator@4 {
 		gpio = <&gpio TEGRA_GPIO(D, 6) GPIO_ACTIVE_HIGH>;
 	};
 
-	pex_hvdd_3v3_reg: regulator@5 {
+	pex_hvdd_3v3_reg: regulator-vdd-3v3-pex {
 		compatible = "regulator-fixed";
 		regulator-name = "pex_hvdd_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -536,7 +536,7 @@ pex_hvdd_3v3_reg: regulator@5 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_cam1_ldo_reg: regulator@6 {
+	vdd_cam1_ldo_reg: regulator-vdd-cam1-ldo {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_cam1_ldo";
 		regulator-min-microvolt = <2800000>;
@@ -546,7 +546,7 @@ vdd_cam1_ldo_reg: regulator@6 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_cam2_ldo_reg: regulator@7 {
+	vdd_cam2_ldo_reg: regulator-vdd-cam2-ldo {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_cam2_ldo";
 		regulator-min-microvolt = <2800000>;
@@ -556,7 +556,7 @@ vdd_cam2_ldo_reg: regulator@7 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_cam3_ldo_reg: regulator@8 {
+	vdd_cam3_ldo_reg: regulator-vdd-cam3-ldo {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_cam3_ldo";
 		regulator-min-microvolt = <3300000>;
@@ -566,7 +566,7 @@ vdd_cam3_ldo_reg: regulator@8 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_com_reg: regulator@9 {
+	vdd_com_reg: regulator-vdd-com {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_com";
 		regulator-min-microvolt = <3300000>;
@@ -578,7 +578,7 @@ vdd_com_reg: regulator@9 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_fuse_3v3_reg: regulator@10 {
+	vdd_fuse_3v3_reg: regulator-vdd-fuse {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_fuse_3v3";
 		regulator-min-microvolt = <3300000>;
@@ -588,7 +588,7 @@ vdd_fuse_3v3_reg: regulator@10 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_pnl1_reg: regulator@11 {
+	vdd_pnl1_reg: regulator-vdd-panel {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_pnl1";
 		regulator-min-microvolt = <3300000>;
@@ -600,7 +600,7 @@ vdd_pnl1_reg: regulator@11 {
 		vin-supply = <&sys_3v3_reg>;
 	};
 
-	vdd_vid_reg: regulator@12 {
+	vdd_vid_reg: regulator-vdd-video {
 		compatible = "regulator-fixed";
 		regulator-name = "vddio_vid";
 		regulator-min-microvolt = <5000000>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (4 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 05/25] ARM: tegra: Rename top-level regulators Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 19:36   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC Thierry Reding
                   ` (18 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The TKE (time-keeping engine) found on Tegra30 and later is not
backwards compatible with the version found on Tegra20, so update the
compatible string list accordingly.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114.dtsi | 2 +-
 arch/arm/boot/dts/tegra124.dtsi | 2 +-
 arch/arm/boot/dts/tegra30.dtsi  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 546272e396b4..328425dba023 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -164,7 +164,7 @@ lic: interrupt-controller@60004000 {
 	};
 
 	timer@60005000 {
-		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
+		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer";
 		reg = <0x60005000 0x400>;
 		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index 63a64171b422..f4ac0c327c2e 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -259,7 +259,7 @@ lic: interrupt-controller@60004000 {
 	};
 
 	timer@60005000 {
-		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
+		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer";
 		reg = <0x0 0x60005000 0x0 0x400>;
 		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index ae3df73c20a7..4c04b9c28484 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -342,7 +342,7 @@ lic: interrupt-controller@60004000 {
 	};
 
 	timer@60005000 {
-		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
+		compatible = "nvidia,tegra30-timer";
 		reg = <0x60005000 0x400>;
 		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (5 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 20:34   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 08/25] ARM: tegra: Rename GPIO hog nodes to match schema Thierry Reding
                   ` (17 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The Tegra memory controller provides reset controls for hotflush reset,
so the #reset-cells property must be specified.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 328425dba023..ce7410ee08b8 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -542,6 +542,7 @@ mc: memory-controller@70019000 {
 
 		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
 
+		#reset-cells = <1>;
 		#iommu-cells = <1>;
 	};
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 08/25] ARM: tegra: Rename GPIO hog nodes to match schema
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (6 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 09/25] ARM: tegra: Rename GPU node on Tegra124 Thierry Reding
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

GPIO hog nodes must have a "hog-" prefix or "-hog" suffix according to
the DT schema. Rename all such nodes to allow validation to pass.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124-apalis-eval.dts      | 2 +-
 arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts | 2 +-
 arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi     | 4 ++--
 arch/arm/boot/dts/tegra124-apalis.dtsi          | 4 ++--
 arch/arm/boot/dts/tegra20-colibri.dtsi          | 6 +++---
 arch/arm/boot/dts/tegra30-apalis-eval.dts       | 2 +-
 arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts  | 2 +-
 arch/arm/boot/dts/tegra30-colibri.dtsi          | 2 +-
 8 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124-apalis-eval.dts b/arch/arm/boot/dts/tegra124-apalis-eval.dts
index 28c29b6813a7..3209554ec7e6 100644
--- a/arch/arm/boot/dts/tegra124-apalis-eval.dts
+++ b/arch/arm/boot/dts/tegra124-apalis-eval.dts
@@ -246,7 +246,7 @@ reg_usbh_vbus: regulator-usbh-vbus {
 
 &gpio {
 	/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
-	pex-perst-n {
+	pex-perst-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
 		output-high;
diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts b/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts
index f3afde410615..814257c79bf1 100644
--- a/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts
@@ -248,7 +248,7 @@ reg_usbh_vbus: regulator-usbh-vbus {
 
 &gpio {
 	/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
-	pex-perst-n {
+	pex-perst-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
 		output-high;
diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
index cde9ae8fa04b..4ba4d5229fcf 100644
--- a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
@@ -2055,7 +2055,7 @@ gpu-shutdown-trip {
 
 &gpio {
 	/* I210 Gigabit Ethernet Controller Reset */
-	lan-reset-n {
+	lan-reset-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
 		output-high;
@@ -2063,7 +2063,7 @@ lan-reset-n {
 	};
 
 	/* Control MXM3 pin 26 Reset Module Output Carrier Input */
-	reset-moci-ctrl {
+	reset-moci-ctrl-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
 		output-high;
diff --git a/arch/arm/boot/dts/tegra124-apalis.dtsi b/arch/arm/boot/dts/tegra124-apalis.dtsi
index a46d9ba9bb7a..3760744cc1b0 100644
--- a/arch/arm/boot/dts/tegra124-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis.dtsi
@@ -2047,7 +2047,7 @@ gpu-shutdown-trip {
 
 &gpio {
 	/* I210 Gigabit Ethernet Controller Reset */
-	lan-reset-n {
+	lan-reset-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
 		output-high;
@@ -2055,7 +2055,7 @@ lan-reset-n {
 	};
 
 	/* Control MXM3 pin 26 Reset Module Output Carrier Input */
-	reset-moci-ctrl {
+	reset-moci-ctrl-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
 		output-high;
diff --git a/arch/arm/boot/dts/tegra20-colibri.dtsi b/arch/arm/boot/dts/tegra20-colibri.dtsi
index 585a5b441cf6..80e439003a6d 100644
--- a/arch/arm/boot/dts/tegra20-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra20-colibri.dtsi
@@ -747,7 +747,7 @@ &emc_icc_dvfs_opp_table {
 };
 
 &gpio {
-	lan-reset-n {
+	lan-reset-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
 		output-high;
@@ -755,7 +755,7 @@ lan-reset-n {
 	};
 
 	/* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */
-	npwe {
+	npwe-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
 		output-high;
@@ -763,7 +763,7 @@ npwe {
 	};
 
 	/* Not tri-stating GMI_WR_N on SODIMM pin 93 RDnWR */
-	rdnwr {
+	rdnwr-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>;
 		output-low;
diff --git a/arch/arm/boot/dts/tegra30-apalis-eval.dts b/arch/arm/boot/dts/tegra30-apalis-eval.dts
index 9f653ef41da4..93b83b3c5655 100644
--- a/arch/arm/boot/dts/tegra30-apalis-eval.dts
+++ b/arch/arm/boot/dts/tegra30-apalis-eval.dts
@@ -239,7 +239,7 @@ reg_usbh_vbus: regulator-usbh-vbus {
 
 &gpio {
 	/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
-	pex-perst-n {
+	pex-perst-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
 		output-high;
diff --git a/arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts b/arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts
index 86e138e8c7f0..fbfa75e53f32 100644
--- a/arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts
+++ b/arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts
@@ -257,7 +257,7 @@ reg_vddio_sdmmc3: regulator-vddio-sdmmc3 {
 
 &gpio {
 	/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
-	pex-perst-n {
+	pex-perst-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
 		output-high;
diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 88b7f2925e9e..03b930bce479 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -1041,7 +1041,7 @@ sound {
 };
 
 &gpio {
-	lan-reset-n {
+	lan-reset-n-hog {
 		gpio-hog;
 		gpios = <TEGRA_GPIO(DD, 0) GPIO_ACTIVE_HIGH>;
 		output-high;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 09/25] ARM: tegra: Rename GPU node on Tegra124
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (7 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 08/25] ARM: tegra: Rename GPIO hog nodes to match schema Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART Thierry Reding
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

In order to be able to pass DT schema validation, change the GPU nodes'
unit-address to the standard notation. Previously this was using a "0,"
prefix that originated from a time when the top-level device tree node
contained #address-cells = <2>.

Note that this technically breaks backwards-compatibility with certain
older versions of the U-Boot bootloader because early versions used a
hard-coded DT path lookup to find the GPU node and perform some fixups
on it. However, this was changed to a compatible string based lookup in
April 2016, so it's reasonable to expect people to update U-Boot on the
systems that they want to use this updated kernel DTB with.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi | 2 +-
 arch/arm/boot/dts/tegra124-apalis.dtsi      | 2 +-
 arch/arm/boot/dts/tegra124-jetson-tk1.dts   | 2 +-
 arch/arm/boot/dts/tegra124-nyan.dtsi        | 2 +-
 arch/arm/boot/dts/tegra124-venice2.dts      | 2 +-
 arch/arm/boot/dts/tegra124.dtsi             | 7 +------
 6 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
index 4ba4d5229fcf..f00ef4d08fd4 100644
--- a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
@@ -57,7 +57,7 @@ hdmi@54280000 {
 		};
 	};
 
-	gpu@0,57000000 {
+	gpu@57000000 {
 		/*
 		 * Node left disabled on purpose - the bootloader will enable
 		 * it after having set the VPR up
diff --git a/arch/arm/boot/dts/tegra124-apalis.dtsi b/arch/arm/boot/dts/tegra124-apalis.dtsi
index 3760744cc1b0..e6d25813b416 100644
--- a/arch/arm/boot/dts/tegra124-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis.dtsi
@@ -56,7 +56,7 @@ hdmi@54280000 {
 		};
 	};
 
-	gpu@0,57000000 {
+	gpu@57000000 {
 		/*
 		 * Node left disabled on purpose - the bootloader will enable
 		 * it after having set the VPR up
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index 95b97c1fa1fb..e056e737abdf 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -72,7 +72,7 @@ cec@70015000 {
 		status = "okay";
 	};
 
-	gpu@0,57000000 {
+	gpu@57000000 {
 		/*
 		 * Node left disabled on purpose - the bootloader will enable
 		 * it after having set the VPR up
diff --git a/arch/arm/boot/dts/tegra124-nyan.dtsi b/arch/arm/boot/dts/tegra124-nyan.dtsi
index 1350a0b9a606..b2e7ede8017a 100644
--- a/arch/arm/boot/dts/tegra124-nyan.dtsi
+++ b/arch/arm/boot/dts/tegra124-nyan.dtsi
@@ -61,7 +61,7 @@ dpaux@545c0000 {
 		};
 	};
 
-	gpu@0,57000000 {
+	gpu@57000000 {
 		status = "okay";
 
 		vdd-supply = <&vdd_gpu>;
diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
index 4698c6db6f76..0a9aaa7bf066 100644
--- a/arch/arm/boot/dts/tegra124-venice2.dts
+++ b/arch/arm/boot/dts/tegra124-venice2.dts
@@ -51,7 +51,7 @@ dpaux@545c0000 {
 		};
 	};
 
-	gpu@0,57000000 {
+	gpu@57000000 {
 		/*
 		 * Node left disabled on purpose - the bootloader will enable
 		 * it after having set the VPR up
diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index f4ac0c327c2e..d0ec1a30ff54 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -223,12 +223,7 @@ gic: interrupt-controller@50041000 {
 		interrupt-parent = <&gic>;
 	};
 
-	/*
-	 * Please keep the following 0, notation in place as a former mainline
-	 * U-Boot version was looking for that particular notation in order to
-	 * perform required fix-ups on that GPU node.
-	 */
-	gpu@0,57000000 {
+	gpu@57000000 {
 		compatible = "nvidia,gk20a";
 		reg = <0x0 0x57000000 0x0 0x01000000>,
 		      <0x0 0x58000000 0x0 0x01000000>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (8 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 09/25] ARM: tegra: Rename GPU node on Tegra124 Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 19:01   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 11/25] ARM: tegra: Rename thermal zone nodes Thierry Reding
                   ` (14 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

When the Tegra High-Speed UART is used instead of the regular UART, the
reg-shift property is implied from the compatible string and should not
be explicitly listed.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi               | 3 +++
 arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 ++
 arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 ++
 arch/arm/boot/dts/tegra30-colibri.dtsi                    | 2 ++
 4 files changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
index f00ef4d08fd4..b952b272afc0 100644
--- a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
@@ -1539,14 +1539,17 @@ sdmmc3-clk-lb-out-pee4 { /* NC */
 
 	serial@70006040 {
 		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 	};
 
 	serial@70006200 {
 		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 	};
 
 	serial@70006300 {
 		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 	};
 
 	hdmi_ddc: i2c@7000c700 {
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index e056e737abdf..f76f4e13458a 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1389,6 +1389,7 @@ dsi_b {
 	 */
 	serial@70006000 {
 		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 		status = "okay";
 	};
 
@@ -1401,6 +1402,7 @@ serial@70006000 {
 	 */
 	serial@70006040 {
 		compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 		status = "okay";
 	};
 
diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
index 3fbb57d517c4..f3d14d8dd87f 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi
@@ -804,11 +804,13 @@ drive_gma {
 
 	uartb: serial@70006040 {
 		compatible = "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 		/* GPS BCM4751 */
 	};
 
 	uartc: serial@70006200 {
 		compatible = "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 		status = "okay";
 
 		nvidia,adjust-baud-rates = <0 9600 100>,
diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 03b930bce479..e89b4e5a238d 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -701,10 +701,12 @@ pv0 {
 
 	serial@70006040 {
 		compatible = "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 	};
 
 	serial@70006300 {
 		compatible = "nvidia,tegra30-hsuart";
+		/delete-property/ reg-shift;
 	};
 
 	hdmi_ddc: i2c@7000c700 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 11/25] ARM: tegra: Rename thermal zone nodes
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (9 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 20:06   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes Thierry Reding
                   ` (13 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The DT schema requires that nodes representing thermal zones include a
"-thermal" suffix in their name.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi | 6 +++---
 arch/arm/boot/dts/tegra124-apalis.dtsi      | 6 +++---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts   | 6 +++---
 arch/arm/boot/dts/tegra124.dtsi             | 8 ++++----
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
index b952b272afc0..f5440ae14cb4 100644
--- a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
@@ -2024,7 +2024,7 @@ sound {
 	};
 
 	thermal-zones {
-		cpu {
+		cpu-thermal {
 			trips {
 				cpu-shutdown-trip {
 					temperature = <101000>;
@@ -2034,7 +2034,7 @@ cpu-shutdown-trip {
 			};
 		};
 
-		mem {
+		mem-thermal {
 			trips {
 				mem-shutdown-trip {
 					temperature = <101000>;
@@ -2044,7 +2044,7 @@ mem-shutdown-trip {
 			};
 		};
 
-		gpu {
+		gpu-thermal {
 			trips {
 				gpu-shutdown-trip {
 					temperature = <101000>;
diff --git a/arch/arm/boot/dts/tegra124-apalis.dtsi b/arch/arm/boot/dts/tegra124-apalis.dtsi
index e6d25813b416..f168fbbe2a6d 100644
--- a/arch/arm/boot/dts/tegra124-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis.dtsi
@@ -2013,7 +2013,7 @@ sound {
 	};
 
 	thermal-zones {
-		cpu {
+		cpu-thermal {
 			trips {
 				cpu-shutdown-trip {
 					temperature = <101000>;
@@ -2023,7 +2023,7 @@ cpu-shutdown-trip {
 			};
 		};
 
-		mem {
+		mem-thermal {
 			trips {
 				mem-shutdown-trip {
 					temperature = <101000>;
@@ -2033,7 +2033,7 @@ mem-shutdown-trip {
 			};
 		};
 
-		gpu {
+		gpu-thermal {
 			trips {
 				gpu-shutdown-trip {
 					temperature = <101000>;
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index f76f4e13458a..0d1c17b3d655 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -2047,7 +2047,7 @@ sound {
 	};
 
 	thermal-zones {
-		cpu {
+		cpu-thermal {
 			trips {
 				cpu-shutdown-trip {
 					temperature = <101000>;
@@ -2057,7 +2057,7 @@ cpu-shutdown-trip {
 			};
 		};
 
-		mem {
+		mem-thermal {
 			trips {
 				mem-shutdown-trip {
 					temperature = <101000>;
@@ -2067,7 +2067,7 @@ mem-shutdown-trip {
 			};
 		};
 
-		gpu {
+		gpu-thermal {
 			trips {
 				gpu-shutdown-trip {
 					temperature = <101000>;
diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index d0ec1a30ff54..752a28268024 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -1242,7 +1242,7 @@ pmu {
 	};
 
 	thermal-zones {
-		cpu {
+		cpu-thermal {
 			polling-delay-passive = <1000>;
 			polling-delay = <1000>;
 
@@ -1270,7 +1270,7 @@ map0 {
 			};
 		};
 
-		mem {
+		mem-thermal {
 			polling-delay-passive = <1000>;
 			polling-delay = <1000>;
 
@@ -1298,7 +1298,7 @@ cooling-maps {
 			};
 		};
 
-		gpu {
+		gpu-thermal {
 			polling-delay-passive = <1000>;
 			polling-delay = <1000>;
 
@@ -1326,7 +1326,7 @@ map0 {
 			};
 		};
 
-		pllx {
+		pllx-thermal {
 			polling-delay-passive = <1000>;
 			polling-delay = <1000>;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (10 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 11/25] ARM: tegra: Rename thermal zone nodes Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 18:38   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 13/25] ARM: tegra: Fix Tegra124 I2C compatible string list Thierry Reding
                   ` (12 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

OPP nodes do not have a "reg" property and therefore shouldn't have a
unit-address. Instead, use a dash instead of the '@' and ',' characters
to allow validation of the nodes against the DT schema.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 .../boot/dts/tegra124-peripherals-opp.dtsi    | 142 ++++++++---------
 .../boot/dts/tegra20-cpu-opp-microvolt.dtsi   |  82 +++++-----
 arch/arm/boot/dts/tegra20-cpu-opp.dtsi        |  82 +++++-----
 .../arm/boot/dts/tegra20-peripherals-opp.dtsi |  36 ++---
 .../boot/dts/tegra30-cpu-opp-microvolt.dtsi   | 144 +++++++++---------
 arch/arm/boot/dts/tegra30-cpu-opp.dtsi        | 144 +++++++++---------
 .../arm/boot/dts/tegra30-peripherals-opp.dtsi | 130 ++++++++--------
 7 files changed, 382 insertions(+), 378 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124-peripherals-opp.dtsi b/arch/arm/boot/dts/tegra124-peripherals-opp.dtsi
index 781ac8601030..66ffb7f8aaa7 100644
--- a/arch/arm/boot/dts/tegra124-peripherals-opp.dtsi
+++ b/arch/arm/boot/dts/tegra124-peripherals-opp.dtsi
@@ -1,421 +1,423 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	emc_icc_dvfs_opp_table: emc-dvfs-opp-table {
+	/* EMC DVFS OPP table */
+	emc_icc_dvfs_opp_table: opp-table-dvfs0 {
 		compatible = "operating-points-v2";
 
-		opp@12750000,800 {
+		opp-12750000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@12750000,950 {
+		opp-12750000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@12750000,1050 {
+		opp-12750000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@12750000,1110 {
+		opp-12750000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@20400000,800 {
+		opp-20400000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <20400000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@20400000,950 {
+		opp-20400000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <20400000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@20400000,1050 {
+		opp-20400000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <20400000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@20400000,1110 {
+		opp-20400000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <20400000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@40800000,800 {
+		opp-40800000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <40800000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@40800000,950 {
+		opp-40800000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <40800000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@40800000,1050 {
+		opp-40800000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <40800000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@40800000,1110 {
+		opp-40800000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <40800000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@68000000,800 {
+		opp-68000000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <68000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@68000000,950 {
+		opp-68000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <68000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@68000000,1050 {
+		opp-68000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <68000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@68000000,1110 {
+		opp-68000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <68000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@102000000,800 {
+		opp-102000000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@102000000,950 {
+		opp-102000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@102000000,1050 {
+		opp-102000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@102000000,1110 {
+		opp-102000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@204000000,800 {
+		opp-204000000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x0003>;
 			opp-suspend;
 		};
 
-		opp@204000000,950 {
+		opp-204000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x0008>;
 			opp-suspend;
 		};
 
-		opp@204000000,1050 {
+		opp-204000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x0010>;
 			opp-suspend;
 		};
 
-		opp@204000000,1110 {
+		opp-204000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x0004>;
 			opp-suspend;
 		};
 
-		opp@264000000,800 {
+		opp-264000000-800 {
 			opp-microvolt = <800000 800000 1150000>;
 			opp-hz = /bits/ 64 <264000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@264000000,950 {
+		opp-264000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <264000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@264000000,1050 {
+		opp-264000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <264000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@264000000,1110 {
+		opp-264000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <264000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@300000000,850 {
+		opp-300000000-850 {
 			opp-microvolt = <850000 850000 1150000>;
 			opp-hz = /bits/ 64 <300000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@300000000,950 {
+		opp-300000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <300000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@300000000,1050 {
+		opp-300000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <300000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@300000000,1110 {
+		opp-300000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <300000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@348000000,850 {
+		opp-348000000-850 {
 			opp-microvolt = <850000 850000 1150000>;
 			opp-hz = /bits/ 64 <348000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@348000000,950 {
+		opp-348000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <348000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@348000000,1050 {
+		opp-348000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <348000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@348000000,1110 {
+		opp-348000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <348000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@396000000,950 {
+		opp-396000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <396000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@396000000,1000 {
+		opp-396000000-1000 {
 			opp-microvolt = <1000000 1000000 1150000>;
 			opp-hz = /bits/ 64 <396000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@396000000,1050 {
+		opp-396000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <396000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@396000000,1110 {
+		opp-396000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <396000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@528000000,950 {
+		opp-528000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <528000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@528000000,1000 {
+		opp-528000000-1000 {
 			opp-microvolt = <1000000 1000000 1150000>;
 			opp-hz = /bits/ 64 <528000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@528000000,1050 {
+		opp-528000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <528000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@528000000,1110 {
+		opp-528000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <528000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@600000000,950 {
+		opp-600000000-950 {
 			opp-microvolt = <950000 950000 1150000>;
 			opp-hz = /bits/ 64 <600000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@600000000,1000 {
+		opp-600000000-1000 {
 			opp-microvolt = <1000000 1000000 1150000>;
 			opp-hz = /bits/ 64 <600000000>;
 			opp-supported-hw = <0x0003>;
 		};
 
-		opp@600000000,1050 {
+		opp-600000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <600000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@600000000,1110 {
+		opp-600000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <600000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@792000000,1000 {
+		opp-792000000-1000 {
 			opp-microvolt = <1000000 1000000 1150000>;
 			opp-hz = /bits/ 64 <792000000>;
 			opp-supported-hw = <0x000B>;
 		};
 
-		opp@792000000,1050 {
+		opp-792000000-1050 {
 			opp-microvolt = <1050000 1050000 1150000>;
 			opp-hz = /bits/ 64 <792000000>;
 			opp-supported-hw = <0x0010>;
 		};
 
-		opp@792000000,1110 {
+		opp-792000000-1110 {
 			opp-microvolt = <1110000 1110000 1150000>;
 			opp-hz = /bits/ 64 <792000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@924000000,1100 {
+		opp-924000000-1100 {
 			opp-microvolt = <1100000 1100000 1150000>;
 			opp-hz = /bits/ 64 <924000000>;
 			opp-supported-hw = <0x0013>;
 		};
 
-		opp@1200000000,1100 {
+		opp-1200000000-1100 {
 			opp-microvolt = <1100000 1100000 1150000>;
 			opp-hz = /bits/ 64 <1200000000>;
 			opp-supported-hw = <0x0003>;
 		};
 	};
 
-	emc_bw_dfs_opp_table: emc-bandwidth-opp-table {
+	/* EMC bandwidth OPP table */
+	emc_bw_dfs_opp_table: opp-table-dvfs1 {
 		compatible = "operating-points-v2";
 
-		opp@12750000 {
+		opp-12750000 {
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <204000>;
 		};
 
-		opp@20400000 {
+		opp-20400000 {
 			opp-hz = /bits/ 64 <20400000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <326400>;
 		};
 
-		opp@40800000 {
+		opp-40800000 {
 			opp-hz = /bits/ 64 <40800000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <652800>;
 		};
 
-		opp@68000000 {
+		opp-68000000 {
 			opp-hz = /bits/ 64 <68000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <1088000>;
 		};
 
-		opp@102000000 {
+		opp-102000000 {
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <1632000>;
 		};
 
-		opp@204000000 {
+		opp-204000000 {
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <3264000>;
 			opp-suspend;
 		};
 
-		opp@264000000 {
+		opp-264000000 {
 			opp-hz = /bits/ 64 <264000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <4224000>;
 		};
 
-		opp@300000000 {
+		opp-300000000 {
 			opp-hz = /bits/ 64 <300000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <4800000>;
 		};
 
-		opp@348000000 {
+		opp-348000000 {
 			opp-hz = /bits/ 64 <348000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <5568000>;
 		};
 
-		opp@396000000 {
+		opp-396000000 {
 			opp-hz = /bits/ 64 <396000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <6336000>;
 		};
 
-		opp@528000000 {
+		opp-528000000 {
 			opp-hz = /bits/ 64 <528000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <8448000>;
 		};
 
-		opp@600000000 {
+		opp-600000000 {
 			opp-hz = /bits/ 64 <600000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <9600000>;
 		};
 
-		opp@792000000 {
+		opp-792000000 {
 			opp-hz = /bits/ 64 <792000000>;
 			opp-supported-hw = <0x001F>;
 			opp-peak-kBps = <12672000>;
 		};
 
-		opp@924000000 {
+		opp-924000000 {
 			opp-hz = /bits/ 64 <924000000>;
 			opp-supported-hw = <0x0013>;
 			opp-peak-kBps = <14784000>;
 		};
 
-		opp@1200000000 {
+		opp-1200000000 {
 			opp-hz = /bits/ 64 <1200000000>;
 			opp-supported-hw = <0x0003>;
 			opp-peak-kBps = <19200000>;
diff --git a/arch/arm/boot/dts/tegra20-cpu-opp-microvolt.dtsi b/arch/arm/boot/dts/tegra20-cpu-opp-microvolt.dtsi
index 6f3e8c5fc5f0..7330c1b13d93 100644
--- a/arch/arm/boot/dts/tegra20-cpu-opp-microvolt.dtsi
+++ b/arch/arm/boot/dts/tegra20-cpu-opp-microvolt.dtsi
@@ -1,164 +1,164 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	cpu0_opp_table: cpu_opp_table0 {
-		opp@216000000,750 {
+	cpu0_opp_table: opp-table-cpu0 {
+		opp-216000000-750 {
 			opp-microvolt = <750000 750000 1125000>;
 		};
 
-		opp@216000000,800 {
+		opp-216000000-800 {
 			opp-microvolt = <800000 800000 1125000>;
 		};
 
-		opp@312000000,750 {
+		opp-312000000-750 {
 			opp-microvolt = <750000 750000 1125000>;
 		};
 
-		opp@312000000,800 {
+		opp-312000000-800 {
 			opp-microvolt = <800000 800000 1125000>;
 		};
 
-		opp@456000000,750 {
+		opp-456000000-750 {
 			opp-microvolt = <750000 750000 1125000>;
 		};
 
-		opp@456000000,800 {
+		opp-456000000-800 {
 			opp-microvolt = <800000 800000 1125000>;
 		};
 
-		opp@456000000,825 {
+		opp-456000000-825 {
 			opp-microvolt = <825000 825000 1125000>;
 		};
 
-		opp@608000000,750 {
+		opp-608000000-750 {
 			opp-microvolt = <750000 750000 1125000>;
 		};
 
-		opp@608000000,800 {
+		opp-608000000-800 {
 			opp-microvolt = <800000 800000 1125000>;
 		};
 
-		opp@608000000,825 {
+		opp-608000000-825 {
 			opp-microvolt = <825000 825000 1125000>;
 		};
 
-		opp@608000000,850 {
+		opp-608000000-850 {
 			opp-microvolt = <850000 850000 1125000>;
 		};
 
-		opp@608000000,900 {
+		opp-608000000-900 {
 			opp-microvolt = <900000 900000 1125000>;
 		};
 
-		opp@760000000,775 {
+		opp-760000000-775 {
 			opp-microvolt = <775000 775000 1125000>;
 		};
 
-		opp@760000000,800 {
+		opp-760000000-800 {
 			opp-microvolt = <800000 800000 1125000>;
 		};
 
-		opp@760000000,850 {
+		opp-760000000-850 {
 			opp-microvolt = <850000 850000 1125000>;
 		};
 
-		opp@760000000,875 {
+		opp-760000000-875 {
 			opp-microvolt = <875000 875000 1125000>;
 		};
 
-		opp@760000000,900 {
+		opp-760000000-900 {
 			opp-microvolt = <900000 900000 1125000>;
 		};
 
-		opp@760000000,975 {
+		opp-760000000-975 {
 			opp-microvolt = <975000 975000 1125000>;
 		};
 
-		opp@816000000,800 {
+		opp-816000000-800 {
 			opp-microvolt = <800000 800000 1125000>;
 		};
 
-		opp@816000000,850 {
+		opp-816000000-850 {
 			opp-microvolt = <850000 850000 1125000>;
 		};
 
-		opp@816000000,875 {
+		opp-816000000-875 {
 			opp-microvolt = <875000 875000 1125000>;
 		};
 
-		opp@816000000,950 {
+		opp-816000000-950 {
 			opp-microvolt = <950000 950000 1125000>;
 		};
 
-		opp@816000000,1000 {
+		opp-816000000-1000 {
 			opp-microvolt = <1000000 1000000 1125000>;
 		};
 
-		opp@912000000,850 {
+		opp-912000000-850 {
 			opp-microvolt = <850000 850000 1125000>;
 		};
 
-		opp@912000000,900 {
+		opp-912000000-900 {
 			opp-microvolt = <900000 900000 1125000>;
 		};
 
-		opp@912000000,925 {
+		opp-912000000-925 {
 			opp-microvolt = <925000 925000 1125000>;
 		};
 
-		opp@912000000,950 {
+		opp-912000000-950 {
 			opp-microvolt = <950000 950000 1125000>;
 		};
 
-		opp@912000000,1000 {
+		opp-912000000-1000 {
 			opp-microvolt = <1000000 1000000 1125000>;
 		};
 
-		opp@912000000,1050 {
+		opp-912000000-1050 {
 			opp-microvolt = <1050000 1050000 1125000>;
 		};
 
-		opp@1000000000,875 {
+		opp-1000000000-875 {
 			opp-microvolt = <875000 875000 1125000>;
 		};
 
-		opp@1000000000,900 {
+		opp-1000000000-900 {
 			opp-microvolt = <900000 900000 1125000>;
 		};
 
-		opp@1000000000,950 {
+		opp-1000000000-950 {
 			opp-microvolt = <950000 950000 1125000>;
 		};
 
-		opp@1000000000,975 {
+		opp-1000000000-975 {
 			opp-microvolt = <975000 975000 1125000>;
 		};
 
-		opp@1000000000,1000 {
+		opp-1000000000-1000 {
 			opp-microvolt = <1000000 1000000 1125000>;
 		};
 
-		opp@1000000000,1025 {
+		opp-1000000000-1025 {
 			opp-microvolt = <1025000 1025000 1125000>;
 		};
 
-		opp@1000000000,1100 {
+		opp-1000000000-1100 {
 			opp-microvolt = <1100000 1100000 1125000>;
 		};
 
-		opp@1200000000,1000 {
+		opp-1200000000-1000 {
 			opp-microvolt = <1000000 1000000 1125000>;
 		};
 
-		opp@1200000000,1050 {
+		opp-1200000000-1050 {
 			opp-microvolt = <1050000 1050000 1125000>;
 		};
 
-		opp@1200000000,1100 {
+		opp-1200000000-1100 {
 			opp-microvolt = <1100000 1100000 1125000>;
 		};
 
-		opp@1200000000,1125 {
+		opp-1200000000-1125 {
 			opp-microvolt = <1125000 1125000 1125000>;
 		};
 	};
diff --git a/arch/arm/boot/dts/tegra20-cpu-opp.dtsi b/arch/arm/boot/dts/tegra20-cpu-opp.dtsi
index 135de316383b..47c8e78ca958 100644
--- a/arch/arm/boot/dts/tegra20-cpu-opp.dtsi
+++ b/arch/arm/boot/dts/tegra20-cpu-opp.dtsi
@@ -1,250 +1,250 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	cpu0_opp_table: cpu_opp_table0 {
+	cpu0_opp_table: opp-table-cpu0 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp@216000000,750 {
+		opp-216000000-750 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x0F 0x0003>;
 			opp-hz = /bits/ 64 <216000000>;
 			opp-suspend;
 		};
 
-		opp@216000000,800 {
+		opp-216000000-800 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x0F 0x0004>;
 			opp-hz = /bits/ 64 <216000000>;
 			opp-suspend;
 		};
 
-		opp@312000000,750 {
+		opp-312000000-750 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x0F 0x0003>;
 			opp-hz = /bits/ 64 <312000000>;
 		};
 
-		opp@312000000,800 {
+		opp-312000000-800 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x0F 0x0004>;
 			opp-hz = /bits/ 64 <312000000>;
 		};
 
-		opp@456000000,750 {
+		opp-456000000-750 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x0C 0x0003>;
 			opp-hz = /bits/ 64 <456000000>;
 		};
 
-		opp@456000000,800 {
+		opp-456000000-800 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0006>, <0x04 0x0004>,
 					   <0x08 0x0004>;
 			opp-hz = /bits/ 64 <456000000>;
 		};
 
-		opp@456000000,825 {
+		opp-456000000-825 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0001>;
 			opp-hz = /bits/ 64 <456000000>;
 		};
 
-		opp@608000000,750 {
+		opp-608000000-750 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0003>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@608000000,800 {
+		opp-608000000-800 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0006>, <0x08 0x0004>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@608000000,825 {
+		opp-608000000-825 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0001>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@608000000,850 {
+		opp-608000000-850 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0006>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@608000000,900 {
+		opp-608000000-900 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0001>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@760000000,775 {
+		opp-760000000-775 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0003>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,800 {
+		opp-760000000-800 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0004>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,850 {
+		opp-760000000-850 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0006>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,875 {
+		opp-760000000-875 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0001>, <0x02 0x0002>,
 					   <0x01 0x0004>, <0x02 0x0004>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,900 {
+		opp-760000000-900 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x01 0x0002>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,975 {
+		opp-760000000-975 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0001>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@816000000,800 {
+		opp-816000000-800 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0007>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@816000000,850 {
+		opp-816000000-850 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0002>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@816000000,875 {
+		opp-816000000-875 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0005>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@816000000,950 {
+		opp-816000000-950 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0006>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@816000000,1000 {
+		opp-816000000-1000 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0001>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@912000000,850 {
+		opp-912000000-850 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0007>;
 			opp-hz = /bits/ 64 <912000000>;
 		};
 
-		opp@912000000,900 {
+		opp-912000000-900 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0002>;
 			opp-hz = /bits/ 64 <912000000>;
 		};
 
-		opp@912000000,925 {
+		opp-912000000-925 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0001>;
 			opp-hz = /bits/ 64 <912000000>;
 		};
 
-		opp@912000000,950 {
+		opp-912000000-950 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x02 0x0006>, <0x01 0x0004>,
 					   <0x04 0x0004>;
 			opp-hz = /bits/ 64 <912000000>;
 		};
 
-		opp@912000000,1000 {
+		opp-912000000-1000 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x01 0x0002>;
 			opp-hz = /bits/ 64 <912000000>;
 		};
 
-		opp@912000000,1050 {
+		opp-912000000-1050 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0001>;
 			opp-hz = /bits/ 64 <912000000>;
 		};
 
-		opp@1000000000,875 {
+		opp-1000000000-875 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0007>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,900 {
+		opp-1000000000-900 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0002>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,950 {
+		opp-1000000000-950 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0004>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,975 {
+		opp-1000000000-975 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0001>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,1000 {
+		opp-1000000000-1000 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x02 0x0006>, <0x01 0x0004>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,1025 {
+		opp-1000000000-1025 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x01 0x0002>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,1100 {
+		opp-1000000000-1100 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x03 0x0001>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1200000000,1000 {
+		opp-1200000000-1000 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x08 0x0004>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1050 {
+		opp-1200000000-1050 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x04 0x0004>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1100 {
+		opp-1200000000-1100 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x02 0x0004>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1125 {
+		opp-1200000000-1125 {
 			clock-latency-ns = <400000>;
 			opp-supported-hw = <0x01 0x0004>;
 			opp-hz = /bits/ 64 <1200000000>;
diff --git a/arch/arm/boot/dts/tegra20-peripherals-opp.dtsi b/arch/arm/boot/dts/tegra20-peripherals-opp.dtsi
index ef3ad2e5f270..77c15fd61a9b 100644
--- a/arch/arm/boot/dts/tegra20-peripherals-opp.dtsi
+++ b/arch/arm/boot/dts/tegra20-peripherals-opp.dtsi
@@ -1,107 +1,107 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	emc_icc_dvfs_opp_table: emc-dvfs-opp-table {
+	emc_icc_dvfs_opp_table: opp-table {
 		compatible = "operating-points-v2";
 
-		opp@36000000 {
+		opp-36000000 {
 			opp-microvolt = <950000 950000 1300000>;
 			opp-hz = /bits/ 64 <36000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@47500000 {
+		opp-47500000 {
 			opp-microvolt = <950000 950000 1300000>;
 			opp-hz = /bits/ 64 <47500000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@50000000 {
+		opp-50000000 {
 			opp-microvolt = <950000 950000 1300000>;
 			opp-hz = /bits/ 64 <50000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@54000000 {
+		opp-54000000 {
 			opp-microvolt = <950000 950000 1300000>;
 			opp-hz = /bits/ 64 <54000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@57000000 {
+		opp-57000000 {
 			opp-microvolt = <950000 950000 1300000>;
 			opp-hz = /bits/ 64 <57000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@100000000 {
+		opp-100000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <100000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@108000000 {
+		opp-108000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <108000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@126666000 {
+		opp-126666000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <126666000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@150000000 {
+		opp-150000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <150000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@190000000 {
+		opp-190000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <190000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@216000000 {
+		opp-216000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <216000000>;
 			opp-supported-hw = <0x000F>;
 			opp-suspend;
 		};
 
-		opp@300000000 {
+		opp-300000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <300000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@333000000 {
+		opp-333000000 {
 			opp-microvolt = <1000000 1000000 1300000>;
 			opp-hz = /bits/ 64 <333000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@380000000 {
+		opp-380000000 {
 			opp-microvolt = <1100000 1100000 1300000>;
 			opp-hz = /bits/ 64 <380000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@600000000 {
+		opp-600000000 {
 			opp-microvolt = <1200000 1200000 1300000>;
 			opp-hz = /bits/ 64 <600000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@666000000 {
+		opp-666000000 {
 			opp-microvolt = <1200000 1200000 1300000>;
 			opp-hz = /bits/ 64 <666000000>;
 			opp-supported-hw = <0x000F>;
 		};
 
-		opp@760000000 {
+		opp-760000000 {
 			opp-microvolt = <1300000 1300000 1300000>;
 			opp-hz = /bits/ 64 <760000000>;
 			opp-supported-hw = <0x000F>;
diff --git a/arch/arm/boot/dts/tegra30-cpu-opp-microvolt.dtsi b/arch/arm/boot/dts/tegra30-cpu-opp-microvolt.dtsi
index 1be715d2a442..b8e0e9117021 100644
--- a/arch/arm/boot/dts/tegra30-cpu-opp-microvolt.dtsi
+++ b/arch/arm/boot/dts/tegra30-cpu-opp-microvolt.dtsi
@@ -1,288 +1,288 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	cpu0_opp_table: cpu_opp_table0 {
-		opp@51000000,800 {
+	cpu0_opp_table: opp-table-cpu0 {
+		opp-51000000-800 {
 			opp-microvolt = <800000 800000 1250000>;
 		};
 
-		opp@51000000,850 {
+		opp-51000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@51000000,912 {
+		opp-51000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@102000000,800 {
+		opp-102000000-800 {
 			opp-microvolt = <800000 800000 1250000>;
 		};
 
-		opp@102000000,850 {
+		opp-102000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@102000000,912 {
+		opp-102000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@204000000,800 {
+		opp-204000000-800 {
 			opp-microvolt = <800000 800000 1250000>;
 		};
 
-		opp@204000000,850 {
+		opp-204000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@204000000,912 {
+		opp-204000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@312000000,850 {
+		opp-312000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@312000000,912 {
+		opp-312000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@340000000,800 {
+		opp-340000000-800 {
 			opp-microvolt = <800000 800000 1250000>;
 		};
 
-		opp@340000000,850 {
+		opp-340000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@370000000,800 {
+		opp-370000000-800 {
 			opp-microvolt = <800000 800000 1250000>;
 		};
 
-		opp@456000000,850 {
+		opp-456000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@456000000,912 {
+		opp-456000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@475000000,800 {
+		opp-475000000-800 {
 			opp-microvolt = <800000 800000 1250000>;
 		};
 
-		opp@475000000,850 {
+		opp-475000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@608000000,850 {
+		opp-608000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@608000000,912 {
+		opp-608000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@620000000,850 {
+		opp-620000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@640000000,850 {
+		opp-640000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@640000000,900 {
+		opp-640000000-900 {
 			opp-microvolt = <900000 900000 1250000>;
 		};
 
-		opp@760000000,850 {
+		opp-760000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@760000000,900 {
+		opp-760000000-900 {
 			opp-microvolt = <900000 900000 1250000>;
 		};
 
-		opp@760000000,912 {
+		opp-760000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@760000000,975 {
+		opp-760000000-975 {
 			opp-microvolt = <975000 975000 1250000>;
 		};
 
-		opp@816000000,850 {
+		opp-816000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@816000000,912 {
+		opp-816000000-912 {
 			opp-microvolt = <912000 912000 1250000>;
 		};
 
-		opp@860000000,850 {
+		opp-860000000-850 {
 			opp-microvolt = <850000 850000 1250000>;
 		};
 
-		opp@860000000,900 {
+		opp-860000000-900 {
 			opp-microvolt = <900000 900000 1250000>;
 		};
 
-		opp@860000000,975 {
+		opp-860000000-975 {
 			opp-microvolt = <975000 975000 1250000>;
 		};
 
-		opp@860000000,1000 {
+		opp-860000000-1000 {
 			opp-microvolt = <1000000 1000000 1250000>;
 		};
 
-		opp@910000000,900 {
+		opp-910000000-900 {
 			opp-microvolt = <900000 900000 1250000>;
 		};
 
-		opp@1000000000,900 {
+		opp-1000000000-900 {
 			opp-microvolt = <900000 900000 1250000>;
 		};
 
-		opp@1000000000,975 {
+		opp-1000000000-975 {
 			opp-microvolt = <975000 975000 1250000>;
 		};
 
-		opp@1000000000,1000 {
+		opp-1000000000-1000 {
 			opp-microvolt = <1000000 1000000 1250000>;
 		};
 
-		opp@1000000000,1025 {
+		opp-1000000000-1025 {
 			opp-microvolt = <1025000 1025000 1250000>;
 		};
 
-		opp@1100000000,900 {
+		opp-1100000000-900 {
 			opp-microvolt = <900000 900000 1250000>;
 		};
 
-		opp@1100000000,975 {
+		opp-1100000000-975 {
 			opp-microvolt = <975000 975000 1250000>;
 		};
 
-		opp@1100000000,1000 {
+		opp-1100000000-1000 {
 			opp-microvolt = <1000000 1000000 1250000>;
 		};
 
-		opp@1100000000,1025 {
+		opp-1100000000-1025 {
 			opp-microvolt = <1025000 1025000 1250000>;
 		};
 
-		opp@1100000000,1075 {
+		opp-1100000000-1075 {
 			opp-microvolt = <1075000 1075000 1250000>;
 		};
 
-		opp@1150000000,975 {
+		opp-1150000000-975 {
 			opp-microvolt = <975000 975000 1250000>;
 		};
 
-		opp@1200000000,975 {
+		opp-1200000000-975 {
 			opp-microvolt = <975000 975000 1250000>;
 		};
 
-		opp@1200000000,1000 {
+		opp-1200000000-1000 {
 			opp-microvolt = <1000000 1000000 1250000>;
 		};
 
-		opp@1200000000,1025 {
+		opp-1200000000-1025 {
 			opp-microvolt = <1025000 1025000 1250000>;
 		};
 
-		opp@1200000000,1050 {
+		opp-1200000000-1050 {
 			opp-microvolt = <1050000 1050000 1250000>;
 		};
 
-		opp@1200000000,1075 {
+		opp-1200000000-1075 {
 			opp-microvolt = <1075000 1075000 1250000>;
 		};
 
-		opp@1200000000,1100 {
+		opp-1200000000-1100 {
 			opp-microvolt = <1100000 1100000 1250000>;
 		};
 
-		opp@1300000000,1000 {
+		opp-1300000000-1000 {
 			opp-microvolt = <1000000 1000000 1250000>;
 		};
 
-		opp@1300000000,1025 {
+		opp-1300000000-1025 {
 			opp-microvolt = <1025000 1025000 1250000>;
 		};
 
-		opp@1300000000,1050 {
+		opp-1300000000-1050 {
 			opp-microvolt = <1050000 1050000 1250000>;
 		};
 
-		opp@1300000000,1075 {
+		opp-1300000000-1075 {
 			opp-microvolt = <1075000 1075000 1250000>;
 		};
 
-		opp@1300000000,1100 {
+		opp-1300000000-1100 {
 			opp-microvolt = <1100000 1100000 1250000>;
 		};
 
-		opp@1300000000,1125 {
+		opp-1300000000-1125 {
 			opp-microvolt = <1125000 1125000 1250000>;
 		};
 
-		opp@1300000000,1150 {
+		opp-1300000000-1150 {
 			opp-microvolt = <1150000 1150000 1250000>;
 		};
 
-		opp@1300000000,1175 {
+		opp-1300000000-1175 {
 			opp-microvolt = <1175000 1175000 1250000>;
 		};
 
-		opp@1400000000,1100 {
+		opp-1400000000-1100 {
 			opp-microvolt = <1100000 1100000 1250000>;
 		};
 
-		opp@1400000000,1125 {
+		opp-1400000000-1125 {
 			opp-microvolt = <1125000 1125000 1250000>;
 		};
 
-		opp@1400000000,1150 {
+		opp-1400000000-1150 {
 			opp-microvolt = <1150000 1150000 1250000>;
 		};
 
-		opp@1400000000,1175 {
+		opp-1400000000-1175 {
 			opp-microvolt = <1175000 1175000 1250000>;
 		};
 
-		opp@1400000000,1237 {
+		opp-1400000000-1237 {
 			opp-microvolt = <1237000 1237000 1250000>;
 		};
 
-		opp@1500000000,1125 {
+		opp-1500000000-1125 {
 			opp-microvolt = <1125000 1125000 1250000>;
 		};
 
-		opp@1500000000,1150 {
+		opp-1500000000-1150 {
 			opp-microvolt = <1150000 1150000 1250000>;
 		};
 
-		opp@1500000000,1200 {
+		opp-1500000000-1200 {
 			opp-microvolt = <1200000 1200000 1250000>;
 		};
 
-		opp@1500000000,1237 {
+		opp-1500000000-1237 {
 			opp-microvolt = <1237000 1237000 1250000>;
 		};
 
-		opp@1600000000,1212 {
+		opp-1600000000-1212 {
 			opp-microvolt = <1212000 1212000 1250000>;
 		};
 
-		opp@1600000000,1237 {
+		opp-1600000000-1237 {
 			opp-microvolt = <1237000 1237000 1250000>;
 		};
 
-		opp@1700000000,1212 {
+		opp-1700000000-1212 {
 			opp-microvolt = <1212000 1212000 1250000>;
 		};
 
-		opp@1700000000,1237 {
+		opp-1700000000-1237 {
 			opp-microvolt = <1237000 1237000 1250000>;
 		};
 	};
diff --git a/arch/arm/boot/dts/tegra30-cpu-opp.dtsi b/arch/arm/boot/dts/tegra30-cpu-opp.dtsi
index 72f2fe26cc0e..5b9ebb75a09f 100644
--- a/arch/arm/boot/dts/tegra30-cpu-opp.dtsi
+++ b/arch/arm/boot/dts/tegra30-cpu-opp.dtsi
@@ -1,116 +1,116 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	cpu0_opp_table: cpu_opp_table0 {
+	cpu0_opp_table: opp-table-cpu0 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
-		opp@51000000,800 {
+		opp-51000000-800 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x31FE>;
 			opp-hz = /bits/ 64 <51000000>;
 		};
 
-		opp@51000000,850 {
+		opp-51000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0C01>;
 			opp-hz = /bits/ 64 <51000000>;
 		};
 
-		opp@51000000,912 {
+		opp-51000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <51000000>;
 		};
 
-		opp@102000000,800 {
+		opp-102000000-800 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x31FE>;
 			opp-hz = /bits/ 64 <102000000>;
 		};
 
-		opp@102000000,850 {
+		opp-102000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0C01>;
 			opp-hz = /bits/ 64 <102000000>;
 		};
 
-		opp@102000000,912 {
+		opp-102000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <102000000>;
 		};
 
-		opp@204000000,800 {
+		opp-204000000-800 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x31FE>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-suspend;
 		};
 
-		opp@204000000,850 {
+		opp-204000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0C01>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-suspend;
 		};
 
-		opp@204000000,912 {
+		opp-204000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-suspend;
 		};
 
-		opp@312000000,850 {
+		opp-312000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0C00>;
 			opp-hz = /bits/ 64 <312000000>;
 		};
 
-		opp@312000000,912 {
+		opp-312000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <312000000>;
 		};
 
-		opp@340000000,800 {
+		opp-340000000-800 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0192>;
 			opp-hz = /bits/ 64 <340000000>;
 		};
 
-		opp@340000000,850 {
+		opp-340000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x0F 0x0001>;
 			opp-hz = /bits/ 64 <340000000>;
 		};
 
-		opp@370000000,800 {
+		opp-370000000-800 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1E 0x306C>;
 			opp-hz = /bits/ 64 <370000000>;
 		};
 
-		opp@456000000,850 {
+		opp-456000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0C00>;
 			opp-hz = /bits/ 64 <456000000>;
 		};
 
-		opp@456000000,912 {
+		opp-456000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <456000000>;
 		};
 
-		opp@475000000,800 {
+		opp-475000000-800 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1E 0x31FE>;
 			opp-hz = /bits/ 64 <475000000>;
 		};
 
-		opp@475000000,850 {
+		opp-475000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x0F 0x0001>, <0x01 0x0002>,
 					   <0x01 0x0010>, <0x01 0x0080>,
@@ -118,25 +118,25 @@ opp@475000000,850 {
 			opp-hz = /bits/ 64 <475000000>;
 		};
 
-		opp@608000000,850 {
+		opp-608000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0400>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@608000000,912 {
+		opp-608000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <608000000>;
 		};
 
-		opp@620000000,850 {
+		opp-620000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1E 0x306C>;
 			opp-hz = /bits/ 64 <620000000>;
 		};
 
-		opp@640000000,850 {
+		opp-640000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x0F 0x0001>, <0x02 0x0002>,
 					   <0x04 0x0002>, <0x08 0x0002>,
@@ -149,13 +149,13 @@ opp@640000000,850 {
 			opp-hz = /bits/ 64 <640000000>;
 		};
 
-		opp@640000000,900 {
+		opp-640000000-900 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0192>;
 			opp-hz = /bits/ 64 <640000000>;
 		};
 
-		opp@760000000,850 {
+		opp-760000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1E 0x3461>, <0x08 0x0002>,
 					   <0x08 0x0004>, <0x08 0x0008>,
@@ -165,7 +165,7 @@ opp@760000000,850 {
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,900 {
+		opp-760000000-900 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0001>, <0x02 0x0002>,
 					   <0x04 0x0002>, <0x02 0x0004>,
@@ -177,37 +177,37 @@ opp@760000000,900 {
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,912 {
+		opp-760000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@760000000,975 {
+		opp-760000000-975 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0192>;
 			opp-hz = /bits/ 64 <760000000>;
 		};
 
-		opp@816000000,850 {
+		opp-816000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0400>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@816000000,912 {
+		opp-816000000-912 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x1F 0x0200>;
 			opp-hz = /bits/ 64 <816000000>;
 		};
 
-		opp@860000000,850 {
+		opp-860000000-850 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x0C 0x0001>;
 			opp-hz = /bits/ 64 <860000000>;
 		};
 
-		opp@860000000,900 {
+		opp-860000000-900 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x0001>, <0x04 0x0002>,
 					   <0x08 0x0002>, <0x04 0x0004>,
@@ -220,7 +220,7 @@ opp@860000000,900 {
 			opp-hz = /bits/ 64 <860000000>;
 		};
 
-		opp@860000000,975 {
+		opp-860000000-975 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0001>, <0x02 0x0002>,
 					   <0x02 0x0004>, <0x02 0x0008>,
@@ -229,25 +229,25 @@ opp@860000000,975 {
 			opp-hz = /bits/ 64 <860000000>;
 		};
 
-		opp@860000000,1000 {
+		opp-860000000-1000 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0192>;
 			opp-hz = /bits/ 64 <860000000>;
 		};
 
-		opp@910000000,900 {
+		opp-910000000-900 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x18 0x3060>;
 			opp-hz = /bits/ 64 <910000000>;
 		};
 
-		opp@1000000000,900 {
+		opp-1000000000-900 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x0C 0x0001>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,975 {
+		opp-1000000000-975 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x03 0x0001>, <0x04 0x0002>,
 					   <0x08 0x0002>, <0x04 0x0004>,
@@ -260,25 +260,25 @@ opp@1000000000,975 {
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,1000 {
+		opp-1000000000-1000 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x019E>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1000000000,1025 {
+		opp-1000000000-1025 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0192>;
 			opp-hz = /bits/ 64 <1000000000>;
 		};
 
-		opp@1100000000,900 {
+		opp-1100000000-900 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x08 0x0001>;
 			opp-hz = /bits/ 64 <1100000000>;
 		};
 
-		opp@1100000000,975 {
+		opp-1100000000-975 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x06 0x0001>, <0x08 0x0002>,
 					   <0x08 0x0004>, <0x08 0x0008>,
@@ -288,7 +288,7 @@ opp@1100000000,975 {
 			opp-hz = /bits/ 64 <1100000000>;
 		};
 
-		opp@1100000000,1000 {
+		opp-1100000000-1000 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0001>, <0x04 0x0002>,
 					   <0x04 0x0004>, <0x04 0x0008>,
@@ -297,31 +297,31 @@ opp@1100000000,1000 {
 			opp-hz = /bits/ 64 <1100000000>;
 		};
 
-		opp@1100000000,1025 {
+		opp-1100000000-1025 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x019E>;
 			opp-hz = /bits/ 64 <1100000000>;
 		};
 
-		opp@1100000000,1075 {
+		opp-1100000000-1075 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0192>;
 			opp-hz = /bits/ 64 <1100000000>;
 		};
 
-		opp@1150000000,975 {
+		opp-1150000000-975 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x18 0x3060>;
 			opp-hz = /bits/ 64 <1150000000>;
 		};
 
-		opp@1200000000,975 {
+		opp-1200000000-975 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x08 0x0001>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1000 {
+		opp-1200000000-1000 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x04 0x0001>, <0x08 0x0002>,
 					   <0x08 0x0004>, <0x08 0x0008>,
@@ -331,7 +331,7 @@ opp@1200000000,1000 {
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1025 {
+		opp-1200000000-1025 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x0001>, <0x04 0x0002>,
 					   <0x04 0x0004>, <0x04 0x0008>,
@@ -340,39 +340,39 @@ opp@1200000000,1025 {
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1050 {
+		opp-1200000000-1050 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x019E>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1075 {
+		opp-1200000000-1075 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0001>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1200000000,1100 {
+		opp-1200000000-1100 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0192>;
 			opp-hz = /bits/ 64 <1200000000>;
 		};
 
-		opp@1300000000,1000 {
+		opp-1300000000-1000 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x08 0x0001>, <0x10 0x0080>,
 					   <0x10 0x0100>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1025 {
+		opp-1300000000-1025 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x04 0x0001>, <0x08 0x0002>,
 					   <0x08 0x0080>, <0x08 0x0100>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1050 {
+		opp-1300000000-1050 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x12 0x3061>, <0x04 0x0002>,
 					   <0x08 0x0004>, <0x08 0x0008>,
@@ -383,68 +383,68 @@ opp@1300000000,1050 {
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1075 {
+		opp-1300000000-1075 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x0182>, <0x04 0x0004>,
 					   <0x04 0x0008>, <0x04 0x0010>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1100 {
+		opp-1300000000-1100 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x001C>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1125 {
+		opp-1300000000-1125 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0001>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1150 {
+		opp-1300000000-1150 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0182>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1300000000,1175 {
+		opp-1300000000-1175 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0010>;
 			opp-hz = /bits/ 64 <1300000000>;
 		};
 
-		opp@1400000000,1100 {
+		opp-1400000000-1100 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x18 0x307C>;
 			opp-hz = /bits/ 64 <1400000000>;
 		};
 
-		opp@1400000000,1125 {
+		opp-1400000000-1125 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x04 0x000C>;
 			opp-hz = /bits/ 64 <1400000000>;
 		};
 
-		opp@1400000000,1150 {
+		opp-1400000000-1150 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x000C>, <0x04 0x0010>;
 			opp-hz = /bits/ 64 <1400000000>;
 		};
 
-		opp@1400000000,1175 {
+		opp-1400000000-1175 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x0010>;
 			opp-hz = /bits/ 64 <1400000000>;
 		};
 
-		opp@1400000000,1237 {
+		opp-1400000000-1237 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0010>;
 			opp-hz = /bits/ 64 <1400000000>;
 		};
 
-		opp@1500000000,1125 {
+		opp-1500000000-1125 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x08 0x0010>, <0x10 0x0020>,
 					   <0x10 0x0040>, <0x10 0x1000>,
@@ -452,7 +452,7 @@ opp@1500000000,1125 {
 			opp-hz = /bits/ 64 <1500000000>;
 		};
 
-		opp@1500000000,1150 {
+		opp-1500000000-1150 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x04 0x0010>, <0x08 0x0020>,
 					   <0x08 0x0040>, <0x08 0x1000>,
@@ -460,37 +460,37 @@ opp@1500000000,1150 {
 			opp-hz = /bits/ 64 <1500000000>;
 		};
 
-		opp@1500000000,1200 {
+		opp-1500000000-1200 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x02 0x0010>;
 			opp-hz = /bits/ 64 <1500000000>;
 		};
 
-		opp@1500000000,1237 {
+		opp-1500000000-1237 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x01 0x0010>;
 			opp-hz = /bits/ 64 <1500000000>;
 		};
 
-		opp@1600000000,1212 {
+		opp-1600000000-1212 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x10 0x3060>;
 			opp-hz = /bits/ 64 <1600000000>;
 		};
 
-		opp@1600000000,1237 {
+		opp-1600000000-1237 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x08 0x3060>;
 			opp-hz = /bits/ 64 <1600000000>;
 		};
 
-		opp@1700000000,1212 {
+		opp-1700000000-1212 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x10 0x3060>;
 			opp-hz = /bits/ 64 <1700000000>;
 		};
 
-		opp@1700000000,1237 {
+		opp-1700000000-1237 {
 			clock-latency-ns = <100000>;
 			opp-supported-hw = <0x08 0x3060>;
 			opp-hz = /bits/ 64 <1700000000>;
diff --git a/arch/arm/boot/dts/tegra30-peripherals-opp.dtsi b/arch/arm/boot/dts/tegra30-peripherals-opp.dtsi
index 2c9780319725..f0f33c4f7648 100644
--- a/arch/arm/boot/dts/tegra30-peripherals-opp.dtsi
+++ b/arch/arm/boot/dts/tegra30-peripherals-opp.dtsi
@@ -1,383 +1,385 @@
 // SPDX-License-Identifier: GPL-2.0
 
 / {
-	emc_icc_dvfs_opp_table: emc-dvfs-opp-table {
+	/* EMC DVFS OPP table */
+	emc_icc_dvfs_opp_table: opp-table-dvfs0 {
 		compatible = "operating-points-v2";
 
-		opp@12750000,950 {
+		opp-12750000-950 {
 			opp-microvolt = <950000 950000 1350000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@12750000,1000 {
+		opp-12750000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@12750000,1250 {
+		opp-12750000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@25500000,950 {
+		opp-25500000-950 {
 			opp-microvolt = <950000 950000 1350000>;
 			opp-hz = /bits/ 64 <25500000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@25500000,1000 {
+		opp-25500000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <25500000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@25500000,1250 {
+		opp-25500000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <25500000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@27000000,950 {
+		opp-27000000-950 {
 			opp-microvolt = <950000 950000 1350000>;
 			opp-hz = /bits/ 64 <27000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@27000000,1000 {
+		opp-27000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <27000000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@27000000,1250 {
+		opp-27000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <27000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@51000000,950 {
+		opp-51000000-950 {
 			opp-microvolt = <950000 950000 1350000>;
 			opp-hz = /bits/ 64 <51000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@51000000,1000 {
+		opp-51000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <51000000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@51000000,1250 {
+		opp-51000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <51000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@54000000,950 {
+		opp-54000000-950 {
 			opp-microvolt = <950000 950000 1350000>;
 			opp-hz = /bits/ 64 <54000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@54000000,1000 {
+		opp-54000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <54000000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@54000000,1250 {
+		opp-54000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <54000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@102000000,950 {
+		opp-102000000-950 {
 			opp-microvolt = <950000 950000 1350000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@102000000,1000 {
+		opp-102000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@102000000,1250 {
+		opp-102000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@108000000,1000 {
+		opp-108000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <108000000>;
 			opp-supported-hw = <0x0007>;
 		};
 
-		opp@108000000,1250 {
+		opp-108000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <108000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@204000000,1000 {
+		opp-204000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x0007>;
 			opp-suspend;
 		};
 
-		opp@204000000,1250 {
+		opp-204000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x0008>;
 			opp-suspend;
 		};
 
-		opp@333500000,1000 {
+		opp-333500000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <333500000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@333500000,1200 {
+		opp-333500000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <333500000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@333500000,1250 {
+		opp-333500000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <333500000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@375000000,1000 {
+		opp-375000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <375000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@375000000,1200 {
+		opp-375000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <375000000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@375000000,1250 {
+		opp-375000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <375000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@400000000,1000 {
+		opp-400000000-1000 {
 			opp-microvolt = <1000000 1000000 1350000>;
 			opp-hz = /bits/ 64 <400000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@400000000,1200 {
+		opp-400000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <400000000>;
 			opp-supported-hw = <0x0001>;
 		};
 
-		opp@400000000,1250 {
+		opp-400000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <400000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@416000000,1200 {
+		opp-416000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <416000000>;
 			opp-supported-hw = <0x0007>;
 		};
 
-		opp@416000000,1250 {
+		opp-416000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <416000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@450000000,1200 {
+		opp-450000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <450000000>;
 			opp-supported-hw = <0x0007>;
 		};
 
-		opp@450000000,1250 {
+		opp-450000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <450000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@533000000,1200 {
+		opp-533000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <533000000>;
 			opp-supported-hw = <0x0007>;
 		};
 
-		opp@533000000,1250 {
+		opp-533000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <533000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@625000000,1200 {
+		opp-625000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <625000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@625000000,1250 {
+		opp-625000000-1250 {
 			opp-microvolt = <1250000 1250000 1350000>;
 			opp-hz = /bits/ 64 <625000000>;
 			opp-supported-hw = <0x0008>;
 		};
 
-		opp@667000000,1200 {
+		opp-667000000-1200 {
 			opp-microvolt = <1200000 1200000 1350000>;
 			opp-hz = /bits/ 64 <667000000>;
 			opp-supported-hw = <0x0006>;
 		};
 
-		opp@750000000,1300 {
+		opp-750000000-1300 {
 			opp-microvolt = <1300000 1300000 1350000>;
 			opp-hz = /bits/ 64 <750000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@800000000,1300 {
+		opp-800000000-1300 {
 			opp-microvolt = <1300000 1300000 1350000>;
 			opp-hz = /bits/ 64 <800000000>;
 			opp-supported-hw = <0x0004>;
 		};
 
-		opp@900000000,1350 {
+		opp-900000000-1350 {
 			opp-microvolt = <1350000 1350000 1350000>;
 			opp-hz = /bits/ 64 <900000000>;
 			opp-supported-hw = <0x0004>;
 		};
 	};
 
-	emc_bw_dfs_opp_table: emc-bandwidth-opp-table {
+	/* EMC bandwidth OPP table */
+	emc_bw_dfs_opp_table: opp-table-dvfs1 {
 		compatible = "operating-points-v2";
 
-		opp@12750000 {
+		opp-12750000 {
 			opp-hz = /bits/ 64 <12750000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <102000>;
 		};
 
-		opp@25500000 {
+		opp-25500000 {
 			opp-hz = /bits/ 64 <25500000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <204000>;
 		};
 
-		opp@27000000 {
+		opp-27000000 {
 			opp-hz = /bits/ 64 <27000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <216000>;
 		};
 
-		opp@51000000 {
+		opp-51000000 {
 			opp-hz = /bits/ 64 <51000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <408000>;
 		};
 
-		opp@54000000 {
+		opp-54000000 {
 			opp-hz = /bits/ 64 <54000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <432000>;
 		};
 
-		opp@102000000 {
+		opp-102000000 {
 			opp-hz = /bits/ 64 <102000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <816000>;
 		};
 
-		opp@108000000 {
+		opp-108000000 {
 			opp-hz = /bits/ 64 <108000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <864000>;
 		};
 
-		opp@204000000 {
+		opp-204000000 {
 			opp-hz = /bits/ 64 <204000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <1632000>;
 			opp-suspend;
 		};
 
-		opp@333500000 {
+		opp-333500000 {
 			opp-hz = /bits/ 64 <333500000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <2668000>;
 		};
 
-		opp@375000000 {
+		opp-375000000 {
 			opp-hz = /bits/ 64 <375000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <3000000>;
 		};
 
-		opp@400000000 {
+		opp-400000000 {
 			opp-hz = /bits/ 64 <400000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <3200000>;
 		};
 
-		opp@416000000 {
+		opp-416000000 {
 			opp-hz = /bits/ 64 <416000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <3328000>;
 		};
 
-		opp@450000000 {
+		opp-450000000 {
 			opp-hz = /bits/ 64 <450000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <3600000>;
 		};
 
-		opp@533000000 {
+		opp-533000000 {
 			opp-hz = /bits/ 64 <533000000>;
 			opp-supported-hw = <0x000F>;
 			opp-peak-kBps = <4264000>;
 		};
 
-		opp@625000000 {
+		opp-625000000 {
 			opp-hz = /bits/ 64 <625000000>;
 			opp-supported-hw = <0x000E>;
 			opp-peak-kBps = <5000000>;
 		};
 
-		opp@667000000 {
+		opp-667000000 {
 			opp-hz = /bits/ 64 <667000000>;
 			opp-supported-hw = <0x0006>;
 			opp-peak-kBps = <5336000>;
 		};
 
-		opp@750000000 {
+		opp-750000000 {
 			opp-hz = /bits/ 64 <750000000>;
 			opp-supported-hw = <0x0004>;
 			opp-peak-kBps = <6000000>;
 		};
 
-		opp@800000000 {
+		opp-800000000 {
 			opp-hz = /bits/ 64 <800000000>;
 			opp-supported-hw = <0x0004>;
 			opp-peak-kBps = <6400000>;
 		};
 
-		opp@900000000 {
+		opp-900000000 {
 			opp-hz = /bits/ 64 <900000000>;
 			opp-supported-hw = <0x0004>;
 			opp-peak-kBps = <7200000>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 13/25] ARM: tegra: Fix Tegra124 I2C compatible string list
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (11 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 14/25] ARM: tegra: Drop unused AHCI clocks on Tegra124 Thierry Reding
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The I2C controller found on Tegra124 is not fully compatible with the
Tegra114 version, so drop the fallback compatible string from the list.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124.dtsi | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index 752a28268024..0e0a769fb30f 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -438,7 +438,7 @@ pwm: pwm@7000a000 {
 	};
 
 	i2c@7000c000 {
-		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
+		compatible = "nvidia,tegra124-i2c";
 		reg = <0x0 0x7000c000 0x0 0x100>;
 		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -453,7 +453,7 @@ i2c@7000c000 {
 	};
 
 	i2c@7000c400 {
-		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
+		compatible = "nvidia,tegra124-i2c";
 		reg = <0x0 0x7000c400 0x0 0x100>;
 		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -468,7 +468,7 @@ i2c@7000c400 {
 	};
 
 	i2c@7000c500 {
-		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
+		compatible = "nvidia,tegra124-i2c";
 		reg = <0x0 0x7000c500 0x0 0x100>;
 		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -483,7 +483,7 @@ i2c@7000c500 {
 	};
 
 	i2c@7000c700 {
-		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
+		compatible = "nvidia,tegra124-i2c";
 		reg = <0x0 0x7000c700 0x0 0x100>;
 		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -498,7 +498,7 @@ i2c@7000c700 {
 	};
 
 	i2c@7000d000 {
-		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
+		compatible = "nvidia,tegra124-i2c";
 		reg = <0x0 0x7000d000 0x0 0x100>;
 		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -513,7 +513,7 @@ i2c@7000d000 {
 	};
 
 	i2c@7000d100 {
-		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
+		compatible = "nvidia,tegra124-i2c";
 		reg = <0x0 0x7000d100 0x0 0x100>;
 		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 14/25] ARM: tegra: Drop unused AHCI clocks on Tegra124
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (12 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 13/25] ARM: tegra: Fix Tegra124 I2C compatible string list Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 15/25] ARM: tegra: Sort Tegra124 XUSB clocks correctly Thierry Reding
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The CML1 and PLL_E clocks are never explicitly used by the AHCI
controller found on Tegra124, so drop them from the corresponding device
tree node.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124.dtsi | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index 0e0a769fb30f..36566a777e49 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -672,10 +672,8 @@ sata@70020000 {
 		      <0x0 0x70020000 0x0 0x7000>; /* SATA */
 		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&tegra_car TEGRA124_CLK_SATA>,
-			 <&tegra_car TEGRA124_CLK_SATA_OOB>,
-			 <&tegra_car TEGRA124_CLK_CML1>,
-			 <&tegra_car TEGRA124_CLK_PLL_E>;
-		clock-names = "sata", "sata-oob", "cml1", "pll_e";
+			 <&tegra_car TEGRA124_CLK_SATA_OOB>;
+		clock-names = "sata", "sata-oob";
 		resets = <&tegra_car 124>,
 			 <&tegra_car 129>,
 			 <&tegra_car 123>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 15/25] ARM: tegra: Sort Tegra124 XUSB clocks correctly
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (13 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 14/25] ARM: tegra: Drop unused AHCI clocks on Tegra124 Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes Thierry Reding
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

Make the order of the clocks and clock-names properties match the order
in the device tree bindings. This isn't strictly necessary from a point
of view of the operating system because matching will be done based on
the clock-names, but it makes it easier to validate the device trees
against the DT schema.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra124.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index 36566a777e49..e87da6c24f7c 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -710,8 +710,8 @@ usb@70090000 {
 			 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
 			 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
 			 <&tegra_car TEGRA124_CLK_XUSB_SS>,
-			 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
 			 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
+			 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
 			 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
 			 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
 			 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
@@ -719,7 +719,7 @@ usb@70090000 {
 			 <&tegra_car TEGRA124_CLK_PLL_E>;
 		clock-names = "xusb_host", "xusb_host_src",
 			      "xusb_falcon_src", "xusb_ss",
-			      "xusb_ss_src", "xusb_ss_div2",
+			      "xusb_ss_div2", "xusb_ss_src",
 			      "xusb_hs_src", "xusb_fs_src",
 			      "pll_u_480m", "clk_m", "pll_e";
 		resets = <&tegra_car 89>, <&tegra_car 156>,
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (14 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 15/25] ARM: tegra: Sort Tegra124 XUSB clocks correctly Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 19:13   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 17/25] ARM: tegra: Add compatible string for built-in ASIX on Colibri boards Thierry Reding
                   ` (8 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The "pwm-" prefix currently matches the DT schema for PWM controllers
and throws an error in that case. This is something that should be fixed
in the PWM DT schema, but in this case we can also preempt any such
conflict by naming the nodes after the pins like we do for many others
of these nodes.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra20-colibri-eval-v3.dts | 4 ++--
 arch/arm/boot/dts/tegra20-colibri-iris.dts    | 4 ++--
 arch/arm/boot/dts/tegra20-colibri.dtsi        | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
index a05fb3853da8..d2a3bf9d28bd 100644
--- a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
@@ -70,11 +70,11 @@ mmccd {
 				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 			};
 
-			pwm-a-b {
+			sdc {
 				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 			};
 
-			pwm-c-d {
+			sdb_sdd {
 				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 			};
 
diff --git a/arch/arm/boot/dts/tegra20-colibri-iris.dts b/arch/arm/boot/dts/tegra20-colibri-iris.dts
index 425494b9ed54..00ecbbd5e9e1 100644
--- a/arch/arm/boot/dts/tegra20-colibri-iris.dts
+++ b/arch/arm/boot/dts/tegra20-colibri-iris.dts
@@ -70,11 +70,11 @@ mmccd {
 				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 			};
 
-			pwm-a-b {
+			sdc {
 				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 			};
 
-			pwm-c-d {
+			sdb_sdd {
 				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 			};
 
diff --git a/arch/arm/boot/dts/tegra20-colibri.dtsi b/arch/arm/boot/dts/tegra20-colibri.dtsi
index 80e439003a6d..2350fda3be6a 100644
--- a/arch/arm/boot/dts/tegra20-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra20-colibri.dtsi
@@ -113,7 +113,7 @@ bl-on {
 			};
 
 			/* Colibri Backlight PWM<A>, PWM<B> */
-			pwm-a-b {
+			sdc {
 				nvidia,pins = "sdc";
 				nvidia,function = "pwm";
 				nvidia,tristate = <TEGRA_PIN_ENABLE>;
@@ -242,7 +242,7 @@ cif {
 			};
 
 			/* Colibri PWM<C>, PWM<D> */
-			pwm-c-d {
+			sdb_sdd {
 				nvidia,pins = "sdb", "sdd";
 				nvidia,function = "pwm";
 				nvidia,tristate = <TEGRA_PIN_ENABLE>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 17/25] ARM: tegra: Add compatible string for built-in ASIX on Colibri boards
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (15 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 18/25] ARM: tegra: Remove PHY reset GPIO references from USB controller node Thierry Reding
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The device tree node for the built-in ASIX Ethernet device on Colibri
boards needs a compatible string in order to pass DT schema validation.
Add the USB VID,PID compatible string as required by the DT schema for
USB devices.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Marcel, I've taken the USB vendor and device IDs from the ASIX driver
match entry for the AX88772B module, but do you have a quick way of
verifying that that's indeed the ID that the device reports in those
systems?

Rob, I do get a checkpatch.pl warning for this new compatible string,
but I'm not sure there's anything easy that could be done about this,
other than perhaps making checkpatch.pl aware of the special USB (and
potentially PCI) compatible strings as well.
---
 arch/arm/boot/dts/tegra20-colibri.dtsi | 1 +
 arch/arm/boot/dts/tegra30-colibri.dtsi | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/tegra20-colibri.dtsi b/arch/arm/boot/dts/tegra20-colibri.dtsi
index 2350fda3be6a..c5c401edd0bf 100644
--- a/arch/arm/boot/dts/tegra20-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra20-colibri.dtsi
@@ -689,6 +689,7 @@ usb@c5004000 {
 		#size-cells = <0>;
 
 		asix@1 {
+			compatible = "usbb95,772b";
 			reg = <1>;
 			local-mac-address = [00 00 00 00 00 00];
 		};
diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index e89b4e5a238d..4361b93d0934 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -950,6 +950,7 @@ usb@7d004000 {
 		#size-cells = <0>;
 
 		asix@1 {
+			compatible = "usbb95,772b";
 			reg = <1>;
 			local-mac-address = [00 00 00 00 00 00];
 		};
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 18/25] ARM: tegra: Remove PHY reset GPIO references from USB controller node
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (16 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 17/25] ARM: tegra: Add compatible string for built-in ASIX on Colibri boards Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies Thierry Reding
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The PHY reset GPIO references belong in the USB PHY nodes, where they
already exist. There is no need to keep them in the USB controller's
device tree node as well.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra20-harmony.dts   | 2 --
 arch/arm/boot/dts/tegra20-paz00.dts     | 2 --
 arch/arm/boot/dts/tegra20-seaboard.dts  | 2 --
 arch/arm/boot/dts/tegra20-trimslice.dts | 2 --
 arch/arm/boot/dts/tegra20-ventana.dts   | 2 --
 5 files changed, 10 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index e39318f90ffc..e6f69f26b290 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -595,8 +595,6 @@ usb-phy@c5000000 {
 
 	usb@c5004000 {
 		status = "okay";
-		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
-			GPIO_ACTIVE_LOW>;
 	};
 
 	usb-phy@c5004000 {
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index d525fb8cdacc..e4c6c1363fc5 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -533,8 +533,6 @@ usb-phy@c5000000 {
 
 	usb@c5004000 {
 		status = "okay";
-		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
-			GPIO_ACTIVE_LOW>;
 	};
 
 	usb-phy@c5004000 {
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index d1debe54320c..3724dc9897fb 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -742,8 +742,6 @@ usb-phy@c5000000 {
 
 	usb@c5004000 {
 		status = "okay";
-		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
-			GPIO_ACTIVE_LOW>;
 	};
 
 	usb-phy@c5004000 {
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index 0bcd548023d6..090f47fe79e6 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -349,8 +349,6 @@ usb-phy@c5000000 {
 
 	usb@c5004000 {
 		status = "okay";
-		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
-			GPIO_ACTIVE_LOW>;
 	};
 
 	usb-phy@c5004000 {
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index 91060bf27499..a38d892ef210 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -556,8 +556,6 @@ usb-phy@c5000000 {
 
 	usb@c5004000 {
 		status = "okay";
-		nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
-			GPIO_ACTIVE_LOW>;
 	};
 
 	usb-phy@c5004000 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (17 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 18/25] ARM: tegra: Remove PHY reset GPIO references from USB controller node Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 19:07   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 20/25] ARM: tegra: Use correct vendor prefix for Invensense Thierry Reding
                   ` (5 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The Medcom Wide and PAZ00 boards don't specify the power supply for the
backlight, which means that the Linux driver will provide a dummy one.
Wire up an explicit dummy to also make the DT schema validation succeed.
Unfortunately I don't have access to the schematics for these boards, so
I don't know if a more accurate description is possible.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra20-medcom-wide.dts | 3 +++
 arch/arm/boot/dts/tegra20-paz00.dts       | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/tegra20-medcom-wide.dts b/arch/arm/boot/dts/tegra20-medcom-wide.dts
index ed0e4012e140..b072d715999e 100644
--- a/arch/arm/boot/dts/tegra20-medcom-wide.dts
+++ b/arch/arm/boot/dts/tegra20-medcom-wide.dts
@@ -54,6 +54,9 @@ backlight: backlight {
 
 		brightness-levels = <0 4 8 16 32 64 128 255>;
 		default-brightness-level = <6>;
+
+		/* dummy */
+		power-supply = <&vdd_5v0_reg>;
 	};
 
 	panel: panel {
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index e4c6c1363fc5..dd80108ac72c 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -571,6 +571,9 @@ backlight: backlight {
 
 		brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
 		default-brightness-level = <10>;
+
+		/* dummy */
+		power-supply = <&p5valw_reg>;
 	};
 
 	clk32k_in: clock-32k {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 20/25] ARM: tegra: Use correct vendor prefix for Invensense
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (18 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 21/25] ARM: tegra: Remove unsupported properties on Apalis Thierry Reding
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The correct vendor prefix for Invensense is "invensense," rather than
"invn,".

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra20-seaboard.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index 3724dc9897fb..7ee99518a24e 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -358,7 +358,7 @@ isl29018@44 {
 		};
 
 		gyrometer@68 {
-			compatible = "invn,mpu3050";
+			compatible = "invensense,mpu3050";
 			reg = <0x68>;
 			interrupt-parent = <&gpio>;
 			interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_LEVEL_HIGH>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 21/25] ARM: tegra: Remove unsupported properties on Apalis
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (19 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 20/25] ARM: tegra: Use correct vendor prefix for Invensense Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes Thierry Reding
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The +V1.2_VDD_CORE regulator on Apalis and Colibri boards uses the
unsupported ti,vsel{0,1}-state-low properties. It turns out that these
are in fact the default and can be overridden by ti,vsel{0,1}-state-high
properties if needed. Drop them since they are not needed.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi | 3 ---
 arch/arm/boot/dts/tegra30-apalis.dtsi      | 3 ---
 arch/arm/boot/dts/tegra30-colibri.dtsi     | 3 ---
 3 files changed, 9 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi b/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi
index e4e17c0e01fd..010dfa665b3d 100644
--- a/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi
+++ b/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi
@@ -1044,9 +1044,6 @@ regulator@60 {
 			regulator-max-microvolt = <1400000>;
 			regulator-boot-on;
 			regulator-always-on;
-			ti,vsel0-state-low;
-			/* VSEL1: EN_CORE_DVFS_N low for DVFS */
-			ti,vsel1-state-low;
 		};
 	};
 
diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi
index 28e7d445c076..424d83f99be7 100644
--- a/arch/arm/boot/dts/tegra30-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra30-apalis.dtsi
@@ -1027,9 +1027,6 @@ regulator@60 {
 			regulator-max-microvolt = <1400000>;
 			regulator-boot-on;
 			regulator-always-on;
-			ti,vsel0-state-low;
-			/* VSEL1: EN_CORE_DVFS_N low for DVFS */
-			ti,vsel1-state-low;
 		};
 	};
 
diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 4361b93d0934..20c9a583a6e0 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -898,9 +898,6 @@ regulator@60 {
 			regulator-max-microvolt = <1400000>;
 			regulator-boot-on;
 			regulator-always-on;
-			ti,vsel0-state-low;
-			/* VSEL1: EN_CORE_DVFS_N low for DVFS */
-			ti,vsel1-state-low;
 		};
 	};
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (20 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 21/25] ARM: tegra: Remove unsupported properties on Apalis Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 18:57   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property Thierry Reding
                   ` (2 subsequent siblings)
  24 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The "clock-frequency" property for an I2C controller needs to be
specified at the bus level.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi | 3 ++-
 arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi
index a044dbd200a9..d5f28e424244 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi
@@ -134,10 +134,11 @@ gmi_cs6_n_pi3 {
 	};
 
 	i2c@7000c500 {
+		clock-frequency = <100000>;
+
 		nfc@28 {
 			compatible = "nxp,pn544-i2c";
 			reg = <0x28>;
-			clock-frequency = <100000>;
 
 			interrupt-parent = <&gpio>;
 			interrupts = <TEGRA_GPIO(X, 0) IRQ_TYPE_EDGE_RISING>;
diff --git a/arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi b/arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi
index a681ad51fddd..713bb2c36fcc 100644
--- a/arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi
+++ b/arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi
@@ -197,6 +197,8 @@ gmi_cs6_n_pi3 {
 	};
 
 	i2c@7000c500 {
+		clock-frequency = <100000>;
+
 		proximity-sensor@28 {
 			compatible = "microchip,cap1106";
 			reg = <0x28>;
@@ -223,8 +225,6 @@ nfc@2a {
 			compatible = "nxp,pn544-i2c";
 			reg = <0x2a>;
 
-			clock-frequency = <100000>;
-
 			interrupt-parent = <&gpio>;
 			interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (21 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 19:24   ` Dmitry Osipenko
  2021-12-09 20:30   ` Dmitry Osipenko
  2021-12-09 17:33 ` [PATCH 24/25] ARM: tegra: Fix SLINK compatible string on Tegra30 Thierry Reding
  2021-12-09 17:33 ` [PATCH 25/25] ARM: tegra: Fix I2C mux reset GPIO reference on Cardhu Thierry Reding
  24 siblings, 2 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The Ouya board specifies the #reset-cells property for the GPIO
controller. Since the GPIO controller doesn't provide reset controls
this is not needed, so they can be dropped.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra30-ouya.dts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
index 4259871b76c9..fd64aadc472a 100644
--- a/arch/arm/boot/dts/tegra30-ouya.dts
+++ b/arch/arm/boot/dts/tegra30-ouya.dts
@@ -70,7 +70,6 @@ hdmi@54280000 {
 
 	gpio: gpio@6000d000 {
 		gpio-ranges = <&pinmux 0 0 248>;
-		#reset-cells = <1>;
 	};
 
 	pinmux@70000868 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 24/25] ARM: tegra: Fix SLINK compatible string on Tegra30
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (22 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  2021-12-09 17:33 ` [PATCH 25/25] ARM: tegra: Fix I2C mux reset GPIO reference on Cardhu Thierry Reding
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

The SLINK controller found on Tegra30 is not compatible with its
predecessor found on Tegra20. Drop the fallback compatible string.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra30.dtsi | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index 4c04b9c28484..2fabf34f9c8c 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -666,7 +666,7 @@ i2c@7000d000 {
 	};
 
 	spi@7000d400 {
-		compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+		compatible = "nvidia,tegra30-slink";
 		reg = <0x7000d400 0x200>;
 		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -680,7 +680,7 @@ spi@7000d400 {
 	};
 
 	spi@7000d600 {
-		compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+		compatible = "nvidia,tegra30-slink";
 		reg = <0x7000d600 0x200>;
 		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -694,7 +694,7 @@ spi@7000d600 {
 	};
 
 	spi@7000d800 {
-		compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+		compatible = "nvidia,tegra30-slink";
 		reg = <0x7000d800 0x200>;
 		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -708,7 +708,7 @@ spi@7000d800 {
 	};
 
 	spi@7000da00 {
-		compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+		compatible = "nvidia,tegra30-slink";
 		reg = <0x7000da00 0x200>;
 		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -722,7 +722,7 @@ spi@7000da00 {
 	};
 
 	spi@7000dc00 {
-		compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+		compatible = "nvidia,tegra30-slink";
 		reg = <0x7000dc00 0x200>;
 		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
@@ -736,7 +736,7 @@ spi@7000dc00 {
 	};
 
 	spi@7000de00 {
-		compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+		compatible = "nvidia,tegra30-slink";
 		reg = <0x7000de00 0x200>;
 		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
 		#address-cells = <1>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* [PATCH 25/25] ARM: tegra: Fix I2C mux reset GPIO reference on Cardhu
  2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
                   ` (23 preceding siblings ...)
  2021-12-09 17:33 ` [PATCH 24/25] ARM: tegra: Fix SLINK compatible string on Tegra30 Thierry Reding
@ 2021-12-09 17:33 ` Thierry Reding
  24 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-09 17:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

From: Thierry Reding <treding@nvidia.com>

Use the correct "reset-gpios" property for the I2C mux reset GPIO
reference instead of the deprecated "reset-gpio" property.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra30-cardhu.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index efaa39171c99..97165f233ec2 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -209,7 +209,7 @@ i2cmux@70 {
 			#address-cells = <1>;
 			#size-cells = <0>;
 			reg = <0x70>;
-			reset-gpio = <&gpio TEGRA_GPIO(BB, 0) GPIO_ACTIVE_LOW>;
+			reset-gpios = <&gpio TEGRA_GPIO(BB, 0) GPIO_ACTIVE_LOW>;
 		};
 	};
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 70+ messages in thread

* Re: [PATCH 04/25] ARM: tegra: Rename top-level clocks
  2021-12-09 17:33 ` [PATCH 04/25] ARM: tegra: Rename top-level clocks Thierry Reding
@ 2021-12-09 18:27   ` Dmitry Osipenko
  2021-12-10 12:53     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 18:27 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> Clocks defined at the top level in device tree are no longer part of a
> simple bus and therefore don't have a reg property. Nodes without a reg
> property shouldn't have a unit-address either, so drop the unit address
> from the node names. To ensure nodes aren't duplicated (in which case
> they would end up merged in the final DTB), append the name of the clock
> to the node name.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra114-dalmore.dts                    | 2 +-
>  arch/arm/boot/dts/tegra114-roth.dts                       | 2 +-
>  arch/arm/boot/dts/tegra114-tn7.dts                        | 2 +-
>  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 +-
>  arch/arm/boot/dts/tegra124-nyan.dtsi                      | 2 +-
>  arch/arm/boot/dts/tegra124-venice2.dts                    | 2 +-
>  arch/arm/boot/dts/tegra20-acer-a500-picasso.dts           | 4 ++--
>  arch/arm/boot/dts/tegra20-harmony.dts                     | 2 +-
>  arch/arm/boot/dts/tegra20-paz00.dts                       | 2 +-
>  arch/arm/boot/dts/tegra20-seaboard.dts                    | 2 +-
>  arch/arm/boot/dts/tegra20-tamonten.dtsi                   | 2 +-
>  arch/arm/boot/dts/tegra20-trimslice.dts                   | 2 +-
>  arch/arm/boot/dts/tegra20-ventana.dts                     | 2 +-
>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 +-
>  arch/arm/boot/dts/tegra30-beaver.dts                      | 2 +-
>  arch/arm/boot/dts/tegra30-cardhu.dtsi                     | 2 +-
>  16 files changed, 17 insertions(+), 17 deletions(-)

This and the next patch duplicate the preexisting patch [1] that you saw
and skipped previously. It looks odd that you redoing it on your own
now. This is not okay to me unless you talked to David and he is aware
about it.

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-20-digetx@gmail.com/


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes
  2021-12-09 17:33 ` [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes Thierry Reding
@ 2021-12-09 18:38   ` Dmitry Osipenko
  2021-12-10 14:27     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 18:38 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> OPP nodes do not have a "reg" property and therefore shouldn't have a
> unit-address. Instead, use a dash instead of the '@' and ',' characters
> to allow validation of the nodes against the DT schema.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  .../boot/dts/tegra124-peripherals-opp.dtsi    | 142 ++++++++---------
>  .../boot/dts/tegra20-cpu-opp-microvolt.dtsi   |  82 +++++-----
>  arch/arm/boot/dts/tegra20-cpu-opp.dtsi        |  82 +++++-----
>  .../arm/boot/dts/tegra20-peripherals-opp.dtsi |  36 ++---
>  .../boot/dts/tegra30-cpu-opp-microvolt.dtsi   | 144 +++++++++---------
>  arch/arm/boot/dts/tegra30-cpu-opp.dtsi        | 144 +++++++++---------
>  .../arm/boot/dts/tegra30-peripherals-opp.dtsi | 130 ++++++++--------
>  7 files changed, 382 insertions(+), 378 deletions(-)

This patch is wrong, you haven't renamed the delete-node properties [1].

Please stop rewriting patches and use what already has been sent out and
tested, thanks.

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20211130232347.950-35-digetx@gmail.com/

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes
  2021-12-09 17:33 ` [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes Thierry Reding
@ 2021-12-09 18:57   ` Dmitry Osipenko
  2021-12-10 15:01     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 18:57 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The "clock-frequency" property for an I2C controller needs to be
> specified at the bus level.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi | 3 ++-
>  arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi | 4 ++--
>  2 files changed, 4 insertions(+), 3 deletions(-)

The clock-frequency is specified in the parent-common N7 DTSI, NAK.

There is already patch from David that removes the clock-frequency from
NFC node [1], please use it.

Please never again rewrite the preexisting patches, this makes you look odd.

I suggest to collect *all* patches (not only your own) into single
for-next branch, resolving all conflicts, making sure that you don't
duplicate the effort and letting it all to be tested before it will hit
the bus.

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-21-digetx@gmail.com/

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART
  2021-12-09 17:33 ` [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART Thierry Reding
@ 2021-12-09 19:01   ` Dmitry Osipenko
  2021-12-10 13:49     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 19:01 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> When the Tegra High-Speed UART is used instead of the regular UART, the
> reg-shift property is implied from the compatible string and should not
> be explicitly listed.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi               | 3 +++
>  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 ++
>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 ++
>  arch/arm/boot/dts/tegra30-colibri.dtsi                    | 2 ++
>  4 files changed, 9 insertions(+)

Again?

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies
  2021-12-09 17:33 ` [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies Thierry Reding
@ 2021-12-09 19:07   ` Dmitry Osipenko
  2021-12-10 14:51     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 19:07 UTC (permalink / raw)
  To: Thierry Reding, David Heidelberg; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The Medcom Wide and PAZ00 boards don't specify the power supply for the
> backlight, which means that the Linux driver will provide a dummy one.
> Wire up an explicit dummy to also make the DT schema validation succeed.
> Unfortunately I don't have access to the schematics for these boards, so
> I don't know if a more accurate description is possible.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra20-medcom-wide.dts | 3 +++
>  arch/arm/boot/dts/tegra20-paz00.dts       | 3 +++
>  2 files changed, 6 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/tegra20-medcom-wide.dts b/arch/arm/boot/dts/tegra20-medcom-wide.dts
> index ed0e4012e140..b072d715999e 100644
> --- a/arch/arm/boot/dts/tegra20-medcom-wide.dts
> +++ b/arch/arm/boot/dts/tegra20-medcom-wide.dts
> @@ -54,6 +54,9 @@ backlight: backlight {
>  
>  		brightness-levels = <0 4 8 16 32 64 128 255>;
>  		default-brightness-level = <6>;
> +
> +		/* dummy */
> +		power-supply = <&vdd_5v0_reg>;
>  	};
>  
>  	panel: panel {
> diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
> index e4c6c1363fc5..dd80108ac72c 100644
> --- a/arch/arm/boot/dts/tegra20-paz00.dts
> +++ b/arch/arm/boot/dts/tegra20-paz00.dts
> @@ -571,6 +571,9 @@ backlight: backlight {
>  
>  		brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
>  		default-brightness-level = <10>;
> +
> +		/* dummy */
> +		power-supply = <&p5valw_reg>;
>  	};
>  
>  	clk32k_in: clock-32k {
> 

I think David's patches should be more correct [1][2]. Very unlikely
that 5v is used directly for backlight. I looked at the AC100 patch
previously, checking schematics. You can download paz00 schematics from
the internet [3].

[1]
https://github.com/okias/linux/commit/0a24a3097b2dcb6bb81b13197a2d4836f858199e

[2]
https://github.com/okias/linux/commit/98a2a32c482d0ffd59d96d22ae4169cc3d0ff15d

[3]
https://www.s-manuals.com/pdf/motherboard/compal/compal_la-6352p_r1.0a_schematics.pdf

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes
  2021-12-09 17:33 ` [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes Thierry Reding
@ 2021-12-09 19:13   ` Dmitry Osipenko
  2021-12-10 14:38     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 19:13 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The "pwm-" prefix currently matches the DT schema for PWM controllers
> and throws an error in that case. This is something that should be fixed
> in the PWM DT schema, but in this case we can also preempt any such
> conflict by naming the nodes after the pins like we do for many others
> of these nodes.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra20-colibri-eval-v3.dts | 4 ++--
>  arch/arm/boot/dts/tegra20-colibri-iris.dts    | 4 ++--
>  arch/arm/boot/dts/tegra20-colibri.dtsi        | 4 ++--
>  3 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
> index a05fb3853da8..d2a3bf9d28bd 100644
> --- a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
> +++ b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
> @@ -70,11 +70,11 @@ mmccd {
>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>  			};
>  
> -			pwm-a-b {
> +			sdc {
>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>  			};
>  
> -			pwm-c-d {
> +			sdb_sdd {
>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>  			};
>  
> diff --git a/arch/arm/boot/dts/tegra20-colibri-iris.dts b/arch/arm/boot/dts/tegra20-colibri-iris.dts
> index 425494b9ed54..00ecbbd5e9e1 100644
> --- a/arch/arm/boot/dts/tegra20-colibri-iris.dts
> +++ b/arch/arm/boot/dts/tegra20-colibri-iris.dts
> @@ -70,11 +70,11 @@ mmccd {
>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>  			};
>  
> -			pwm-a-b {
> +			sdc {
>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>  			};
>  
> -			pwm-c-d {
> +			sdb_sdd {
>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>  			};
>  
> diff --git a/arch/arm/boot/dts/tegra20-colibri.dtsi b/arch/arm/boot/dts/tegra20-colibri.dtsi
> index 80e439003a6d..2350fda3be6a 100644
> --- a/arch/arm/boot/dts/tegra20-colibri.dtsi
> +++ b/arch/arm/boot/dts/tegra20-colibri.dtsi
> @@ -113,7 +113,7 @@ bl-on {
>  			};
>  
>  			/* Colibri Backlight PWM<A>, PWM<B> */
> -			pwm-a-b {
> +			sdc {
>  				nvidia,pins = "sdc";
>  				nvidia,function = "pwm";
>  				nvidia,tristate = <TEGRA_PIN_ENABLE>;
> @@ -242,7 +242,7 @@ cif {
>  			};
>  
>  			/* Colibri PWM<C>, PWM<D> */
> -			pwm-c-d {
> +			sdb_sdd {
>  				nvidia,pins = "sdb", "sdd";
>  				nvidia,function = "pwm";
>  				nvidia,tristate = <TEGRA_PIN_ENABLE>;
> 

Should be a bit nicer to add the 'pin-' prefix, like I suggested to
David [1] sometime ago.

[1]
https://github.com/okias/linux/commit/53ba2d29981502790a5f64126f68926b51da0d8c

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-09 17:33 ` [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property Thierry Reding
@ 2021-12-09 19:24   ` Dmitry Osipenko
  2021-12-10 15:05     ` Thierry Reding
  2021-12-09 20:30   ` Dmitry Osipenko
  1 sibling, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 19:24 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The Ouya board specifies the #reset-cells property for the GPIO
> controller. Since the GPIO controller doesn't provide reset controls
> this is not needed, so they can be dropped.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
> index 4259871b76c9..fd64aadc472a 100644
> --- a/arch/arm/boot/dts/tegra30-ouya.dts
> +++ b/arch/arm/boot/dts/tegra30-ouya.dts
> @@ -70,7 +70,6 @@ hdmi@54280000 {
>  
>  	gpio: gpio@6000d000 {
>  		gpio-ranges = <&pinmux 0 0 248>;
> -		#reset-cells = <1>;
>  	};
>  
>  	pinmux@70000868 {
> 

Can we uncomment the gpio-ranges in tegra.dtsi? I reviewed and tested it
almost 3 years ago [1].

[1]
https://lore.kernel.org/linux-tegra/20180726154025.13173-2-stefan@agner.ch/

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer
  2021-12-09 17:33 ` [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer Thierry Reding
@ 2021-12-09 19:36   ` Dmitry Osipenko
  2021-12-10 13:42     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 19:36 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The TKE (time-keeping engine) found on Tegra30 and later is not
> backwards compatible with the version found on Tegra20, so update the
> compatible string list accordingly.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra114.dtsi | 2 +-
>  arch/arm/boot/dts/tegra124.dtsi | 2 +-
>  arch/arm/boot/dts/tegra30.dtsi  | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> index 546272e396b4..328425dba023 100644
> --- a/arch/arm/boot/dts/tegra114.dtsi
> +++ b/arch/arm/boot/dts/tegra114.dtsi
> @@ -164,7 +164,7 @@ lic: interrupt-controller@60004000 {
>  	};
>  
>  	timer@60005000 {
> -		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> +		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer";
>  		reg = <0x60005000 0x400>;
>  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
>  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
> index 63a64171b422..f4ac0c327c2e 100644
> --- a/arch/arm/boot/dts/tegra124.dtsi
> +++ b/arch/arm/boot/dts/tegra124.dtsi
> @@ -259,7 +259,7 @@ lic: interrupt-controller@60004000 {
>  	};
>  
>  	timer@60005000 {
> -		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> +		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer";
>  		reg = <0x0 0x60005000 0x0 0x400>;
>  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
>  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
> index ae3df73c20a7..4c04b9c28484 100644
> --- a/arch/arm/boot/dts/tegra30.dtsi
> +++ b/arch/arm/boot/dts/tegra30.dtsi
> @@ -342,7 +342,7 @@ lic: interrupt-controller@60004000 {
>  	};
>  
>  	timer@60005000 {
> -		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> +		compatible = "nvidia,tegra30-timer";
>  		reg = <0x60005000 0x400>;
>  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
>  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> 

What exactly is incompatible? IIRC, T30+ is a superset of T20. This
patch should be wrong, also see [1].

[1]
https://elixir.bootlin.com/linux/v5.16-rc4/source/drivers/clocksource/timer-tegra.c#L404

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes
  2021-12-09 17:33 ` [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes Thierry Reding
@ 2021-12-09 20:01   ` Dmitry Osipenko
  2021-12-10 12:17     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 20:01 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The external memory controller should be sorted after the memory
> controller to keep the ordering by unit-address intact.

"sorted after the memory controller, I don't understand what this means.
Please clarify.

> While at it,
> rename the emc-timings and timing nodes to avoid including the RAM code
> and clock frequency in their names. There is no requirement to do this,
> so we can use simple enumerations instead.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra124-apalis-emc.dtsi    |  483 +++--
>  .../arm/boot/dts/tegra124-jetson-tk1-emc.dtsi |  699 +++---
>  arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi  | 1918 +++++++++--------
>  .../arm/boot/dts/tegra124-nyan-blaze-emc.dtsi |  639 +++---
>  4 files changed, 1900 insertions(+), 1839 deletions(-)

It's very suspicious that you changed only T124. This all doesn't look
good to me.

Please either explain it all or drop this patch.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 11/25] ARM: tegra: Rename thermal zone nodes
  2021-12-09 17:33 ` [PATCH 11/25] ARM: tegra: Rename thermal zone nodes Thierry Reding
@ 2021-12-09 20:06   ` Dmitry Osipenko
  2021-12-10 14:10     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 20:06 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The DT schema requires that nodes representing thermal zones include a
> "-thermal" suffix in their name.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi | 6 +++---
>  arch/arm/boot/dts/tegra124-apalis.dtsi      | 6 +++---
>  arch/arm/boot/dts/tegra124-jetson-tk1.dts   | 6 +++---
>  arch/arm/boot/dts/tegra124.dtsi             | 8 ++++----
>  4 files changed, 13 insertions(+), 13 deletions(-)

Won't this break the soctherm driver? Looks like it relies on those
names. Have you tested this?

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-09 17:33 ` [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property Thierry Reding
  2021-12-09 19:24   ` Dmitry Osipenko
@ 2021-12-09 20:30   ` Dmitry Osipenko
  1 sibling, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 20:30 UTC (permalink / raw)
  To: Thierry Reding, Peter Geis; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The Ouya board specifies the #reset-cells property for the GPIO
> controller. Since the GPIO controller doesn't provide reset controls
> this is not needed, so they can be dropped.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
> index 4259871b76c9..fd64aadc472a 100644
> --- a/arch/arm/boot/dts/tegra30-ouya.dts
> +++ b/arch/arm/boot/dts/tegra30-ouya.dts
> @@ -70,7 +70,6 @@ hdmi@54280000 {
>  
>  	gpio: gpio@6000d000 {
>  		gpio-ranges = <&pinmux 0 0 248>;
> -		#reset-cells = <1>;
>  	};
>  
>  	pinmux@70000868 {
> 

Reviewed-by: Dmitry Osipenko <digetx@gmail.com>

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC
  2021-12-09 17:33 ` [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC Thierry Reding
@ 2021-12-09 20:34   ` Dmitry Osipenko
  2021-12-10 13:43     ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-09 20:34 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

09.12.2021 20:33, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
> 
> The Tegra memory controller provides reset controls for hotflush reset,
> so the #reset-cells property must be specified.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  arch/arm/boot/dts/tegra114.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> index 328425dba023..ce7410ee08b8 100644
> --- a/arch/arm/boot/dts/tegra114.dtsi
> +++ b/arch/arm/boot/dts/tegra114.dtsi
> @@ -542,6 +542,7 @@ mc: memory-controller@70019000 {
>  
>  		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
>  
> +		#reset-cells = <1>;
>  		#iommu-cells = <1>;
>  	};
>  
> 

This will conflict with the patch that adds video decoder node [1].
Since the VDE patch was sent out earlier, I suggest you to drop this patch.

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-23-digetx@gmail.com/

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes
  2021-12-09 20:01   ` Dmitry Osipenko
@ 2021-12-10 12:17     ` Thierry Reding
  2021-12-10 15:15       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 12:17 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1907 bytes --]

On Thu, Dec 09, 2021 at 11:01:10PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The external memory controller should be sorted after the memory
> > controller to keep the ordering by unit-address intact.
> 
> "sorted after the memory controller, I don't understand what this means.
> Please clarify.

In device tree we sort nodes by unit-address. In these files the
external memory controller device tree nodes (which have a higher unit-
address than the memory controller device tree nodes) was listed before
the memory controller device tree node. This fixes the order by sorting
the nodes correctly.

Guess "sort after" doesn't really exist, but I thought it'd be clear
enough in the context to avoid using so many words. Guess I was wrong.

> 
> > While at it,
> > rename the emc-timings and timing nodes to avoid including the RAM code
> > and clock frequency in their names. There is no requirement to do this,
> > so we can use simple enumerations instead.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra124-apalis-emc.dtsi    |  483 +++--
> >  .../arm/boot/dts/tegra124-jetson-tk1-emc.dtsi |  699 +++---
> >  arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi  | 1918 +++++++++--------
> >  .../arm/boot/dts/tegra124-nyan-blaze-emc.dtsi |  639 +++---
> >  4 files changed, 1900 insertions(+), 1839 deletions(-)
> 
> It's very suspicious that you changed only T124. This all doesn't look
> good to me.
> 
> Please either explain it all or drop this patch.

Well, on other SoCs the order of the MC vs. EMC was correct, so I didn't
have to touch those and therefore didn't fix up the numbering while at
it. What exactly is suspicous about that?

I'll go and update all of those files as well if that makes you happy.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 04/25] ARM: tegra: Rename top-level clocks
  2021-12-09 18:27   ` Dmitry Osipenko
@ 2021-12-10 12:53     ` Thierry Reding
  2021-12-11 16:45       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 12:53 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2236 bytes --]

On Thu, Dec 09, 2021 at 09:27:01PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > Clocks defined at the top level in device tree are no longer part of a
> > simple bus and therefore don't have a reg property. Nodes without a reg
> > property shouldn't have a unit-address either, so drop the unit address
> > from the node names. To ensure nodes aren't duplicated (in which case
> > they would end up merged in the final DTB), append the name of the clock
> > to the node name.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra114-dalmore.dts                    | 2 +-
> >  arch/arm/boot/dts/tegra114-roth.dts                       | 2 +-
> >  arch/arm/boot/dts/tegra114-tn7.dts                        | 2 +-
> >  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 +-
> >  arch/arm/boot/dts/tegra124-nyan.dtsi                      | 2 +-
> >  arch/arm/boot/dts/tegra124-venice2.dts                    | 2 +-
> >  arch/arm/boot/dts/tegra20-acer-a500-picasso.dts           | 4 ++--
> >  arch/arm/boot/dts/tegra20-harmony.dts                     | 2 +-
> >  arch/arm/boot/dts/tegra20-paz00.dts                       | 2 +-
> >  arch/arm/boot/dts/tegra20-seaboard.dts                    | 2 +-
> >  arch/arm/boot/dts/tegra20-tamonten.dtsi                   | 2 +-
> >  arch/arm/boot/dts/tegra20-trimslice.dts                   | 2 +-
> >  arch/arm/boot/dts/tegra20-ventana.dts                     | 2 +-
> >  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 +-
> >  arch/arm/boot/dts/tegra30-beaver.dts                      | 2 +-
> >  arch/arm/boot/dts/tegra30-cardhu.dtsi                     | 2 +-
> >  16 files changed, 17 insertions(+), 17 deletions(-)
> 
> This and the next patch duplicate the preexisting patch [1] that you saw
> and skipped previously. It looks odd that you redoing it on your own
> now. This is not okay to me unless you talked to David and he is aware
> about it.

I had completely forgotten about it. I'll substitute David's authorship
for mine, but I'd prefer to keep the two changes in separate patches.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer
  2021-12-09 19:36   ` Dmitry Osipenko
@ 2021-12-10 13:42     ` Thierry Reding
  2021-12-10 15:23       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 13:42 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2976 bytes --]

On Thu, Dec 09, 2021 at 10:36:43PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The TKE (time-keeping engine) found on Tegra30 and later is not
> > backwards compatible with the version found on Tegra20, so update the
> > compatible string list accordingly.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra114.dtsi | 2 +-
> >  arch/arm/boot/dts/tegra124.dtsi | 2 +-
> >  arch/arm/boot/dts/tegra30.dtsi  | 2 +-
> >  3 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> > index 546272e396b4..328425dba023 100644
> > --- a/arch/arm/boot/dts/tegra114.dtsi
> > +++ b/arch/arm/boot/dts/tegra114.dtsi
> > @@ -164,7 +164,7 @@ lic: interrupt-controller@60004000 {
> >  	};
> >  
> >  	timer@60005000 {
> > -		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> > +		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer";
> >  		reg = <0x60005000 0x400>;
> >  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
> >  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> > diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
> > index 63a64171b422..f4ac0c327c2e 100644
> > --- a/arch/arm/boot/dts/tegra124.dtsi
> > +++ b/arch/arm/boot/dts/tegra124.dtsi
> > @@ -259,7 +259,7 @@ lic: interrupt-controller@60004000 {
> >  	};
> >  
> >  	timer@60005000 {
> > -		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> > +		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer";
> >  		reg = <0x0 0x60005000 0x0 0x400>;
> >  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
> >  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> > diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
> > index ae3df73c20a7..4c04b9c28484 100644
> > --- a/arch/arm/boot/dts/tegra30.dtsi
> > +++ b/arch/arm/boot/dts/tegra30.dtsi
> > @@ -342,7 +342,7 @@ lic: interrupt-controller@60004000 {
> >  	};
> >  
> >  	timer@60005000 {
> > -		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> > +		compatible = "nvidia,tegra30-timer";
> >  		reg = <0x60005000 0x400>;
> >  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
> >  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> > 
> 
> What exactly is incompatible? IIRC, T30+ is a superset of T20. This
> patch should be wrong, also see [1].

As the comment in that location explains, Tegra114 and later have an
architectural timer that is preferred over the legacy timer. So while
this doesn't technically make Tegra114 incompatible (in terms of
register programming, etc.) with Tegra20, in practice we don't want
Tegra20 behaviour on Tegra114 and later.

For Tegra30, you're indeed correct, there shouldn't be a difference, so
I can add that back in.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC
  2021-12-09 20:34   ` Dmitry Osipenko
@ 2021-12-10 13:43     ` Thierry Reding
  2021-12-10 15:28       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 13:43 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1316 bytes --]

On Thu, Dec 09, 2021 at 11:34:39PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The Tegra memory controller provides reset controls for hotflush reset,
> > so the #reset-cells property must be specified.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra114.dtsi | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> > index 328425dba023..ce7410ee08b8 100644
> > --- a/arch/arm/boot/dts/tegra114.dtsi
> > +++ b/arch/arm/boot/dts/tegra114.dtsi
> > @@ -542,6 +542,7 @@ mc: memory-controller@70019000 {
> >  
> >  		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
> >  
> > +		#reset-cells = <1>;
> >  		#iommu-cells = <1>;
> >  	};
> >  
> > 
> 
> This will conflict with the patch that adds video decoder node [1].
> Since the VDE patch was sent out earlier, I suggest you to drop this patch.
> 
> [1]
> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-23-digetx@gmail.com/

I prefer to keep this separate because it actually gives the reason for
why this is added, whereas with the VDE node patch it looks like it's
there by mistake.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART
  2021-12-09 19:01   ` Dmitry Osipenko
@ 2021-12-10 13:49     ` Thierry Reding
  0 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 13:49 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1035 bytes --]

On Thu, Dec 09, 2021 at 10:01:02PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > When the Tegra High-Speed UART is used instead of the regular UART, the
> > reg-shift property is implied from the compatible string and should not
> > be explicitly listed.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi               | 3 +++
> >  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 ++
> >  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 ++
> >  arch/arm/boot/dts/tegra30-colibri.dtsi                    | 2 ++
> >  4 files changed, 9 insertions(+)
> 
> Again?

Yeah, I ended up with a bunch more cleanup patches than I had
anticipated, so I wanted to send them all out in one batch. Still need
to resolve why this isn't always flagged, but in the meantime I'll add
fixes for the remaining HS UART instances to this patch.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 11/25] ARM: tegra: Rename thermal zone nodes
  2021-12-09 20:06   ` Dmitry Osipenko
@ 2021-12-10 14:10     ` Thierry Reding
  2021-12-10 15:29       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 14:10 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2873 bytes --]

On Thu, Dec 09, 2021 at 11:06:30PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The DT schema requires that nodes representing thermal zones include a
> > "-thermal" suffix in their name.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi | 6 +++---
> >  arch/arm/boot/dts/tegra124-apalis.dtsi      | 6 +++---
> >  arch/arm/boot/dts/tegra124-jetson-tk1.dts   | 6 +++---
> >  arch/arm/boot/dts/tegra124.dtsi             | 8 ++++----
> >  4 files changed, 13 insertions(+), 13 deletions(-)
> 
> Won't this break the soctherm driver? Looks like it relies on those
> names. Have you tested this?

No, as far as I can tell this is matched based on the sensor ID. The
name that is specified in the driver is only used in kernel messages
but has no impact on how the nodes are matched, so this patch should
have no impact on functionality at all.

I've just tested this on Jetson TK1 and indeed all of the thermal
zones are still properly accounted for:

	# ls /sys/class/thermal/thermal_zone*
	/sys/class/thermal/thermal_zone0:
	available_policies  k_d   offset     sustainable_power  trip_point_1_hyst
	cdev0               k_i   policy     temp               trip_point_1_temp
	cdev0_trip_point    k_po  power      trip_point_0_hyst  trip_point_1_type
	cdev0_weight        k_pu  slope      trip_point_0_temp  type
	integral_cutoff     mode  subsystem  trip_point_0_type  uevent

	/sys/class/thermal/thermal_zone1:
	available_policies  k_pu    slope              trip_point_0_temp  type
	integral_cutoff     mode    subsystem          trip_point_0_type  uevent
	k_d                 offset  sustainable_power  trip_point_1_hyst
	k_i                 policy  temp               trip_point_1_temp
	k_po                power   trip_point_0_hyst  trip_point_1_type

	/sys/class/thermal/thermal_zone2:
	available_policies  k_d   offset     sustainable_power  trip_point_1_hyst
	cdev0               k_i   policy     temp               trip_point_1_temp
	cdev0_trip_point    k_po  power      trip_point_0_hyst  trip_point_1_type
	cdev0_weight        k_pu  slope      trip_point_0_temp  type
	integral_cutoff     mode  subsystem  trip_point_0_type  uevent

	/sys/class/thermal/thermal_zone3:
	available_policies  k_pu    slope              trip_point_0_temp  type
	integral_cutoff     mode    subsystem          trip_point_0_type  uevent
	k_d                 offset  sustainable_power  trip_point_1_hyst
	k_i                 policy  temp               trip_point_1_temp
	k_po                power   trip_point_0_hyst  trip_point_1_type

The only difference, as far as I can tell, is that the "type" attribute
now reflects the new name, but that seems harmless enough.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes
  2021-12-09 18:38   ` Dmitry Osipenko
@ 2021-12-10 14:27     ` Thierry Reding
  2021-12-10 15:33       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 14:27 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2073 bytes --]

On Thu, Dec 09, 2021 at 09:38:06PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > OPP nodes do not have a "reg" property and therefore shouldn't have a
> > unit-address. Instead, use a dash instead of the '@' and ',' characters
> > to allow validation of the nodes against the DT schema.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  .../boot/dts/tegra124-peripherals-opp.dtsi    | 142 ++++++++---------
> >  .../boot/dts/tegra20-cpu-opp-microvolt.dtsi   |  82 +++++-----
> >  arch/arm/boot/dts/tegra20-cpu-opp.dtsi        |  82 +++++-----
> >  .../arm/boot/dts/tegra20-peripherals-opp.dtsi |  36 ++---
> >  .../boot/dts/tegra30-cpu-opp-microvolt.dtsi   | 144 +++++++++---------
> >  arch/arm/boot/dts/tegra30-cpu-opp.dtsi        | 144 +++++++++---------
> >  .../arm/boot/dts/tegra30-peripherals-opp.dtsi | 130 ++++++++--------
> >  7 files changed, 382 insertions(+), 378 deletions(-)
> 
> This patch is wrong, you haven't renamed the delete-node properties [1].

Yeah, I noticed that too as I was reworking the EMC timing nodes as you
requested.

> Please stop rewriting patches and use what already has been sent out and
> tested, thanks.
> 
> [1]
> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211130232347.950-35-digetx@gmail.com/

I've had versions of this in my tree for literally years now, so I
haven't exactly been rewriting these. Rather this is an iteration of
work that I had started over 18 months ago:

	http://patchwork.ozlabs.org/project/linux-tegra/patch/20200616135238.3001888-26-thierry.reding@gmail.com/

After that obviously things had to be changed again. The earliest
version that you sent that I can find is from late October which is when
I was already in the midst of this latest effort to get Tegra DTBs to
validate.

What's really been happening here is that we haven't been communicating
and ended up duplicating work.

Stop making this into something it isn't.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes
  2021-12-09 19:13   ` Dmitry Osipenko
@ 2021-12-10 14:38     ` Thierry Reding
  2021-12-10 15:38       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 14:38 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 3038 bytes --]

On Thu, Dec 09, 2021 at 10:13:56PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The "pwm-" prefix currently matches the DT schema for PWM controllers
> > and throws an error in that case. This is something that should be fixed
> > in the PWM DT schema, but in this case we can also preempt any such
> > conflict by naming the nodes after the pins like we do for many others
> > of these nodes.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra20-colibri-eval-v3.dts | 4 ++--
> >  arch/arm/boot/dts/tegra20-colibri-iris.dts    | 4 ++--
> >  arch/arm/boot/dts/tegra20-colibri.dtsi        | 4 ++--
> >  3 files changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
> > index a05fb3853da8..d2a3bf9d28bd 100644
> > --- a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
> > +++ b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
> > @@ -70,11 +70,11 @@ mmccd {
> >  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >  			};
> >  
> > -			pwm-a-b {
> > +			sdc {
> >  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >  			};
> >  
> > -			pwm-c-d {
> > +			sdb_sdd {
> >  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >  			};
> >  
> > diff --git a/arch/arm/boot/dts/tegra20-colibri-iris.dts b/arch/arm/boot/dts/tegra20-colibri-iris.dts
> > index 425494b9ed54..00ecbbd5e9e1 100644
> > --- a/arch/arm/boot/dts/tegra20-colibri-iris.dts
> > +++ b/arch/arm/boot/dts/tegra20-colibri-iris.dts
> > @@ -70,11 +70,11 @@ mmccd {
> >  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >  			};
> >  
> > -			pwm-a-b {
> > +			sdc {
> >  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >  			};
> >  
> > -			pwm-c-d {
> > +			sdb_sdd {
> >  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
> >  			};
> >  
> > diff --git a/arch/arm/boot/dts/tegra20-colibri.dtsi b/arch/arm/boot/dts/tegra20-colibri.dtsi
> > index 80e439003a6d..2350fda3be6a 100644
> > --- a/arch/arm/boot/dts/tegra20-colibri.dtsi
> > +++ b/arch/arm/boot/dts/tegra20-colibri.dtsi
> > @@ -113,7 +113,7 @@ bl-on {
> >  			};
> >  
> >  			/* Colibri Backlight PWM<A>, PWM<B> */
> > -			pwm-a-b {
> > +			sdc {
> >  				nvidia,pins = "sdc";
> >  				nvidia,function = "pwm";
> >  				nvidia,tristate = <TEGRA_PIN_ENABLE>;
> > @@ -242,7 +242,7 @@ cif {
> >  			};
> >  
> >  			/* Colibri PWM<C>, PWM<D> */
> > -			pwm-c-d {
> > +			sdb_sdd {
> >  				nvidia,pins = "sdb", "sdd";
> >  				nvidia,function = "pwm";
> >  				nvidia,tristate = <TEGRA_PIN_ENABLE>;
> > 
> 
> Should be a bit nicer to add the 'pin-' prefix, like I suggested to
> David [1] sometime ago.

We don't use the pin- prefix anywhere else, so it would just look out of
place. We've used this kind of notation where the node name is composed
of the concatenation of the pins defined within elsewhere, so I prefer
that.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies
  2021-12-09 19:07   ` Dmitry Osipenko
@ 2021-12-10 14:51     ` Thierry Reding
  0 siblings, 0 replies; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 14:51 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: David Heidelberg, Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2616 bytes --]

On Thu, Dec 09, 2021 at 10:07:48PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The Medcom Wide and PAZ00 boards don't specify the power supply for the
> > backlight, which means that the Linux driver will provide a dummy one.
> > Wire up an explicit dummy to also make the DT schema validation succeed.
> > Unfortunately I don't have access to the schematics for these boards, so
> > I don't know if a more accurate description is possible.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra20-medcom-wide.dts | 3 +++
> >  arch/arm/boot/dts/tegra20-paz00.dts       | 3 +++
> >  2 files changed, 6 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/tegra20-medcom-wide.dts b/arch/arm/boot/dts/tegra20-medcom-wide.dts
> > index ed0e4012e140..b072d715999e 100644
> > --- a/arch/arm/boot/dts/tegra20-medcom-wide.dts
> > +++ b/arch/arm/boot/dts/tegra20-medcom-wide.dts
> > @@ -54,6 +54,9 @@ backlight: backlight {
> >  
> >  		brightness-levels = <0 4 8 16 32 64 128 255>;
> >  		default-brightness-level = <6>;
> > +
> > +		/* dummy */
> > +		power-supply = <&vdd_5v0_reg>;
> >  	};
> >  
> >  	panel: panel {
> > diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
> > index e4c6c1363fc5..dd80108ac72c 100644
> > --- a/arch/arm/boot/dts/tegra20-paz00.dts
> > +++ b/arch/arm/boot/dts/tegra20-paz00.dts
> > @@ -571,6 +571,9 @@ backlight: backlight {
> >  
> >  		brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
> >  		default-brightness-level = <10>;
> > +
> > +		/* dummy */
> > +		power-supply = <&p5valw_reg>;
> >  	};
> >  
> >  	clk32k_in: clock-32k {
> > 
> 
> I think David's patches should be more correct [1][2]. Very unlikely
> that 5v is used directly for backlight. I looked at the AC100 patch
> previously, checking schematics. You can download paz00 schematics from
> the internet [3].
> 
> [1]
> https://github.com/okias/linux/commit/0a24a3097b2dcb6bb81b13197a2d4836f858199e
> 
> [2]
> https://github.com/okias/linux/commit/98a2a32c482d0ffd59d96d22ae4169cc3d0ff15d
> 
> [3]
> https://www.s-manuals.com/pdf/motherboard/compal/compal_la-6352p_r1.0a_schematics.pdf

It's not really clear from that schematic which one exactly drives the
backlight, but vdd_pnl_reg is probably close enough. And yeah,
vdd_3v3_reg on Medcom Wide is likely a bit better. I'll pick those
instead and credit David for it.

Thanks for the pointer.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes
  2021-12-09 18:57   ` Dmitry Osipenko
@ 2021-12-10 15:01     ` Thierry Reding
  2021-12-10 16:08       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 15:01 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1631 bytes --]

On Thu, Dec 09, 2021 at 09:57:08PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The "clock-frequency" property for an I2C controller needs to be
> > specified at the bus level.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi | 3 ++-
> >  arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi | 4 ++--
> >  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> The clock-frequency is specified in the parent-common N7 DTSI, NAK.
> 
> There is already patch from David that removes the clock-frequency from
> NFC node [1], please use it.
> 
> Please never again rewrite the preexisting patches, this makes you look odd.

Again, please don't make this into something it isn't.

> I suggest to collect *all* patches (not only your own) into single
> for-next branch, resolving all conflicts, making sure that you don't
> duplicate the effort and letting it all to be tested before it will hit
> the bus.

You know, if you guys communicated better over existing channels or
actually let me know of what's going on then a lot of this could've been
avoided. I don't have visibility into what you're all up to, so I can't
take that into account.

If I happen to start working on something that someone else is also
doing in their corner, that's by accident, not because I have bad
intentions or because "I want to do everything myself", or whatever
other reason you keep coming up with.

Stop insinuating things that aren't true.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-09 19:24   ` Dmitry Osipenko
@ 2021-12-10 15:05     ` Thierry Reding
  2021-12-10 18:08       ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-10 15:05 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1175 bytes --]

On Thu, Dec 09, 2021 at 10:24:26PM +0300, Dmitry Osipenko wrote:
> 09.12.2021 20:33, Thierry Reding пишет:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > The Ouya board specifies the #reset-cells property for the GPIO
> > controller. Since the GPIO controller doesn't provide reset controls
> > this is not needed, so they can be dropped.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
> >  1 file changed, 1 deletion(-)
> > 
> > diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
> > index 4259871b76c9..fd64aadc472a 100644
> > --- a/arch/arm/boot/dts/tegra30-ouya.dts
> > +++ b/arch/arm/boot/dts/tegra30-ouya.dts
> > @@ -70,7 +70,6 @@ hdmi@54280000 {
> >  
> >  	gpio: gpio@6000d000 {
> >  		gpio-ranges = <&pinmux 0 0 248>;
> > -		#reset-cells = <1>;
> >  	};
> >  
> >  	pinmux@70000868 {
> > 
> 
> Can we uncomment the gpio-ranges in tegra.dtsi? I reviewed and tested it
> almost 3 years ago [1].
> 
> [1]
> https://lore.kernel.org/linux-tegra/20180726154025.13173-2-stefan@agner.ch/

Does it still work today?

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes
  2021-12-10 12:17     ` Thierry Reding
@ 2021-12-10 15:15       ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 15:15 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 15:17, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 11:01:10PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The external memory controller should be sorted after the memory
>>> controller to keep the ordering by unit-address intact.
>>
>> "sorted after the memory controller, I don't understand what this means.
>> Please clarify.
> 
> In device tree we sort nodes by unit-address. In these files the
> external memory controller device tree nodes (which have a higher unit-
> address than the memory controller device tree nodes) was listed before
> the memory controller device tree node. This fixes the order by sorting
> the nodes correctly.
> 
> Guess "sort after" doesn't really exist, but I thought it'd be clear
> enough in the context to avoid using so many words. Guess I was wrong.

Now I see what you did, thanks.

>>> While at it,
>>> rename the emc-timings and timing nodes to avoid including the RAM code
>>> and clock frequency in their names. There is no requirement to do this,
>>> so we can use simple enumerations instead.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra124-apalis-emc.dtsi    |  483 +++--
>>>  .../arm/boot/dts/tegra124-jetson-tk1-emc.dtsi |  699 +++---
>>>  arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi  | 1918 +++++++++--------
>>>  .../arm/boot/dts/tegra124-nyan-blaze-emc.dtsi |  639 +++---
>>>  4 files changed, 1900 insertions(+), 1839 deletions(-)
>>
>> It's very suspicious that you changed only T124. This all doesn't look
>> good to me.
>>
>> Please either explain it all or drop this patch.
> 
> Well, on other SoCs the order of the MC vs. EMC was correct, so I didn't
> have to touch those and therefore didn't fix up the numbering while at
> it. What exactly is suspicous about that?
> 
> I'll go and update all of those files as well if that makes you happy.

You renamed only the T124 timings here. This is similar to another patch
where you partially removed the reg-shift, which is incorrect to do.

If you'll split this patch into two and rename all the timings
consistently in a separate patch, then I'll be happy. Please note that
you'll also have to change the new DTs if you're going to take them into
5.17.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer
  2021-12-10 13:42     ` Thierry Reding
@ 2021-12-10 15:23       ` Dmitry Osipenko
  2021-12-13 16:04         ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 15:23 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 16:42, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 10:36:43PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The TKE (time-keeping engine) found on Tegra30 and later is not
>>> backwards compatible with the version found on Tegra20, so update the
>>> compatible string list accordingly.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra114.dtsi | 2 +-
>>>  arch/arm/boot/dts/tegra124.dtsi | 2 +-
>>>  arch/arm/boot/dts/tegra30.dtsi  | 2 +-
>>>  3 files changed, 3 insertions(+), 3 deletions(-)
...
>>>  	timer@60005000 {
>>> -		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
>>> +		compatible = "nvidia,tegra30-timer";
>>>  		reg = <0x60005000 0x400>;
>>>  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
>>>  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
>>>
>>
>> What exactly is incompatible? IIRC, T30+ is a superset of T20. This
>> patch should be wrong, also see [1].
> 
> As the comment in that location explains, Tegra114 and later have an
> architectural timer that is preferred over the legacy timer. So while
> this doesn't technically make Tegra114 incompatible (in terms of
> register programming, etc.) with Tegra20, in practice we don't want
> Tegra20 behaviour on Tegra114 and later.

So the T114 timer code works using the T20 code and we prefer to use the
ARCH timer on T114+ in the driver, what is the problem then? Where is
the incompatibility?

> For Tegra30, you're indeed correct, there shouldn't be a difference, so
> I can add that back in.

Please either add it back or extend the clocksource driver with the
additional compatibles.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC
  2021-12-10 13:43     ` Thierry Reding
@ 2021-12-10 15:28       ` Dmitry Osipenko
  2021-12-13 16:06         ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 15:28 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 16:43, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 11:34:39PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The Tegra memory controller provides reset controls for hotflush reset,
>>> so the #reset-cells property must be specified.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra114.dtsi | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
>>> index 328425dba023..ce7410ee08b8 100644
>>> --- a/arch/arm/boot/dts/tegra114.dtsi
>>> +++ b/arch/arm/boot/dts/tegra114.dtsi
>>> @@ -542,6 +542,7 @@ mc: memory-controller@70019000 {
>>>  
>>>  		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
>>>  
>>> +		#reset-cells = <1>;
>>>  		#iommu-cells = <1>;
>>>  	};
>>>  
>>>
>>
>> This will conflict with the patch that adds video decoder node [1].
>> Since the VDE patch was sent out earlier, I suggest you to drop this patch.
>>
>> [1]
>> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-23-digetx@gmail.com/
> 
> I prefer to keep this separate because it actually gives the reason for
> why this is added, whereas with the VDE node patch it looks like it's
> there by mistake.

So the direct reference to the MC using TEGRA114_MC_RESET_VDE is a
mistake to you. I disagree.

I don't mind if you'll keep this patch, but then please don't forget to
resolve the conflict, or we may have two #reset-cells entries.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 11/25] ARM: tegra: Rename thermal zone nodes
  2021-12-10 14:10     ` Thierry Reding
@ 2021-12-10 15:29       ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 15:29 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 17:10, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 11:06:30PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The DT schema requires that nodes representing thermal zones include a
>>> "-thermal" suffix in their name.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi | 6 +++---
>>>  arch/arm/boot/dts/tegra124-apalis.dtsi      | 6 +++---
>>>  arch/arm/boot/dts/tegra124-jetson-tk1.dts   | 6 +++---
>>>  arch/arm/boot/dts/tegra124.dtsi             | 8 ++++----
>>>  4 files changed, 13 insertions(+), 13 deletions(-)
>>
>> Won't this break the soctherm driver? Looks like it relies on those
>> names. Have you tested this?
> 
> No, as far as I can tell this is matched based on the sensor ID. The
> name that is specified in the driver is only used in kernel messages
> but has no impact on how the nodes are matched, so this patch should
> have no impact on functionality at all.
> 
> I've just tested this on Jetson TK1 and indeed all of the thermal
> zones are still properly accounted for:
> 
> 	# ls /sys/class/thermal/thermal_zone*
> 	/sys/class/thermal/thermal_zone0:
> 	available_policies  k_d   offset     sustainable_power  trip_point_1_hyst
> 	cdev0               k_i   policy     temp               trip_point_1_temp
> 	cdev0_trip_point    k_po  power      trip_point_0_hyst  trip_point_1_type
> 	cdev0_weight        k_pu  slope      trip_point_0_temp  type
> 	integral_cutoff     mode  subsystem  trip_point_0_type  uevent
> 
> 	/sys/class/thermal/thermal_zone1:
> 	available_policies  k_pu    slope              trip_point_0_temp  type
> 	integral_cutoff     mode    subsystem          trip_point_0_type  uevent
> 	k_d                 offset  sustainable_power  trip_point_1_hyst
> 	k_i                 policy  temp               trip_point_1_temp
> 	k_po                power   trip_point_0_hyst  trip_point_1_type
> 
> 	/sys/class/thermal/thermal_zone2:
> 	available_policies  k_d   offset     sustainable_power  trip_point_1_hyst
> 	cdev0               k_i   policy     temp               trip_point_1_temp
> 	cdev0_trip_point    k_po  power      trip_point_0_hyst  trip_point_1_type
> 	cdev0_weight        k_pu  slope      trip_point_0_temp  type
> 	integral_cutoff     mode  subsystem  trip_point_0_type  uevent
> 
> 	/sys/class/thermal/thermal_zone3:
> 	available_policies  k_pu    slope              trip_point_0_temp  type
> 	integral_cutoff     mode    subsystem          trip_point_0_type  uevent
> 	k_d                 offset  sustainable_power  trip_point_1_hyst
> 	k_i                 policy  temp               trip_point_1_temp
> 	k_po                power   trip_point_0_hyst  trip_point_1_type
> 
> The only difference, as far as I can tell, is that the "type" attribute
> now reflects the new name, but that seems harmless enough.

Alright

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes
  2021-12-10 14:27     ` Thierry Reding
@ 2021-12-10 15:33       ` Dmitry Osipenko
  2021-12-10 22:39         ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 15:33 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 17:27, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 09:38:06PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> OPP nodes do not have a "reg" property and therefore shouldn't have a
>>> unit-address. Instead, use a dash instead of the '@' and ',' characters
>>> to allow validation of the nodes against the DT schema.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  .../boot/dts/tegra124-peripherals-opp.dtsi    | 142 ++++++++---------
>>>  .../boot/dts/tegra20-cpu-opp-microvolt.dtsi   |  82 +++++-----
>>>  arch/arm/boot/dts/tegra20-cpu-opp.dtsi        |  82 +++++-----
>>>  .../arm/boot/dts/tegra20-peripherals-opp.dtsi |  36 ++---
>>>  .../boot/dts/tegra30-cpu-opp-microvolt.dtsi   | 144 +++++++++---------
>>>  arch/arm/boot/dts/tegra30-cpu-opp.dtsi        | 144 +++++++++---------
>>>  .../arm/boot/dts/tegra30-peripherals-opp.dtsi | 130 ++++++++--------
>>>  7 files changed, 382 insertions(+), 378 deletions(-)
>>
>> This patch is wrong, you haven't renamed the delete-node properties [1].
> 
> Yeah, I noticed that too as I was reworking the EMC timing nodes as you
> requested.

Please use my version of the patch that was well tested.

>> Please stop rewriting patches and use what already has been sent out and
>> tested, thanks.
>>
>> [1]
>> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211130232347.950-35-digetx@gmail.com/
> 
> I've had versions of this in my tree for literally years now, so I
> haven't exactly been rewriting these. Rather this is an iteration of
> work that I had started over 18 months ago:
> 
> 	http://patchwork.ozlabs.org/project/linux-tegra/patch/20200616135238.3001888-26-thierry.reding@gmail.com/

I was commenting on that old patchset and was aware about that old
patch, it's unrelated here.

> After that obviously things had to be changed again. The earliest
> version that you sent that I can find is from late October which is when
> I was already in the midst of this latest effort to get Tegra DTBs to
> validate.

What you're saying here, is that you don't look at the patches on the
ML. This is exactly what happened more than one time in the past when
patches missed merge window and a large part of work was held back by
another two months.  This happened not only to me, but also to other
people, it's bad to see when you're about to do it again.

> What's really been happening here is that we haven't been communicating
> and ended up duplicating work.
> 
> Stop making this into something it isn't.

It's impossible to communicate when you're not looking at the messages
or not replying.  I don't know where the problem is.  If you're too busy
and don't have enough time for maintaining upstream, then solution could
be to share the duties with more people.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes
  2021-12-10 14:38     ` Thierry Reding
@ 2021-12-10 15:38       ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 15:38 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 17:38, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 10:13:56PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The "pwm-" prefix currently matches the DT schema for PWM controllers
>>> and throws an error in that case. This is something that should be fixed
>>> in the PWM DT schema, but in this case we can also preempt any such
>>> conflict by naming the nodes after the pins like we do for many others
>>> of these nodes.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra20-colibri-eval-v3.dts | 4 ++--
>>>  arch/arm/boot/dts/tegra20-colibri-iris.dts    | 4 ++--
>>>  arch/arm/boot/dts/tegra20-colibri.dtsi        | 4 ++--
>>>  3 files changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
>>> index a05fb3853da8..d2a3bf9d28bd 100644
>>> --- a/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
>>> +++ b/arch/arm/boot/dts/tegra20-colibri-eval-v3.dts
>>> @@ -70,11 +70,11 @@ mmccd {
>>>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>>>  			};
>>>  
>>> -			pwm-a-b {
>>> +			sdc {
>>>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>>>  			};
>>>  
>>> -			pwm-c-d {
>>> +			sdb_sdd {
>>>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>>>  			};
>>>  
>>> diff --git a/arch/arm/boot/dts/tegra20-colibri-iris.dts b/arch/arm/boot/dts/tegra20-colibri-iris.dts
>>> index 425494b9ed54..00ecbbd5e9e1 100644
>>> --- a/arch/arm/boot/dts/tegra20-colibri-iris.dts
>>> +++ b/arch/arm/boot/dts/tegra20-colibri-iris.dts
>>> @@ -70,11 +70,11 @@ mmccd {
>>>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>>>  			};
>>>  
>>> -			pwm-a-b {
>>> +			sdc {
>>>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>>>  			};
>>>  
>>> -			pwm-c-d {
>>> +			sdb_sdd {
>>>  				nvidia,tristate = <TEGRA_PIN_DISABLE>;
>>>  			};
>>>  
>>> diff --git a/arch/arm/boot/dts/tegra20-colibri.dtsi b/arch/arm/boot/dts/tegra20-colibri.dtsi
>>> index 80e439003a6d..2350fda3be6a 100644
>>> --- a/arch/arm/boot/dts/tegra20-colibri.dtsi
>>> +++ b/arch/arm/boot/dts/tegra20-colibri.dtsi
>>> @@ -113,7 +113,7 @@ bl-on {
>>>  			};
>>>  
>>>  			/* Colibri Backlight PWM<A>, PWM<B> */
>>> -			pwm-a-b {
>>> +			sdc {
>>>  				nvidia,pins = "sdc";
>>>  				nvidia,function = "pwm";
>>>  				nvidia,tristate = <TEGRA_PIN_ENABLE>;
>>> @@ -242,7 +242,7 @@ cif {
>>>  			};
>>>  
>>>  			/* Colibri PWM<C>, PWM<D> */
>>> -			pwm-c-d {
>>> +			sdb_sdd {
>>>  				nvidia,pins = "sdb", "sdd";
>>>  				nvidia,function = "pwm";
>>>  				nvidia,tristate = <TEGRA_PIN_ENABLE>;
>>>
>>
>> Should be a bit nicer to add the 'pin-' prefix, like I suggested to
>> David [1] sometime ago.
> 
> We don't use the pin- prefix anywhere else, so it would just look out of
> place. We've used this kind of notation where the node name is composed
> of the concatenation of the pins defined within elsewhere, so I prefer
> that.

I borrowed idea to use the 'pin-' prefix from device-trees
of other vendors. To me it's a good practice to have nodes with
meaningful names.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes
  2021-12-10 15:01     ` Thierry Reding
@ 2021-12-10 16:08       ` Dmitry Osipenko
  2021-12-13 16:10         ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 16:08 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 18:01, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 09:57:08PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The "clock-frequency" property for an I2C controller needs to be
>>> specified at the bus level.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi | 3 ++-
>>>  arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi | 4 ++--
>>>  2 files changed, 4 insertions(+), 3 deletions(-)
>>
>> The clock-frequency is specified in the parent-common N7 DTSI, NAK.
>>
>> There is already patch from David that removes the clock-frequency from
>> NFC node [1], please use it.
>>
>> Please never again rewrite the preexisting patches, this makes you look odd.
> 
> Again, please don't make this into something it isn't.
> 
>> I suggest to collect *all* patches (not only your own) into single
>> for-next branch, resolving all conflicts, making sure that you don't
>> duplicate the effort and letting it all to be tested before it will hit
>> the bus.
> 
> You know, if you guys communicated better over existing channels or
> actually let me know of what's going on then a lot of this could've been
> avoided. I don't have visibility into what you're all up to, so I can't
> take that into account.

All the messages from me and David are in yours email inbox and on
#tegra IRC. You have the complete visibility. Either you don't have time
to take a look and then forget about it or I don't know what's the problem.

> If I happen to start working on something that someone else is also
> doing in their corner, that's by accident, not because I have bad
> intentions or because "I want to do everything myself", or whatever
> other reason you keep coming up with.
> 
> Stop insinuating things that aren't true.

My point is that you're ignoring the existing patches. It may not look
like a big problem to you since you can apply patches directly and I
understand that own patches are always the most important ones, but this
is a problem for everyone around you.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-10 15:05     ` Thierry Reding
@ 2021-12-10 18:08       ` Dmitry Osipenko
  2021-12-13 16:11         ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 18:08 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 18:05, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 10:24:26PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> The Ouya board specifies the #reset-cells property for the GPIO
>>> controller. Since the GPIO controller doesn't provide reset controls
>>> this is not needed, so they can be dropped.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
>>>  1 file changed, 1 deletion(-)
>>>
>>> diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
>>> index 4259871b76c9..fd64aadc472a 100644
>>> --- a/arch/arm/boot/dts/tegra30-ouya.dts
>>> +++ b/arch/arm/boot/dts/tegra30-ouya.dts
>>> @@ -70,7 +70,6 @@ hdmi@54280000 {
>>>  
>>>  	gpio: gpio@6000d000 {
>>>  		gpio-ranges = <&pinmux 0 0 248>;
>>> -		#reset-cells = <1>;
>>>  	};
>>>  
>>>  	pinmux@70000868 {
>>>
>>
>> Can we uncomment the gpio-ranges in tegra.dtsi? I reviewed and tested it
>> almost 3 years ago [1].
>>
>> [1]
>> https://lore.kernel.org/linux-tegra/20180726154025.13173-2-stefan@agner.ch/
> 
> Does it still work today?

It works. That patch still applies as-is.


^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes
  2021-12-10 15:33       ` Dmitry Osipenko
@ 2021-12-10 22:39         ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-10 22:39 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 18:33, Dmitry Osipenko пишет:
> 10.12.2021 17:27, Thierry Reding пишет:
>> On Thu, Dec 09, 2021 at 09:38:06PM +0300, Dmitry Osipenko wrote:
>>> 09.12.2021 20:33, Thierry Reding пишет:
>>>> From: Thierry Reding <treding@nvidia.com>
>>>>
>>>> OPP nodes do not have a "reg" property and therefore shouldn't have a
>>>> unit-address. Instead, use a dash instead of the '@' and ',' characters
>>>> to allow validation of the nodes against the DT schema.
>>>>
>>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>>> ---
>>>>  .../boot/dts/tegra124-peripherals-opp.dtsi    | 142 ++++++++---------
>>>>  .../boot/dts/tegra20-cpu-opp-microvolt.dtsi   |  82 +++++-----
>>>>  arch/arm/boot/dts/tegra20-cpu-opp.dtsi        |  82 +++++-----
>>>>  .../arm/boot/dts/tegra20-peripherals-opp.dtsi |  36 ++---
>>>>  .../boot/dts/tegra30-cpu-opp-microvolt.dtsi   | 144 +++++++++---------
>>>>  arch/arm/boot/dts/tegra30-cpu-opp.dtsi        | 144 +++++++++---------
>>>>  .../arm/boot/dts/tegra30-peripherals-opp.dtsi | 130 ++++++++--------
>>>>  7 files changed, 382 insertions(+), 378 deletions(-)
>>>
>>> This patch is wrong, you haven't renamed the delete-node properties [1].
>>
>> Yeah, I noticed that too as I was reworking the EMC timing nodes as you
>> requested.
> 
> Please use my version of the patch that was well tested.
> 
>>> Please stop rewriting patches and use what already has been sent out and
>>> tested, thanks.
>>>
>>> [1]
>>> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211130232347.950-35-digetx@gmail.com/
>>
>> I've had versions of this in my tree for literally years now, so I
>> haven't exactly been rewriting these. Rather this is an iteration of
>> work that I had started over 18 months ago:
>>
>> 	http://patchwork.ozlabs.org/project/linux-tegra/patch/20200616135238.3001888-26-thierry.reding@gmail.com/
> 
> I was commenting on that old patchset and was aware about that old
> patch, it's unrelated here.
> 
>> After that obviously things had to be changed again. The earliest
>> version that you sent that I can find is from late October which is when
>> I was already in the midst of this latest effort to get Tegra DTBs to
>> validate.
> 
> What you're saying here, is that you don't look at the patches on the
> ML. This is exactly what happened more than one time in the past when
> patches missed merge window and a large part of work was held back by
> another two months.  This happened not only to me, but also to other
> people, it's bad to see when you're about to do it again.
> 
>> What's really been happening here is that we haven't been communicating
>> and ended up duplicating work.
>>
>> Stop making this into something it isn't.
> 
> It's impossible to communicate when you're not looking at the messages
> or not replying.  I don't know where the problem is.  If you're too busy
> and don't have enough time for maintaining upstream, then solution could
> be to share the duties with more people.
> 

BTW, you probably missed that it were me and David who made the new OPP
naming scheme work for Tegra ;)

https://git.kernel.org/linus/7ca81b690e

Let's not continue discussing it. Please apply all the patches that I
asked you to take care about in the private email, rebase yours changes
on top of it and push it all into -next. This will solve all the
troubles and I will be very happy.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 04/25] ARM: tegra: Rename top-level clocks
  2021-12-10 12:53     ` Thierry Reding
@ 2021-12-11 16:45       ` Dmitry Osipenko
  2021-12-13 16:02         ` Thierry Reding
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-11 16:45 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

10.12.2021 15:53, Thierry Reding пишет:
> On Thu, Dec 09, 2021 at 09:27:01PM +0300, Dmitry Osipenko wrote:
>> 09.12.2021 20:33, Thierry Reding пишет:
>>> From: Thierry Reding <treding@nvidia.com>
>>>
>>> Clocks defined at the top level in device tree are no longer part of a
>>> simple bus and therefore don't have a reg property. Nodes without a reg
>>> property shouldn't have a unit-address either, so drop the unit address
>>> from the node names. To ensure nodes aren't duplicated (in which case
>>> they would end up merged in the final DTB), append the name of the clock
>>> to the node name.
>>>
>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>> ---
>>>  arch/arm/boot/dts/tegra114-dalmore.dts                    | 2 +-
>>>  arch/arm/boot/dts/tegra114-roth.dts                       | 2 +-
>>>  arch/arm/boot/dts/tegra114-tn7.dts                        | 2 +-
>>>  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 +-
>>>  arch/arm/boot/dts/tegra124-nyan.dtsi                      | 2 +-
>>>  arch/arm/boot/dts/tegra124-venice2.dts                    | 2 +-
>>>  arch/arm/boot/dts/tegra20-acer-a500-picasso.dts           | 4 ++--
>>>  arch/arm/boot/dts/tegra20-harmony.dts                     | 2 +-
>>>  arch/arm/boot/dts/tegra20-paz00.dts                       | 2 +-
>>>  arch/arm/boot/dts/tegra20-seaboard.dts                    | 2 +-
>>>  arch/arm/boot/dts/tegra20-tamonten.dtsi                   | 2 +-
>>>  arch/arm/boot/dts/tegra20-trimslice.dts                   | 2 +-
>>>  arch/arm/boot/dts/tegra20-ventana.dts                     | 2 +-
>>>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 +-
>>>  arch/arm/boot/dts/tegra30-beaver.dts                      | 2 +-
>>>  arch/arm/boot/dts/tegra30-cardhu.dtsi                     | 2 +-
>>>  16 files changed, 17 insertions(+), 17 deletions(-)
>>
>> This and the next patch duplicate the preexisting patch [1] that you saw
>> and skipped previously. It looks odd that you redoing it on your own
>> now. This is not okay to me unless you talked to David and he is aware
>> about it.
> 
> I had completely forgotten about it. I'll substitute David's authorship
> for mine, but I'd prefer to keep the two changes in separate patches.

I'll better separate David's patch and give you credit for that. David's
patch was well tested and improved over couple months in grate kernel,
while yours not.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 04/25] ARM: tegra: Rename top-level clocks
  2021-12-11 16:45       ` Dmitry Osipenko
@ 2021-12-13 16:02         ` Thierry Reding
  2021-12-13 16:52           ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-13 16:02 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2753 bytes --]

On Sat, Dec 11, 2021 at 07:45:11PM +0300, Dmitry Osipenko wrote:
> 10.12.2021 15:53, Thierry Reding пишет:
> > On Thu, Dec 09, 2021 at 09:27:01PM +0300, Dmitry Osipenko wrote:
> >> 09.12.2021 20:33, Thierry Reding пишет:
> >>> From: Thierry Reding <treding@nvidia.com>
> >>>
> >>> Clocks defined at the top level in device tree are no longer part of a
> >>> simple bus and therefore don't have a reg property. Nodes without a reg
> >>> property shouldn't have a unit-address either, so drop the unit address
> >>> from the node names. To ensure nodes aren't duplicated (in which case
> >>> they would end up merged in the final DTB), append the name of the clock
> >>> to the node name.
> >>>
> >>> Signed-off-by: Thierry Reding <treding@nvidia.com>
> >>> ---
> >>>  arch/arm/boot/dts/tegra114-dalmore.dts                    | 2 +-
> >>>  arch/arm/boot/dts/tegra114-roth.dts                       | 2 +-
> >>>  arch/arm/boot/dts/tegra114-tn7.dts                        | 2 +-
> >>>  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 +-
> >>>  arch/arm/boot/dts/tegra124-nyan.dtsi                      | 2 +-
> >>>  arch/arm/boot/dts/tegra124-venice2.dts                    | 2 +-
> >>>  arch/arm/boot/dts/tegra20-acer-a500-picasso.dts           | 4 ++--
> >>>  arch/arm/boot/dts/tegra20-harmony.dts                     | 2 +-
> >>>  arch/arm/boot/dts/tegra20-paz00.dts                       | 2 +-
> >>>  arch/arm/boot/dts/tegra20-seaboard.dts                    | 2 +-
> >>>  arch/arm/boot/dts/tegra20-tamonten.dtsi                   | 2 +-
> >>>  arch/arm/boot/dts/tegra20-trimslice.dts                   | 2 +-
> >>>  arch/arm/boot/dts/tegra20-ventana.dts                     | 2 +-
> >>>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 +-
> >>>  arch/arm/boot/dts/tegra30-beaver.dts                      | 2 +-
> >>>  arch/arm/boot/dts/tegra30-cardhu.dtsi                     | 2 +-
> >>>  16 files changed, 17 insertions(+), 17 deletions(-)
> >>
> >> This and the next patch duplicate the preexisting patch [1] that you saw
> >> and skipped previously. It looks odd that you redoing it on your own
> >> now. This is not okay to me unless you talked to David and he is aware
> >> about it.
> > 
> > I had completely forgotten about it. I'll substitute David's authorship
> > for mine, but I'd prefer to keep the two changes in separate patches.
> 
> I'll better separate David's patch and give you credit for that. David's
> patch was well tested and improved over couple months in grate kernel,
> while yours not.

It's pretty much the same thing. There are slight differences in the
names, but other than that there should be no functional difference.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer
  2021-12-10 15:23       ` Dmitry Osipenko
@ 2021-12-13 16:04         ` Thierry Reding
  2021-12-13 16:44           ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-13 16:04 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1977 bytes --]

On Fri, Dec 10, 2021 at 06:23:34PM +0300, Dmitry Osipenko wrote:
> 10.12.2021 16:42, Thierry Reding пишет:
> > On Thu, Dec 09, 2021 at 10:36:43PM +0300, Dmitry Osipenko wrote:
> >> 09.12.2021 20:33, Thierry Reding пишет:
> >>> From: Thierry Reding <treding@nvidia.com>
> >>>
> >>> The TKE (time-keeping engine) found on Tegra30 and later is not
> >>> backwards compatible with the version found on Tegra20, so update the
> >>> compatible string list accordingly.
> >>>
> >>> Signed-off-by: Thierry Reding <treding@nvidia.com>
> >>> ---
> >>>  arch/arm/boot/dts/tegra114.dtsi | 2 +-
> >>>  arch/arm/boot/dts/tegra124.dtsi | 2 +-
> >>>  arch/arm/boot/dts/tegra30.dtsi  | 2 +-
> >>>  3 files changed, 3 insertions(+), 3 deletions(-)
> ...
> >>>  	timer@60005000 {
> >>> -		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
> >>> +		compatible = "nvidia,tegra30-timer";
> >>>  		reg = <0x60005000 0x400>;
> >>>  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
> >>>  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
> >>>
> >>
> >> What exactly is incompatible? IIRC, T30+ is a superset of T20. This
> >> patch should be wrong, also see [1].
> > 
> > As the comment in that location explains, Tegra114 and later have an
> > architectural timer that is preferred over the legacy timer. So while
> > this doesn't technically make Tegra114 incompatible (in terms of
> > register programming, etc.) with Tegra20, in practice we don't want
> > Tegra20 behaviour on Tegra114 and later.
> 
> So the T114 timer code works using the T20 code and we prefer to use the
> ARCH timer on T114+ in the driver, what is the problem then? Where is
> the incompatibility?

It's the priority that's set differently for Tegra20 and Tegra30. On
Tegra114 and later, the Tegra timer has lower priority so that the
architected timer takes precedence. It's not exactly an
incompatibilitity, but there's no good way to describe it otherwise.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC
  2021-12-10 15:28       ` Dmitry Osipenko
@ 2021-12-13 16:06         ` Thierry Reding
  2021-12-13 16:47           ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-13 16:06 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1984 bytes --]

On Fri, Dec 10, 2021 at 06:28:36PM +0300, Dmitry Osipenko wrote:
> 10.12.2021 16:43, Thierry Reding пишет:
> > On Thu, Dec 09, 2021 at 11:34:39PM +0300, Dmitry Osipenko wrote:
> >> 09.12.2021 20:33, Thierry Reding пишет:
> >>> From: Thierry Reding <treding@nvidia.com>
> >>>
> >>> The Tegra memory controller provides reset controls for hotflush reset,
> >>> so the #reset-cells property must be specified.
> >>>
> >>> Signed-off-by: Thierry Reding <treding@nvidia.com>
> >>> ---
> >>>  arch/arm/boot/dts/tegra114.dtsi | 1 +
> >>>  1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> >>> index 328425dba023..ce7410ee08b8 100644
> >>> --- a/arch/arm/boot/dts/tegra114.dtsi
> >>> +++ b/arch/arm/boot/dts/tegra114.dtsi
> >>> @@ -542,6 +542,7 @@ mc: memory-controller@70019000 {
> >>>  
> >>>  		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
> >>>  
> >>> +		#reset-cells = <1>;
> >>>  		#iommu-cells = <1>;
> >>>  	};
> >>>  
> >>>
> >>
> >> This will conflict with the patch that adds video decoder node [1].
> >> Since the VDE patch was sent out earlier, I suggest you to drop this patch.
> >>
> >> [1]
> >> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-23-digetx@gmail.com/
> > 
> > I prefer to keep this separate because it actually gives the reason for
> > why this is added, whereas with the VDE node patch it looks like it's
> > there by mistake.
> 
> So the direct reference to the MC using TEGRA114_MC_RESET_VDE is a
> mistake to you. I disagree.

That's not what I'm saying. I'm saying that it's not obvious from the
patch description or from the rest of the content why that #reset-cells
is added. It looks out of place.

> I don't mind if you'll keep this patch, but then please don't forget to
> resolve the conflict, or we may have two #reset-cells entries.

Yeah, no worries, I'll take care of that.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes
  2021-12-10 16:08       ` Dmitry Osipenko
@ 2021-12-13 16:10         ` Thierry Reding
  2021-12-13 16:34           ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-13 16:10 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 2621 bytes --]

On Fri, Dec 10, 2021 at 07:08:22PM +0300, Dmitry Osipenko wrote:
> 10.12.2021 18:01, Thierry Reding пишет:
> > On Thu, Dec 09, 2021 at 09:57:08PM +0300, Dmitry Osipenko wrote:
> >> 09.12.2021 20:33, Thierry Reding пишет:
> >>> From: Thierry Reding <treding@nvidia.com>
> >>>
> >>> The "clock-frequency" property for an I2C controller needs to be
> >>> specified at the bus level.
> >>>
> >>> Signed-off-by: Thierry Reding <treding@nvidia.com>
> >>> ---
> >>>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper.dtsi | 3 ++-
> >>>  arch/arm/boot/dts/tegra30-asus-nexus7-tilapia.dtsi | 4 ++--
> >>>  2 files changed, 4 insertions(+), 3 deletions(-)
> >>
> >> The clock-frequency is specified in the parent-common N7 DTSI, NAK.
> >>
> >> There is already patch from David that removes the clock-frequency from
> >> NFC node [1], please use it.
> >>
> >> Please never again rewrite the preexisting patches, this makes you look odd.
> > 
> > Again, please don't make this into something it isn't.
> > 
> >> I suggest to collect *all* patches (not only your own) into single
> >> for-next branch, resolving all conflicts, making sure that you don't
> >> duplicate the effort and letting it all to be tested before it will hit
> >> the bus.
> > 
> > You know, if you guys communicated better over existing channels or
> > actually let me know of what's going on then a lot of this could've been
> > avoided. I don't have visibility into what you're all up to, so I can't
> > take that into account.
> 
> All the messages from me and David are in yours email inbox and on
> #tegra IRC. You have the complete visibility. Either you don't have time
> to take a look and then forget about it or I don't know what's the problem.
> 
> > If I happen to start working on something that someone else is also
> > doing in their corner, that's by accident, not because I have bad
> > intentions or because "I want to do everything myself", or whatever
> > other reason you keep coming up with.
> > 
> > Stop insinuating things that aren't true.
> 
> My point is that you're ignoring the existing patches. It may not look
> like a big problem to you since you can apply patches directly and I
> understand that own patches are always the most important ones, but this
> is a problem for everyone around you.

I wish my own patches were always the important ones. If you care you
can take a look at how many of my own patches actually make it upstream
each release. My patch stack regularly grows beyond a couple of hundred
because I don't always prioritize my own work.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-10 18:08       ` Dmitry Osipenko
@ 2021-12-13 16:11         ` Thierry Reding
  2021-12-13 16:26           ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Thierry Reding @ 2021-12-13 16:11 UTC (permalink / raw)
  To: Dmitry Osipenko; +Cc: Jon Hunter, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1449 bytes --]

On Fri, Dec 10, 2021 at 09:08:43PM +0300, Dmitry Osipenko wrote:
> 10.12.2021 18:05, Thierry Reding пишет:
> > On Thu, Dec 09, 2021 at 10:24:26PM +0300, Dmitry Osipenko wrote:
> >> 09.12.2021 20:33, Thierry Reding пишет:
> >>> From: Thierry Reding <treding@nvidia.com>
> >>>
> >>> The Ouya board specifies the #reset-cells property for the GPIO
> >>> controller. Since the GPIO controller doesn't provide reset controls
> >>> this is not needed, so they can be dropped.
> >>>
> >>> Signed-off-by: Thierry Reding <treding@nvidia.com>
> >>> ---
> >>>  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
> >>>  1 file changed, 1 deletion(-)
> >>>
> >>> diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
> >>> index 4259871b76c9..fd64aadc472a 100644
> >>> --- a/arch/arm/boot/dts/tegra30-ouya.dts
> >>> +++ b/arch/arm/boot/dts/tegra30-ouya.dts
> >>> @@ -70,7 +70,6 @@ hdmi@54280000 {
> >>>  
> >>>  	gpio: gpio@6000d000 {
> >>>  		gpio-ranges = <&pinmux 0 0 248>;
> >>> -		#reset-cells = <1>;
> >>>  	};
> >>>  
> >>>  	pinmux@70000868 {
> >>>
> >>
> >> Can we uncomment the gpio-ranges in tegra.dtsi? I reviewed and tested it
> >> almost 3 years ago [1].
> >>
> >> [1]
> >> https://lore.kernel.org/linux-tegra/20180726154025.13173-2-stefan@agner.ch/
> > 
> > Does it still work today?
> 
> It works. That patch still applies as-is.

Alright, I'll pull that in then.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-13 16:11         ` Thierry Reding
@ 2021-12-13 16:26           ` Dmitry Osipenko
  2021-12-13 16:40             ` Dmitry Osipenko
  0 siblings, 1 reply; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-13 16:26 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

13.12.2021 19:11, Thierry Reding пишет:
> On Fri, Dec 10, 2021 at 09:08:43PM +0300, Dmitry Osipenko wrote:
>> 10.12.2021 18:05, Thierry Reding пишет:
>>> On Thu, Dec 09, 2021 at 10:24:26PM +0300, Dmitry Osipenko wrote:
>>>> 09.12.2021 20:33, Thierry Reding пишет:
>>>>> From: Thierry Reding <treding@nvidia.com>
>>>>>
>>>>> The Ouya board specifies the #reset-cells property for the GPIO
>>>>> controller. Since the GPIO controller doesn't provide reset controls
>>>>> this is not needed, so they can be dropped.
>>>>>
>>>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>>>> ---
>>>>>  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
>>>>>  1 file changed, 1 deletion(-)
>>>>>
>>>>> diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
>>>>> index 4259871b76c9..fd64aadc472a 100644
>>>>> --- a/arch/arm/boot/dts/tegra30-ouya.dts
>>>>> +++ b/arch/arm/boot/dts/tegra30-ouya.dts
>>>>> @@ -70,7 +70,6 @@ hdmi@54280000 {
>>>>>  
>>>>>  	gpio: gpio@6000d000 {
>>>>>  		gpio-ranges = <&pinmux 0 0 248>;
>>>>> -		#reset-cells = <1>;
>>>>>  	};
>>>>>  
>>>>>  	pinmux@70000868 {
>>>>>
>>>>
>>>> Can we uncomment the gpio-ranges in tegra.dtsi? I reviewed and tested it
>>>> almost 3 years ago [1].
>>>>
>>>> [1]
>>>> https://lore.kernel.org/linux-tegra/20180726154025.13173-2-stefan@agner.ch/
>>>
>>> Does it still work today?
>>
>> It works. That patch still applies as-is.
> 
> Alright, I'll pull that in then.

No-no-no, please rebase your patches on top of latest mine [1]. Please
do it that way, this will be better for everyone. I already took care of
all the conflicts between the patches and added the new ones, all you
need to do is to *rebase your* patches.

[1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=276354

You're again not looking at the incoming emails, are you receiving them
at all? This situation is very strange to me. I'll continue to keep eye
on what you're doing to make sure that everything will be merged properly.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes
  2021-12-13 16:10         ` Thierry Reding
@ 2021-12-13 16:34           ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-13 16:34 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

13.12.2021 19:10, Thierry Reding пишет:
>> My point is that you're ignoring the existing patches. It may not look
>> like a big problem to you since you can apply patches directly and I
>> understand that own patches are always the most important ones, but this
>> is a problem for everyone around you.
> I wish my own patches were always the important ones. If you care you
> can take a look at how many of my own patches actually make it upstream
> each release. My patch stack regularly grows beyond a couple of hundred
> because I don't always prioritize my own work.

I've no doubts that you're doing huge amounts of work. But it's is easy
to push a hundred of own patches when you have direct commit access and
don't need to wait for anyone else to merge your patches, don't you agree?

Can't imagine how many patches I could push if I had commit access :)
There are more than 400 patches in my upstream queue now an it only grows.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property
  2021-12-13 16:26           ` Dmitry Osipenko
@ 2021-12-13 16:40             ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-13 16:40 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

13.12.2021 19:26, Dmitry Osipenko пишет:
> 13.12.2021 19:11, Thierry Reding пишет:
>> On Fri, Dec 10, 2021 at 09:08:43PM +0300, Dmitry Osipenko wrote:
>>> 10.12.2021 18:05, Thierry Reding пишет:
>>>> On Thu, Dec 09, 2021 at 10:24:26PM +0300, Dmitry Osipenko wrote:
>>>>> 09.12.2021 20:33, Thierry Reding пишет:
>>>>>> From: Thierry Reding <treding@nvidia.com>
>>>>>>
>>>>>> The Ouya board specifies the #reset-cells property for the GPIO
>>>>>> controller. Since the GPIO controller doesn't provide reset controls
>>>>>> this is not needed, so they can be dropped.
>>>>>>
>>>>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>>>>> ---
>>>>>>  arch/arm/boot/dts/tegra30-ouya.dts | 1 -
>>>>>>  1 file changed, 1 deletion(-)
>>>>>>
>>>>>> diff --git a/arch/arm/boot/dts/tegra30-ouya.dts b/arch/arm/boot/dts/tegra30-ouya.dts
>>>>>> index 4259871b76c9..fd64aadc472a 100644
>>>>>> --- a/arch/arm/boot/dts/tegra30-ouya.dts
>>>>>> +++ b/arch/arm/boot/dts/tegra30-ouya.dts
>>>>>> @@ -70,7 +70,6 @@ hdmi@54280000 {
>>>>>>  
>>>>>>  	gpio: gpio@6000d000 {
>>>>>>  		gpio-ranges = <&pinmux 0 0 248>;
>>>>>> -		#reset-cells = <1>;
>>>>>>  	};
>>>>>>  
>>>>>>  	pinmux@70000868 {
>>>>>>
>>>>>
>>>>> Can we uncomment the gpio-ranges in tegra.dtsi? I reviewed and tested it
>>>>> almost 3 years ago [1].
>>>>>
>>>>> [1]
>>>>> https://lore.kernel.org/linux-tegra/20180726154025.13173-2-stefan@agner.ch/
>>>>
>>>> Does it still work today?
>>>
>>> It works. That patch still applies as-is.
>>
>> Alright, I'll pull that in then.
> 
> No-no-no, please rebase your patches on top of latest mine [1]. Please
> do it that way, this will be better for everyone. I already took care of
> all the conflicts between the patches and added the new ones, all you
> need to do is to *rebase your* patches.
> 
> [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=276354
> 
> You're again not looking at the incoming emails, are you receiving them
> at all? This situation is very strange to me. I'll continue to keep eye
> on what you're doing to make sure that everything will be merged properly.
> 

Please also don't forget about the power management patchset and the
other sets.

I asked you to reply in the private email, which you haven't done yet.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer
  2021-12-13 16:04         ` Thierry Reding
@ 2021-12-13 16:44           ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-13 16:44 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

13.12.2021 19:04, Thierry Reding пишет:
> On Fri, Dec 10, 2021 at 06:23:34PM +0300, Dmitry Osipenko wrote:
>> 10.12.2021 16:42, Thierry Reding пишет:
>>> On Thu, Dec 09, 2021 at 10:36:43PM +0300, Dmitry Osipenko wrote:
>>>> 09.12.2021 20:33, Thierry Reding пишет:
>>>>> From: Thierry Reding <treding@nvidia.com>
>>>>>
>>>>> The TKE (time-keeping engine) found on Tegra30 and later is not
>>>>> backwards compatible with the version found on Tegra20, so update the
>>>>> compatible string list accordingly.
>>>>>
>>>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>>>> ---
>>>>>  arch/arm/boot/dts/tegra114.dtsi | 2 +-
>>>>>  arch/arm/boot/dts/tegra124.dtsi | 2 +-
>>>>>  arch/arm/boot/dts/tegra30.dtsi  | 2 +-
>>>>>  3 files changed, 3 insertions(+), 3 deletions(-)
>> ...
>>>>>  	timer@60005000 {
>>>>> -		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
>>>>> +		compatible = "nvidia,tegra30-timer";
>>>>>  		reg = <0x60005000 0x400>;
>>>>>  		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
>>>>>  			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
>>>>>
>>>>
>>>> What exactly is incompatible? IIRC, T30+ is a superset of T20. This
>>>> patch should be wrong, also see [1].
>>>
>>> As the comment in that location explains, Tegra114 and later have an
>>> architectural timer that is preferred over the legacy timer. So while
>>> this doesn't technically make Tegra114 incompatible (in terms of
>>> register programming, etc.) with Tegra20, in practice we don't want
>>> Tegra20 behaviour on Tegra114 and later.
>>
>> So the T114 timer code works using the T20 code and we prefer to use the
>> ARCH timer on T114+ in the driver, what is the problem then? Where is
>> the incompatibility?
> 
> It's the priority that's set differently for Tegra20 and Tegra30. On
> Tegra114 and later, the Tegra timer has lower priority so that the
> architected timer takes precedence. It's not exactly an
> incompatibilitity, but there's no good way to describe it otherwise.


Priority is a property of the Linux kernel driver, it's not a hardware
property. This whole patch is incorrect and should be dropped, IMO.

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC
  2021-12-13 16:06         ` Thierry Reding
@ 2021-12-13 16:47           ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-13 16:47 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

13.12.2021 19:06, Thierry Reding пишет:
> On Fri, Dec 10, 2021 at 06:28:36PM +0300, Dmitry Osipenko wrote:
>> 10.12.2021 16:43, Thierry Reding пишет:
>>> On Thu, Dec 09, 2021 at 11:34:39PM +0300, Dmitry Osipenko wrote:
>>>> 09.12.2021 20:33, Thierry Reding пишет:
>>>>> From: Thierry Reding <treding@nvidia.com>
>>>>>
>>>>> The Tegra memory controller provides reset controls for hotflush reset,
>>>>> so the #reset-cells property must be specified.
>>>>>
>>>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>>>> ---
>>>>>  arch/arm/boot/dts/tegra114.dtsi | 1 +
>>>>>  1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
>>>>> index 328425dba023..ce7410ee08b8 100644
>>>>> --- a/arch/arm/boot/dts/tegra114.dtsi
>>>>> +++ b/arch/arm/boot/dts/tegra114.dtsi
>>>>> @@ -542,6 +542,7 @@ mc: memory-controller@70019000 {
>>>>>  
>>>>>  		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
>>>>>  
>>>>> +		#reset-cells = <1>;
>>>>>  		#iommu-cells = <1>;
>>>>>  	};
>>>>>  
>>>>>
>>>>
>>>> This will conflict with the patch that adds video decoder node [1].
>>>> Since the VDE patch was sent out earlier, I suggest you to drop this patch.
>>>>
>>>> [1]
>>>> https://patchwork.ozlabs.org/project/linux-tegra/patch/20211208173609.4064-23-digetx@gmail.com/
>>>
>>> I prefer to keep this separate because it actually gives the reason for
>>> why this is added, whereas with the VDE node patch it looks like it's
>>> there by mistake.
>>
>> So the direct reference to the MC using TEGRA114_MC_RESET_VDE is a
>> mistake to you. I disagree.
> 
> That's not what I'm saying. I'm saying that it's not obvious from the
> patch description or from the rest of the content why that #reset-cells
> is added. It looks out of place.
> 
>> I don't mind if you'll keep this patch, but then please don't forget to
>> resolve the conflict, or we may have two #reset-cells entries.
> 
> Yeah, no worries, I'll take care of that.

Again, I already took care about it [1]. Please just rebase your patches ;)

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20211211211412.10791-26-digetx@gmail.com/

^ permalink raw reply	[flat|nested] 70+ messages in thread

* Re: [PATCH 04/25] ARM: tegra: Rename top-level clocks
  2021-12-13 16:02         ` Thierry Reding
@ 2021-12-13 16:52           ` Dmitry Osipenko
  0 siblings, 0 replies; 70+ messages in thread
From: Dmitry Osipenko @ 2021-12-13 16:52 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Jon Hunter, linux-tegra

13.12.2021 19:02, Thierry Reding пишет:
> On Sat, Dec 11, 2021 at 07:45:11PM +0300, Dmitry Osipenko wrote:
>> 10.12.2021 15:53, Thierry Reding пишет:
>>> On Thu, Dec 09, 2021 at 09:27:01PM +0300, Dmitry Osipenko wrote:
>>>> 09.12.2021 20:33, Thierry Reding пишет:
>>>>> From: Thierry Reding <treding@nvidia.com>
>>>>>
>>>>> Clocks defined at the top level in device tree are no longer part of a
>>>>> simple bus and therefore don't have a reg property. Nodes without a reg
>>>>> property shouldn't have a unit-address either, so drop the unit address
>>>>> from the node names. To ensure nodes aren't duplicated (in which case
>>>>> they would end up merged in the final DTB), append the name of the clock
>>>>> to the node name.
>>>>>
>>>>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>>>>> ---
>>>>>  arch/arm/boot/dts/tegra114-dalmore.dts                    | 2 +-
>>>>>  arch/arm/boot/dts/tegra114-roth.dts                       | 2 +-
>>>>>  arch/arm/boot/dts/tegra114-tn7.dts                        | 2 +-
>>>>>  arch/arm/boot/dts/tegra124-jetson-tk1.dts                 | 2 +-
>>>>>  arch/arm/boot/dts/tegra124-nyan.dtsi                      | 2 +-
>>>>>  arch/arm/boot/dts/tegra124-venice2.dts                    | 2 +-
>>>>>  arch/arm/boot/dts/tegra20-acer-a500-picasso.dts           | 4 ++--
>>>>>  arch/arm/boot/dts/tegra20-harmony.dts                     | 2 +-
>>>>>  arch/arm/boot/dts/tegra20-paz00.dts                       | 2 +-
>>>>>  arch/arm/boot/dts/tegra20-seaboard.dts                    | 2 +-
>>>>>  arch/arm/boot/dts/tegra20-tamonten.dtsi                   | 2 +-
>>>>>  arch/arm/boot/dts/tegra20-trimslice.dts                   | 2 +-
>>>>>  arch/arm/boot/dts/tegra20-ventana.dts                     | 2 +-
>>>>>  arch/arm/boot/dts/tegra30-asus-nexus7-grouper-common.dtsi | 2 +-
>>>>>  arch/arm/boot/dts/tegra30-beaver.dts                      | 2 +-
>>>>>  arch/arm/boot/dts/tegra30-cardhu.dtsi                     | 2 +-
>>>>>  16 files changed, 17 insertions(+), 17 deletions(-)
>>>>
>>>> This and the next patch duplicate the preexisting patch [1] that you saw
>>>> and skipped previously. It looks odd that you redoing it on your own
>>>> now. This is not okay to me unless you talked to David and he is aware
>>>> about it.
>>>
>>> I had completely forgotten about it. I'll substitute David's authorship
>>> for mine, but I'd prefer to keep the two changes in separate patches.
>>
>> I'll better separate David's patch and give you credit for that. David's
>> patch was well tested and improved over couple months in grate kernel,
>> while yours not.
> 
> It's pretty much the same thing. There are slight differences in the
> names, but other than that there should be no functional difference.

Sure, but instead of guessing whether there is any functional difference
or not, let's simply use the version that was not only create earlier,
but also tested much wider.

Once again, I already took care about it. All the patches are in yours
email inbox. If there is a need for more  coordination, then please ping
me on the IRC.

^ permalink raw reply	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2021-12-13 16:52 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09 17:33 [PATCH 00/25] ARM: tegra: Various cleanups for DT validation Thierry Reding
2021-12-09 17:33 ` [PATCH 01/25] ARM: tegra: Clean up external memory controller nodes Thierry Reding
2021-12-09 20:01   ` Dmitry Osipenko
2021-12-10 12:17     ` Thierry Reding
2021-12-10 15:15       ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 02/25] ARM: tegra: Specify correct PMIC compatible on Tegra114 boards Thierry Reding
2021-12-09 17:33 ` [PATCH 03/25] ARM: tegra: Rename SPI flash chip nodes Thierry Reding
2021-12-09 17:33 ` [PATCH 04/25] ARM: tegra: Rename top-level clocks Thierry Reding
2021-12-09 18:27   ` Dmitry Osipenko
2021-12-10 12:53     ` Thierry Reding
2021-12-11 16:45       ` Dmitry Osipenko
2021-12-13 16:02         ` Thierry Reding
2021-12-13 16:52           ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 05/25] ARM: tegra: Rename top-level regulators Thierry Reding
2021-12-09 17:33 ` [PATCH 06/25] ARM: tegra: Fix compatible string for Tegra30+ timer Thierry Reding
2021-12-09 19:36   ` Dmitry Osipenko
2021-12-10 13:42     ` Thierry Reding
2021-12-10 15:23       ` Dmitry Osipenko
2021-12-13 16:04         ` Thierry Reding
2021-12-13 16:44           ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 07/25] ARM: tegra: Add #reset-cells for Tegra114 MC Thierry Reding
2021-12-09 20:34   ` Dmitry Osipenko
2021-12-10 13:43     ` Thierry Reding
2021-12-10 15:28       ` Dmitry Osipenko
2021-12-13 16:06         ` Thierry Reding
2021-12-13 16:47           ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 08/25] ARM: tegra: Rename GPIO hog nodes to match schema Thierry Reding
2021-12-09 17:33 ` [PATCH 09/25] ARM: tegra: Rename GPU node on Tegra124 Thierry Reding
2021-12-09 17:33 ` [PATCH 10/25] ARM: tegra: Drop reg-shift for Tegra HS UART Thierry Reding
2021-12-09 19:01   ` Dmitry Osipenko
2021-12-10 13:49     ` Thierry Reding
2021-12-09 17:33 ` [PATCH 11/25] ARM: tegra: Rename thermal zone nodes Thierry Reding
2021-12-09 20:06   ` Dmitry Osipenko
2021-12-10 14:10     ` Thierry Reding
2021-12-10 15:29       ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 12/25] ARM: tegra: Do not use unit-address for OPP nodes Thierry Reding
2021-12-09 18:38   ` Dmitry Osipenko
2021-12-10 14:27     ` Thierry Reding
2021-12-10 15:33       ` Dmitry Osipenko
2021-12-10 22:39         ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 13/25] ARM: tegra: Fix Tegra124 I2C compatible string list Thierry Reding
2021-12-09 17:33 ` [PATCH 14/25] ARM: tegra: Drop unused AHCI clocks on Tegra124 Thierry Reding
2021-12-09 17:33 ` [PATCH 15/25] ARM: tegra: Sort Tegra124 XUSB clocks correctly Thierry Reding
2021-12-09 17:33 ` [PATCH 16/25] ARM: tegra: Avoid pwm- prefix in pinmux nodes Thierry Reding
2021-12-09 19:13   ` Dmitry Osipenko
2021-12-10 14:38     ` Thierry Reding
2021-12-10 15:38       ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 17/25] ARM: tegra: Add compatible string for built-in ASIX on Colibri boards Thierry Reding
2021-12-09 17:33 ` [PATCH 18/25] ARM: tegra: Remove PHY reset GPIO references from USB controller node Thierry Reding
2021-12-09 17:33 ` [PATCH 19/25] ARM: tegra: Add dummy backlight power supplies Thierry Reding
2021-12-09 19:07   ` Dmitry Osipenko
2021-12-10 14:51     ` Thierry Reding
2021-12-09 17:33 ` [PATCH 20/25] ARM: tegra: Use correct vendor prefix for Invensense Thierry Reding
2021-12-09 17:33 ` [PATCH 21/25] ARM: tegra: Remove unsupported properties on Apalis Thierry Reding
2021-12-09 17:33 ` [PATCH 22/25] ARM: tegra: Move I2C clock frequency to bus nodes Thierry Reding
2021-12-09 18:57   ` Dmitry Osipenko
2021-12-10 15:01     ` Thierry Reding
2021-12-10 16:08       ` Dmitry Osipenko
2021-12-13 16:10         ` Thierry Reding
2021-12-13 16:34           ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 23/25] ARM: tegra: Remove stray #reset-cells property Thierry Reding
2021-12-09 19:24   ` Dmitry Osipenko
2021-12-10 15:05     ` Thierry Reding
2021-12-10 18:08       ` Dmitry Osipenko
2021-12-13 16:11         ` Thierry Reding
2021-12-13 16:26           ` Dmitry Osipenko
2021-12-13 16:40             ` Dmitry Osipenko
2021-12-09 20:30   ` Dmitry Osipenko
2021-12-09 17:33 ` [PATCH 24/25] ARM: tegra: Fix SLINK compatible string on Tegra30 Thierry Reding
2021-12-09 17:33 ` [PATCH 25/25] ARM: tegra: Fix I2C mux reset GPIO reference on Cardhu Thierry Reding

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.