All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion
@ 2015-10-10 14:48 Chen-Yu Tsai
  2015-10-10 14:48 ` [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names Chen-Yu Tsai
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-10 14:48 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Maxime,

This is v2 of the Primo81/SinA31s series. I dropped the Primo81 stuff
as it needs more work.

Changes since v1:

  - Requires "ARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO
    supplies"

  - Dropped already merged patches

  - Dropped Primo81 patch; needs more work to support various device
    bindings

  - Renamed axp221.dtsi to axp22x.dtsi to generalize for AXP223 later on

  - Added "ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU
    regulator names"

  - Added 'ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator
    as "vdd-cpus"'

This series adds support for Sinlinx's SinA31s development kit. This
also adds a common axp22x.dtsi, like we have for axp209 and axp152.
This will be used for AXP221/AXP223. The Hummingbird A31 dts is also
migrated to this.

Patch 1 fixes the regulator names for the Hummingbird A31. The CPU
and GPU regulators were mixed up.

Patch 2 adds a common dtsi for the AXP22x family of PMICs. This
includes listing all the regulators, and the basic common properties,
like "interrupt-controller".

Patch 3 migrates the Hummingbird A31 dts to use the new axp221.dtsi

Patch 4 enables the AXP221 DC5LDO regulator on the Hummingbird A31.
This is used to power the embedded controller/processor core.

Patch 5 adds dtsi/dts files for the Sinlinx SinA31s development kit.


Regards
ChenYu

Chen-Yu Tsai (5):
  ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
  ARM: dts: sunxi: Add dtsi for AXP22x PMIC
  ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators
  ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as
    "vdd-cpus"
  ARM: dts: sun6i: Add support for Sinlinx A31s SDK board

 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/axp22x.dtsi                  | 143 +++++++++++++++++++++
 arch/arm/boot/dts/sun6i-a31-hummingbird.dts    | 119 +++++++++---------
 arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi | 140 +++++++++++++++++++++
 arch/arm/boot/dts/sun6i-a31s-sina31s.dts       | 167 +++++++++++++++++++++++++
 5 files changed, 513 insertions(+), 57 deletions(-)
 create mode 100644 arch/arm/boot/dts/axp22x.dtsi
 create mode 100644 arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi
 create mode 100644 arch/arm/boot/dts/sun6i-a31s-sina31s.dts

-- 
2.5.3

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

* [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
  2015-10-10 14:48 [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion Chen-Yu Tsai
@ 2015-10-10 14:48 ` Chen-Yu Tsai
  2015-10-12  8:31   ` Maxime Ripard
  2015-10-13 18:46   ` Maxime Ripard
  2015-10-10 14:48 ` [PATCH v2 2/5] ARM: dts: sunxi: Add dtsi for AXP22x PMIC Chen-Yu Tsai
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-10 14:48 UTC (permalink / raw)
  To: linux-arm-kernel

The VDD-CPU and VDD-GPU regulators were incorrectly swapped.

Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator
       nodes")

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
index f9d9fc07bc63..e25d4924dbe7 100644
--- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
+++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
@@ -191,18 +191,18 @@
 				regulator-name = "vcc-3v0";
 			};
 
-			vdd_cpu: dcdc2 {
+			vdd_gpu: dcdc2 {
 				regulator-always-on;
 				regulator-min-microvolt = <700000>;
 				regulator-max-microvolt = <1320000>;
-				regulator-name = "vdd-cpu";
+				regulator-name = "vdd-gpu";
 			};
 
-			vdd_gpu: dcdc3 {
+			vdd_cpu: dcdc3 {
 				regulator-always-on;
 				regulator-min-microvolt = <700000>;
 				regulator-max-microvolt = <1320000>;
-				regulator-name = "vdd-gpu";
+				regulator-name = "vdd-cpu";
 			};
 
 			vdd_sys_dll: dcdc4 {
-- 
2.5.3

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

* [PATCH v2 2/5] ARM: dts: sunxi: Add dtsi for AXP22x PMIC
  2015-10-10 14:48 [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion Chen-Yu Tsai
  2015-10-10 14:48 ` [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names Chen-Yu Tsai
@ 2015-10-10 14:48 ` Chen-Yu Tsai
  2015-10-12  9:27   ` Maxime Ripard
  2015-10-10 14:48 ` [PATCH v2 3/5] ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators Chen-Yu Tsai
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-10 14:48 UTC (permalink / raw)
  To: linux-arm-kernel

The AXP22x family of PMIC is used with some Allwinner SoCs. This
includes the AXP221, AXP221s and AXP223. They differ in the host
interface, maximum supply current for DCDC1 regulator, and default
voltage and state for various LDO regulators. Also, the AXP221s
does not support fine calibration of the battery fuel gauge.

This patch adds a dtsi file for all the common bindings for these
PMICs. Currently this is just listing all the regulator nodes. The
regulators are initialized based on their device node names.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/axp22x.dtsi | 143 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 143 insertions(+)
 create mode 100644 arch/arm/boot/dts/axp22x.dtsi

diff --git a/arch/arm/boot/dts/axp22x.dtsi b/arch/arm/boot/dts/axp22x.dtsi
new file mode 100644
index 000000000000..76302f58c478
--- /dev/null
+++ b/arch/arm/boot/dts/axp22x.dtsi
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2015 Chen-Yu Tsai
+ *
+ * Chen-Yu Tsai <wens@csie.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * AXP221/221s/223 Integrated Power Management Chip
+ * http://www.x-powers.com/product/AXP22X.php
+ * http://dl.linux-sunxi.org/AXP/AXP221%20Datasheet%20V1.2%2020130326%20.pdf
+ */
+
+&axp22x {
+	interrupt-controller;
+	#interrupt-cells = <1>;
+
+	regulators {
+		/* Default work frequency for buck regulators */
+		x-powers,dcdc-freq = <3000>;
+
+		reg_dcdc1: dcdc1 {
+			regulator-name = "dcdc1";
+		};
+
+		reg_dcdc2: dcdc2 {
+			regulator-name = "dcdc2";
+		};
+
+		reg_dcdc3: dcdc3 {
+			regulator-name = "dcdc3";
+		};
+
+		reg_dcdc4: dcdc4 {
+			regulator-name = "dcdc4";
+		};
+
+		reg_dcdc5: dcdc5 {
+			regulator-name = "dcdc5";
+		};
+
+		reg_dc1sw: dc1sw {
+			regulator-name = "dc1sw";
+		};
+
+		reg_dc5ldo: dc5ldo {
+			regulator-name = "dc5ldo";
+		};
+
+		reg_aldo1: aldo1 {
+			regulator-name = "aldo1";
+		};
+
+		reg_aldo2: aldo2 {
+			regulator-name = "aldo2";
+		};
+
+		reg_aldo3: aldo3 {
+			regulator-name = "aldo3";
+		};
+
+		reg_dldo1: dldo1 {
+			regulator-name = "dldo1";
+		};
+
+		reg_dldo2: dldo2 {
+			regulator-name = "dldo2";
+		};
+
+		reg_dldo3: dldo3 {
+			regulator-name = "dldo3";
+		};
+
+		reg_dldo4: dldo4 {
+			regulator-name = "dldo4";
+		};
+
+		reg_eldo1: eldo1 {
+			regulator-name = "eldo1";
+		};
+
+		reg_eldo2: eldo2 {
+			regulator-name = "eldo2";
+		};
+
+		reg_eldo3: eldo3 {
+			regulator-name = "eldo3";
+		};
+
+		reg_ldo_io0: ldo_io0 {
+			regulator-name = "ldo_io0";
+		};
+
+		reg_ldo_io1: ldo_io1 {
+			regulator-name = "ldo_io1";
+		};
+
+		reg_rtc_ldo: rtc_ldo {
+			/* RTC_LDO is a fixed, always-on regulator */
+			regulator-always-on;
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3000000>;
+			regulator-name = "rtc_ldo";
+		};
+	};
+};
-- 
2.5.3

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

* [PATCH v2 3/5] ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators
  2015-10-10 14:48 [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion Chen-Yu Tsai
  2015-10-10 14:48 ` [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names Chen-Yu Tsai
  2015-10-10 14:48 ` [PATCH v2 2/5] ARM: dts: sunxi: Add dtsi for AXP22x PMIC Chen-Yu Tsai
@ 2015-10-10 14:48 ` Chen-Yu Tsai
  2015-10-13 18:46   ` Maxime Ripard
  2015-10-10 14:48 ` [PATCH v2 4/5] ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" Chen-Yu Tsai
  2015-10-10 14:49 ` [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board Chen-Yu Tsai
  4 siblings, 1 reply; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-10 14:48 UTC (permalink / raw)
  To: linux-arm-kernel

Now that we have axp22x.dtsi describing common axp22x hardware, use
it and reference the nodes instead of declaring the whole tree.

Also drop the "always-on" from the vdd-gpu regulator, since we don't
support the GPU anyway.

And add a regulator reference for cpu0.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 113 ++++++++++++++--------------
 1 file changed, 56 insertions(+), 57 deletions(-)

diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
index e25d4924dbe7..a9b87ae89855 100644
--- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
+++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
@@ -69,6 +69,10 @@
 	};
 };
 
+&cpu0 {
+	cpu-supply = <&reg_dcdc3>;
+};
+
 &ehci0 {
 	status = "okay";
 };
@@ -121,7 +125,7 @@
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>;
-	vmmc-supply = <&vcc_3v0>;
+	vmmc-supply = <&reg_dcdc1>;
 	bus-width = <4>;
 	cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */
 	cd-inverted;
@@ -136,7 +140,7 @@
 &mmc1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins_a>, <&wifi_reset_pin_hummingbird>;
-	vmmc-supply = <&vcc_wifi>;
+	vmmc-supply = <&reg_aldo1>;
 	mmc-pwrseq = <&wifi_pwrseq>;
 	bus-width = <4>;
 	non-removable;
@@ -173,68 +177,63 @@
 &p2wi {
 	status = "okay";
 
-	axp221: pmic at 68 {
+	axp22x: pmic at 68 {
 		compatible = "x-powers,axp221";
 		reg = <0x68>;
 		interrupt-parent = <&nmi_intc>;
 		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-		interrupt-controller;
-		#interrupt-cells = <1>;
-
-		regulators {
-			x-powers,dcdc-freq = <3000>;
-
-			vcc_3v0: dcdc1 {
-				regulator-always-on;
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-name = "vcc-3v0";
-			};
-
-			vdd_gpu: dcdc2 {
-				regulator-always-on;
-				regulator-min-microvolt = <700000>;
-				regulator-max-microvolt = <1320000>;
-				regulator-name = "vdd-gpu";
-			};
-
-			vdd_cpu: dcdc3 {
-				regulator-always-on;
-				regulator-min-microvolt = <700000>;
-				regulator-max-microvolt = <1320000>;
-				regulator-name = "vdd-cpu";
-			};
-
-			vdd_sys_dll: dcdc4 {
-				regulator-always-on;
-				regulator-min-microvolt = <1100000>;
-				regulator-max-microvolt = <1100000>;
-				regulator-name = "vdd-sys-dll";
-			};
-
-			vcc_dram: dcdc5 {
-				regulator-always-on;
-				regulator-min-microvolt = <1500000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-name = "vcc-dram";
-			};
-
-			vcc_wifi: aldo1 {
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-name = "vcc_wifi";
-			};
-
-			avcc: aldo3 {
-				regulator-always-on;
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-name = "avcc";
-			};
-		};
 	};
 };
 
+#include "axp22x.dtsi"
+
+&reg_aldo1 {
+	regulator-min-microvolt = <3300000>;
+	regulator-max-microvolt = <3300000>;
+	regulator-name = "vcc-wifi";
+};
+
+&reg_aldo3 {
+	regulator-always-on;
+	regulator-min-microvolt = <2700000>;
+	regulator-max-microvolt = <3300000>;
+	regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+	regulator-always-on;
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+	regulator-name = "vcc-3v0";
+};
+
+&reg_dcdc2 {
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc3 {
+	regulator-always-on;
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc4 {
+	regulator-always-on;
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-sys-dll";
+};
+
+&reg_dcdc5 {
+	regulator-always-on;
+	regulator-min-microvolt = <1500000>;
+	regulator-max-microvolt = <1500000>;
+	regulator-name = "vcc-dram";
+};
+
 &reg_usb1_vbus {
 	gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
 	status = "okay";
-- 
2.5.3

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

* [PATCH v2 4/5] ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus"
  2015-10-10 14:48 [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion Chen-Yu Tsai
                   ` (2 preceding siblings ...)
  2015-10-10 14:48 ` [PATCH v2 3/5] ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators Chen-Yu Tsai
@ 2015-10-10 14:48 ` Chen-Yu Tsai
  2015-10-13 18:46   ` Maxime Ripard
  2015-10-10 14:49 ` [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board Chen-Yu Tsai
  4 siblings, 1 reply; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-10 14:48 UTC (permalink / raw)
  To: linux-arm-kernel

The DC5LDO regulator supplies VDD-CPUS, which is for the embedded
controller in the A31 SoC.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
index a9b87ae89855..9a74637f677f 100644
--- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
+++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
@@ -200,6 +200,12 @@
 	regulator-name = "avcc";
 };
 
+&reg_dc5ldo {
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-cpus";
+};
+
 &reg_dcdc1 {
 	regulator-always-on;
 	regulator-min-microvolt = <3000000>;
-- 
2.5.3

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-10 14:48 [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion Chen-Yu Tsai
                   ` (3 preceding siblings ...)
  2015-10-10 14:48 ` [PATCH v2 4/5] ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" Chen-Yu Tsai
@ 2015-10-10 14:49 ` Chen-Yu Tsai
  2015-10-12  9:30   ` Maxime Ripard
  4 siblings, 1 reply; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-10 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

The Sinlinx A31s SDK is a A31s based module/baseboard development kit.

The core module has the SoC, PMIC, DRAM, eMMC and supporting components.
There are also pads for UART0, JTAG and I2S.

The baseboard has 100 Mbps Ethernet, 5x USB 2.0 host ports via a USB 2.0
hub chip, MMC, HDMI, SPDIF, CIR, audio jacks, 2 tablet-like volume
buttons, RS232 style UART and USB OTG (though VBUS is not connected).
Various headers are available for other addon modules, such as SDIO
WiFi, LCD display, camera sensor, UARTs, I2C, SPI and GPIOs.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi | 140 +++++++++++++++++++++
 arch/arm/boot/dts/sun6i-a31s-sina31s.dts       | 167 +++++++++++++++++++++++++
 3 files changed, 308 insertions(+)
 create mode 100644 arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi
 create mode 100644 arch/arm/boot/dts/sun6i-a31s-sina31s.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 342ab3116feb..9fb5ece17b8e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -609,6 +609,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
 	sun6i-a31-m9.dtb \
 	sun6i-a31-mele-a1000g-quad.dtb \
 	sun6i-a31s-cs908.dtb \
+	sun6i-a31s-sina31s.dtb \
 	sun6i-a31s-yones-toptech-bs1078-v2.dtb
 dtb-$(CONFIG_MACH_SUN7I) += \
 	sun7i-a20-bananapi.dtb \
diff --git a/arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi b/arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi
new file mode 100644
index 000000000000..ea69fb8ad4d8
--- /dev/null
+++ b/arch/arm/boot/dts/sun6i-a31s-sina31s-core.dtsi
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2015 Chen-Yu Tsai <wens@csie.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun6i-a31s.dtsi"
+#include "sunxi-common-regulators.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/sun4i-a10.h>
+
+/ {
+	model = "Sinlinx SinA31s Core Board";
+	compatible = "sinlinx,sina31s", "allwinner,sun6i-a31s";
+
+	aliases {
+		serial0 = &uart0;
+	};
+};
+
+&cpu0 {
+	cpu-supply = <&reg_dcdc3>;
+};
+
+/* eMMC on core board */
+&mmc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc2_8bit_emmc_pins>;
+	vmmc-supply = <&reg_dcdc1>;
+	bus-width = <8>;
+	non-removable;
+	status = "okay";
+};
+
+/* AXP221s PMIC on core board */
+&p2wi {
+	status = "okay";
+
+	axp22x: pmic at 68 {
+		compatible = "x-powers,axp221";
+		reg = <0x68>;
+		interrupt-parent = <&nmi_intc>;
+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+	};
+};
+
+#include "axp22x.dtsi"
+
+&reg_aldo3 {
+	regulator-always-on;
+	regulator-min-microvolt = <2700000>;
+	regulator-max-microvolt = <3300000>;
+	regulator-name = "avcc";
+};
+
+&reg_dc5ldo {
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-cpus";
+};
+
+&reg_dcdc1 {
+	regulator-always-on;
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+	regulator-name = "vcc-3v0";
+};
+
+&reg_dcdc2 {
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc3 {
+	regulator-always-on;
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc4 {
+	regulator-always-on;
+	regulator-min-microvolt = <700000>;
+	regulator-max-microvolt = <1320000>;
+	regulator-name = "vdd-sys-dll";
+};
+
+&reg_dcdc5 {
+	regulator-always-on;
+	regulator-min-microvolt = <1500000>;
+	regulator-max-microvolt = <1500000>;
+	regulator-name = "vcc-dram";
+};
+
+/* UART0 pads available on core board */
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_pins_a>;
+	status = "okay";
+};
+
diff --git a/arch/arm/boot/dts/sun6i-a31s-sina31s.dts b/arch/arm/boot/dts/sun6i-a31s-sina31s.dts
new file mode 100644
index 000000000000..80e4fc7138ec
--- /dev/null
+++ b/arch/arm/boot/dts/sun6i-a31s-sina31s.dts
@@ -0,0 +1,167 @@
+/*
+ * Copyright 2015 Chen-Yu Tsai <wens@csie.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/* The SinA31s development board has the SinA31s core board soldered on */
+#include "sun6i-a31s-sina31s-core.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Sinlinx SinA31s Development Board";
+	compatible = "sinlinx,sina31s-sdk", "allwinner,sun6i-a31s";
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pin_sina31s>;
+
+		status {
+			label = "sina31s:status:usr";
+			gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
+		};
+	};
+};
+
+&ehci0 {
+	/* USB 2.0 4 port hub IC */
+	status = "okay";
+};
+
+&ehci1 {
+	status = "okay";
+};
+
+&gmac {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gmac_pins_mii_a>;
+	phy = <&phy1>;
+	phy-mode = "mii";
+	phy-supply = <&reg_dldo1>;
+	status = "okay";
+
+	phy1: ethernet-phy at 1 {
+		reg = <1>;
+	};
+};
+
+&i2c0 {
+	/* Available on camera header */
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c0_pins_a>;
+	status = "okay";
+};
+
+&i2c1 {
+	/* Available on LCD header */
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c1_pins_a>;
+	status = "okay";
+};
+
+&ir {
+	pinctrl-names = "default";
+	pinctrl-0 = <&ir_pins_a>;
+	status = "okay";
+};
+
+&lradc {
+	vref-supply = <&reg_aldo3>;
+	status = "okay";
+
+	button at 158 {
+		label = "Volume Up";
+		linux,code = <KEY_VOLUMEUP>;
+		channel = <0>;
+		voltage = <158730>;
+	};
+
+	button at 349 {
+		label = "Volume Down";
+		linux,code = <KEY_VOLUMEDOWN>;
+		channel = <0>;
+		voltage = <349206>;
+	};
+};
+
+&mmc0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina31s>;
+	vmmc-supply = <&reg_dcdc1>;
+	bus-width = <4>;
+	cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */
+	cd-inverted;
+	status = "okay";
+};
+
+&ohci1 {
+	status = "okay";
+};
+
+&pio {
+	led_pin_sina31s: led_pin at 0 {
+		allwinner,pins = "PH13";
+		allwinner,function = "gpio_out";
+		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+	};
+
+	mmc0_cd_pin_sina31s: mmc0_cd_pin at 0 {
+		allwinner,pins = "PA4";
+		allwinner,function = "gpio_in";
+		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+		allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+	};
+};
+
+&reg_dldo1 {
+	regulator-min-microvolt = <3300000>;
+	regulator-max-microvolt = <3300000>;
+	regulator-name = "vcc-gmac-phy";
+};
+
+&usbphy {
+	status = "okay";
+};
-- 
2.5.3

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

* [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
  2015-10-10 14:48 ` [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names Chen-Yu Tsai
@ 2015-10-12  8:31   ` Maxime Ripard
  2015-10-12  8:35     ` Chen-Yu Tsai
  2015-10-13 18:46   ` Maxime Ripard
  1 sibling, 1 reply; 18+ messages in thread
From: Maxime Ripard @ 2015-10-12  8:31 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Sat, Oct 10, 2015 at 10:48:56PM +0800, Chen-Yu Tsai wrote:
> The VDD-CPU and VDD-GPU regulators were incorrectly swapped.
> 
> Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator
>        nodes")
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
>  arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
> index f9d9fc07bc63..e25d4924dbe7 100644
> --- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
> +++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
> @@ -191,18 +191,18 @@
>  				regulator-name = "vcc-3v0";
>  			};
>  
> -			vdd_cpu: dcdc2 {
> +			vdd_gpu: dcdc2 {
>  				regulator-always-on;
>  				regulator-min-microvolt = <700000>;
>  				regulator-max-microvolt = <1320000>;
> -				regulator-name = "vdd-cpu";
> +				regulator-name = "vdd-gpu";
>  			};

Do we need to leave the GPU regulator on ?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151012/38713a8a/attachment.sig>

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

* [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
  2015-10-12  8:31   ` Maxime Ripard
@ 2015-10-12  8:35     ` Chen-Yu Tsai
  0 siblings, 0 replies; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-12  8:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 12, 2015 at 4:31 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Sat, Oct 10, 2015 at 10:48:56PM +0800, Chen-Yu Tsai wrote:
>> The VDD-CPU and VDD-GPU regulators were incorrectly swapped.
>>
>> Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator
>>        nodes")
>>
>> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
>> ---
>>  arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
>> index f9d9fc07bc63..e25d4924dbe7 100644
>> --- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
>> +++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
>> @@ -191,18 +191,18 @@
>>                               regulator-name = "vcc-3v0";
>>                       };
>>
>> -                     vdd_cpu: dcdc2 {
>> +                     vdd_gpu: dcdc2 {
>>                               regulator-always-on;
>>                               regulator-min-microvolt = <700000>;
>>                               regulator-max-microvolt = <1320000>;
>> -                             regulator-name = "vdd-cpu";
>> +                             regulator-name = "vdd-gpu";
>>                       };
>
> Do we need to leave the GPU regulator on ?

No. But that is addressed in patch 3, which converts to using axp22x.dtsi.

I wanted to keep this fix as simple as possible.

ChenYu

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

* [PATCH v2 2/5] ARM: dts: sunxi: Add dtsi for AXP22x PMIC
  2015-10-10 14:48 ` [PATCH v2 2/5] ARM: dts: sunxi: Add dtsi for AXP22x PMIC Chen-Yu Tsai
@ 2015-10-12  9:27   ` Maxime Ripard
  0 siblings, 0 replies; 18+ messages in thread
From: Maxime Ripard @ 2015-10-12  9:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Oct 10, 2015 at 10:48:57PM +0800, Chen-Yu Tsai wrote:
> The AXP22x family of PMIC is used with some Allwinner SoCs. This
> includes the AXP221, AXP221s and AXP223. They differ in the host
> interface, maximum supply current for DCDC1 regulator, and default
> voltage and state for various LDO regulators. Also, the AXP221s
> does not support fine calibration of the battery fuel gauge.
> 
> This patch adds a dtsi file for all the common bindings for these
> PMICs. Currently this is just listing all the regulator nodes. The
> regulators are initialized based on their device node names.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151012/2797d1d1/attachment.sig>

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-10 14:49 ` [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board Chen-Yu Tsai
@ 2015-10-12  9:30   ` Maxime Ripard
  2015-10-12  9:42     ` Chen-Yu Tsai
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Ripard @ 2015-10-12  9:30 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Sat, Oct 10, 2015 at 10:49:00PM +0800, Chen-Yu Tsai wrote:
> +&i2c0 {
> +	/* Available on camera header */
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c0_pins_a>;
> +	status = "okay";
> +};
> +
> +&i2c1 {
> +	/* Available on LCD header */
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c1_pins_a>;
> +	status = "okay";
> +};

Are those two actually used anywhere on the board itself, or just
exposed on the pin headers?

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151012/722fb7be/attachment.sig>

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-12  9:30   ` Maxime Ripard
@ 2015-10-12  9:42     ` Chen-Yu Tsai
  2015-10-16  7:20       ` Maxime Ripard
  0 siblings, 1 reply; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-12  9:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 12, 2015 at 5:30 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Sat, Oct 10, 2015 at 10:49:00PM +0800, Chen-Yu Tsai wrote:
>> +&i2c0 {
>> +     /* Available on camera header */
>> +     pinctrl-names = "default";
>> +     pinctrl-0 = <&i2c0_pins_a>;
>> +     status = "okay";
>> +};
>> +
>> +&i2c1 {
>> +     /* Available on LCD header */
>> +     pinctrl-names = "default";
>> +     pinctrl-0 = <&i2c1_pins_a>;
>> +     status = "okay";
>> +};
>
> Are those two actually used anywhere on the board itself, or just
> exposed on the pin headers?

They are exposed as grouped headers. 1 header has all the camera
related stuff, like the CSI pins, and various voltage sources
from the PMIC. The other has the LCD pins, resistive touchpanel,
I2C for capacitive touchpanel, and of course voltage sources.

The LCD header is an FPC connector, while the camera header is
the common (common for sunxi devboards) 2.0mm pins. I'm not sure
if there is some common pinout amongst vendors, but at least
Sinlinx sells their own 7" LCD display w/ CTP, VGA converter,
and camera modules. I have both the LCD and VGA converter.

Note that these I2C pins have valid external pull-ups. I doubt
they can be easily re-purposed.

Regards
ChenYu

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

* [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names
  2015-10-10 14:48 ` [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names Chen-Yu Tsai
  2015-10-12  8:31   ` Maxime Ripard
@ 2015-10-13 18:46   ` Maxime Ripard
  1 sibling, 0 replies; 18+ messages in thread
From: Maxime Ripard @ 2015-10-13 18:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Oct 10, 2015 at 10:48:56PM +0800, Chen-Yu Tsai wrote:
> The VDD-CPU and VDD-GPU regulators were incorrectly swapped.
> 
> Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator
>        nodes")
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151013/9334c4a3/attachment.sig>

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

* [PATCH v2 3/5] ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators
  2015-10-10 14:48 ` [PATCH v2 3/5] ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators Chen-Yu Tsai
@ 2015-10-13 18:46   ` Maxime Ripard
  0 siblings, 0 replies; 18+ messages in thread
From: Maxime Ripard @ 2015-10-13 18:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Oct 10, 2015 at 10:48:58PM +0800, Chen-Yu Tsai wrote:
> Now that we have axp22x.dtsi describing common axp22x hardware, use
> it and reference the nodes instead of declaring the whole tree.
> 
> Also drop the "always-on" from the vdd-gpu regulator, since we don't
> support the GPU anyway.
> 
> And add a regulator reference for cpu0.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151013/0b6b0920/attachment.sig>

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

* [PATCH v2 4/5] ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus"
  2015-10-10 14:48 ` [PATCH v2 4/5] ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" Chen-Yu Tsai
@ 2015-10-13 18:46   ` Maxime Ripard
  0 siblings, 0 replies; 18+ messages in thread
From: Maxime Ripard @ 2015-10-13 18:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Oct 10, 2015 at 10:48:59PM +0800, Chen-Yu Tsai wrote:
> The DC5LDO regulator supplies VDD-CPUS, which is for the embedded
> controller in the A31 SoC.
> 
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>

Applied, thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151013/d9f6b85d/attachment-0001.sig>

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-12  9:42     ` Chen-Yu Tsai
@ 2015-10-16  7:20       ` Maxime Ripard
  2015-10-16  7:25         ` Chen-Yu Tsai
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Ripard @ 2015-10-16  7:20 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Mon, Oct 12, 2015 at 05:42:10PM +0800, Chen-Yu Tsai wrote:
> On Mon, Oct 12, 2015 at 5:30 PM, Maxime Ripard
> <maxime.ripard@free-electrons.com> wrote:
> > Hi,
> >
> > On Sat, Oct 10, 2015 at 10:49:00PM +0800, Chen-Yu Tsai wrote:
> >> +&i2c0 {
> >> +     /* Available on camera header */
> >> +     pinctrl-names = "default";
> >> +     pinctrl-0 = <&i2c0_pins_a>;
> >> +     status = "okay";
> >> +};
> >> +
> >> +&i2c1 {
> >> +     /* Available on LCD header */
> >> +     pinctrl-names = "default";
> >> +     pinctrl-0 = <&i2c1_pins_a>;
> >> +     status = "okay";
> >> +};
> >
> > Are those two actually used anywhere on the board itself, or just
> > exposed on the pin headers?
> 
> They are exposed as grouped headers. 1 header has all the camera
> related stuff, like the CSI pins, and various voltage sources
> from the PMIC. The other has the LCD pins, resistive touchpanel,
> I2C for capacitive touchpanel, and of course voltage sources.
> 
> The LCD header is an FPC connector, while the camera header is
> the common (common for sunxi devboards) 2.0mm pins. I'm not sure
> if there is some common pinout amongst vendors, but at least
> Sinlinx sells their own 7" LCD display w/ CTP, VGA converter,
> and camera modules. I have both the LCD and VGA converter.
> 
> Note that these I2C pins have valid external pull-ups. I doubt
> they can be easily re-purposed.

Still, the policy we've had so far is that if the user can use it for
something else (like a GPIO, which is the case here), we don't do
enforce any default, and the user will make the right choice.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151016/ed61ae31/attachment.sig>

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-16  7:20       ` Maxime Ripard
@ 2015-10-16  7:25         ` Chen-Yu Tsai
  2015-10-19  6:15           ` Maxime Ripard
  0 siblings, 1 reply; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-16  7:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 16, 2015 at 3:20 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Mon, Oct 12, 2015 at 05:42:10PM +0800, Chen-Yu Tsai wrote:
>> On Mon, Oct 12, 2015 at 5:30 PM, Maxime Ripard
>> <maxime.ripard@free-electrons.com> wrote:
>> > Hi,
>> >
>> > On Sat, Oct 10, 2015 at 10:49:00PM +0800, Chen-Yu Tsai wrote:
>> >> +&i2c0 {
>> >> +     /* Available on camera header */
>> >> +     pinctrl-names = "default";
>> >> +     pinctrl-0 = <&i2c0_pins_a>;
>> >> +     status = "okay";
>> >> +};
>> >> +
>> >> +&i2c1 {
>> >> +     /* Available on LCD header */
>> >> +     pinctrl-names = "default";
>> >> +     pinctrl-0 = <&i2c1_pins_a>;
>> >> +     status = "okay";
>> >> +};
>> >
>> > Are those two actually used anywhere on the board itself, or just
>> > exposed on the pin headers?
>>
>> They are exposed as grouped headers. 1 header has all the camera
>> related stuff, like the CSI pins, and various voltage sources
>> from the PMIC. The other has the LCD pins, resistive touchpanel,
>> I2C for capacitive touchpanel, and of course voltage sources.
>>
>> The LCD header is an FPC connector, while the camera header is
>> the common (common for sunxi devboards) 2.0mm pins. I'm not sure
>> if there is some common pinout amongst vendors, but at least
>> Sinlinx sells their own 7" LCD display w/ CTP, VGA converter,
>> and camera modules. I have both the LCD and VGA converter.
>>
>> Note that these I2C pins have valid external pull-ups. I doubt
>> they can be easily re-purposed.
>
> Still, the policy we've had so far is that if the user can use it for
> something else (like a GPIO, which is the case here), we don't do
> enforce any default, and the user will make the right choice.

To clarify, unless an actual device is connected, forcing a choice,
we won't make that choice for the user, even if the connector is
specifically designed for one type of application.

Did I get that right?

Thanks

ChenYu

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-16  7:25         ` Chen-Yu Tsai
@ 2015-10-19  6:15           ` Maxime Ripard
  2015-10-19  6:22             ` Chen-Yu Tsai
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Ripard @ 2015-10-19  6:15 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 16, 2015 at 03:25:13PM +0800, Chen-Yu Tsai wrote:
> On Fri, Oct 16, 2015 at 3:20 PM, Maxime Ripard
> <maxime.ripard@free-electrons.com> wrote:
> > Hi,
> >
> > On Mon, Oct 12, 2015 at 05:42:10PM +0800, Chen-Yu Tsai wrote:
> >> On Mon, Oct 12, 2015 at 5:30 PM, Maxime Ripard
> >> <maxime.ripard@free-electrons.com> wrote:
> >> > Hi,
> >> >
> >> > On Sat, Oct 10, 2015 at 10:49:00PM +0800, Chen-Yu Tsai wrote:
> >> >> +&i2c0 {
> >> >> +     /* Available on camera header */
> >> >> +     pinctrl-names = "default";
> >> >> +     pinctrl-0 = <&i2c0_pins_a>;
> >> >> +     status = "okay";
> >> >> +};
> >> >> +
> >> >> +&i2c1 {
> >> >> +     /* Available on LCD header */
> >> >> +     pinctrl-names = "default";
> >> >> +     pinctrl-0 = <&i2c1_pins_a>;
> >> >> +     status = "okay";
> >> >> +};
> >> >
> >> > Are those two actually used anywhere on the board itself, or just
> >> > exposed on the pin headers?
> >>
> >> They are exposed as grouped headers. 1 header has all the camera
> >> related stuff, like the CSI pins, and various voltage sources
> >> from the PMIC. The other has the LCD pins, resistive touchpanel,
> >> I2C for capacitive touchpanel, and of course voltage sources.
> >>
> >> The LCD header is an FPC connector, while the camera header is
> >> the common (common for sunxi devboards) 2.0mm pins. I'm not sure
> >> if there is some common pinout amongst vendors, but at least
> >> Sinlinx sells their own 7" LCD display w/ CTP, VGA converter,
> >> and camera modules. I have both the LCD and VGA converter.
> >>
> >> Note that these I2C pins have valid external pull-ups. I doubt
> >> they can be easily re-purposed.
> >
> > Still, the policy we've had so far is that if the user can use it for
> > something else (like a GPIO, which is the case here), we don't do
> > enforce any default, and the user will make the right choice.
> 
> To clarify, unless an actual device is connected, forcing a choice,
> we won't make that choice for the user, even if the connector is
> specifically designed for one type of application.
> 
> Did I get that right?

Yep.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151019/049a7d7f/attachment.sig>

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

* [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board
  2015-10-19  6:15           ` Maxime Ripard
@ 2015-10-19  6:22             ` Chen-Yu Tsai
  0 siblings, 0 replies; 18+ messages in thread
From: Chen-Yu Tsai @ 2015-10-19  6:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 19, 2015 at 2:15 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> On Fri, Oct 16, 2015 at 03:25:13PM +0800, Chen-Yu Tsai wrote:
>> On Fri, Oct 16, 2015 at 3:20 PM, Maxime Ripard
>> <maxime.ripard@free-electrons.com> wrote:
>> > Hi,
>> >
>> > On Mon, Oct 12, 2015 at 05:42:10PM +0800, Chen-Yu Tsai wrote:
>> >> On Mon, Oct 12, 2015 at 5:30 PM, Maxime Ripard
>> >> <maxime.ripard@free-electrons.com> wrote:
>> >> > Hi,
>> >> >
>> >> > On Sat, Oct 10, 2015 at 10:49:00PM +0800, Chen-Yu Tsai wrote:
>> >> >> +&i2c0 {
>> >> >> +     /* Available on camera header */
>> >> >> +     pinctrl-names = "default";
>> >> >> +     pinctrl-0 = <&i2c0_pins_a>;
>> >> >> +     status = "okay";
>> >> >> +};
>> >> >> +
>> >> >> +&i2c1 {
>> >> >> +     /* Available on LCD header */
>> >> >> +     pinctrl-names = "default";
>> >> >> +     pinctrl-0 = <&i2c1_pins_a>;
>> >> >> +     status = "okay";
>> >> >> +};
>> >> >
>> >> > Are those two actually used anywhere on the board itself, or just
>> >> > exposed on the pin headers?
>> >>
>> >> They are exposed as grouped headers. 1 header has all the camera
>> >> related stuff, like the CSI pins, and various voltage sources
>> >> from the PMIC. The other has the LCD pins, resistive touchpanel,
>> >> I2C for capacitive touchpanel, and of course voltage sources.
>> >>
>> >> The LCD header is an FPC connector, while the camera header is
>> >> the common (common for sunxi devboards) 2.0mm pins. I'm not sure
>> >> if there is some common pinout amongst vendors, but at least
>> >> Sinlinx sells their own 7" LCD display w/ CTP, VGA converter,
>> >> and camera modules. I have both the LCD and VGA converter.
>> >>
>> >> Note that these I2C pins have valid external pull-ups. I doubt
>> >> they can be easily re-purposed.
>> >
>> > Still, the policy we've had so far is that if the user can use it for
>> > something else (like a GPIO, which is the case here), we don't do
>> > enforce any default, and the user will make the right choice.
>>
>> To clarify, unless an actual device is connected, forcing a choice,
>> we won't make that choice for the user, even if the connector is
>> specifically designed for one type of application.
>>
>> Did I get that right?
>
> Yep.

Cool. I already sent an updated version of this patch yesterday.

ChenYu

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

end of thread, other threads:[~2015-10-19  6:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-10 14:48 [PATCH v2 0/5] ARM: sunxi: Sinlinx SinA31s support / AXP22x dtsi conversion Chen-Yu Tsai
2015-10-10 14:48 ` [PATCH v2 1/5] ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names Chen-Yu Tsai
2015-10-12  8:31   ` Maxime Ripard
2015-10-12  8:35     ` Chen-Yu Tsai
2015-10-13 18:46   ` Maxime Ripard
2015-10-10 14:48 ` [PATCH v2 2/5] ARM: dts: sunxi: Add dtsi for AXP22x PMIC Chen-Yu Tsai
2015-10-12  9:27   ` Maxime Ripard
2015-10-10 14:48 ` [PATCH v2 3/5] ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators Chen-Yu Tsai
2015-10-13 18:46   ` Maxime Ripard
2015-10-10 14:48 ` [PATCH v2 4/5] ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" Chen-Yu Tsai
2015-10-13 18:46   ` Maxime Ripard
2015-10-10 14:49 ` [PATCH v2 5/5] ARM: dts: sun6i: Add support for Sinlinx A31s SDK board Chen-Yu Tsai
2015-10-12  9:30   ` Maxime Ripard
2015-10-12  9:42     ` Chen-Yu Tsai
2015-10-16  7:20       ` Maxime Ripard
2015-10-16  7:25         ` Chen-Yu Tsai
2015-10-19  6:15           ` Maxime Ripard
2015-10-19  6:22             ` Chen-Yu Tsai

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.