Thread (12 messages) 12 messages, 3 authors, 2015-02-10

Re: [PATCH v9 2/5] mfd: AXP20x: Add bindings documentation

From: Lee Jones <hidden>
Date: 2015-02-02 08:54:02
Also in: linux-arm-kernel, lkml

On Sat, 31 Jan 2015, Chen-Yu Tsai wrote:
Hi Lee,

On Thu, Jan 22, 2015 at 5:02 PM, Lee Jones [off-list ref] wrote:
quoted
On Thu, 22 Jan 2015, Chen-Yu Tsai wrote:
quoted
From: Carlo Caione <redacted>

Bindings documentation for the AXP20x driver. In this file also
sub-nodes are documented.

Signed-off-by: Carlo Caione <redacted>
Acked-by: Maxime Ripard <redacted>
[wens@csie.org: clarify interrupt source for the axp PMIC]
[wens@csie.org: explain dcdc-workmode in detail and trim lines to 80 chars]
[wens@csie.org: make regulator supplies optional if using unregulated input]
[wens@csie.org: use cubieboard2 regulator nodes as example]
[wens@csie.org: change dcdc-workmode to dcdc-workmode-pwm boolean property]
[wens@csie.org: use clock-frequency for dcdc regulator work frequency]
Signed-off-by: Chen-Yu Tsai <redacted>
---
 Documentation/devicetree/bindings/mfd/axp20x.txt | 102 +++++++++++++++++++++++
 1 file changed, 102 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
This looks okay to me now.

If Mark is happy with the remainder, I'll merge this.
So Mark is not happy with this actually, for a few reasons:

1. The driver was already merged a couple versions back, and
   we have been using the dcdc-freq binding.

2. Furthermore, the dcdc-freq binding has nothing to do with
   the common clock framework. Using the clock-frequencies
   binding implies it does.

3. The change from a integer value to a boolean flag for
   dcdc-mode makes it less capable, i.e. the kernel can't
   just accept the current state of the hardware, which
   should be a valid option for regulators to not screw
   up the system accidentally.

Any chance you could merge the previous version (v8)?
You'll have to re-send it as v10 and obtain Acks in the normal way.
quoted
For my own reference:
Acked-by: Lee Jones <redacted>
quoted
diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt
new file mode 100644
index 000000000000..c3c80db242c7
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/axp20x.txt
@@ -0,0 +1,102 @@
+AXP202/AXP209 device tree bindings
+
+The axp20x family current members :
+axp202 (X-Powers)
+axp209 (X-Powers)
+
+Required properties:
+- compatible: "x-powers,axp202" or "x-powers,axp209"
+- reg: The I2C slave address for the AXP chip
+- interrupt-parent: The parent interrupt controller
+- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
+- interrupt-controller: axp20x has its own internal IRQs
+- #interrupt-cells: Should be set to 1
+- regulators: A node that houses a sub-node for each regulator. The regulators
+           are bound using their name as listed here: dcdc2, dcdc3, ldo1,
+           ldo2, ldo3, ldo4, ldo5.  The bindings details of individual
+           regulator device can be found in:
+           Documentation/devicetree/bindings/regulator/regulator.txt with
+           the exception of x-powers,dcdc-freq. Regulators not used should
+           still be listed for completeness and that the regulator subsystem
+           properly registers them.
+
+Optional properties:
+- regulator supplies - may be omitted if inputs are unregulated, such as using
+                    the IPSOUT output from the PMIC
+  - acin-supply: The input supply for LDO1
+  - vin2-supply: The input supply for DCDC2
+  - vin3-supply: The input supply for DCDC3
+  - ldo24in-supply: The input supply for LDO2, LDO4
+  - ldo3in-supply: The input supply for LDO3
+  - ldo5in-supply: The input supply for LDO5
+
+Optional properties for regulators node:
+- clock-frequency: defines the work frequency of DC-DC regulators
+                (range: 750kHz - 1875kHz). Default: 1.5MHz
+
+Optional properties for DCDC regulators:
+- x-powers,dcdc-workmode-pwm: Force the DCDC regulators to run in PWM mode
+                           The DCDC regulators rormally work in a mixed
+                           PWM/PFM mode, using PFM under light loads and
+                           switching to PWM for heavier loads. Forcing
+                           PWM mode trades efficiency under light loads
+                           for lower output noise. This probably makes
+                           sense for HiFi audio related applications that
+                           aren't battery constrained.
+
+Example:
+
+axp209: pmic@34 {
+     compatible = "x-powers,axp209";
+     reg = <0x34>;
+     interrupt-parent = <&nmi_intc>;
+     interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+     interrupt-controller;
+     #interrupt-cells = <1>;
+
+     regulators {
+             clock-frequency = <1500000>;
+
+             vdd_cpu: dcdc2 {
+                     regulator-always-on;
+                     regulator-min-microvolt = <1000000>;
+                     regulator-max-microvolt = <1450000>;
+                     regulator-name = "vdd-cpu";
+             };
+
+             vdd_int_dll: dcdc3 {
+                     regulator-always-on;
+                     regulator-min-microvolt = <1000000>;
+                     regulator-max-microvolt = <1400000>;
+                     regulator-name = "vdd-int-dll";
+             };
+
+             vdd_rtc: ldo1 {
+                     regulator-always-on;
+                     regulator-min-microvolt = <1200000>;
+                     regulator-max-microvolt = <1400000>;
+                     regulator-name = "vdd-rtc";
+             };
+
+             avcc: ldo2 {
+                     regulator-always-on;
+                     regulator-min-microvolt = <2700000>;
+                     regulator-max-microvolt = <3300000>;
+                     regulator-name = "avcc";
+             };
+
+             ldo3 {
+                     /* unused */
+             };
+
+             csi1_io_2v8: ldo4 {
+                     /* output on extension headers */
+                     regulator-name = "csi1-io-2v8";
+             };
+
+             ldo5 {
+                     /* unused */
+             };
+     };
+};
+
-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help