Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1306141 > unrolled thread

[PATCH v5 0/5] Add Support for Hi6220 PMIC Hi6553 MFD Core

Started byChen Feng <puck.chen@hisilicon.com>
First post2016-01-11 13:30 +0100
Last post2016-01-11 13:30 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH v5 0/5] Add Support for Hi6220 PMIC Hi6553 MFD Core Chen Feng <puck.chen@hisilicon.com> - 2016-01-11 13:30 +0100
    [PATCH v5 5/5] hisilicon/dts: Add hi655x pmic dts node Chen Feng <puck.chen@hisilicon.com> - 2016-01-11 13:30 +0100

#1306141 — [PATCH v5 0/5] Add Support for Hi6220 PMIC Hi6553 MFD Core

FromChen Feng <puck.chen@hisilicon.com>
Date2016-01-11 13:30 +0100
Subject[PATCH v5 0/5] Add Support for Hi6220 PMIC Hi6553 MFD Core
Message-ID<qPJLI-2jg-13@gated-at.bofh.it>
The patch sets add support for Hi6220 PMIC Hi655x MFD core and its
regulator driver.
  Current testing and support board is Hikey which is one of 96boards.
  It is an arm64 open source board. For more information about this board,
  please access https://www.96boards.org.

  This is hardware layout for access PMIC Hi655x from AP SoC Hi6220.
  Between PMIC Hi655x and Hi6220, the physical signal channel is SSI.
  We can use memory-mapped I/O to communicate.

  +----------------+             +-------------+
  |                |             |             |
  |    Hi6220      |   SSI bus   |   Hi655x    |
  |                |-------------|             |
  |                |(REGMAP_MMIO)|             |
  +----------------+             +-------------+

  V2: Code refactoring of regulator.

  V3: Drop mtcmos from this patch and use regmap-irq.

  V4: Move the vset-table to driver code and donot open code for it.

  V5: Use of_match to get dt-data

Chen Feng (5):
  doc: bindings: Add document for mfd hi665x PMIC
  doc: bindings: Document for hi655x regulator driver
  mfd: hi655x: Add hi665x pmic driver
  regulator: add regulator driver of hi655x pmic
  hisilicon/dts: Add hi655x pmic dts node

 .../devicetree/bindings/mfd/hisilicon,hi655x.txt   |  28 +++
 .../regulator/hisilicon,hi655x-regulator.txt       |  30 +++
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts     |   5 +
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi          | 102 ++++++++
 drivers/mfd/Kconfig                                |  10 +
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/hi655x-pmic.c                          | 169 ++++++++++++++
 drivers/regulator/Kconfig                          |   8 +
 drivers/regulator/Makefile                         |   1 +
 drivers/regulator/hi655x-regulator.c               | 256 +++++++++++++++++++++
 include/linux/mfd/hi655x-pmic.h                    |  56 +++++
 11 files changed, 666 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/hisilicon,hi655x-regulator.txt
 create mode 100644 drivers/mfd/hi655x-pmic.c
 create mode 100644 drivers/regulator/hi655x-regulator.c
 create mode 100644 include/linux/mfd/hi655x-pmic.h

-- 
1.9.1

[toc] | [next] | [standalone]


#1306144 — [PATCH v5 5/5] hisilicon/dts: Add hi655x pmic dts node

FromChen Feng <puck.chen@hisilicon.com>
Date2016-01-11 13:30 +0100
Subject[PATCH v5 5/5] hisilicon/dts: Add hi655x pmic dts node
Message-ID<qPJLJ-2jg-49@gated-at.bofh.it>
In reply to#1306141
Add the mfd hi655x dts node and regulator support

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Fei Wang <w.f@huawei.com>
Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com>
---
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts |   5 ++
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi      | 102 +++++++++++++++++++++++++
 2 files changed, 107 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index 8d43a0f..f714ac7 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -31,4 +31,9 @@
 		device_type = "memory";
 		reg = <0x0 0x0 0x0 0x40000000>;
 	};
+
+};
+
+&pmic {
+	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 82d2488..4614304 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -208,5 +208,107 @@
 			clock-names = "uartclk", "apb_pclk";
 			status = "disabled";
 		};
+
+	};
+
+	pmic: pmic@f8000000 {
+		compatible = "hisilicon,hi655x-pmic";
+		reg = <0x0 0xf8000000 0x0 0x1000>;
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		pmic-gpios = <&gpio1 2 0>;
+		status = "disabled";
+
+		regulators {
+			ldo2: ldo2@a21 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo2";
+				regulator-min-microvolt = <2500000>;
+				regulator-max-microvolt = <3200000>;
+				regulator-valid-modes-mask = <0x02>;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo7: ldo7@a26 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo7";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-valid-modes-mask = <0x0a>;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo10: ldo10@a29 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo10";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-valid-modes-mask = <0x0a>;
+				regulator-enable-ramp-delay = <360>;
+			};
+
+			ldo13: ldo13@a32 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo13";
+				regulator-min-microvolt = <1600000>;
+				regulator-max-microvolt = <1950000>;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo14: ldo14@a33 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo14";
+				regulator-min-microvolt = <2500000>;
+				regulator-max-microvolt = <3200000>;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo15: ldo15@a34 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo15";
+				regulator-min-microvolt = <1600000>;
+				regulator-max-microvolt = <1950000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo17: ldo17@a36 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo17";
+				regulator-min-microvolt = <2500000>;
+				regulator-max-microvolt = <3200000>;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo19: ldo19@a38 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo19";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-enable-ramp-delay = <360>;
+			};
+
+			ldo21: ldo21@a40 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo21";
+				regulator-min-microvolt = <1650000>;
+				regulator-max-microvolt = <2000000>;
+				regulator-always-on;
+				regulator-valid-modes-mask = <0x02>;
+				regulator-enable-ramp-delay = <120>;
+			};
+
+			ldo22: ldo22@a41 {
+				compatible = "hisilicon,hi655x-regulator";
+				regulator-name = "ldo22";
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <1200000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-valid-modes-mask = <0x02>;
+				regulator-enable-ramp-delay = <120>;
+			};
+		};
 	};
 };
-- 
1.9.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web