Hi Everyone,

Please ignore this mail. Version information, 'v3' is missing in the subject.
Fixed mail has just sent. Please find '[PATCH v3 4/4]' in your mailbox.
Sorry for the inconvenience.

Best regards,
Milo

On 09/12/2013 10:34 AM, Milo Kim wrote:
Bindings for LP3943 MFD, GPIO and PWM controller are added.
And LP3943 driver document is added also.

Cc: devicet...@vger.kernel.org
Cc: Lee Jones <lee.jo...@linaro.org>
Cc: Linus Walleij <linus.wall...@linaro.org>
Cc: Samuel Ortiz <sa...@linux.intel.com>
Cc: Thierry Reding <thierry.red...@gmail.com>
Signed-off-by: Milo Kim <milo....@ti.com>
---
  Documentation/00-INDEX                             |    2 +
  .../devicetree/bindings/gpio/gpio-lp3943.txt       |   37 ++++++++++++
  Documentation/devicetree/bindings/mfd/lp3943.txt   |   33 +++++++++++
  .../devicetree/bindings/pwm/pwm-lp3943.txt         |   58 ++++++++++++++++++
  Documentation/lp3943.txt                           |   62 ++++++++++++++++++++
  5 files changed, 192 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
  create mode 100644 Documentation/devicetree/bindings/mfd/lp3943.txt
  create mode 100644 Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
  create mode 100644 Documentation/lp3943.txt

diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index 0c4cc68..5dd921f 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -285,6 +285,8 @@ logo.gif
        - full colour GIF image of Linux logo (penguin - Tux).
  logo.txt
        - info on creator of above logo & site to get additional images from.
+lp3943.txt
+       - info on LP3943 MFD driver structure.
  m68k/
        - directory with info about Linux on Motorola 68k architecture.
  magic-number.txt
diff --git a/Documentation/devicetree/bindings/gpio/gpio-lp3943.txt 
b/Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
new file mode 100644
index 0000000..80fcb7d
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
@@ -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";
+       };
+};
diff --git a/Documentation/devicetree/bindings/mfd/lp3943.txt 
b/Documentation/devicetree/bindings/mfd/lp3943.txt
new file mode 100644
index 0000000..e8591d6
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/lp3943.txt
@@ -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>;
+       };
+};
diff --git a/Documentation/devicetree/bindings/pwm/pwm-lp3943.txt 
b/Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
new file mode 100644
index 0000000..7bd9d3b
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
@@ -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";
+       };
+};
diff --git a/Documentation/lp3943.txt b/Documentation/lp3943.txt
new file mode 100644
index 0000000..576ebd0
--- /dev/null
+++ b/Documentation/lp3943.txt
@@ -0,0 +1,62 @@
+TI/National Semiconductor LP3943 MFD driver
+===========================================
+
+LP3943 is an integrated device capable of driving 16 output channels.
+It can be used for GPIO expander and PWM generators.
+LP3493 registers are controlled via the I2C interface.
+
+Driver structure
+----------------
+                                  LED control    General usage for a device
+                                  ___________   ____________________________
+
+  LP3943 MFD ---- GPIO expander    leds-gpio        eg) HW enable pin
+              |
+              --- PWM generator    leds-pwm         eg) PWM input
+
+
+Why do we need GPIO and PWM drivers instead of LED driver?
+To support LED control and general usage, GPIO and PWM drivers are necessary.
+
+According to the datasheet(1), it's just a LED driver which has 16 channels.
+But here is another application, a GPIO expander.(2)
+
+  (1) http://www.ti.com/lit/ds/snvs256b/snvs256b.pdf
+  (2) http://www.ti.com/lit/an/snva287a/snva287a.pdf
+
+Internal two PWM channels are used for LED dimming effect.
+And each output pin can be used as a GPIO as well.
+LED functionality can work with GPIOs or PWMs.
+LEDs can be controlled with legacy leds-gpio(static brightness) or
+leds-pwm drivers(dynamic brightness control).
+Additionally, it can be used for generic GPIO and PWM controller.
+For example, a GPIO is HW enable pin of a device.
+PWM is input pin of a backlight device.
+
+
+LP3943 PWM port map
+-------------------
+Each PWM channel can be mapped to one or multiple output pins.
+
+For example, PWM 0 is used for a backlight device.
+PWM 1 is for RGB LEDs.
+
+  PWM channel    Output pins    PWM consumer
+  ___________    ___________    ____________
+  PWM 0          pin 1          backlight
+  PWM 1          pin 7, 8, 9    RGB LEDs
+
+Then, PWM port map is as below.
+PWM 0: num_outputs = 1, output = pin 1
+PWM 1: num_outputs = 3, output = pin 7, 8, 9
+
+The 'lp3943_pwm_map' structure is used for this feature.
+
+
+Device tree supported
+---------------------
+Please refer to the documents below.
+
+Documentation/devicetree/bindings/mfd/lp3943.txt
+Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
+Documentation/devicetree/bindings/pwm/pwm-lp3943.txt


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to