1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * platform_tc35876x.c: tc35876x platform data initialization file
4  *
5  * (C) Copyright 2013 Intel Corporation
6  * Author: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@intel.com>
7  */
8 
9 #include <linux/gpio/machine.h>
10 #include <asm/intel-mid.h>
11 
12 static struct gpiod_lookup_table tc35876x_gpio_table = {
13 	.dev_id	= "i2c_disp_brig",
14 	.table	= {
15 		GPIO_LOOKUP("0000:00:0c.0", -1, "bridge-reset", GPIO_ACTIVE_HIGH),
16 		GPIO_LOOKUP("0000:00:0c.0", -1, "bl-en", GPIO_ACTIVE_HIGH),
17 		GPIO_LOOKUP("0000:00:0c.0", -1, "vadd", GPIO_ACTIVE_HIGH),
18 		{ },
19 	},
20 };
21 
22 /*tc35876x DSI_LVDS bridge chip and panel platform data*/
tc35876x_platform_data(void * data)23 static void *tc35876x_platform_data(void *data)
24 {
25 	struct gpiod_lookup_table *table = &tc35876x_gpio_table;
26 	struct gpiod_lookup *lookup = table->table;
27 
28 	lookup[0].chip_hwnum = get_gpio_by_name("LCMB_RXEN");
29 	lookup[1].chip_hwnum = get_gpio_by_name("6S6P_BL_EN");
30 	lookup[2].chip_hwnum = get_gpio_by_name("EN_VREG_LCD_V3P3");
31 	gpiod_add_lookup_table(table);
32 
33 	return NULL;
34 }
35 
36 static const struct devs_id tc35876x_dev_id __initconst = {
37 	.name = "i2c_disp_brig",
38 	.type = SFI_DEV_TYPE_I2C,
39 	.get_platform_data = &tc35876x_platform_data,
40 };
41 
42 sfi_device(tc35876x_dev_id);
43