Re: [PATCH v2 06/10] mfd: Add driver for Maxim 77802 Power Management IC

2014-06-18 Thread Lee Jones
  +config MFD_MAX77802
  +  tristate Maxim Integrated MAX77802 PMIC Support
  +  depends on I2C=y
  +  select MFD_CORE
  +  select REGMAP_I2C
  +  select REGMAP_IRQ
  +  select IRQ_DOMAIN
  +  help
  +Say yes here to support for Maxim Integrated MAX77802.
  +This is a Power Management IC with RTC on chip.
  +This driver provides common support for accessing the device;
  +additional drivers must be enabled in order to use the functionality
  +of the device.
  +
  
  It is a bit unorthodox to put the build infrastructure in the same patch
  as the DT binding...
  
 
 I thought it was the opposite. That a DT binding document has to be added 
 along
 with the first user of the binding but I'll separate the DT doc in another 
 patch
 then if that is the right thing to do.

This was the 'old' method, but changed a little over a year ago.

 Thanks a lot for all your suggestions, I'll wait a little to see if there is
 more feedback and repost a v3 addressing all the issues you pointed out.

Just re-post it.  I'll review the next version.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 06/10] mfd: Add driver for Maxim 77802 Power Management IC

2014-06-17 Thread Javier Martinez Canillas
Hello Mark,

On 06/16/2014 09:27 PM, Mark Brown wrote:
 On Mon, Jun 16, 2014 at 08:02:34PM +0200, Javier Martinez Canillas wrote:
 
 +- max77802,pmic-buck-dvs-gpios: The DVS GPIOs. We'll try to set these GPIOs
 +  to match pmic-buck-default-dvs-idx at probe time if they are defined. If
 +  some or all of these GPIOs are not defined it's assumed that the board has
 +  any missing GPIOs hardwired to match pmic-buck-default-dvs-idx.
 
 I can't tell from reading this what the property means exactly - I
 expect it is an array of the GPIOs in some order but that order isn't
 specified.
 

Ok, I'll improve this property documentation.

 +config MFD_MAX77802
 +tristate Maxim Integrated MAX77802 PMIC Support
 +depends on I2C=y
 +select MFD_CORE
 +select REGMAP_I2C
 +select REGMAP_IRQ
 +select IRQ_DOMAIN
 +help
 +  Say yes here to support for Maxim Integrated MAX77802.
 +  This is a Power Management IC with RTC on chip.
 +  This driver provides common support for accessing the device;
 +  additional drivers must be enabled in order to use the functionality
 +  of the device.
 +
 
 It is a bit unorthodox to put the build infrastructure in the same patch
 as the DT binding...
 

I thought it was the opposite. That a DT binding document has to be added along
with the first user of the binding but I'll separate the DT doc in another patch
then if that is the right thing to do.

Thanks a lot for all your suggestions, I'll wait a little to see if there is
more feedback and repost a v3 addressing all the issues you pointed out.

Best regards,
Javier
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 06/10] mfd: Add driver for Maxim 77802 Power Management IC

2014-06-16 Thread Javier Martinez Canillas
Maxim MAX77802 is a power management chip that contains 10 high
efficiency Buck regulators, 32 Low-dropout (LDO) regulators used
to power up application processors and peripherals, a 2-channel
32kHz clock outputs, a Real-Time-Clock (RTC) and a I2C interface
to program the individual regulators, clocks outputs and the RTC.

This patch adds the core support for MAX77802 PMIC and is based
on a driver added by Simon Glass to the Chrome OS kernel 3.8 tree.

Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk
---

Changes since v1:
 - Convert max77{686,802} to regmap irq API and get rid of max77{686,802}-irq.c
   suggested by Krzysztof Kozlowski.
 - Don't protect max77802 mfd_cells using Kconfig options since mfd core omits
   devices that don't match. Suggested by Lee Jones.
 - Change mfd driver to be tristate instead of boolean. Suggested by Mark Brown.
 - Change binding voltage-regulators property to regulators to be consistent
   with other PMIC drivers. Suggested by Mark Brown.
 - Use regulators node names instead of the deprecated regulator-compatible
   property. Suggested by Mark Brown. 
 - Use the new descriptor-based GPIO interface instead of the deprecated
   integer based GPIO one. Suggested by Mark Brown.
 - Remove the type parameter from i2c_device_id table since was not used.
 - Fix device not found error message and remove unneeded device found message.

 Documentation/devicetree/bindings/mfd/max77802.txt |  87 +
 drivers/mfd/Kconfig|  14 +
 drivers/mfd/Makefile   |   1 +
 drivers/mfd/max77802.c | 362 +
 include/linux/mfd/max77802-private.h   | 309 ++
 include/linux/mfd/max77802.h   | 124 +++
 6 files changed, 897 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/max77802.txt
 create mode 100644 drivers/mfd/max77802.c
 create mode 100644 include/linux/mfd/max77802-private.h
 create mode 100644 include/linux/mfd/max77802.h

diff --git a/Documentation/devicetree/bindings/mfd/max77802.txt 
b/Documentation/devicetree/bindings/mfd/max77802.txt
new file mode 100644
index 000..e6c4860
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/max77802.txt
@@ -0,0 +1,87 @@
+Maxim MAX77802 multi-function device
+
+MAX77802 is a Mulitifunction device with PMIC, RTC and Charger on chip. It is
+interfaced to host controller using i2c interface. PMIC, Charger and RTC
+submodules are addressed using same i2c slave address
+
+This document describes the binding for mfd device and PMIC submodule.
+
+Binding for the built-in 32k clock generator block is defined separately
+in bindings/clk/maxim,max77802.txt file.
+
+Required properties:
+- compatible : Must be maxim,max77802;
+- reg : Specifies the i2c slave address of PMIC block.
+- interrupts : This i2c device has an IRQ line connected to the main SoC.
+- interrupt-parent : The parent interrupt controller.
+
+Optional properties:
+- max77802,pmic-buck-default-dvs-idx: We'll always write this DVS index in the
+  PMIC for BUCKs with DVS (Bucks 1-4, 6).
+  NOTE: at the moment these bindings don't include enough details for actual
+  GPIO-DVS--this just lets you choose which single slot to use.
+
+- max77802,pmic-buck-dvs-gpios: The DVS GPIOs. We'll try to set these GPIOs
+  to match pmic-buck-default-dvs-idx at probe time if they are defined. If
+  some or all of these GPIOs are not defined it's assumed that the board has
+  any missing GPIOs hardwired to match pmic-buck-default-dvs-idx.
+
+- max77802,pmic-buck-selb-gpios: GPIOs to enable DVS-GPIO for BUCKs.
+  Should be five values: 1, 2, 3, 4, 6.  It is strongly suggested to include
+  these GPIOs if there's any chance that changing DVS GPIOs one line at a
+  time might glitch your DVS values.
+
+Optional node:
+- regulators : The regulators of max77802 have to be instantiated
+  under subnode named regulators using the following format.
+
+   regulator_name {
+   standard regulator constraints
+   };
+   refer Documentation/devicetree/bindings/regulator/regulator.txt
+
+  The regulator node name should be initialized with a string
+to get matched with their hardware counterparts as follow:
+
+   -LDOn   :   for LDOs, where n can lie in range 1 to 35.
+   example: LDO1, LDO2, LDO35.
+   -BUCKn  :   for BUCKs, where n can lie in range 1 to 10.
+   example: BUCK1, BUCK5, BUCK10.
+Example:
+
+   max77802@09 {
+   compatible = maxim,max77802;
+   interrupt-parent = wakeup_eint;
+   interrupts = 26 0;
+   reg = 0x09;
+   #address-cells = 1;
+   #size-cells = 0;
+
+   max77802,pmic-buck-default-dvs-idx = 1;
+   max77802,pmic-buck-dvs-gpios = gpy7 6 0,
+  gpj4 2 0,
+

Re: [PATCH v2 06/10] mfd: Add driver for Maxim 77802 Power Management IC

2014-06-16 Thread Mark Brown
On Mon, Jun 16, 2014 at 08:02:34PM +0200, Javier Martinez Canillas wrote:

 +- max77802,pmic-buck-dvs-gpios: The DVS GPIOs. We'll try to set these GPIOs
 +  to match pmic-buck-default-dvs-idx at probe time if they are defined. If
 +  some or all of these GPIOs are not defined it's assumed that the board has
 +  any missing GPIOs hardwired to match pmic-buck-default-dvs-idx.

I can't tell from reading this what the property means exactly - I
expect it is an array of the GPIOs in some order but that order isn't
specified.

 +config MFD_MAX77802
 + tristate Maxim Integrated MAX77802 PMIC Support
 + depends on I2C=y
 + select MFD_CORE
 + select REGMAP_I2C
 + select REGMAP_IRQ
 + select IRQ_DOMAIN
 + help
 +   Say yes here to support for Maxim Integrated MAX77802.
 +   This is a Power Management IC with RTC on chip.
 +   This driver provides common support for accessing the device;
 +   additional drivers must be enabled in order to use the functionality
 +   of the device.
 +

It is a bit unorthodox to put the build infrastructure in the same patch
as the DT binding...


signature.asc
Description: Digital signature