Skip to content

Commit

Permalink
Merge tag 'mfd-3.14-1' of git://git.linaro.org/people/ljones/mfd
Browse files Browse the repository at this point in the history
Pull MFD changes from Lee Jones:
 "New drivers
   - Samsung Maxim 14577; Micro USB, Regulator, IRQ Controller and
     Battery Charger
   - TI/National Semiconductor LP3943 I2C GPIO Expander and PWM
     Generator

  Existing driver adaptions
   - Expansion of Wolfson Arizona DSP and High-Pass filter controls
   - TI TWL6040 default Regmap support and Regcache addition/bypass
   - Some nice Smatch catch fixes
   - Conversion of TI OMAP-USB and TI TWL6030 to endian neutralness
   - ChromeOS EC timing (delay) adaptions and added dependency on OF
   - Many constifications of 'struct {mfd_cell,regmap_irq,et.al}'
   - Watchdog support added for NVIDIA AS3722
   - Convert functions to static in TI AM335x
   - Realigned previously defeated functionality in TI AM335x
   - IIO ADC-TSC concurrency dead-lock/timeout resolution
   - Addition of Power Management and Clock support for Samsung core
   - DEFINE_PCI_DEVICE_TABLE macro removal from MFD Subsystem
   - Greater use of irqdomain functionality in ST-E AB8500
   - Removal of 'include/linux/mfd/abx500/ab8500-gpio.h'
   - Wolfson WM831x PMIC Power Management changes s/poweroff/shutdown/
   - Device Tree documentation added for TI/Nat Semi LP3943
   - Version detection and voltage tables for TI TPS6586x PMIC devices
   - Simplification of Freescale MC13XXX (de-)initialisation routines
   - Clean-up and simplification of the Realtek parent driver
   - Added support for RTL8402 Realtek PCI-Express card reader
   - Resource leak fix for Maxim 77686
   - Possible suspend BUG() fix in OMAP USB TLL
   - Support for new Wolfson WM5110 Revision (D)
   - Testing of automatic assignment of of_node in mfd_add_device()
   - Reversion of the above when it started to cause issues
   - Remove legacy Platform Data from;
              TI TWL Core, Qualcomm SSBI and ST-E ABx500 Pinctrl
   - Clean-ups; tabbing issues, function name changes, 'drvdata = NULL'
              removal, unused uninitialised warning mitigation, error
              message clarity, removal of redundant/duplicate checks,
              licensing (GPL -> GPL2), coding consistency, duplicate
              function declaration, ret checks, commit corrections,
              redundant of_match_ptr() helper removal, spelling,
              #if-deffery removal and header guards name changes"

* tag 'mfd-3.14-1' of git://git.linaro.org/people/ljones/mfd: (78 commits)
  mfd: wm5110: Add register patch for rev D chip
  mfd: omap-usb-tll: Don't hold lock during pm_runtime_get/put_sync()
  gpio: lp3943: Remove redundant of_match_ptr helper
  mfd: sta2x11-mfd: Use named constants for pci_power_t values
  Documentation: mfd: Fix LDO index in s2mps11.txt
  mfd: Cleanup mfd-mcp-sa11x0.h header
  mfd: max8997: Use "IS_ENABLED(CONFIG_OF)" for DT code.
  mfd: twl6030: Fix endianness problem in IRQ handler
  mfd: sec-core: Add cells for S5M8767-clocks
  mfd: max14577: Remove redundant of_match_ptr helper
  mfd: twl6040: Fix sparse non static symbol warning
  mfd: Revert "mfd: Always assign of_node in mfd_add_device()"
  mfd: rtsx: Fix sparse non static symbol warning
  mfd: max77693: Set proper maximum register for MUIC regmap
  mfd: max77686: Fix regmap resource leak on driver remove
  mfd: Represent correct filenames in file headers
  mfd: rtsx: Add support for card reader rtl8402
  mfd: rtsx: Add set pull control macro and simplify rtl8411
  mfd: max8997: Enforce mfd_add_devices() return value check
  mfd: mc13xxx: Simplify probe() & remove()
  ...
  • Loading branch information
Linus Torvalds committed Jan 21, 2014
2 parents d4371f9 + 0291566 commit ac26663
Show file tree
Hide file tree
Showing 106 changed files with 2,343 additions and 653 deletions.
37 changes: 37 additions & 0 deletions Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
TI/National Semiconductor LP3943 GPIO controller

Required properties:
- compatible: "ti,lp3943-gpio"
- gpio-controller: Marks the device node as a GPIO controller.
- #gpio-cells: Should be 2. See gpio.txt in this directory for a
description of the cells format.

Example:
Simple LED controls with LP3943 GPIO controller

&i2c4 {
lp3943@60 {
compatible = "ti,lp3943";
reg = <0x60>;

gpioex: gpio {
compatible = "ti,lp3943-gpio";
gpio-controller;
#gpio-cells = <2>;
};
};
};

leds {
compatible = "gpio-leds";
indicator1 {
label = "indi1";
gpios = <&gpioex 9 GPIO_ACTIVE_LOW>;
};

indicator2 {
label = "indi2";
gpios = <&gpioex 10 GPIO_ACTIVE_LOW>;
default-state = "off";
};
};
9 changes: 9 additions & 0 deletions Documentation/devicetree/bindings/mfd/cros-ec.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ Required properties (SPI):
- compatible: "google,cros-ec-spi"
- reg: SPI chip select

Optional properties (SPI):
- google,cros-ec-spi-msg-delay: Some implementations of the EC require some
additional processing time in order to accept new transactions. If the delay
between transactions is not long enough the EC may not be able to respond
properly to subsequent transactions and cause them to hang. This property
specifies the delay, in usecs, introduced between transactions to account
for the time required by the EC to get back into a state in which new data
can be accepted.

Required properties (LPC):
- compatible: "google,cros-ec-lpc"
- reg: List of (IO address, size) pairs defining the interface uses
Expand Down
33 changes: 33 additions & 0 deletions Documentation/devicetree/bindings/mfd/lp3943.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
TI/National Semiconductor LP3943 MFD driver

Required properties:
- compatible: "ti,lp3943"
- reg: I2C slave address. From 0x60 to 0x67.

LP3943 consists of two sub-devices, lp3943-gpio and lp3943-pwm.

For the LP3943 GPIO properties please refer to:
Documentation/devicetree/bindings/gpio/gpio-lp3943.txt

For the LP3943 PWM properties please refer to:
Documentation/devicetree/bindings/pwm/pwm-lp3943.txt

Example:

lp3943@60 {
compatible = "ti,lp3943";
reg = <0x60>;

gpioex: gpio {
compatible = "ti,lp3943-gpio";
gpio-controller;
#gpio-cells = <2>;
};

pwm3943: pwm {
compatible = "ti,lp3943-pwm";
#pwm-cells = <2>;
ti,pwm0 = <8 9 10>;
ti,pwm1 = <15>;
};
};
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/mfd/s2mps11.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ as per the datasheet of s2mps11.

- LDOn
- valid values for n are 1 to 38
- Example: LDO0, LD01, LDO28
- Example: LDO1, LD02, LDO28
- BUCKn
- valid values for n are 1 to 10.
- Example: BUCK1, BUCK2, BUCK9
Expand Down
58 changes: 58 additions & 0 deletions Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
TI/National Semiconductor LP3943 PWM controller

Required properties:
- compatible: "ti,lp3943-pwm"
- #pwm-cells: Should be 2. See pwm.txt in this directory for a
description of the cells format.
Note that this hardware limits the period length to the
range 6250~1600000.
- ti,pwm0 or ti,pwm1: Output pin number(s) for PWM channel 0 or 1.
0 = output 0
1 = output 1
.
.
15 = output 15

Example:
PWM 0 is for RGB LED brightness control
PWM 1 is for brightness control of LP8557 backlight device

&i2c3 {
lp3943@60 {
compatible = "ti,lp3943";
reg = <0x60>;

/*
* PWM 0 : output 8, 9 and 10
* PWM 1 : output 15
*/
pwm3943: pwm {
compatible = "ti,lp3943-pwm";
#pwm-cells = <2>;
ti,pwm0 = <8 9 10>;
ti,pwm1 = <15>;
};
};

};

/* LEDs control with PWM 0 of LP3943 */
pwmleds {
compatible = "pwm-leds";
rgb {
label = "indi::rgb";
pwms = <&pwm3943 0 10000>;
max-brightness = <255>;
};
};

&i2c4 {
/* Backlight control with PWM 1 of LP3943 */
backlight@2c {
compatible = "ti,lp8557";
reg = <0x2c>;

pwms = <&pwm3943 1 10000>;
pwm-names = "lp8557";
};
};
4 changes: 2 additions & 2 deletions arch/arm/boot/dts/tegra20-colibri-512.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,8 @@
reg = <3>;
regulator-compatible = "sm2";
regulator-name = "vdd_sm2,vin_ldo*";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};

Expand Down
8 changes: 8 additions & 0 deletions drivers/gpio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,14 @@ config GPIO_ARIZONA
help
Support for GPIOs on Wolfson Arizona class devices.

config GPIO_LP3943
tristate "TI/National Semiconductor LP3943 GPIO expander"
depends on MFD_LP3943
help
GPIO driver for LP3943 MFD.
LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
Open drain outputs are required for this usage.

config GPIO_MAX7300
tristate "Maxim MAX7300 GPIO expander"
depends on I2C
Expand Down
1 change: 1 addition & 0 deletions drivers/gpio/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
obj-$(CONFIG_ARCH_KS8695) += gpio-ks8695.o
obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o
obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o
obj-$(CONFIG_ARCH_LPC32XX) += gpio-lpc32xx.o
obj-$(CONFIG_GPIO_LYNXPOINT) += gpio-lynxpoint.o
obj-$(CONFIG_GPIO_MAX730X) += gpio-max730x.o
Expand Down
Loading

0 comments on commit ac26663

Please sign in to comment.