Skip to contentSkip to conversation

ARM: imx6sx-sdb: add revb board

PATCH Superseded Peter Chen 3 participants 7 messages Jan 14, 2015 – Jan 20, 2015

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Peter Chen

author
#0 lore raw

cover ARM: imx6sx-sdb: add revb board

Hi Shawn,

The imx6sx-sdb board has two revisions, the current mainline is the reva which is used by internal user mainly, and the revb is used widely for internal and external users.

The main changes between reva and revb board:
- cpu operating point and related voltage
- pfuse
- qspi
- can transceiver (not mainlined)

Peter Chen (2):
ARM: imx6sx-sdb: change default board as reva board
ARM: imx6sx-sdb: add revb board

 arch/arm/boot/dts/imx6sx-sdb-reva.dts              | 158 +++++++++++++++++++++
 arch/arm/boot/dts/imx6sx-sdb-revb.dts              | 145 +++++++++++++++++++
 .../boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi}   | 131 -----------------
 3 files changed, 303 insertions(+), 131 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6sx-sdb-reva.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-sdb-revb.dts
 rename arch/arm/boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi} (83%)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/2 ARM: imx6sx-sdb: change default board as reva board

The imx6sx sdb board has two revisions, the current mainline one is reva which is mainly for internal use. In this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and move the reva dedicated contents to imx6sx-sdb-reva.dts.

---
 arch/arm/boot/dts/imx6sx-sdb-reva.dts              | 158 +++++++++++++++++++++
 .../boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi}   | 131 -----------------
 2 files changed, 158 insertions(+), 131 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6sx-sdb-reva.dts
 rename arch/arm/boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi} (83%)
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +158 -0
new file mode 100644
index 0000000..e7a8c34
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dtsi"
+
+/ {
+	model = "Freescale i.MX6 SoloX SDB RevA Board";
+};
+
+&cpu0 {
+	operating-points = <
+		/* kHz    uV */
+		996000  1250000
+		792000  1175000
+		396000  1075000
+	>;
+	fsl,soc-operating-points = <
+		/* ARM kHz  SOC uV */
+		996000      1175000
+		792000      1175000
+		396000      1175000
+	>;
+};
+
+&i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+
+	pmic: pfuze100 at 08 {
+		compatible = "fsl,pfuze100";
+		reg = <0x08>;
+
+		regulators {
+			sw1a_reg: sw1ab {
+				regulator-min-microvolt = <300000>;
+				regulator-max-microvolt = <1875000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw1c_reg: sw1c {
+				regulator-min-microvolt = <300000>;
+				regulator-max-microvolt = <1875000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3a {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3b_reg: sw3b {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw4_reg: sw4 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			snvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vgen1_reg: vgen1 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+				regulator-always-on;
+			};
+
+			vgen2_reg: vgen2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vgen3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: vgen4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vgen5 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vgen6 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+	};
+};
+
+&qspi2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_qspi2>;
+	status = "okay";
+
+	flash0: s25fl128s at 0 {
+		reg = <0>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spansion,s25fl128s";
+		spi-max-frequency = <66000000>;
+	};
+
+	flash1: s25fl128s at 1 {
+		reg = <1>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spansion,s25fl128s";
+		spi-max-frequency = <66000000>;
+	};
+};
arch/arm/boot/dts/imx6sx-sdb.dtsi renamed from arch/arm/boot/dts/imx6sx-sdb.dts +0 -131

149 lines not on this page · raw message

Signature · 1 line
1.9.1
#2 lore raw

PATCH 1/2 ARM: imx6sx-sdb: change default board as reva board

Quoted 9 lines · Peter Chen

The imx6sx sdb board has two revisions, the current mainline one is reva which is mainly for internal use. In this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and move the reva dedicated contents to imx6sx-sdb-reva.dts.

---
 arch/arm/boot/dts/imx6sx-sdb-reva.dts              | 158 +++++++++++++++++++++
 .../boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi}   | 131 -----------------

arch/arm/boot/dts/Makefile needs an update.

Quoted 27 lines
 2 files changed, 158 insertions(+), 131 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6sx-sdb-reva.dts
 rename arch/arm/boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi} (83%)
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +17 -0
new file mode 100644
index 0000000..e7a8c34
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dtsi"
+
+/ {
+	model = "Freescale i.MX6 SoloX SDB RevA Board";
+};
+
+&cpu0 {
+	operating-points = <
+		/* kHz    uV */

arch/arm/boot/dts/imx6sx-sdb-reva.dts line 27

Quoted 10 lines
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +10 -0
+		996000  1250000
+		792000  1175000
+		396000  1075000
+	>;
+	fsl,soc-operating-points = <
+		/* ARM kHz  SOC uV */
+		996000      1175000
+		792000      1175000
+		396000      1175000
+	>;

I'm wondering why different revision of the board require a different OPP settings.

Shawn

Quoted 293 lines
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +131 -0
+};
+
+&i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+
+	pmic: pfuze100 at 08 {
+		compatible = "fsl,pfuze100";
+		reg = <0x08>;
+
+		regulators {
+			sw1a_reg: sw1ab {
+				regulator-min-microvolt = <300000>;
+				regulator-max-microvolt = <1875000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw1c_reg: sw1c {
+				regulator-min-microvolt = <300000>;
+				regulator-max-microvolt = <1875000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3a {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3b_reg: sw3b {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw4_reg: sw4 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			snvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vgen1_reg: vgen1 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+				regulator-always-on;
+			};
+
+			vgen2_reg: vgen2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vgen3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: vgen4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vgen5 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vgen6 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+	};
+};
+
+&qspi2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_qspi2>;
+	status = "okay";
+
+	flash0: s25fl128s at 0 {
+		reg = <0>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spansion,s25fl128s";
+		spi-max-frequency = <66000000>;
+	};
+
+	flash1: s25fl128s at 1 {
+		reg = <1>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spansion,s25fl128s";
+		spi-max-frequency = <66000000>;
+	};
+};
arch/arm/boot/dts/imx6sx-sdb.dtsi renamed from arch/arm/boot/dts/imx6sx-sdb.dts +0 -131
similarity index 83%
rename from arch/arm/boot/dts/imx6sx-sdb.dts
rename to arch/arm/boot/dts/imx6sx-sdb.dtsi
index cdffe84..7b02aa7 100644
@@ -13,7 +13,6 @@
 #include "imx6sx.dtsi"
 
 / {
-	model = "Freescale i.MX6 SoloX SDB Board";
 	compatible = "fsl,imx6sx-sdb", "fsl,imx6sx";
 
 	chosen {
@@ -169,114 +168,6 @@
 	status = "okay";
 };
 
-&i2c1 {
-        clock-frequency = <100000>;
-        pinctrl-names = "default";
-        pinctrl-0 = <&pinctrl_i2c1>;
-        status = "okay";
-
-	pmic: pfuze100 at 08 {
-		compatible = "fsl,pfuze100";
-		reg = <0x08>;
-
-		regulators {
-			sw1a_reg: sw1ab {
-				regulator-min-microvolt = <300000>;
-				regulator-max-microvolt = <1875000>;
-				regulator-boot-on;
-				regulator-always-on;
-				regulator-ramp-delay = <6250>;
-			};
-
-			sw1c_reg: sw1c {
-				regulator-min-microvolt = <300000>;
-				regulator-max-microvolt = <1875000>;
-				regulator-boot-on;
-				regulator-always-on;
-				regulator-ramp-delay = <6250>;
-			};
-
-			sw2_reg: sw2 {
-				regulator-min-microvolt = <800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			sw3a_reg: sw3a {
-				regulator-min-microvolt = <400000>;
-				regulator-max-microvolt = <1975000>;
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			sw3b_reg: sw3b {
-				regulator-min-microvolt = <400000>;
-				regulator-max-microvolt = <1975000>;
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			sw4_reg: sw4 {
-				regulator-min-microvolt = <800000>;
-				regulator-max-microvolt = <3300000>;
-			};
-
-			swbst_reg: swbst {
-				regulator-min-microvolt = <5000000>;
-				regulator-max-microvolt = <5150000>;
-			};
-
-			snvs_reg: vsnvs {
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			vref_reg: vrefddr {
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			vgen1_reg: vgen1 {
-				regulator-min-microvolt = <800000>;
-				regulator-max-microvolt = <1550000>;
-				regulator-always-on;
-			};
-
-			vgen2_reg: vgen2 {
-				regulator-min-microvolt = <800000>;
-				regulator-max-microvolt = <1550000>;
-			};
-
-			vgen3_reg: vgen3 {
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-			};
-
-			vgen4_reg: vgen4 {
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-			};
-
-			vgen5_reg: vgen5 {
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-			};
-
-			vgen6_reg: vgen6 {
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-			};
-		};
-	};
-};
-
 &i2c4 {
         clock-frequency = <100000>;
         pinctrl-names = "default";
@@ -340,28 +231,6 @@
 	status = "okay";
 };
 
-&qspi2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_qspi2>;
-	status = "okay";
-
-	flash0: s25fl128s at 0 {
-		reg = <0>;
-		#address-cells = <1>;
-		#size-cells = <1>;
-		compatible = "spansion,s25fl128s";
-		spi-max-frequency = <66000000>;
-	};
-
-	flash1: s25fl128s at 1 {
-		reg = <1>;
-		#address-cells = <1>;
-		#size-cells = <1>;
-		compatible = "spansion,s25fl128s";
-		spi-max-frequency = <66000000>;
-	};
-};
-
 &ssi2 {
 	status = "okay";
 };
Signature · 1 line
1.9.1
author
#3 lore raw

PATCH 1/2 ARM: imx6sx-sdb: change default board as reva board

Quoted 6 lines · Shawn Guo
Quoted 5 lines · Peter Chen

The imx6sx sdb board has two revisions, the current mainline one is reva which is mainly for internal use. In this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and move the reva dedicated contents to imx6sx-sdb-reva.dts.

Quoted 7 lines
Quoted 4 lines
---
 arch/arm/boot/dts/imx6sx-sdb-reva.dts              | 158 +++++++++++++++++++++
 .../boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi}   | 131 -----------------

arch/arm/boot/dts/Makefile needs an update.

Thanks, I will.

Quoted 32 lines
Quoted 32 lines
 2 files changed, 158 insertions(+), 131 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6sx-sdb-reva.dts
 rename arch/arm/boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi} (83%)
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +22 -0
new file mode 100644
index 0000000..e7a8c34
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dtsi"
+
+/ {
+	model = "Freescale i.MX6 SoloX SDB RevA Board";
+};
+
+&cpu0 {
+	operating-points = <
+		/* kHz    uV */
+		996000  1250000
+		792000  1175000
+		396000  1075000
+	>;
+	fsl,soc-operating-points = <
Quoted 9 lines

arch/arm/boot/dts/imx6sx-sdb-reva.dts line 27

Quoted 5 lines
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +5 -0
+		/* ARM kHz  SOC uV */
+		996000      1175000
+		792000      1175000
+		396000      1175000
+	>;

I'm wondering why different revision of the board require a different OPP settings.

Anson, do you know the reason?

Peter

Signature · 2 lines
Best Regards,
Peter Chen
#4 lore raw

PATCH 1/2 ARM: imx6sx-sdb: change default board as reva board

Best regards!
Anson Huang

Quoted 74 lines

-----Original Message-----
From: Peter Chen [mailto:peter.chen at freescale.com]
Sent: 2015-01-20 2:30 PM
To: Shawn Guo; Huang Yongcai-B20788
Cc: kernel at pengutronix.de; robh+dt at kernel.org; pawel.moll at arm.com; mark.rutland at arm.com; linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.org
Subject: Re: [PATCH 1/2] ARM: imx6sx-sdb: change default board as reva board

Quoted 9 lines · Shawn Guo
Quoted 8 lines · Peter Chen

The imx6sx sdb board has two revisions, the current mainline one is reva which is mainly for internal use. In this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and move the reva dedicated contents to imx6sx-sdb-reva.dts.

---
 arch/arm/boot/dts/imx6sx-sdb-reva.dts              | 158

+++++++++++++++++++++

Quoted 1 line
Quoted 1 line
 .../boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi}   | 131 -----------

------

Quoted 3 lines

arch/arm/boot/dts/Makefile needs an update.

Thanks, I will.

Quoted 34 lines
Quoted 34 lines
 2 files changed, 158 insertions(+), 131 deletions(-)  create mode
100644 arch/arm/boot/dts/imx6sx-sdb-reva.dts
 rename arch/arm/boot/dts/{imx6sx-sdb.dts => imx6sx-sdb.dtsi} (83%)
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +23 -0
new file mode 100644
index 0000000..e7a8c34
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+modify
+ * it under the terms of the GNU General Public License version 2
+as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dtsi"
+
+/ {
+	model = "Freescale i.MX6 SoloX SDB RevA Board"; };
+
+&cpu0 {
+	operating-points = <
+		/* kHz    uV */
+		996000  1250000
+		792000  1175000
+		396000  1075000
+	>;
+	fsl,soc-operating-points = <
Quoted 9 lines

arch/arm/boot/dts/imx6sx-sdb-reva.dts line 27

Quoted 5 lines
arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +5 -0
+		/* ARM kHz  SOC uV */
+		996000      1175000
+		792000      1175000
+		396000      1175000
+	>;

I'm wondering why different revision of the board require a different OPP settings.

Quoted 1 line

Anson, do you know the reason?

As i.MX6SX SDB Rev-B board uses PFuse 200 which has only one power supply for both VDDARM_IN and VDDSOC_IN, so it needs VDDARM_IN equal VDDSOC_IN, currently we set Rev-B board as default in imx6sx.dtsi, which uses same voltage for both VDDARM_IN and VDDSOC_IN.The Rev-A board uses PFuze 100 which has separate power supply for VDDARM_IN and VDDSOC_IN, so it can use different voltage on VDDARM_IN and VDDSOC_IN according to datasheet.

Anson

Quoted 8 lines

Peter

--

Best Regards,
Peter Chen

#5 lore raw

PATCH 1/2 ARM: imx6sx-sdb: change default board as reva board

Quoted 18 lines · Anson.Huang at freescale.com
Quoted 18 lines
Quoted 17 lines

arch/arm/boot/dts/imx6sx-sdb-reva.dts line 27

Quoted 13 lines

+&cpu0 {

arch/arm/boot/dts/imx6sx-sdb-reva.dts new file +12 -0
+	operating-points = <
+		/* kHz    uV */
+		996000  1250000
+		792000  1175000
+		396000  1075000
+	>;
+	fsl,soc-operating-points = <
+		/* ARM kHz  SOC uV */
+		996000      1175000
+		792000      1175000
+		396000      1175000
+	>;

I'm wondering why different revision of the board require a different OPP settings.

Quoted 8 lines
Quoted 1 line

Anson, do you know the reason?

As i.MX6SX SDB Rev-B board uses PFuse 200 which has only one power supply for both VDDARM_IN and VDDSOC_IN, so it needs VDDARM_IN equal VDDSOC_IN, currently we set Rev-B board as default in imx6sx.dtsi, which uses same voltage for both VDDARM_IN and VDDSOC_IN.The Rev-A board uses PFuze 100 which has separate power supply for VDDARM_IN and VDDSOC_IN, so it can use different voltage on VDDARM_IN and VDDSOC_IN according to datasheet.

Thanks for the clarification, Anson.

Peter,

OPP is a CPU characteristic defined by data sheet, so we should define OPP according to data sheet in imx6sx.dtsi, and only overwrite the property in Rev-B dts per board/PMIC quirk.

Also, please put the rationale why we need OPP quick on Rev-B into commit log.

Shawn

author
#6 lore raw

PATCH 2/2 ARM: imx6sx-sdb: add revb board

In reply to Peter Chen

Add imx6sx-sdb revb board

---
 arch/arm/boot/dts/imx6sx-sdb-revb.dts | 145 ++++++++++++++++++++++++++++++++++
 1 file changed, 145 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6sx-sdb-revb.dts
arch/arm/boot/dts/imx6sx-sdb-revb.dts new file +145 -0
new file mode 100644
index 0000000..d68dfd4
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dtsi"
+
+/ {
+	model = "Freescale i.MX6 SoloX SDB RevB Board";
+};
+
+&cpu0 {
+	operating-points = <
+		/* kHz    uV */
+		996000  1250000
+		792000  1175000
+		396000  1175000
+		>;
+	fsl,soc-operating-points = <
+		/* ARM kHz      SOC uV */
+		996000	1250000
+		792000	1175000
+		396000	1175000
+	>;
+};
+
+&i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+
+	pmic: pfuze100 at 08 {
+		compatible = "fsl,pfuze200";
+		reg = <0x08>;
+
+		regulators {
+			sw1a_reg: sw1ab {
+				regulator-min-microvolt = <300000>;
+				regulator-max-microvolt = <1875000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3a {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3b_reg: sw3b {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			snvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vgen1_reg: vgen1 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+				regulator-always-on;
+			};
+
+			vgen2_reg: vgen2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vgen3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: vgen4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vgen5 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vgen6 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+	};
+};
+
+&qspi2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_qspi2>;
+	status = "okay";
+
+	flash0: n25q256a at 0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "micron,n25q256a";
+		spi-max-frequency = <29000000>;
+		reg = <0>;
+	};
+
+	flash1: n25q256a at 1 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "micron,n25q256a";
+		spi-max-frequency = <29000000>;
+		reg = <1>;
+	};
+};
Signature · 1 line
1.9.1