* [PATCH v3 0/9] TI LMU common Framework
@ 2018-10-11 16:51 Dan Murphy
2018-10-11 16:51 ` [PATCH v3 1/9] leds: add TI LMU backlight driver Dan Murphy
` (8 more replies)
0 siblings, 9 replies; 28+ messages in thread
From: Dan Murphy @ 2018-10-11 16:51 UTC (permalink / raw)
To: robh+dt, jacek.anaszewski, pavel
Cc: lee.jones, tony, devicetree, linux-kernel, linux-leds, Dan Murphy
All
I have updated the patch set and addressed some of the comments.
Thanks to Pavel, he found the lm3639 back light driver that is similar
enough to the LM3632 device. So I removed that device from this patch series.
I am in the process of adding the LM3632 to the LM3639 back light driver as well
as adding additional improvements to that driver.
Dan
Dan Murphy (8):
dt-bindings: ti-lmu: Remove LM3697
mfd: ti-lmu: Remove support for LM3697
dt-bindings: leds: Add bindings for lm3697 driver
leds: lm3697: Introduce the lm3697 driver
dt-bindings: ti-lmu: Remove LM3633
mfd: ti-lmu: Remove support for LM3633
dt-bindings: leds: Add support for the LM3633
leds: lm3633: Introduce the lm3633 driver
Pavel Machek (1):
leds: add TI LMU backlight driver
.../devicetree/bindings/leds/leds-lm3633.txt | 102 ++++
.../devicetree/bindings/leds/leds-lm3697.txt | 98 +++
.../devicetree/bindings/mfd/ti-lmu.txt | 72 ---
drivers/leds/Kconfig | 22 +
drivers/leds/Makefile | 3 +
drivers/leds/leds-lm3633.c | 556 ++++++++++++++++++
drivers/leds/leds-lm3697.c | 381 ++++++++++++
drivers/leds/ti-lmu-led-common.c | 138 +++++
drivers/mfd/Kconfig | 2 +-
drivers/mfd/ti-lmu.c | 38 --
include/linux/mfd/ti-lmu-register.h | 44 --
include/linux/mfd/ti-lmu.h | 1 -
include/linux/ti-lmu-led-common.h | 59 ++
13 files changed, 1360 insertions(+), 156 deletions(-)
create mode 100644 Documentation/devicetree/bindings/leds/leds-lm3633.txt
create mode 100644 Documentation/devicetree/bindings/leds/leds-lm3697.txt
create mode 100644 drivers/leds/leds-lm3633.c
create mode 100644 drivers/leds/leds-lm3697.c
create mode 100644 drivers/leds/ti-lmu-led-common.c
create mode 100644 include/linux/ti-lmu-led-common.h
--
2.19.0
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v3 1/9] leds: add TI LMU backlight driver
2018-10-11 16:51 [PATCH v3 0/9] TI LMU common Framework Dan Murphy
@ 2018-10-11 16:51 ` Dan Murphy
2018-10-11 16:51 ` [PATCH v3 2/9] dt-bindings: ti-lmu: Remove LM3697 Dan Murphy
` (7 subsequent siblings)
8 siblings, 0 replies; 28+ messages in thread
From: Dan Murphy @ 2018-10-11 16:51 UTC (permalink / raw)
To: robh+dt, jacek.anaszewski, pavel
Cc: lee.jones, tony, devicetree, linux-kernel, linux-leds, Milo Kim,
Sebastian Reichel
From: Pavel Machek <pavel@ucw.cz>
This adds backlight support for the following TI LMU
chips: LM3532, LM3631, LM3632, LM3633, LM3695 and LM3697.
It controls LEDs on Droid 4
smartphone, including keyboard and screen backlights.
Signed-off-by: Milo Kim <milo.kim@ti.com>
[add LED subsystem support for keyboard backlight and rework DT
binding according to Rob Herrings feedback]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
[remove backlight subsystem support for now]
Signed-off-by: Pavel Machek <pavel@ucw.cz>
---
drivers/leds/Kconfig | 8 ++
drivers/leds/Makefile | 1 +
drivers/leds/ti-lmu-led-common.c | 138 ++++++++++++++++++++++++++++++
include/linux/ti-lmu-led-common.h | 59 +++++++++++++
4 files changed, 206 insertions(+)
create mode 100644 drivers/leds/ti-lmu-led-common.c
create mode 100644 include/linux/ti-lmu-led-common.h
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 44097a3e0fcc..dc717b30d9d3 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -756,6 +756,14 @@ config LEDS_NIC78BX
To compile this driver as a module, choose M here: the module
will be called leds-nic78bx.
+config LEDS_TI_LMU_COMMON
+ tristate "LED driver for TI LMU"
+ depends on REGMAP
+ help
+ Say Y to enable the LED driver for TI LMU devices.
+ This supports common features between the TI LM3532, LM3631, LM3632,
+ LM3633, LM3695 and LM3697.
+
comment "LED Triggers"
source "drivers/leds/trigger/Kconfig"
diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
index 420b5d2cfa62..e09bb27bc7ea 100644
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
@@ -78,6 +78,7 @@ obj-$(CONFIG_LEDS_MT6323) += leds-mt6323.o
obj-$(CONFIG_LEDS_LM3692X) += leds-lm3692x.o
obj-$(CONFIG_LEDS_SC27XX_BLTC) += leds-sc27xx-bltc.o
obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.o
+obj-$(CONFIG_LEDS_TI_LMU_COMMON) += ti-lmu-led-common.o
# LED SPI Drivers
obj-$(CONFIG_LEDS_CR0014114) += leds-cr0014114.o
diff --git a/drivers/leds/ti-lmu-led-common.c b/drivers/leds/ti-lmu-led-common.c
new file mode 100644
index 000000000000..a4435bd1d248
--- /dev/null
+++ b/drivers/leds/ti-lmu-led-common.c
@@ -0,0 +1,138 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2015 Texas Instruments
+ * Copyright 2018 Sebastian Reichel
+ * Copyright 2018 Pavel Machek <pavel@ucw.cz>
+ *
+ * TI LMU Led driver, based on previous work from
+ * Milo Kim <milo.kim@ti.com>
+ */
+
+#include <linux/bitops.h>
+#include <linux/err.h>
+#include <linux/notifier.h>
+#include <linux/of_device.h>
+#include <linux/platform_device.h>
+
+#include <linux/ti-lmu-led-common.h>
+
+const static int ramp_table[16] = { 2, 262, 524, 1049, 2090, 4194, 8389,
+ 16780, 33550, 41940, 50330, 58720,
+ 67110, 83880, 100660, 117440};
+
+static int ti_lmu_common_update_brightness_register(struct ti_lmu_bank *lmu_bank,
+ int brightness)
+{
+ struct regmap *regmap = lmu_bank->regmap;
+ u8 reg, val;
+ int ret;
+
+ /*
+ * Brightness register update
+ *
+ * 11 bit dimming: update LSB bits and write MSB byte.
+ * MSB brightness should be shifted.
+ * 8 bit dimming: write MSB byte.
+ */
+ if (lmu_bank->max_brightness == MAX_BRIGHTNESS_11BIT) {
+ reg = lmu_bank->lsb_brightness_reg;
+ ret = regmap_update_bits(regmap, reg,
+ LMU_11BIT_LSB_MASK,
+ brightness);
+ if (ret)
+ return ret;
+
+ val = brightness >> LMU_11BIT_MSB_SHIFT;
+ } else {
+ val = brightness;
+ }
+
+ reg = lmu_bank->msb_brightness_reg;
+
+ return regmap_write(regmap, reg, val);
+}
+
+int ti_lmu_common_set_brightness(struct ti_lmu_bank *lmu_bank,
+ int brightness)
+{
+ lmu_bank->current_brightness = brightness;
+
+ return ti_lmu_common_update_brightness_register(lmu_bank, brightness);
+}
+EXPORT_SYMBOL(ti_lmu_common_set_brightness);
+
+static int ti_lmu_common_convert_ramp_to_index(unsigned int msec)
+{
+ int size = ARRAY_SIZE(ramp_table);
+ int i;
+
+ if (msec <= ramp_table[0])
+ return 0;
+
+ if (msec > ramp_table[size - 1])
+ return size - 1;
+
+ for (i = 1; i < size; i++) {
+ if (msec == ramp_table[i])
+ return i;
+
+ /* Find an approximate index by looking up the table */
+ if (msec > ramp_table[i - 1] && msec < ramp_table[i]) {
+ if (msec - ramp_table[i - 1] < ramp_table[i] - msec)
+ return i - 1;
+ else
+ return i;
+ }
+ }
+
+ return -EINVAL;
+}
+
+int ti_lmu_common_set_ramp(struct ti_lmu_bank *lmu_bank)
+{
+ struct regmap *regmap = lmu_bank->regmap;
+ u8 ramp, ramp_up, ramp_down;
+
+ if (lmu_bank->ramp_up_msec == 0 && lmu_bank->ramp_down_msec == 0) {
+ ramp_up = 0;
+ ramp_down = 0;
+ } else {
+ ramp_up = ti_lmu_common_convert_ramp_to_index(lmu_bank->ramp_up_msec);
+ ramp_down = ti_lmu_common_convert_ramp_to_index(lmu_bank->ramp_down_msec);
+ }
+
+ if (ramp_up < 0 || ramp_down < 0)
+ return -EINVAL;
+
+ ramp = (ramp_up << 4) | ramp_down;
+
+ return regmap_write(regmap, lmu_bank->runtime_ramp_reg, ramp);
+
+}
+EXPORT_SYMBOL(ti_lmu_common_set_ramp);
+
+int ti_lmu_common_get_ramp_params(struct device *dev,
+ struct fwnode_handle *child,
+ struct ti_lmu_bank *lmu_data)
+{
+ int ret;
+
+ ret = fwnode_property_read_u32(child, "ramp-up-ms",
+ &lmu_data->ramp_up_msec);
+ if (ret)
+ dev_warn(dev, "ramp-up-ms property missing\n");
+
+
+ ret = fwnode_property_read_u32(child, "ramp-down-ms",
+ &lmu_data->ramp_down_msec);
+ if (ret)
+ dev_warn(dev, "ramp-down-ms property missing\n");
+
+ return 0;
+}
+EXPORT_SYMBOL(ti_lmu_common_get_ramp_params);
+
+MODULE_DESCRIPTION("TI LMU LED Driver");
+MODULE_AUTHOR("Sebastian Reichel");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:ti-lmu-led");
diff --git a/include/linux/ti-lmu-led-common.h b/include/linux/ti-lmu-led-common.h
new file mode 100644
index 000000000000..b0fe08f05be2
--- /dev/null
+++ b/include/linux/ti-lmu-led-common.h
@@ -0,0 +1,59 @@
+// SPDX-License-Identifier: GPL-2.0
+// TI LMU Common Core
+// Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
+
+#ifndef _TI_LMU_COMMON_H_
+#define _TI_LMU_COMMON_H_
+
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/i2c.h>
+#include <linux/init.h>
+#include <linux/leds.h>
+#include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/regmap.h>
+#include <linux/slab.h>
+#include <uapi/linux/uleds.h>
+
+#define LMU_DUAL_CHANNEL_USED (BIT(0) | BIT(1))
+#define LMU_11BIT_LSB_MASK (BIT(0) | BIT(1) | BIT(2))
+#define LMU_11BIT_MSB_SHIFT 3
+
+#define MAX_BRIGHTNESS_8BIT 255
+#define MAX_BRIGHTNESS_11BIT 2047
+
+#define NUM_DUAL_CHANNEL 2
+
+struct ti_lmu_bank {
+ struct regmap *regmap;
+
+ int bank_id;
+ int fault_monitor_used;
+
+ u8 enable_reg;
+ unsigned long enable_usec;
+
+ int current_brightness;
+ u32 default_brightness;
+ int max_brightness;
+
+ u8 lsb_brightness_reg;
+ u8 msb_brightness_reg;
+
+ u8 runtime_ramp_reg;
+ u32 ramp_up_msec;
+ u32 ramp_down_msec;
+};
+
+
+int ti_lmu_common_set_brightness(struct ti_lmu_bank *lmu_bank,
+ int brightness);
+
+int ti_lmu_common_set_ramp(struct ti_lmu_bank *lmu_bank);
+
+int ti_lmu_common_get_ramp_params(struct device *dev,
+ struct fwnode_handle *child,
+ struct ti_lmu_bank *lmu_data);
+
+#endif /* _TI_LMU_COMMON_H_ */
--
2.19.0
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH v3 2/9] dt-bindings: ti-lmu: Remove LM3697
2018-10-11 16:51 [PATCH v3 0/9] TI LMU common Framework Dan Murphy
2018-10-11 16:51 ` [PATCH v3 1/9] leds: add TI LMU backlight driver Dan Murphy
@ 2018-10-11 16:51 ` Dan Murphy
2018-10-11 18:27 ` Pavel Machek
2018-10-12 9:07 ` Lee Jones
2018-10-11 16:51 ` [PATCH v3 3/9] mfd: ti-lmu: Remove support for LM3697 Dan Murphy
` (6 subsequent siblings)
8 siblings, 2 replies; 28+ messages in thread
From: Dan Murphy @ 2018-10-11 16:51 UTC (permalink / raw)
To: robh+dt, jacek.anaszewski, pavel
Cc: lee.jones, tony, devicetree, linux-kernel, linux-leds, Dan Murphy
Remove support for the LM3697 LED device
from the ti-lmu. The LM3697 will be supported
via a stand alone LED driver.
Signed-off-by: Dan Murphy <dmurphy@ti.com>
---
.../devicetree/bindings/mfd/ti-lmu.txt | 26 +------------------
1 file changed, 1 insertion(+), 25 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/ti-lmu.txt b/Documentation/devicetree/bindings/mfd/ti-lmu.txt
index c885cf89b8ce..920f910be4e9 100644
--- a/Documentation/devicetree/bindings/mfd/ti-lmu.txt
+++ b/Documentation/devicetree/bindings/mfd/ti-lmu.txt
@@ -9,7 +9,6 @@ TI LMU driver supports lighting devices below.
LM3632 Backlight and regulator
LM3633 Backlight, LED and fault monitor
LM3695 Backlight
- LM3697 Backlight and fault monitor
Required properties:
- compatible: Should be one of:
@@ -18,11 +17,10 @@ Required properties:
"ti,lm3632"
"ti,lm3633"
"ti,lm3695"
- "ti,lm3697"
- reg: I2C slave address.
0x11 for LM3632
0x29 for LM3631
- 0x36 for LM3633, LM3697
+ 0x36 for LM3633
0x38 for LM3532
0x63 for LM3695
@@ -38,7 +36,6 @@ Optional nodes:
Required properties:
- compatible: Should be one of:
"ti,lm3633-fault-monitor"
- "ti,lm3697-fault-monitor"
- leds: LED properties for LM3633. Please refer to [2].
- regulators: Regulator properties for LM3631 and LM3632.
Please refer to [3].
@@ -220,24 +217,3 @@ lm3695@63 {
};
};
};
-
-lm3697@36 {
- compatible = "ti,lm3697";
- reg = <0x36>;
-
- enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
-
- backlight {
- compatible = "ti,lm3697-backlight";
-
- lcd {
- led-sources = <0 1 2>;
- ramp-up-msec = <200>;
- ramp-down-msec = <200>;
- };
- };
-
- fault-monitor {
- compatible = "ti,lm3697-fault-monitor";
- };
-};
--
2.19.0
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH v3 3/9] mfd: ti-lmu: Remove support for LM3697
2018-10-11 16:51 [PATCH v3 0/9] TI LMU common Framework Dan Murphy
2018-10-11 16:51 ` [PATCH v3 1/9] leds: add TI LMU backlight driver Dan Murphy
2018-10-11 16:51 ` [PATCH v3 2/9] dt-bindings: ti-lmu: Remove LM3697 Dan Murphy
@ 2018-10-11 16:51 ` Dan Murphy
2018-10-11 16:51 ` [PATCH v3 4/9] dt-bindings: leds: Add bindings for lm3697 driver Dan Murphy
` (5 subsequent siblings)
8 siblings, 0 replies; 28+ messages in thread
From: Dan Murphy @ 2018-10-11 16:51 UTC (permalink / raw)
To: robh+dt, jacek.anaszewski, pavel
Cc: lee.jones, tony, devicetree, linux-kernel, linux-leds, Dan Murphy
Remove support for the LM3697 from the ti-lmu
driver in favor of a dedicated LED driver.
Signed-off-by: Dan Murphy <dmurphy@ti.com>
---
drivers/leds/Kconfig | 2 +-
drivers/mfd/Kconfig | 2 +-
drivers/mfd/ti-lmu.c | 17 -----------
include/linux/mfd/ti-lmu-register.h | 44 -----------------------------
include/linux/mfd/ti-lmu.h | 1 -
5 files changed, 2 insertions(+), 64 deletions(-)
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index dc717b30d9d3..853014dbb1c2 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -762,7 +762,7 @@ config LEDS_TI_LMU_COMMON
help
Say Y to enable the LED driver for TI LMU devices.
This supports common features between the TI LM3532, LM3631, LM3632,
- LM3633, LM3695 and LM3697.
+ LM3633, and LM3695.
comment "LED Triggers"
source "drivers/leds/trigger/Kconfig"
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 11841f4b7b2b..9b04dd527c68 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -1293,7 +1293,7 @@ config MFD_TI_LMU
help
Say yes here to enable support for TI LMU chips.
- TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and LM3697.
+ TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, and LM3695.
It consists of backlight, LED and regulator driver.
It provides consistent device controls for lighting functions.
diff --git a/drivers/mfd/ti-lmu.c b/drivers/mfd/ti-lmu.c
index cfb411cde51c..b6bfa99a29dd 100644
--- a/drivers/mfd/ti-lmu.c
+++ b/drivers/mfd/ti-lmu.c
@@ -128,20 +128,6 @@ static struct mfd_cell lm3695_devices[] = {
},
};
-static struct mfd_cell lm3697_devices[] = {
- {
- .name = "ti-lmu-backlight",
- .id = LM3697,
- .of_compatible = "ti,lm3697-backlight",
- },
- /* Monitoring driver for open/short circuit detection */
- {
- .name = "ti-lmu-fault-monitor",
- .id = LM3697,
- .of_compatible = "ti,lm3697-fault-monitor",
- },
-};
-
#define TI_LMU_DATA(chip, max_reg) \
static const struct ti_lmu_data chip##_data = \
{ \
@@ -155,7 +141,6 @@ TI_LMU_DATA(lm3631, LM3631_MAX_REG);
TI_LMU_DATA(lm3632, LM3632_MAX_REG);
TI_LMU_DATA(lm3633, LM3633_MAX_REG);
TI_LMU_DATA(lm3695, LM3695_MAX_REG);
-TI_LMU_DATA(lm3697, LM3697_MAX_REG);
static const struct of_device_id ti_lmu_of_match[] = {
{ .compatible = "ti,lm3532", .data = &lm3532_data },
@@ -163,7 +148,6 @@ static const struct of_device_id ti_lmu_of_match[] = {
{ .compatible = "ti,lm3632", .data = &lm3632_data },
{ .compatible = "ti,lm3633", .data = &lm3633_data },
{ .compatible = "ti,lm3695", .data = &lm3695_data },
- { .compatible = "ti,lm3697", .data = &lm3697_data },
{ }
};
MODULE_DEVICE_TABLE(of, ti_lmu_of_match);
@@ -237,7 +221,6 @@ static const struct i2c_device_id ti_lmu_ids[] = {
{ "lm3632", LM3632 },
{ "lm3633", LM3633 },
{ "lm3695", LM3695 },
- { "lm3697", LM3697 },
{ }
};
MODULE_DEVICE_TABLE(i2c, ti_lmu_ids);
diff --git a/include/linux/mfd/ti-lmu-register.h b/include/linux/mfd/ti-lmu-register.h
index 2125c7c02818..99711ff4b809 100644
--- a/include/linux/mfd/ti-lmu-register.h
+++ b/include/linux/mfd/ti-lmu-register.h
@@ -233,48 +233,4 @@
#define LM3695_REG_BRT_MSB 0x14
#define LM3695_MAX_REG 0x14
-
-/* LM3697 */
-#define LM3697_REG_HVLED_OUTPUT_CFG 0x10
-#define LM3697_HVLED1_CFG_MASK BIT(0)
-#define LM3697_HVLED2_CFG_MASK BIT(1)
-#define LM3697_HVLED3_CFG_MASK BIT(2)
-#define LM3697_HVLED1_CFG_SHIFT 0
-#define LM3697_HVLED2_CFG_SHIFT 1
-#define LM3697_HVLED3_CFG_SHIFT 2
-
-#define LM3697_REG_BL0_RAMP 0x11
-#define LM3697_REG_BL1_RAMP 0x12
-#define LM3697_RAMPUP_MASK 0xF0
-#define LM3697_RAMPUP_SHIFT 4
-#define LM3697_RAMPDN_MASK 0x0F
-#define LM3697_RAMPDN_SHIFT 0
-
-#define LM3697_REG_RAMP_CONF 0x14
-#define LM3697_RAMP_MASK 0x0F
-#define LM3697_RAMP_EACH 0x05
-
-#define LM3697_REG_PWM_CFG 0x1C
-#define LM3697_PWM_A_MASK BIT(0)
-#define LM3697_PWM_B_MASK BIT(1)
-
-#define LM3697_REG_IMAX_A 0x17
-#define LM3697_REG_IMAX_B 0x18
-
-#define LM3697_REG_FEEDBACK_ENABLE 0x19
-
-#define LM3697_REG_BRT_A_LSB 0x20
-#define LM3697_REG_BRT_A_MSB 0x21
-#define LM3697_REG_BRT_B_LSB 0x22
-#define LM3697_REG_BRT_B_MSB 0x23
-
-#define LM3697_REG_ENABLE 0x24
-
-#define LM3697_REG_OPEN_FAULT_STATUS 0xB0
-
-#define LM3697_REG_SHORT_FAULT_STATUS 0xB2
-
-#define LM3697_REG_MONITOR_ENABLE 0xB4
-
-#define LM3697_MAX_REG 0xB4
#endif
diff --git a/include/linux/mfd/ti-lmu.h b/include/linux/mfd/ti-lmu.h
index 09d5f30384e5..bc9272f08f47 100644
--- a/include/linux/mfd/ti-lmu.h
+++ b/include/linux/mfd/ti-lmu.h
@@ -26,7 +26,6 @@ enum ti_lmu_id {
LM3632,
LM3633,
LM3695,
- LM3697,
LMU_MAX_ID,
};
--
2.19.0
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [PATCH v3 4/9] dt-bindings: leds: Add bindings for lm3697 driver
2018-10-11 16:51 [PATCH v3 0/9] TI LMU common Framework Dan Murphy
` (2 preceding siblings ...)
2018-10-11 16:51 ` [PATCH v3 3/9] mfd: ti-lmu: Remove support for LM3697 Dan Murphy
@ 2018-10-11 16:51 ` Dan Murphy
2018-10-12 16:27 ` Rob Herring
2018-10-11 16:51 ` [PATCH v3 5/9] leds: lm3697: Introduce the " Dan Murphy
` (4 subsequent siblings)
8 siblings, 1 reply; 28+ messages in thread
From: Dan Murphy @ 2018-10-11 16:51 UTC (permalink / raw)
To: robh+dt, jacek.anaszewski, pavel
Cc: lee.jones, tony, devicetree, linux-kernel, linux-leds, Dan Murphy
Add the device tree bindings for the lm3697
LED driver for backlighting and display.
Signed-off-by: Dan Murphy <dmurphy@ti.com>
---
.../devicetree/bindings/leds/leds-lm3697.txt | 98 +++++++++++++++++++
1 file changed, 98 insertions(+)
create mode 100644 Documentation/devicetree/bindings/leds/leds-lm3697.txt
diff --git a/Documentation/devicetree/bindings/leds/leds-lm3697.txt b/Documentation/devicetree/bindings/leds/leds-lm3697.txt
new file mode 100644
index 000000000000..4bb2ed51025b
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-lm3697.txt
@@ -0,0 +1,98 @@
+* Texas Instruments - LM3697 Highly Efficient White LED Driver
+
+The LM3697 11-bit LED driver provides high-
+performance backlight dimming for 1, 2, or 3 series
+LED strings while delivering up to 90% efficiency.
+
+This device is suitable for display and keypad Lighting
+
+Required properties:
+ - compatible:
+ "ti,lm3697"
+ - reg : I2C slave address
+ - #address-cells : 1
+ - #size-cells : 0
+
+Optional properties:
+ - enable-gpios : GPIO pin to enable/disable the device
+ - vled-supply : LED supply
+
+Required child properties:
+ - reg : 0 - LED is Controlled by bank A
+ 1 - LED is Controlled by bank B
+ - led-sources : Indicates which HVLED string is associated to which
+ control bank. Each element in the array is associated
+ with a specific HVLED string. Element 0 is HVLED1,
+ element 1 is HVLED2 and element 2 HVLED3.
+ Additional information is contained
+ in Documentation/devicetree/bindings/leds/common.txt
+ 0 - HVLED is not active in this control bank
+ 1 - HVLED string is controlled by this control bank
+
+Optional child properties:
+ - runtime-ramp-up-msec: Current ramping from one brightness level to
+ the a higher brightness level