Merge tag 'backlight-next-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight
Pull backlight updates from Lee Jones: "Core Framework: - Add backlight_device_get_by_name() to the API New Device Support: - Add support for WLED5 to Qualcomm WLED Fix-ups: - Convert to GPIO descriptors in l4f00242t03 - Device Tree fix-ups for qcom-wled Bug Fixes: - Properly disable regulators on .probe() failure" * tag 'backlight-next-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: Add backlight_device_get_by_name() backlight: qcom-wled: Add support for WLED5 peripheral that is present on PM8150L PMICs dt-bindings: backlight: qcom-wled: Add WLED5 bindings backlight: qcom-wled: Add callback functions dt-bindings: backlight: qcom-wled: Convert the wled bindings to .yaml format backlight: l4f00242t03: Convert to GPIO descriptors backlight: lp855x: Ensure regulators are disabled on probe failure
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/usb/otg.h>
|
||||
#include <linux/usb/ulpi.h>
|
||||
@@ -20,8 +21,6 @@
|
||||
#include <linux/mfd/mc13783.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/spi/l4f00242t03.h>
|
||||
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@@ -351,9 +350,19 @@ static const struct imx_fb_platform_data mx27_3ds_fb_data __initconst = {
|
||||
};
|
||||
|
||||
/* LCD */
|
||||
static struct l4f00242t03_pdata mx27_3ds_lcd_pdata = {
|
||||
.reset_gpio = LCD_RESET,
|
||||
.data_enable_gpio = LCD_ENABLE,
|
||||
static struct gpiod_lookup_table mx27_3ds_lcd_gpiod_table = {
|
||||
.dev_id = "spi0.0", /* Bus 0 chipselect 0 */
|
||||
.table = {
|
||||
/*
|
||||
* The i.MX27 has the i.MX21 GPIO controller, the GPIOs
|
||||
* numbered IMX_GPIO_NR(1, 3) and IMX_GPIO_NR(1, 31)
|
||||
* are in "bank 1" which is subtracted by one in the macro
|
||||
* so these are actually bank 0 on "imx21-gpio.0".
|
||||
*/
|
||||
GPIO_LOOKUP("imx21-gpio.0", 3, "reset", GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP("imx21-gpio.0", 31, "enable", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct spi_board_info mx27_3ds_spi_devs[] __initdata = {
|
||||
@@ -370,7 +379,6 @@ static struct spi_board_info mx27_3ds_spi_devs[] __initdata = {
|
||||
.max_speed_hz = 5000000,
|
||||
.bus_num = 0,
|
||||
.chip_select = 0, /* SS0 */
|
||||
.platform_data = &mx27_3ds_lcd_pdata,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -416,6 +424,7 @@ static void __init mx27pdk_late_init(void)
|
||||
if (!otg_mode_host)
|
||||
imx27_add_fsl_usb2_udc(&otg_device_pdata);
|
||||
|
||||
gpiod_add_lookup_table(&mx27_3ds_lcd_gpiod_table);
|
||||
mx27_3ds_spi_devs[0].irq = gpio_to_irq(PMIC_INT);
|
||||
spi_register_board_info(mx27_3ds_spi_devs,
|
||||
ARRAY_SIZE(mx27_3ds_spi_devs));
|
||||
|
@@ -10,10 +10,10 @@
|
||||
#include <linux/clk.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/mfd/mc13783.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/l4f00242t03.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/usb/otg.h>
|
||||
#include <linux/usb/ulpi.h>
|
||||
@@ -160,9 +160,23 @@ static struct mx3fb_platform_data mx3fb_pdata __initdata = {
|
||||
};
|
||||
|
||||
/* LCD */
|
||||
static struct l4f00242t03_pdata mx31_3ds_l4f00242t03_pdata = {
|
||||
.reset_gpio = IOMUX_TO_GPIO(MX31_PIN_LCS1),
|
||||
.data_enable_gpio = IOMUX_TO_GPIO(MX31_PIN_SER_RS),
|
||||
static struct gpiod_lookup_table mx31_3ds_lcd_gpiod_table = {
|
||||
.dev_id = "spi0.2", /* Bus 0 chipselect 2 */
|
||||
.table = {
|
||||
/*
|
||||
* "reset" has IOMUX_TO_GPIO(IOMUX_PIN(88, 28)).
|
||||
* The macro only shifts 88 to bits 9..16 and then
|
||||
* mask it and shift it back. The GPIO number is 88.
|
||||
* 88 is 2*32+24
|
||||
*/
|
||||
GPIO_LOOKUP("imx31-gpio.2", 24, "reset", GPIO_ACTIVE_HIGH),
|
||||
/*
|
||||
* Same reasoning as above for
|
||||
* IOMUX_TO_GPIO(IOMUX_PIN(89, 27), pin 89 is 2*32+25.
|
||||
*/
|
||||
GPIO_LOOKUP("imx31-gpio.2", 25, "enable", GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -387,7 +401,6 @@ static struct spi_board_info mx31_3ds_spi_devs[] __initdata = {
|
||||
.max_speed_hz = 5000000,
|
||||
.bus_num = 0,
|
||||
.chip_select = 2, /* SS2 */
|
||||
.platform_data = &mx31_3ds_l4f00242t03_pdata,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -566,6 +579,7 @@ static void __init mx31_3ds_init(void)
|
||||
|
||||
static void __init mx31_3ds_late(void)
|
||||
{
|
||||
gpiod_add_lookup_table(&mx31_3ds_lcd_gpiod_table);
|
||||
mx31_3ds_spi_devs[0].irq = gpio_to_irq(IOMUX_TO_GPIO(MX31_PIN_GPIO1_3));
|
||||
spi_register_board_info(mx31_3ds_spi_devs,
|
||||
ARRAY_SIZE(mx31_3ds_spi_devs));
|
||||
|
Reference in New Issue
Block a user