Lines Matching +full:headset +full:- +full:key +full:- +full:gpios
1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * Copyright (C) 2021-2023 Hans de Goede <hansg@kernel.org>
16 #include <linux/input-event-codes.h>
29 #include "shared-psy-info.h"
30 #include "x86-android-tablets.h"
35 * The Android kernels have a hack in the i915 driver to write a non-standard
36 * panel specific DSI register to set the duty-cycle of the LCD's PWM output.
48 * But on some models the panel's PWM output defaults to a duty-cycle of
75 PROPERTY_ENTRY_GPIO("reset-gpios", &cherryview_gpiochip_nodes[1], 53, GPIO_ACTIVE_HIGH),
76 PROPERTY_ENTRY_GPIO("irq-gpios", &cherryview_gpiochip_nodes[1], 56, GPIO_ACTIVE_HIGH),
85 PROPERTY_ENTRY_U32("hid-descr-addr", 0x0001),
86 PROPERTY_ENTRY_U32("post-reset-deassert-delay-ms", 150),
87 PROPERTY_ENTRY_GPIO("reset-gpios", &cherryview_gpiochip_nodes[0], 82, GPIO_ACTIVE_LOW),
96 * The HiDeep IST940E touchscreen comes up in I2C-HID mode. The native protocol
100 * PROPERTY_ENTRY_U32("hid-descr-addr", 0x0020),
101 * PROPERTY_ENTRY_U32("post-reset-deassert-delay-ms", 120),
102 * and changing board_info.type to "hid-over-i2c".
105 PROPERTY_ENTRY_U32("touchscreen-size-x", 1200),
106 PROPERTY_ENTRY_U32("touchscreen-size-y", 1920),
107 PROPERTY_ENTRY_U32("touchscreen-max-pressure", 16384),
108 PROPERTY_ENTRY_BOOL("hideep,force-native-protocol"),
109 PROPERTY_ENTRY_GPIO("reset-gpios", &cherryview_gpiochip_nodes[0], 7, GPIO_ACTIVE_LOW),
119 /* BQ27542 fuel-gauge */
148 .type = "hid-over-i2c",
193 .name = "yogabook-touch-kbd-digitizer-switch",
212 * Software node attached to gpio-keys device representing the LID and
221 PROPERTY_ENTRY_U32("linux,input-type", EV_SW),
224 PROPERTY_ENTRY_GPIO("gpios", &cherryview_gpiochip_nodes[2], 19, GPIO_ACTIVE_LOW),
225 PROPERTY_ENTRY_U32("debounce-interval", 50),
226 PROPERTY_ENTRY_BOOL("wakeup-source"),
272 /* Lenovo Yoga Book X91F/L Windows tablet needs manual instantiation of the fuel-gauge client */
275 /* BQ27542 fuel-gauge */
293 PROPERTY_ENTRY_STRING_ARRAY_LEN("supplied-from", tusb1211_chg_det_psy, 1),
294 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
295 PROPERTY_ENTRY_BOOL("omit-battery-class"),
296 PROPERTY_ENTRY_BOOL("disable-reset"),
305 PROPERTY_ENTRY_U32("linux,input-type", EV_SW),
308 PROPERTY_ENTRY_GPIO("gpios", &baytrail_gpiochip_nodes[2], 26, GPIO_ACTIVE_LOW),
309 PROPERTY_ENTRY_U32("debounce-interval", 50),
310 PROPERTY_ENTRY_BOOL("wakeup-source"),
367 /* BQ27541 fuel-gauge */
403 PROPERTY_ENTRY_GPIO("mux-gpios", &baytrail_gpiochip_nodes[2], 1, GPIO_ACTIVE_LOW),
404 PROPERTY_ENTRY_GPIO("id-gpios", &baytrail_gpiochip_nodes[2], 24, GPIO_ACTIVE_HIGH),
411 .name = "intel-int3496",
417 #define LENOVO_YOGA_TAB2_830_1050_CODEC_NAME "spi-10WM5102:00"
420 PROPERTY_ENTRY_GPIO("reset-gpios",
422 PROPERTY_ENTRY_GPIO("wlf,ldoena-gpios",
424 PROPERTY_ENTRY_GPIO("wlf,spkvdd-ena-gpios",
426 PROPERTY_ENTRY_GPIO("wlf,micd-pol-gpios",
468 * requiring the touchscreen driver to adjust the touch-coords to match the LCD.
469 * And requiring the accelerometer to have a mount-matrix set to correct for
474 "-1", "0", "0",
479 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", lenovo_yoga_tab2_830_lms303d_mount_matrix),
531 return -ENODEV; in lenovo_yoga_tab2_830_1050_init_codec()
613 * and the 1050F/L so this re-uses some of the handling for that from above.
615 static const char * const lc824206xa_chg_det_psy[] = { "lc824206xa-charger-detect" };
618 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", lc824206xa_chg_det_psy),
619 PROPERTY_ENTRY_REF("monitored-battery", &generic_lipo_hv_4v35_battery_node),
620 PROPERTY_ENTRY_BOOL("omit-battery-class"),
621 PROPERTY_ENTRY_BOOL("disable-reset"),
629 /* For enabling the bq24190 5V boost based on id-pin */
632 .dev_name = "i2c-lc824206xa",
649 PROPERTY_ENTRY_BOOL("onnn,enable-miclr-for-dcp"),
658 "0", "-1", "0",
659 "-1", "0", "0",
664 PROPERTY_ENTRY_STRING_ARRAY("mount-matrix", lenovo_yoga_tab2_1380_lms303d_mount_matrix),
674 /* BQ27541 fuel-gauge */
762 PROPERTY_ENTRY_GPIO("uart3_txd-gpios", &baytrail_gpiochip_nodes[0], 57, GPIO_ACTIVE_HIGH),
763 PROPERTY_ENTRY_GPIO("uart3_rxd-gpios", &baytrail_gpiochip_nodes[0], 61, GPIO_ACTIVE_HIGH),
770 .name = "lenovo-yoga-tab2-pro-1380-fastcharger",
810 /* Lenovo Yoga Tab 3 Pro YT3-X90F */
813 * There are 2 batteries, with 2 bq27500 fuel-gauges and 2 bq25892 chargers,
814 * "bq25890-charger-1" is instantiated from: drivers/i2c/busses/i2c-cht-wc.c.
817 static const char * const bq25890_1_psy[] = { "bq25890-charger-1" };
820 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", bq25890_1_psy),
830 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", lenovo_yt3_bq25892_0_suppliers),
831 PROPERTY_ENTRY_U32("linux,iinlim-percentage", 40),
832 PROPERTY_ENTRY_BOOL("linux,skip-reset"),
834 PROPERTY_ENTRY_U32("ti,charge-current", 2048000),
835 PROPERTY_ENTRY_U32("ti,battery-regulation-voltage", 4352000),
836 PROPERTY_ENTRY_U32("ti,termination-current", 128000),
837 PROPERTY_ENTRY_U32("ti,precharge-current", 128000),
838 PROPERTY_ENTRY_U32("ti,minimum-sys-voltage", 3700000),
839 PROPERTY_ENTRY_U32("ti,boost-voltage", 4998000),
840 PROPERTY_ENTRY_U32("ti,boost-max-current", 500000),
841 PROPERTY_ENTRY_BOOL("ti,use-ilim-pin"),
850 PROPERTY_ENTRY_U32("touchscreen-size-x", 1600),
851 PROPERTY_ENTRY_U32("touchscreen-size-y", 2560),
852 PROPERTY_ENTRY_U32("touchscreen-max-pressure", 255),
853 PROPERTY_ENTRY_GPIO("reset-gpios", &cherryview_gpiochip_nodes[0], 7, GPIO_ACTIVE_LOW),
863 /* bq27500 fuel-gauge for the flat LiPo battery behind the screen */
889 /* bq27500 fuel-gauge for the round Li-ion cells in the hinge */
927 * The AOSP 3.5 mm Headset: Accessory Specification gives the following values:
936 * value from extcon-arizona.c:arizona_micd_levels halfway 2 button resistances.
939 { .max = 11, .key = KEY_PLAYPAUSE },
940 { .max = 186, .key = KEY_VOICECOMMAND },
941 { .max = 348, .key = KEY_VOLUMEUP },
942 { .max = 752, .key = KEY_VOLUMEDOWN },
989 PROPERTY_ENTRY_GPIO("wlf,spkvdd-ena-gpios",
991 PROPERTY_ENTRY_GPIO("wlf,ldoena-gpios",
993 PROPERTY_ENTRY_GPIO("reset-gpios", &cherryview_gpiochip_nodes[0], 82, GPIO_ACTIVE_HIGH),
994 PROPERTY_ENTRY_GPIO("wlf,micd-pol-gpios", &arizona_gpiochip_node, 2, GPIO_ACTIVE_HIGH),
1035 * The "bq25892_0" charger IC has its /CE (Charge-Enable) and OTG pins in lenovo_yt3_init()
1036 * connected to GPIOs, rather then having them hardwired to the correct in lenovo_yt3_init()