dts: gpio keypad in u202 [1/2]

PD#SWPL-11212

Problem:
The physical keys are not working

Solution:
add gpio keypad in u202

Verify:
Verify by Android P u202

Change-Id: I0c97d2ffd7f8712b4584c81b1b9007f45755ec7c
Signed-off-by: GongWei Chen <gongwei.chen@amlogic.com>
This commit is contained in:
Gongwei Chen
2019-07-15 15:35:54 +08:00
committed by Luan Yuan
parent 241390faa6
commit cea71d4c3d
4 changed files with 154 additions and 90 deletions

View File

@@ -373,15 +373,15 @@
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
status = "okay";
scan_period = <20>;
key_num = <4>;
key_name = "power", "vol-", "vol+", "mic_mute";
key_code = <116 114 115 65>;
key-gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH
&gpio GPIOC_3 GPIO_ACTIVE_HIGH
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
};
@@ -585,7 +585,7 @@
aml-audio-card,name = "AML-AUGESOUND";
/*avout mute gpio*/
avout_mute-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
avout_mute-gpios = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
aml-audio-card,dai-link@0 {
format = "dsp_a";
@@ -1124,8 +1124,13 @@
tdma: tdm@0 {
compatible = "amlogic, sm1-snd-tdma";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1>;
dai-tdm-oe-lane-slot-mask-out = <1 0>;
dai-tdm-lane-slot-mask-in = <1 1>;
dai-tdm-oe-lane-slot-mask-out = <1 1>;
dai-format = "dsp_a";
dai-tdm-slot-tx-mask = <1>;
dai-tdm-slot-rx-mask = <1>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <16>;
dai-tdm-clk-sel = <0>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0>;
@@ -1151,8 +1156,8 @@
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;*/
pinctrl-0 = < &tdmout_b &tdmin_b>;
mclk_pad = <0>; /* 0: mclk_0; 1: mclk_1 */
/*
@@ -1508,7 +1513,7 @@
lane_mask = <0x1>;
/* max 0xff, each bit for one channel */
channel_mask = <0x3>;
status = "okay";
status = "disabled";
};
}; /* end of audiobus */
@@ -1517,26 +1522,27 @@
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
groups = "tdma_sclk",
"tdma_fs",
"tdma_dout0";
"tdma_dout0",
"tdma_dout1";
function = "tdma_out";
};
};
tdmin_a: tdmin_a {
mux { /* GPIOX_8 */
groups = "tdma_din1";
groups = "tdma_din0",
"tdma_din1";
function = "tdma_in";
};
};
tdmb_mclk: tdmb_mclk {
mux {
groups = "mclk0_a";
function = "mclk0";
drive-strength = <2>;
};
};
//tdmb_mclk: tdmb_mclk {
// mux {
// groups = "mclk0_a";
// function = "mclk0";
// drive-strength = <2>;
// };
//};
tdmout_b: tdmout_b {
mux { /* GPIOA_1, GPIOA_2, GPIOA_3, GPIOA_4, */
/* GPIOA_5, GPIOA_6, GPIOA_7, GPIOA_8, */
@@ -1693,7 +1699,7 @@
controller-type = <1>;
};
&ethmac {
status = "okay";
status = "disabled";
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
mc_val = <0x4be04>;
@@ -1847,6 +1853,10 @@
};
};
&remote{
status = "disable";
};
&pcie_A {
reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
status = "disable";

View File

@@ -373,15 +373,15 @@
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
status = "okay";
scan_period = <20>;
key_num = <4>;
key_name = "power", "vol-", "vol+", "mic_mute";
key_code = <116 114 115 65>;
key-gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH
&gpio GPIOC_3 GPIO_ACTIVE_HIGH
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
};
@@ -585,7 +585,7 @@
aml-audio-card,name = "AML-AUGESOUND";
/*avout mute gpio*/
avout_mute-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
avout_mute-gpios = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
aml-audio-card,dai-link@0 {
format = "dsp_a";
@@ -1124,8 +1124,13 @@
tdma: tdm@0 {
compatible = "amlogic, sm1-snd-tdma";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1>;
dai-tdm-oe-lane-slot-mask-out = <1 0>;
dai-tdm-lane-slot-mask-in = <1 1>;
dai-tdm-oe-lane-slot-mask-out = <1 1>;
dai-format = "dsp_a";
dai-tdm-slot-tx-mask = <1>;
dai-tdm-slot-rx-mask = <1>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <16>;
dai-tdm-clk-sel = <0>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0>;
@@ -1151,8 +1156,8 @@
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;*/
pinctrl-0 = < &tdmout_b &tdmin_b>;
mclk_pad = <0>; /* 0: mclk_0; 1: mclk_1 */
/*
@@ -1508,7 +1513,7 @@
lane_mask = <0x1>;
/* max 0xff, each bit for one channel */
channel_mask = <0x3>;
status = "okay";
status = "disabled";
};
}; /* end of audiobus */
@@ -1517,26 +1522,27 @@
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
groups = "tdma_sclk",
"tdma_fs",
"tdma_dout0";
"tdma_dout0",
"tdma_dout1";
function = "tdma_out";
};
};
tdmin_a: tdmin_a {
mux { /* GPIOX_8 */
groups = "tdma_din1";
groups = "tdma_din0",
"tdma_din1";
function = "tdma_in";
};
};
tdmb_mclk: tdmb_mclk {
mux {
groups = "mclk0_a";
function = "mclk0";
drive-strength = <2>;
};
};
//tdmb_mclk: tdmb_mclk {
// mux {
// groups = "mclk0_a";
// function = "mclk0";
// drive-strength = <2>;
// };
//};
tdmout_b: tdmout_b {
mux { /* GPIOA_1, GPIOA_2, GPIOA_3, GPIOA_4, */
/* GPIOA_5, GPIOA_6, GPIOA_7, GPIOA_8, */
@@ -1693,7 +1699,7 @@
controller-type = <1>;
};
&ethmac {
status = "okay";
status = "disabled";
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
mc_val = <0x4be04>;
@@ -1847,6 +1853,10 @@
};
};
&remote{
status = "disable";
};
&pcie_A {
reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
status = "disable";

View File

@@ -371,15 +371,15 @@
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
status = "okay";
scan_period = <20>;
key_num = <4>;
key_name = "power", "vol-", "vol+", "mic_mute";
key_code = <116 114 115 65>;
key-gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH
&gpio GPIOC_3 GPIO_ACTIVE_HIGH
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
};
@@ -583,7 +583,7 @@
aml-audio-card,name = "AML-AUGESOUND";
/*avout mute gpio*/
avout_mute-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
avout_mute-gpios = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
aml-audio-card,dai-link@0 {
format = "dsp_a";
@@ -1123,8 +1123,13 @@
tdma: tdm@0 {
compatible = "amlogic, sm1-snd-tdma";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1>;
dai-tdm-oe-lane-slot-mask-out = <1 0>;
dai-tdm-lane-slot-mask-in = <1 1>;
dai-tdm-oe-lane-slot-mask-out = <1 1>;
dai-format = "dsp_a";
dai-tdm-slot-tx-mask = <1>;
dai-tdm-slot-rx-mask = <1>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <16>;
dai-tdm-clk-sel = <0>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0>;
@@ -1140,6 +1145,8 @@
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1 0 0>;
dai-tdm-lane-slot-mask-out = <1 0 0 0>;
//dai-tdm-lane-slot-mask-in = <0 0 0 0 0 0 0 0>;
//dai-tdm-lane-slot-mask-out = <1 1 1 1 1 1 1 1>;
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
@@ -1148,8 +1155,8 @@
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;*/
pinctrl-0 = < &tdmout_b &tdmin_b>;
mclk_pad = <0>; /* 0: mclk_0; 1: mclk_1 */
/*
@@ -1504,7 +1511,7 @@
lane_mask = <0x1>;
/* max 0xff, each bit for one channel */
channel_mask = <0x3>;
status = "okay";
status = "disabled";
};
}; /* end of audiobus */
@@ -1513,30 +1520,41 @@
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
groups = "tdma_sclk",
"tdma_fs",
"tdma_dout0";
"tdma_dout0",
"tdma_dout1";
function = "tdma_out";
};
};
tdmin_a: tdmin_a {
mux { /* GPIOX_8 */
groups = "tdma_din1";
groups = "tdma_din0",
"tdma_din1";
function = "tdma_in";
};
};
tdmb_mclk: tdmb_mclk {
mux {
groups = "mclk0_a";
function = "mclk0";
drive-strength = <2>;
};
};
//tdmb_mclk: tdmb_mclk {
// mux {
// groups = "mclk0_a";
// function = "mclk0";
// drive-strength = <2>;
// };
//};
tdmout_b: tdmout_b {
mux { /* GPIOA_1, GPIOA_2, GPIOA_3 */
mux { /* GPIOA_1, GPIOA_2, GPIOA_3, GPIOA_4, */
/* GPIOA_5, GPIOA_6, GPIOA_7, GPIOA_8, */
/* GPIOA_9, GPIOA_0*/
groups = "tdmb_sclk",
"tdmb_fs",
"tdmb_dout0";
//"tdmb_dout1",
//"tdmb_dout2",
//"tdmb_dout3_a",
//"tdmb_dout4_a",
//"tdmb_dout5_a",
//"tdmb_dout6_a",
//"tdmb_dout7_a0";
function = "tdmb_out";
drive-strength = <2>;
};
@@ -1559,12 +1577,12 @@
};
tdmout_c:tdmout_c {
mux { /* GPIOA_12, GPIOA_13 */
mux { /* GPIOA_12, GPIOA_13, GPIOA_8, GPIOA_7*/
groups = "tdmc_sclk_a",
"tdmc_fs_a"
/*, "tdmc_dout0_a"
*, "tdmc_dout2"
*, "tdmc_dout3"
"tdmc_fs_a",
"tdmc_dout0_a"
/*, "tdmc_dout2",
* "tdmc_dout3"
*/;
function = "tdmc_out";
};
@@ -1679,7 +1697,7 @@
controller-type = <1>;
};
&ethmac {
status = "okay";
status = "disabled";
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
mc_val = <0x4be04>;
@@ -1833,6 +1851,10 @@
};
};
&remote{
status = "disable";
};
&pcie_A {
reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
status = "disable";

View File

@@ -371,15 +371,15 @@
gpio_keypad{
compatible = "amlogic, gpio_keypad";
status = "disabled";
status = "okay";
scan_period = <20>;
key_num = <4>;
key_name = "power", "vol-", "vol+", "mic_mute";
key_code = <116 114 115 65>;
key-gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH
&gpio GPIOC_3 GPIO_ACTIVE_HIGH
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
&gpio GPIOC_0 GPIO_ACTIVE_HIGH
&gpio GPIOA_0 GPIO_ACTIVE_HIGH>;
detect_mode = <0>;/*0:polling mode, 1:irq mode*/
};
@@ -583,7 +583,7 @@
aml-audio-card,name = "AML-AUGESOUND";
/*avout mute gpio*/
avout_mute-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
avout_mute-gpios = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
aml-audio-card,dai-link@0 {
format = "dsp_a";
@@ -1123,8 +1123,13 @@
tdma: tdm@0 {
compatible = "amlogic, sm1-snd-tdma";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1>;
dai-tdm-oe-lane-slot-mask-out = <1 0>;
dai-tdm-lane-slot-mask-in = <1 1>;
dai-tdm-oe-lane-slot-mask-out = <1 1>;
dai-format = "dsp_a";
dai-tdm-slot-tx-mask = <1>;
dai-tdm-slot-rx-mask = <1>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <16>;
dai-tdm-clk-sel = <0>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0>;
@@ -1140,6 +1145,8 @@
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1 0 0>;
dai-tdm-lane-slot-mask-out = <1 0 0 0>;
//dai-tdm-lane-slot-mask-in = <0 0 0 0 0 0 0 0>;
//dai-tdm-lane-slot-mask-out = <1 1 1 1 1 1 1 1>;
dai-tdm-clk-sel = <1>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_B
&clkc CLKID_MPLL1
@@ -1148,8 +1155,8 @@
clock-names = "mclk", "clk_srcpll",
"samesource_srcpll", "samesource_clk";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;
/*pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>;*/
pinctrl-0 = < &tdmout_b &tdmin_b>;
mclk_pad = <0>; /* 0: mclk_0; 1: mclk_1 */
/*
@@ -1505,7 +1512,7 @@
lane_mask = <0x1>;
/* max 0xff, each bit for one channel */
channel_mask = <0x3>;
status = "okay";
status = "disabled";
};
}; /* end of audiobus */
@@ -1514,30 +1521,41 @@
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
groups = "tdma_sclk",
"tdma_fs",
"tdma_dout0";
"tdma_dout0",
"tdma_dout1";
function = "tdma_out";
};
};
tdmin_a: tdmin_a {
mux { /* GPIOX_8 */
groups = "tdma_din1";
groups = "tdma_din0",
"tdma_din1";
function = "tdma_in";
};
};
tdmb_mclk: tdmb_mclk {
mux {
groups = "mclk0_a";
function = "mclk0";
drive-strength = <2>;
};
};
//tdmb_mclk: tdmb_mclk {
// mux {
// groups = "mclk0_a";
// function = "mclk0";
// drive-strength = <2>;
// };
//};
tdmout_b: tdmout_b {
mux { /* GPIOA_1, GPIOA_2, GPIOA_3 */
mux { /* GPIOA_1, GPIOA_2, GPIOA_3, GPIOA_4, */
/* GPIOA_5, GPIOA_6, GPIOA_7, GPIOA_8, */
/* GPIOA_9, GPIOA_0*/
groups = "tdmb_sclk",
"tdmb_fs",
"tdmb_dout0";
//"tdmb_dout1",
//"tdmb_dout2",
//"tdmb_dout3_a",
//"tdmb_dout4_a",
//"tdmb_dout5_a",
//"tdmb_dout6_a",
//"tdmb_dout7_a0";
function = "tdmb_out";
drive-strength = <2>;
};
@@ -1560,12 +1578,12 @@
};
tdmout_c:tdmout_c {
mux { /* GPIOA_12, GPIOA_13 */
mux { /* GPIOA_12, GPIOA_13, GPIOA_8, GPIOA_7*/
groups = "tdmc_sclk_a",
"tdmc_fs_a"
/*, "tdmc_dout0_a"
*, "tdmc_dout2"
*, "tdmc_dout3"
"tdmc_fs_a",
"tdmc_dout0_a"
/*, "tdmc_dout2",
* "tdmc_dout3"
*/;
function = "tdmc_out";
};
@@ -1680,7 +1698,7 @@
controller-type = <1>;
};
&ethmac {
status = "okay";
status = "disabled";
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
mc_val = <0x4be04>;
@@ -1834,6 +1852,10 @@
};
};
&remote{
status = "disable";
};
&pcie_A {
reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
status = "disable";