Lines Matching +full:touchscreen +full:- +full:max +full:- +full:pressure
1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * Copyright (C) 2021-2023 Hans de Goede <hdegoede@redhat.com>
27 #include "shared-psy-info.h"
28 #include "x86-android-tablets.h"
33 * The Android kernels have a hack in the i915 driver to write a non-standard
34 * panel specific DSI register to set the duty-cycle of the LCD's PWM output.
46 * But on some models the panel's PWM output defaults to a duty-cycle of
47 * much less then 100%, severely limiting max brightness. In this case
65 PROPERTY_ENTRY_U32("hid-descr-addr", 0x0001),
66 PROPERTY_ENTRY_U32("post-reset-deassert-delay-ms", 150),
75 * The HiDeep IST940E touchscreen comes up in I2C-HID mode. The native protocol
79 * PROPERTY_ENTRY_U32("hid-descr-addr", 0x0020),
80 * PROPERTY_ENTRY_U32("post-reset-deassert-delay-ms", 120),
81 * and changing board_info.type to "hid-over-i2c".
84 PROPERTY_ENTRY_U32("touchscreen-size-x", 1200),
85 PROPERTY_ENTRY_U32("touchscreen-size-y", 1920),
86 PROPERTY_ENTRY_U32("touchscreen-max-pressure", 16384),
87 PROPERTY_ENTRY_BOOL("hideep,force-native-protocol"),
97 /* BQ27542 fuel-gauge */
106 /* Goodix Touchscreen in keyboard half */
125 .type = "hid-over-i2c",
149 /* HiDeep IST940E Touchscreen in display half */
170 .name = "yogabook-touch-kbd-digitizer-switch",
202 .dev_id = "i2c-goodix_ts",
211 .dev_id = "i2c-hideep_ts",
219 .dev_id = "i2c-wacom",
237 /* Vprog3B 3.0V used by the goodix touchscreen in the keyboard half */ in lenovo_yb1_x90_init()
240 /* Vprog4D 3.0V used by the HiDeep touchscreen in the display half */ in lenovo_yb1_x90_init()
243 /* Vprog5A 1.8V used by the HiDeep touchscreen in the display half */ in lenovo_yb1_x90_init()
246 /* Vprog5B 1.8V used by the goodix touchscreen in the keyboard half */ in lenovo_yb1_x90_init()
265 /* Lenovo Yoga Book X91F/L Windows tablet needs manual instantiation of the fuel-gauge client */
268 /* BQ27542 fuel-gauge */
286 PROPERTY_ENTRY_STRING_ARRAY_LEN("supplied-from", tusb1211_chg_det_psy, 1),
287 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
288 PROPERTY_ENTRY_BOOL("omit-battery-class"),
289 PROPERTY_ENTRY_BOOL("disable-reset"),
352 /* BQ27541 fuel-gauge */
361 /* Synaptics RMI touchscreen */
388 .dev_id = "intel-int3496",
396 #define LENOVO_YOGA_TAB2_830_1050_CODEC_NAME "spi-10WM5102:00"
403 GPIO_LOOKUP("arizona", 2, "wlf,spkvdd-ena", GPIO_ACTIVE_HIGH),
404 GPIO_LOOKUP("arizona", 4, "wlf,micd-pol", GPIO_ACTIVE_LOW),
434 * mainboard, but the 830 uses a portrait LCD panel with a landscape touchscreen,
435 * requiring the touchscreen driver to adjust the touch-coords to match the LCD.
436 * And requiring the accelerometer to have a mount-matrix set to correct for
441 "-1", "0", "0",
446 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", lenovo_yoga_tab2_830_lms303d_mount_matrix),
497 return -ENODEV; in lenovo_yoga_tab2_830_1050_init_codec()
573 * and the 1050F/L so this re-uses some of the handling for that from above.
575 static const char * const lc824206xa_chg_det_psy[] = { "lc824206xa-charger-detect" };
578 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", lc824206xa_chg_det_psy),
579 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
580 PROPERTY_ENTRY_BOOL("omit-battery-class"),
581 PROPERTY_ENTRY_BOOL("disable-reset"),
589 /* For enabling the bq24190 5V boost based on id-pin */
592 .dev_name = "i2c-lc824206xa",
609 PROPERTY_ENTRY_BOOL("onnn,enable-miclr-for-dcp"),
618 "0", "-1", "0",
619 "-1", "0", "0",
624 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", lenovo_yoga_tab2_1380_lms303d_mount_matrix),
634 /* BQ27541 fuel-gauge */
704 /* Synaptics RMI touchscreen */
724 .name = "lenovo-yoga-tab2-pro-1380-fastcharger",
756 .dev_id = "serial0-0",
784 /* Lenovo Yoga Tab 3 Pro YT3-X90F */
787 * There are 2 batteries, with 2 bq27500 fuel-gauges and 2 bq25892 chargers,
788 * "bq25890-charger-1" is instantiated from: drivers/i2c/busses/i2c-cht-wc.c.
791 static const char * const bq25890_1_psy[] = { "bq25890-charger-1" };
794 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq25890_1_psy),
804 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", lenovo_yt3_bq25892_0_suppliers),
805 PROPERTY_ENTRY_U32("linux,iinlim-percentage", 40),
806 PROPERTY_ENTRY_BOOL("linux,skip-reset"),
808 PROPERTY_ENTRY_U32("ti,charge-current", 2048000),
809 PROPERTY_ENTRY_U32("ti,battery-regulation-voltage", 4352000),
810 PROPERTY_ENTRY_U32("ti,termination-current", 128000),
811 PROPERTY_ENTRY_U32("ti,precharge-current", 128000),
812 PROPERTY_ENTRY_U32("ti,minimum-sys-voltage", 3700000),
813 PROPERTY_ENTRY_U32("ti,boost-voltage", 4998000),
814 PROPERTY_ENTRY_U32("ti,boost-max-current", 500000),
815 PROPERTY_ENTRY_BOOL("ti,use-ilim-pin"),
824 PROPERTY_ENTRY_U32("touchscreen-size-x", 1600),
825 PROPERTY_ENTRY_U32("touchscreen-size-y", 2560),
826 PROPERTY_ENTRY_U32("touchscreen-max-pressure", 255),
836 /* bq27500 fuel-gauge for the flat LiPo battery behind the screen */
862 /* bq27500 fuel-gauge for the round Li-ion cells in the hinge */
871 /* HiDeep IST520E Touchscreen */
907 * Note the first max value below must be less then the min. speaker impedance,
908 * to allow CTIA/OMTP detection to work. The other max values are the closest
909 * value from extcon-arizona.c:arizona_micd_levels halfway 2 button resistances.
912 { .max = 11, .key = KEY_PLAYPAUSE },
913 { .max = 186, .key = KEY_VOICECOMMAND },
914 { .max = 348, .key = KEY_VOLUMEUP },
915 { .max = 752, .key = KEY_VOLUMEDOWN },
986 * The "bq25892_0" charger IC has its /CE (Charge-Enable) and OTG pins in lenovo_yt3_init()
1009 /* Enable the regulators used by the touchscreen */ in lenovo_yt3_init()
1017 .dev_id = "i2c-hideep_ts",
1027 GPIO_LOOKUP("INT33FF:00", 75, "wlf,spkvdd-ena", GPIO_ACTIVE_HIGH),
1030 GPIO_LOOKUP("arizona", 2, "wlf,micd-pol", GPIO_ACTIVE_HIGH),