Skip to contentSkip to conversation

ARM: dts: imx27-pdk: Add PMIC support

PATCH In review Fabio Estevam 4 participants 6 messages Apr 15, 2014 – Apr 16, 2014

Subsystems (2)
lore
Share & tools
lore

Fabio Estevam

author reviewer
#0 lore raw

PATCH 1/1 ARM: dts: imx27-pdk: Add PMIC support

From: Fabio Estevam <[email protected]>

imx27-pdk has a MC13783 PMIC connected to CSPI2 port.

Add support for it.

---
 arch/arm/boot/dts/imx27-pdk.dts | 52 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
arch/arm/boot/dts/imx27-pdk.dts +52 -0
index 430b72b..628abbe 100644
@@ -21,6 +21,48 @@
 	};
 };
 
+&cspi2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_cspi2>;
+	fsl,spi-num-chipselects = <1>;
+	cs-gpios = <&gpio4 21 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+
+	pmic: mc13783 at 0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "fsl,mc13783";
+		reg = <0>;
+		spi-cs-high;
+		spi-max-frequency = <1000000>;
+		interrupt-parent = <&gpio3>;
+		interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
+
+		regulators {
+			vgen_reg: vgen {
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			vmmc1_reg: vmmc1 {
+				regulator-min-microvolt = <1600000>;
+				regulator-max-microvolt = <3000000>;
+			};
+
+			gpo1_reg: gpo1 {
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			gpo3_reg: gpo3 {
+				regulator-always-on;
+				regulator-boot-on;
+			};
+		};
+	};
+};
 
 &fec {
 	phy-mode = "mii";
@@ -38,6 +80,16 @@
 
 &iomuxc {
 	imx27-pdk {
+		pinctrl_cspi2: cspi2grp {
+			fsl,pins = <
+				MX27_PAD_CSPI2_MISO__CSPI2_MISO 0x0
+				MX27_PAD_CSPI2_MOSI__CSPI2_MOSI 0x0
+				MX27_PAD_CSPI2_SCLK__CSPI2_SCLK 0x0
+				MX27_PAD_CSPI2_SS0__GPIO4_21	0x0 /* SPI2 CS0 */
+				MX27_PAD_TOUT__GPIO3_14		0x0 /* PMIC IRQ */
+			>;
+		};
+
 		pinctrl_fec: fecgrp {
 			fsl,pins = <
 				MX27_PAD_SD3_CMD__FEC_TXD0 0x0
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 ARM: dts: imx27-pdk: Add PMIC support

Quoted 7 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

imx27-pdk has a MC13783 PMIC connected to CSPI2 port.

Add support for it.

The issue I referred to in my reply to your oops does still need fixing (and testing whether it fixes the oops.)

It's really not on to code drivers such that it's possible to use resources before they are initialised. That means mutexes and locks must be initialised before requesting (threaded) IRQs if they're used by those functions.

In your case, that mutex *definitely* needs initialisation before the threaded IRQ handler is requested.

Signature · 2 lines
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
author reviewer
#2 lore raw

PATCH 1/1 ARM: dts: imx27-pdk: Add PMIC support

Quoted 12 lines · Russell King - ARM Linux
Quoted 7 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

imx27-pdk has a MC13783 PMIC connected to CSPI2 port.

Add support for it.

The issue I referred to in my reply to your oops does still need fixing (and testing whether it fixes the oops.)

Quoted 7 lines

It's really not on to code drivers such that it's possible to use resources before they are initialised. That means mutexes and locks must be initialised before requesting (threaded) IRQs if they're used by those functions.

In your case, that mutex *definitely* needs initialisation before the threaded IRQ handler is requested.

Yes, I agree. I will look at it.

The dt file I sent initially had the wrong SPI port connected to the PMIC.

The PMIC is connected to SPI2 (spi1 in Linux), not SPI1 (spi0 in Linux).

Now it probes correctly, but yes, I will address the issue you raised.

Thanks,

Fabio Estevam

#4 lore raw
In reply to Fabio Estevam

Tue, 15 Apr 2014 18:55:12 -0300 ?? Fabio Estevam <[email protected]>:

Quoted 8 lines

From: Fabio Estevam <[email protected]>

imx27-pdk has a MC13783 PMIC connected to CSPI2 port.

Add support for it.

---

...

arch/arm/boot/dts/imx27-pdk.dts line 91

Quoted 11 lines

&iomuxc {

arch/arm/boot/dts/imx27-pdk.dts +9 -0
 	imx27-pdk {
+		pinctrl_cspi2: cspi2grp {
+			fsl,pins = <
+				MX27_PAD_CSPI2_MISO__CSPI2_MISO 0x0
+				MX27_PAD_CSPI2_MOSI__CSPI2_MOSI 0x0
+				MX27_PAD_CSPI2_SCLK__CSPI2_SCLK 0x0
+				MX27_PAD_CSPI2_SS0__GPIO4_21	0x0 /* SPI2 CS0 */
+				MX27_PAD_TOUT__GPIO3_14		0x0 /* PMIC IRQ */
+			>;
+		};

IRQ GPIO should be in a separate pingroup for PMIC.

---

#5 lore raw

PATCH 1/1 ARM: dts: imx27-pdk: Add PMIC support

Quoted 10 lines · Alexander Shiyan

Tue, 15 Apr 2014 18:55:12 -0300 ?? Fabio Estevam <[email protected]>:

Quoted 8 lines

From: Fabio Estevam <[email protected]>

imx27-pdk has a MC13783 PMIC connected to CSPI2 port.

Add support for it.

---

...

Quoted 13 lines

arch/arm/boot/dts/imx27-pdk.dts line 91

Quoted 11 lines

&iomuxc {

arch/arm/boot/dts/imx27-pdk.dts +9 -0
 	imx27-pdk {
+		pinctrl_cspi2: cspi2grp {
+			fsl,pins = <
+				MX27_PAD_CSPI2_MISO__CSPI2_MISO 0x0
+				MX27_PAD_CSPI2_MOSI__CSPI2_MOSI 0x0
+				MX27_PAD_CSPI2_SCLK__CSPI2_SCLK 0x0
+				MX27_PAD_CSPI2_SS0__GPIO4_21	0x0 /* SPI2 CS0 */
+				MX27_PAD_TOUT__GPIO3_14		0x0 /* PMIC IRQ */
+			>;
+		};

IRQ GPIO should be in a separate pingroup for PMIC.

Right, patch dropped.

Shawn