Lines Matching +full:mount +full:- +full:matrix
1 // SPDX-License-Identifier: GPL-2.0+
38 #include "../../gpio/gpiolib-acpi.h"
42 * (either IOAPIC index, or GPIO chip name + pin-number).
62 return gc->label && !strcmp(gc->label, data); in gpiochip_find_match_label()
73 return -ENODEV; in x86_android_tablet_get_gpiod()
97 switch (data->type) { in x86_acpi_irq_helper_get()
104 acpi_unregister_gsi(data->index); in x86_acpi_irq_helper_get()
105 irq = acpi_register_gsi(NULL, data->index, data->trigger, data->polarity); in x86_acpi_irq_helper_get()
107 pr_err("error %d getting APIC IRQ %d\n", irq, data->index); in x86_acpi_irq_helper_get()
112 ret = x86_android_tablet_get_gpiod(data->chip, data->index, &gpiod); in x86_acpi_irq_helper_get()
118 pr_err("error %d getting IRQ %s %d\n", irq, data->chip, data->index); in x86_acpi_irq_helper_get()
122 irq_type = acpi_dev_get_irq_type(data->trigger, data->polarity); in x86_acpi_irq_helper_get()
128 status = acpi_get_handle(NULL, data->chip, &handle); in x86_acpi_irq_helper_get()
130 pr_err("error could not get %s handle\n", data->chip); in x86_acpi_irq_helper_get()
131 return -ENODEV; in x86_acpi_irq_helper_get()
136 pr_err("error could not get %s adev\n", data->chip); in x86_acpi_irq_helper_get()
137 return -ENODEV; in x86_acpi_irq_helper_get()
141 domain = irq_find_matching_fwspec(&fwspec, data->domain); in x86_acpi_irq_helper_get()
143 pr_err("error could not find IRQ domain for %s\n", data->chip); in x86_acpi_irq_helper_get()
144 return -ENODEV; in x86_acpi_irq_helper_get()
147 return irq_create_mapping(domain, data->index); in x86_acpi_irq_helper_get()
188 static const char * const tusb1211_chg_det_psy[] = { "tusb1211-charger-detect" };
189 static const char * const bq24190_psy[] = { "bq24190-charger" };
190 static const char * const bq25890_psy[] = { "bq25890-charger" };
193 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq24190_psy),
202 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq25890_psy),
212 PROPERTY_ENTRY_STRING("compatible", "simple-battery"),
213 PROPERTY_ENTRY_STRING("device-chemistry", "lithium-ion"),
214 PROPERTY_ENTRY_U32("precharge-current-microamp", 256000),
215 PROPERTY_ENTRY_U32("charge-term-current-microamp", 128000),
216 PROPERTY_ENTRY_U32("constant-charge-current-max-microamp", 1856000),
217 PROPERTY_ENTRY_U32("constant-charge-voltage-max-microvolt", 4352000),
218 PROPERTY_ENTRY_U32("factory-internal-resistance-micro-ohms", 150000),
226 /* For enabling the bq24190 5V boost based on id-pin */
229 .dev_name = "intel-int3496",
247 "bq24190_charger", /* For the Vbus regulator for intel-int3496 */
251 /* Generic pdevs array and gpio-lookups for micro USB ID pin handling */
255 .name = "intel-int3496",
261 .dev_id = "intel-int3496",
287 .name = "gpio-keys",
294 .name = "intel-int3496",
315 "-1", "0", "0",
321 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", asus_me176c_accel_mount_matrix),
330 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", tusb1211_chg_det_psy),
331 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
332 PROPERTY_ENTRY_U32("ti,system-minimum-microvolt", 3600000),
333 PROPERTY_ENTRY_BOOL("omit-battery-class"),
334 PROPERTY_ENTRY_BOOL("disable-reset"),
343 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq24190_psy),
344 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
345 PROPERTY_ENTRY_U32("upisemi,rsns-microohm", 10000),
429 .dev_id = "i2c-goodix_ts",
459 "0", "-1", "0",
460 "-1", "0", "0",
465 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", asus_tf103c_accel_mount_matrix),
483 PROPERTY_ENTRY_STRING("compatible", "simple-battery"),
484 PROPERTY_ENTRY_STRING("device-chemistry", "lithium-ion-polymer"),
485 PROPERTY_ENTRY_U32("precharge-current-microamp", 256000),
486 PROPERTY_ENTRY_U32("charge-term-current-microamp", 128000),
487 PROPERTY_ENTRY_U32("constant-charge-current-max-microamp", 2048000),
488 PROPERTY_ENTRY_U32("constant-charge-voltage-max-microvolt", 4208000),
489 PROPERTY_ENTRY_U32("factory-internal-resistance-micro-ohms", 150000),
498 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", tusb1211_chg_det_psy),
499 PROPERTY_ENTRY_REF("monitored-battery", &asus_tf103c_battery_node),
500 PROPERTY_ENTRY_U32("ti,system-minimum-microvolt", 3600000),
501 PROPERTY_ENTRY_BOOL("omit-battery-class"),
502 PROPERTY_ENTRY_BOOL("disable-reset"),
511 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq24190_psy),
512 PROPERTY_ENTRY_REF("monitored-battery", &asus_tf103c_battery_node),
513 PROPERTY_ENTRY_U32("upisemi,rsns-microohm", 5000),
606 PROPERTY_ENTRY_U32("touchscreen-size-x", 1665),
607 PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
608 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
609 PROPERTY_ENTRY_BOOL("silead,home-button"),
610 PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-chuwi-hi8.fw"),
620 "0", "-1", "0",
625 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", chuwi_hi8_mount_matrix),
674 return -ENODEV; in chuwi_hi8_init()
696 * The vendor-supplied Android-x86 build switches the device to a "Android" in czc_p10t_init()
721 /* BQ27542 fuel-gauge */
739 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", tusb1211_chg_det_psy),
740 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
741 PROPERTY_ENTRY_BOOL("omit-battery-class"),
742 PROPERTY_ENTRY_BOOL("disable-reset"),
777 /* BQ27541 fuel-gauge */
813 .dev_id = "intel-int3496",
821 #define LENOVO_YOGA_TAB2_830_1050_CODEC_NAME "spi-10WM5102:00"
828 GPIO_LOOKUP("arizona", 2, "wlf,spkvdd-ena", GPIO_ACTIVE_HIGH),
829 GPIO_LOOKUP("arizona", 4, "wlf,micd-pol", GPIO_ACTIVE_LOW),
860 * the touchscreen driver to adjust the touch-coords to match the LCD.
866 * driver to write the non-standard DSI reg 0x9f with the desired backlight
867 * level to set the duty-cycle of the LCD's PWM output.
888 ARRAY_SIZE(lenovo_yoga_tab2_830_1050_i2c_clients) - 1; in lenovo_yoga_tab2_830_1050_init_display()
918 return -ENODEV; in lenovo_yoga_tab2_830_1050_init_codec()
992 "0", "-1", "0",
993 "-1", "0", "0",
998 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", nextbook_ares8_accel_mount_matrix),
1007 PROPERTY_ENTRY_U32("touchscreen-size-x", 800),
1008 PROPERTY_ENTRY_U32("touchscreen-size-y", 1280),
1029 .type = "edt-ft5x06",
1046 .dev_id = "intel-int3496",
1075 "-1", "0", "0",
1081 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", whitelabel_tm800a550l_accel_mount_matrix),
1090 PROPERTY_ENTRY_STRING("firmware-name", "gt912-tm800a550l.fw"),
1091 PROPERTY_ENTRY_STRING("goodix,config-name", "gt912-tm800a550l.cfg"),
1092 PROPERTY_ENTRY_U32("goodix,main-clk", 54),
1129 .dev_id = "i2c-goodix_ts",
1157 /* BQ27520 fuel-gauge */
1202 DMI_MATCH(DMI_BOARD_NAME, "BYT-PA03C"),
1210 .ident = "CZC ODEON TPC-10 (\"P10T\")",
1213 DMI_MATCH(DMI_PRODUCT_NAME, "ODEON*TPC-10"),
1230 DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X9"),
1242 DMI_MATCH(DMI_BOARD_NAME, "BYT-T FFD8"),
1262 DMI_MATCH(DMI_BIOS_VERSION, "ZY-8-BI-PX4S70VTR400-X423B-005-D"),
1291 const struct x86_i2c_client_info *client_info = &dev_info->i2c_client_info[idx]; in x86_instantiate_i2c_client()
1292 struct i2c_board_info board_info = client_info->board_info; in x86_instantiate_i2c_client()
1297 board_info.irq = x86_acpi_irq_helper_get(&client_info->irq_data); in x86_instantiate_i2c_client()
1301 status = acpi_get_handle(NULL, client_info->adapter_path, &handle); in x86_instantiate_i2c_client()
1303 pr_err("Error could not get %s handle\n", client_info->adapter_path); in x86_instantiate_i2c_client()
1304 return -ENODEV; in x86_instantiate_i2c_client()
1309 pr_err("error could not get %s adapter\n", client_info->adapter_path); in x86_instantiate_i2c_client()
1310 return -ENODEV; in x86_instantiate_i2c_client()
1314 put_device(&adap->dev); in x86_instantiate_i2c_client()
1316 return dev_err_probe(&adap->dev, PTR_ERR(i2c_clients[idx]), in x86_instantiate_i2c_client()
1317 "creating I2C-client %d\n", idx); in x86_instantiate_i2c_client()
1327 int ret = -ENODEV; in x86_instantiate_serdev()
1329 ctrl_adev = acpi_dev_get_first_match_dev(info->ctrl_hid, info->ctrl_uid, -1); in x86_instantiate_serdev()
1332 info->ctrl_hid, info->ctrl_uid); in x86_instantiate_serdev()
1333 return -ENODEV; in x86_instantiate_serdev()
1336 serdev_adev = acpi_dev_get_first_match_dev(info->serdev_hid, NULL, -1); in x86_instantiate_serdev()
1338 pr_err("error could not get %s serdev adev\n", info->serdev_hid); in x86_instantiate_serdev()
1346 info->ctrl_hid, info->ctrl_uid); in x86_instantiate_serdev()
1351 ctrl_dev = device_find_child_by_name(ctrl_dev, info->ctrl_devname); in x86_instantiate_serdev()
1354 info->ctrl_hid, info->ctrl_uid, info->ctrl_devname); in x86_instantiate_serdev()
1360 ret = -ENOMEM; in x86_instantiate_serdev()
1364 ACPI_COMPANION_SET(&serdev->dev, serdev_adev); in x86_instantiate_serdev()
1369 dev_err(&serdev->dev, "error %d adding serdev\n", ret); in x86_instantiate_serdev()
1422 return -ENODEV; in x86_android_tablet_init()
1424 dev_info = id->driver_data; in x86_android_tablet_init()
1430 if (dev_info->invalid_aei_gpiochip) { in x86_android_tablet_init()
1431 chip = gpiochip_find(dev_info->invalid_aei_gpiochip, in x86_android_tablet_init()
1434 pr_err("error cannot find GPIO chip %s\n", dev_info->invalid_aei_gpiochip); in x86_android_tablet_init()
1435 return -ENODEV; in x86_android_tablet_init()
1441 * Since this runs from module_init() it cannot use -EPROBE_DEFER, in x86_android_tablet_init()
1442 * instead pre-load any modules which are listed as requirements. in x86_android_tablet_init()
1444 for (i = 0; dev_info->modules && dev_info->modules[i]; i++) in x86_android_tablet_init()
1445 request_module(dev_info->modules[i]); in x86_android_tablet_init()
1447 bat_swnode = dev_info->bat_swnode; in x86_android_tablet_init()
1454 gpiod_lookup_tables = dev_info->gpiod_lookup_tables; in x86_android_tablet_init()
1458 if (dev_info->init) { in x86_android_tablet_init()
1459 ret = dev_info->init(); in x86_android_tablet_init()
1464 exit_handler = dev_info->exit; in x86_android_tablet_init()
1467 i2c_clients = kcalloc(dev_info->i2c_client_count, sizeof(*i2c_clients), GFP_KERNEL); in x86_android_tablet_init()
1470 return -ENOMEM; in x86_android_tablet_init()
1473 i2c_client_count = dev_info->i2c_client_count; in x86_android_tablet_init()
1482 pdevs = kcalloc(dev_info->pdev_count, sizeof(*pdevs), GFP_KERNEL); in x86_android_tablet_init()
1485 return -ENOMEM; in x86_android_tablet_init()
1488 pdev_count = dev_info->pdev_count; in x86_android_tablet_init()
1490 pdevs[i] = platform_device_register_full(&dev_info->pdev_info[i]); in x86_android_tablet_init()
1497 serdevs = kcalloc(dev_info->serdev_count, sizeof(*serdevs), GFP_KERNEL); in x86_android_tablet_init()
1500 return -ENOMEM; in x86_android_tablet_init()
1503 serdev_count = dev_info->serdev_count; in x86_android_tablet_init()
1505 ret = x86_instantiate_serdev(&dev_info->serdev_info[i], i); in x86_android_tablet_init()