keypad: s6: support keypad [1/1]

PD#SWPL-174085

Problem:
S6 silicon bringup.

Solution:
Configure DT according to the schematic diagram.

Verify:
S6/BL201

Change-Id: I748d4a81b1e10583f3223c91ffc376f2d031fb64
Signed-off-by: Huqiang Qin <huqiang.qin@amlogic.com>
This commit is contained in:
Huqiang Qin
2024-06-20 17:31:23 +08:00
committed by pengzhao.liu
parent 5d23e381f0
commit a2eaeba187
7 changed files with 74 additions and 119 deletions
@@ -21,6 +21,7 @@
#include <dt-bindings/mailbox/amlogic,mbox.h>
#include <dt-bindings/firmware/amlogic,firmware.h>
#include <dt-bindings/mailbox/s6-mbox.h>
#include <dt-bindings/iio/adc/amlogic-saradc.h>
#include "meson-ir-map.dtsi"
#include "meson-valhall.dtsi"
/ {
+19 -18
View File
@@ -780,30 +780,31 @@
compatible = "amlogic, picdec";
status = "disabled";
};
adc_keypad {
compatible = "amlogic, adc_keypad";
status = "disabled";
key_name = "standby", "vol+", "vol-";
key_num = <3>;
io-channels = <&saradc 0>;
io-channel-names = "key-chan-0";
key_chan = <0 0 0>;
key_code = <116 115 114>;
key_val = <20 910 630>; //val=voltage/1800mV*1023
key_tolerance = <40 40 40>;
status = "okay";
key_name = "update", "vol-", "vol+", "enter";
key_num = <4>;
io-channels = <&saradc 3>;
io-channel-names = "key-chan-3";
key_chan = <SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3>;
key_code = <KEY_SETUP KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_ENTER>;
key_val = <0 250 470 680>; /* Unit: millivolt */
key_tolerance = <70 70 70 70>; /* Unit: millivolt */
};
gpio_keypad{
gpio_keypad {
compatible = "amlogic, gpio_keypad";
status = "disabled";
status = "okay";
scan_period = <20>;
key_num = <2>;
key_name = "bluetooth", "mute";
key_code = <600 SW_MUTE_DEVICE>;
key_type = <EV_KEY EV_SW>;
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
key_num = <1>;
key_name = "power";
key_code = <KEY_POWER>;
key_type = <EV_KEY>;
key-gpios = <&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
/* 0:polling mode, 1:irq mode */
detect_mode = <0>;
};
};
+10 -22
View File
@@ -780,30 +780,18 @@
compatible = "amlogic, picdec";
status = "disabled";
};
adc_keypad {
compatible = "amlogic, adc_keypad";
status = "disabled";
key_name = "standby", "vol+", "vol-";
key_num = <3>;
io-channels = <&saradc 0>;
io-channel-names = "key-chan-0";
key_chan = <0 0 0>;
key_code = <116 115 114>;
key_val = <20 910 630>; //val=voltage/1800mV*1023
key_tolerance = <40 40 40>;
};
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
scan_period = <20>;
key_num = <2>;
key_name = "bluetooth", "mute";
key_code = <600 SW_MUTE_DEVICE>;
key_type = <EV_KEY EV_SW>;
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
status = "okay";
key_name = "menu", "vol-", "vol+", "esc", "home";
key_num = <5>;
io-channels = <&saradc 3>;
io-channel-names = "key-chan-3";
key_chan = <SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3>;
key_code = <KEY_MENU KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_ESC KEY_HOME>;
key_val = <0 251 468 684 900>; /* Unit: millivolt */
key_tolerance = <70 70 70 70 70>; /* Unit: millivolt */
};
};
+10 -22
View File
@@ -780,30 +780,18 @@
compatible = "amlogic, picdec";
status = "disabled";
};
adc_keypad {
compatible = "amlogic, adc_keypad";
status = "disabled";
key_name = "standby", "vol+", "vol-";
key_num = <3>;
io-channels = <&saradc 0>;
io-channel-names = "key-chan-0";
key_chan = <0 0 0>;
key_code = <116 115 114>;
key_val = <20 910 630>; //val=voltage/1800mV*1023
key_tolerance = <40 40 40>;
};
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
scan_period = <20>;
key_num = <2>;
key_name = "bluetooth", "mute";
key_code = <600 SW_MUTE_DEVICE>;
key_type = <EV_KEY EV_SW>;
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
status = "okay";
key_name = "menu", "vol-", "vol+", "esc", "home";
key_num = <5>;
io-channels = <&saradc 3>;
io-channel-names = "key-chan-3";
key_chan = <SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3>;
key_code = <KEY_MENU KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_ESC KEY_HOME>;
key_val = <0 251 468 684 900>; /* Unit: millivolt */
key_tolerance = <70 70 70 70 70>; /* Unit: millivolt */
};
};
+14 -13
View File
@@ -783,28 +783,29 @@
adc_keypad {
compatible = "amlogic, adc_keypad";
status = "disabled";
key_name = "standby", "vol+", "vol-";
status = "okay";
key_name = "vol-", "vol+", "power";
key_num = <3>;
io-channels = <&saradc 0>;
io-channel-names = "key-chan-0";
key_chan = <0 0 0>;
key_code = <116 115 114>;
key_val = <20 910 630>; //val=voltage/1800mV*1023
key_tolerance = <40 40 40>;
io-channels = <&saradc 3>;
io-channel-names = "key-chan-3";
key_chan = <SARADC_CH3 SARADC_CH3 SARADC_CH3>;
key_code = <KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_POWER>;
key_val = <1600 1050 50>; /* Unit: millivolt */
key_tolerance = <70 70 70>; /* Unit: millivolt */
};
gpio_keypad{
gpio_keypad {
compatible = "amlogic, gpio_keypad";
status = "disabled";
status = "okay";
scan_period = <20>;
key_num = <2>;
key_name = "bluetooth", "mute";
key_code = <600 SW_MUTE_DEVICE>;
key_type = <EV_KEY EV_SW>;
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOA_11 GPIO_ACTIVE_HIGH>;
/* 0:polling mode, 1:irq mode */
detect_mode = <0>;
};
vin_12v_reg: fixed@vin_12v_reg {
+10 -22
View File
@@ -780,30 +780,18 @@
compatible = "amlogic, picdec";
status = "disabled";
};
adc_keypad {
compatible = "amlogic, adc_keypad";
status = "disabled";
key_name = "standby", "vol+", "vol-";
key_num = <3>;
io-channels = <&saradc 0>;
io-channel-names = "key-chan-0";
key_chan = <0 0 0>;
key_code = <116 115 114>;
key_val = <20 910 630>; //val=voltage/1800mV*1023
key_tolerance = <40 40 40>;
};
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
scan_period = <20>;
key_num = <2>;
key_name = "bluetooth", "mute";
key_code = <600 SW_MUTE_DEVICE>;
key_type = <EV_KEY EV_SW>;
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
status = "okay";
key_name = "menu", "vol-", "vol+", "esc", "home";
key_num = <5>;
io-channels = <&saradc 3>;
io-channel-names = "key-chan-3";
key_chan = <SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3>;
key_code = <KEY_MENU KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_ESC KEY_HOME>;
key_val = <0 251 468 684 900>; /* Unit: millivolt */
key_tolerance = <70 70 70 70 70>; /* Unit: millivolt */
};
vin_12v_reg: fixed@vin_12v_reg {
+10 -22
View File
@@ -780,30 +780,18 @@
compatible = "amlogic, picdec";
status = "disabled";
};
adc_keypad {
compatible = "amlogic, adc_keypad";
status = "disabled";
key_name = "standby", "vol+", "vol-";
key_num = <3>;
io-channels = <&saradc 0>;
io-channel-names = "key-chan-0";
key_chan = <0 0 0>;
key_code = <116 115 114>;
key_val = <20 910 630>; //val=voltage/1800mV*1023
key_tolerance = <40 40 40>;
};
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
scan_period = <20>;
key_num = <2>;
key_name = "bluetooth", "mute";
key_code = <600 SW_MUTE_DEVICE>;
key_type = <EV_KEY EV_SW>;
key-gpios = <&gpio GPIOD_2 GPIO_ACTIVE_HIGH
&gpio GPIOD_3 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
status = "okay";
key_name = "menu", "vol-", "vol+", "esc", "home";
key_num = <5>;
io-channels = <&saradc 3>;
io-channel-names = "key-chan-3";
key_chan = <SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3 SARADC_CH3>;
key_code = <KEY_MENU KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_ESC KEY_HOME>;
key_val = <0 251 468 684 900>; /* Unit: millivolt */
key_tolerance = <70 70 70 70 70>; /* Unit: millivolt */
};
vin_12v_reg: fixed@vin_12v_reg {