Commit 38edc3df authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull backlight updates from Lee Jones:
 "New Functionality:
   - Add support for an enable GPIO; lm3630a_bl
   - Add support for short circuit handling; qcom-wled
   - Add support for automatic string detection; qcom-wled

  Fix-ups:
   - Update Device Tree bindings; lm3630a-backlight, led-backlight,
     qcom-wled
   - Constify; ipaq_micro_bl
   - Optimise for CPU cycles; pwm_bl
   - Coding style fix-ups; pwm_bl
   - Trivial fix-ups (white space, comments, renaming); pwm_bl,
     gpio_backlight, qcom-wled
   - Kconfig dependency hacking; LCD_HP700
   - Rename, refactor and add peripherals; pm8941-wled => qcom-wled
   - Make use of GPIO look-up tables; tosa_bl, tosa_lcd
   - Remove superfluous code; gpio_backlight
   - Adapt GPIO direction handling; gpio_backlight
   - Remove legacy use of platform data; gpio_backlight

  Bug Fixes:
   - Provide modules aliases; lm3630a_bl"

* tag 'backlight-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: (32 commits)
  backlight: qcom-wled: Fix spelling mistake "trigged" -> "triggered"
  backlight: gpio: Pull gpio_backlight_initial_power_state() into probe
  backlight: gpio: Use a helper variable for &pdev->dev
  backlight: gpio: Remove unused fields from platform data
  sh: ecovec24: don't set unused fields in platform data
  backlight: gpio: Simplify the platform data handling
  sh: ecovec24: add additional properties to the backlight device
  backlight: gpio: Explicitly set the direction of the GPIO
  backlight: gpio: Remove stray newline
  backlight: gpio: Remove unneeded include
  video: backlight: tosa: Use GPIO lookup table
  backlight: qcom-wled: Add auto string detection logic
  backlight: qcom-wled: Add support for short circuit handling
  backlight: qcom-wled: Add support for WLED4 peripheral
  backlight: qcom-wled: Restructure the driver for WLED3
  backlight: qcom-wled: Rename PM8941* to WLED3
  backlight: qcom-wled: Add new properties for PMI8998
  backlight: qcom-wled: Restructure the qcom-wled bindings
  backlight: qcom-wled: Rename pm8941-wled.c to qcom-wled.c
  dt-bindings: backlight: lm3630a: Fix missing include
  ...
parents 8b233da0 102a1b38
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
led-backlight bindings

This binding is used to describe a basic backlight device made of LEDs.
It can also be used to describe a backlight device controlled by the output of
a LED driver.

Required properties:
  - compatible: "led-backlight"
  - leds: a list of LEDs

Optional properties:
  - brightness-levels: Array of distinct brightness levels. The levels must be
                       in the range accepted by the underlying LED devices.
                       This is used to translate a backlight brightness level
                       into a LED brightness level. If it is not provided, the
                       identity mapping is used.

  - default-brightness-level: The default brightness level.

Example:

	backlight {
		compatible = "led-backlight";

		leds = <&led1>, <&led2>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
	};
+6 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ properties:
  '#size-cells':
    const: 0

  enable-gpios:
    description: GPIO to use to enable/disable the backlight (HWEN pin).
    maxItems: 1

required:
  - compatible
  - reg
@@ -89,6 +93,7 @@ additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
@@ -96,6 +101,7 @@ examples:
        led-controller@38 {
                compatible = "ti,lm3630a";
                reg = <0x38>;
                enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;

                #address-cells = <1>;
                #size-cells = <0>;
+0 −42
Original line number Diff line number Diff line
Binding for Qualcomm PM8941 WLED driver

Required properties:
- compatible: should be "qcom,pm8941-wled"
- reg: slave address

Optional properties:
- default-brightness: brightness value on boot, value from: 0-4095
	default: 2048
- label: The name of the backlight device
- qcom,cs-out: bool; enable current sink output
- qcom,cabc: bool; enable content adaptive backlight control
- qcom,ext-gen: bool; use externally generated modulator signal to dim
- qcom,current-limit: mA; per-string current limit; value from 0 to 25
	default: 20mA
- qcom,current-boost-limit: mA; boost current limit; one of:
	105, 385, 525, 805, 980, 1260, 1400, 1680
	default: 805mA
- qcom,switching-freq: kHz; switching frequency; one of:
	600, 640, 685, 738, 800, 872, 960, 1066, 1200, 1371,
	1600, 1920, 2400, 3200, 4800, 9600,
	default: 1600kHz
- qcom,ovp: V; Over-voltage protection limit; one of:
	27, 29, 32, 35
	default: 29V
- qcom,num-strings: #; number of led strings attached; value from 1 to 3
	default: 2

Example:

pm8941-wled@d800 {
	compatible = "qcom,pm8941-wled";
	reg = <0xd800>;
	label = "backlight";

	qcom,cs-out;
	qcom,current-limit = <20>;
	qcom,current-boost-limit = <805>;
	qcom,switching-freq = <1600>;
	qcom,ovp = <29>;
	qcom,num-strings = <2>;
};
+154 −0
Original line number Diff line number Diff line
Binding for Qualcomm Technologies, Inc. WLED driver

WLED (White Light Emitting Diode) driver is used for controlling display
backlight that is part of PMIC on Qualcomm Technologies, Inc. reference
platforms. The PMIC is connected to the host processor via SPMI bus.

- compatible
	Usage:        required
	Value type:   <string>
	Definition:   should be one of:
			"qcom,pm8941-wled"
			"qcom,pmi8998-wled"
			"qcom,pm660l-wled"

- reg
	Usage:        required
	Value type:   <prop encoded array>
	Definition:   Base address of the WLED modules.

- default-brightness
	Usage:        optional
	Value type:   <u32>
	Definition:   brightness value on boot, value from: 0-4095.
		      Default: 2048

- label
	Usage:        required
	Value type:   <string>
	Definition:   The name of the backlight device

- qcom,cs-out
	Usage:        optional
	Value type:   <bool>
	Definition:   enable current sink output.
		      This property is supported only for PM8941.

- qcom,cabc
	Usage:        optional
	Value type:   <bool>
	Definition:   enable content adaptive backlight control.

- qcom,ext-gen
	Usage:        optional
	Value type:   <bool>
	Definition:   use externally generated modulator signal to dim.
		      This property is supported only for PM8941.

- qcom,current-limit
	Usage:        optional
	Value type:   <u32>
	Definition:   mA; per-string current limit; value from 0 to 25 with
		      1 mA step. Default 20 mA.
		      This property is supported only for pm8941.

- qcom,current-limit-microamp
	Usage:        optional
	Value type:   <u32>
	Definition:   uA; per-string current limit; value from 0 to 30000 with
		      2500 uA step. Default 25 mA.

- qcom,current-boost-limit
	Usage:        optional
	Value type:   <u32>
	Definition:   mA; boost current limit.
		      For pm8941: one of: 105, 385, 525, 805, 980, 1260, 1400,
		      1680. Default: 805 mA.
		      For pmi8998: one of: 105, 280, 450, 620, 970, 1150, 1300,
		      1500. Default: 970 mA.

- qcom,switching-freq
	Usage:        optional
	Value type:   <u32>
	 Definition:   kHz; switching frequency; one of: 600, 640, 685, 738,
		       800, 872, 960, 1066, 1200, 1371, 1600, 1920, 2400, 3200,
		       4800, 9600.
		       Default: for pm8941: 1600 kHz
				for pmi8998: 800 kHz

- qcom,ovp
	Usage:        optional
	Value type:   <u32>
	Definition:   V; Over-voltage protection limit; one of:
		      27, 29, 32, 35. Default: 29V
		      This property is supported only for PM8941.

- qcom,ovp-millivolt
	Usage:        optional
	Value type:   <u32>
	Definition:   mV; Over-voltage protection limit;
		      For pmi8998: one of 18100, 19600, 29600, 31100.
		      Default 29600 mV.
		      If this property is not specified for PM8941, it
		      falls back to "qcom,ovp" property.

- qcom,num-strings
	Usage:        optional
	Value type:   <u32>
	Definition:   #; number of led strings attached;
		      value: For PM8941 from 1 to 3. Default: 2
			     For PMI8998 from 1 to 4.

- interrupts
	Usage:        optional
	Value type:   <prop encoded array>
	Definition:   Interrupts associated with WLED. This should be
		      "short" and "ovp" interrupts. Interrupts can be
		      specified as per the encoding listed under
		      Documentation/devicetree/bindings/spmi/
		      qcom,spmi-pmic-arb.txt.

- interrupt-names
	Usage:        optional
	Value type:   <string>
	Definition:   Interrupt names associated with the interrupts.
		      Must be "short" and "ovp". The short circuit detection
		      is not supported for PM8941.

- qcom,enabled-strings
	Usage:        optional
	Value tyoe:   <u32 array>
	Definition:   Array of the WLED strings numbered from 0 to 3. Each
		      string of leds are operated individually. Specify the
		      list of strings used by the device. Any combination of
		      led strings can be used.

- qcom,external-pfet
	Usage:        optional
	Value type:   <bool>
	Definition:   Specify if external PFET control for short circuit
		      protection is used. This property is supported only
		      for PMI8998.

- qcom,auto-string-detection
	Usage:        optional
	Value type:   <bool>
	Definition:   Enables auto-detection of the WLED string configuration.
		      This feature is not supported for PM8941.


Example:

pm8941-wled@d800 {
	compatible = "qcom,pm8941-wled";
	reg = <0xd800>;
	label = "backlight";

	qcom,cs-out;
	qcom,current-limit = <20>;
	qcom,current-boost-limit = <805>;
	qcom,switching-freq = <1600>;
	qcom,ovp = <29>;
	qcom,num-strings = <2>;
	qcom,enabled-strings = <0 1>;
};
+0 −15
Original line number Diff line number Diff line
@@ -72,18 +72,6 @@
#define TOSA_GPIO_BAT0_TH_ON		(TOSA_TC6393XB_GPIO_BASE + 14)
#define TOSA_GPIO_BAT1_TH_ON		(TOSA_TC6393XB_GPIO_BASE + 15)

/*
 * Timing Generator
 */
#define TG_PNLCTL 			0x00
#define TG_TPOSCTL 			0x01
#define TG_DUTYCTL 			0x02
#define TG_GPOSR 			0x03
#define TG_GPODR1 			0x04
#define TG_GPODR2 			0x05
#define TG_PINICTL 			0x06
#define TG_HPOSCTL 			0x07

/*
 * PXA GPIOs
 */
@@ -192,7 +180,4 @@
#define TOSA_KEY_MAIL		KEY_MAIL
#endif

struct spi_device;
extern int tosa_bl_enable(struct spi_device *spi, int enable);

#endif /* _ASM_ARCH_TOSA_H_ */
Loading