mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 08:32:55 +00:00

Different Spherion variants use different trackpads on the same I2C2 bus. Instead of enabling all of them by default, mark them as "fail-needs-probe" and let the implementation determine which one is actually present. Additionally, move the trackpad pinctrl entry back to the individual trackpad nodes. Signed-off-by: Laura Nao <laura.nao@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250318102259.189289-3-laura.nao@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
100 lines
2.1 KiB
Plaintext
100 lines
2.1 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
/*
|
|
* Copyright 2021 Google LLC
|
|
*/
|
|
/dts-v1/;
|
|
#include "mt8192-asurada.dtsi"
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
/ {
|
|
model = "Google Spherion (rev0 - 3)";
|
|
chassis-type = "laptop";
|
|
compatible = "google,spherion-rev3", "google,spherion-rev2",
|
|
"google,spherion-rev1", "google,spherion-rev0",
|
|
"google,spherion", "mediatek,mt8192";
|
|
|
|
pwmleds {
|
|
compatible = "pwm-leds";
|
|
|
|
led {
|
|
function = LED_FUNCTION_KBD_BACKLIGHT;
|
|
color = <LED_COLOR_ID_WHITE>;
|
|
pwms = <&cros_ec_pwm 0>;
|
|
max-brightness = <1023>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&cros_ec_pwm {
|
|
status = "okay";
|
|
};
|
|
|
|
&keyboard_controller {
|
|
function-row-physmap = <
|
|
MATRIX_KEY(0x00, 0x02, 0) /* T1 */
|
|
MATRIX_KEY(0x03, 0x02, 0) /* T2 */
|
|
MATRIX_KEY(0x02, 0x02, 0) /* T3 */
|
|
MATRIX_KEY(0x01, 0x02, 0) /* T4 */
|
|
MATRIX_KEY(0x03, 0x04, 0) /* T5 */
|
|
MATRIX_KEY(0x02, 0x04, 0) /* T6 */
|
|
MATRIX_KEY(0x01, 0x04, 0) /* T7 */
|
|
MATRIX_KEY(0x02, 0x09, 0) /* T8 */
|
|
MATRIX_KEY(0x01, 0x09, 0) /* T9 */
|
|
MATRIX_KEY(0x00, 0x04, 0) /* T10 */
|
|
>;
|
|
linux,keymap = <
|
|
MATRIX_KEY(0x00, 0x02, KEY_BACK)
|
|
MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
|
|
MATRIX_KEY(0x02, 0x02, KEY_FULL_SCREEN)
|
|
MATRIX_KEY(0x01, 0x02, KEY_SCALE)
|
|
MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
|
|
MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
|
|
MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
|
|
MATRIX_KEY(0x02, 0x09, KEY_MUTE)
|
|
MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
|
|
MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
|
|
|
|
CROS_STD_MAIN_KEYMAP
|
|
>;
|
|
};
|
|
|
|
&rt5682 {
|
|
compatible = "realtek,rt5682i";
|
|
realtek,btndet-delay = <16>;
|
|
VBAT-supply = <&pp3300_ldo_z>;
|
|
};
|
|
|
|
&sound {
|
|
compatible = "mediatek,mt8192_mt6359_rt1015p_rt5682";
|
|
|
|
speaker-codecs {
|
|
sound-dai = <&rt1015p>;
|
|
};
|
|
|
|
headset-codec {
|
|
sound-dai = <&rt5682 0>;
|
|
};
|
|
};
|
|
|
|
&touchscreen {
|
|
compatible = "elan,ekth3500";
|
|
};
|
|
|
|
&i2c2 {
|
|
/* synaptics touchpad */
|
|
trackpad@2c {
|
|
compatible = "hid-over-i2c";
|
|
reg = <0x2c>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&trackpad_pins>;
|
|
hid-descr-addr = <0x20>;
|
|
interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
|
|
wakeup-source;
|
|
status = "fail-needs-probe";
|
|
};
|
|
};
|
|
|
|
&trackpad {
|
|
status = "fail-needs-probe";
|
|
};
|