From cea71d4c3dec1cbfcc421d7c4d3425b6b855b9d1 Mon Sep 17 00:00:00 2001 From: Gongwei Chen Date: Mon, 15 Jul 2019 15:35:54 +0800 Subject: [PATCH] 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 --- .../arm/boot/dts/amlogic/sm1_s905d3_ac202.dts | 50 +++++++------ .../boot/dts/amlogic/sm1_s905d3_ac202_1g.dts | 50 +++++++------ .../boot/dts/amlogic/sm1_s905d3_ac202.dts | 72 ++++++++++++------- .../boot/dts/amlogic/sm1_s905d3_ac202_1g.dts | 72 ++++++++++++------- 4 files changed, 154 insertions(+), 90 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts index 64c1a312f0bc..2439c802845f 100644 --- a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts +++ b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts @@ -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>; }; ðmac { - 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"; diff --git a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts index b29b6b663227..15f868795d8e 100644 --- a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts +++ b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts @@ -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>; }; ðmac { - 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"; diff --git a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts index 56468786605e..046627c3c0f6 100644 --- a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts +++ b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts @@ -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>; }; ðmac { - 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"; diff --git a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts index da78177cd404..2ff004bdd30b 100644 --- a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts +++ b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts @@ -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>; }; ðmac { - 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";