dts: gpio keypad in u202 [1/2]
authorGongwei Chen <gongwei.chen@amlogic.com>
Mon, 15 Jul 2019 07:35:54 +0000 (15:35 +0800)
committerTao Zeng <tao.zeng@amlogic.com>
Wed, 17 Jul 2019 04:00:37 +0000 (21:00 -0700)
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>
arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts
arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts
arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts
arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts

index 64c1a31..2439c80 100644 (file)
 
        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*/
        };
 
                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";
        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>;
                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 */
 
                /*
                lane_mask = <0x1>;
                /* max 0xff, each bit for one channel */
                channel_mask = <0x3>;
-               status = "okay";
+               status = "disabled";
        };
 }; /* end of audiobus */
 
                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, */
        controller-type = <1>;
 };
 &ethmac {
-       status = "okay";
+       status = "disabled";
        pinctrl-names = "internal_eth_pins";
        pinctrl-0 = <&internal_eth_pins>;
        mc_val = <0x4be04>;
        };
 };
 
+&remote{
+       status = "disable";
+};
+
 &pcie_A {
        reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
        status = "disable";
index b29b6b6..15f8687 100644 (file)
 
        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*/
        };
 
                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";
        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>;
                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 */
 
                /*
                lane_mask = <0x1>;
                /* max 0xff, each bit for one channel */
                channel_mask = <0x3>;
-               status = "okay";
+               status = "disabled";
        };
 }; /* end of audiobus */
 
                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, */
        controller-type = <1>;
 };
 &ethmac {
-       status = "okay";
+       status = "disabled";
        pinctrl-names = "internal_eth_pins";
        pinctrl-0 = <&internal_eth_pins>;
        mc_val = <0x4be04>;
        };
 };
 
+&remote{
+       status = "disable";
+};
+
 &pcie_A {
        reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
        status = "disable";
index 5646878..046627c 100644 (file)
 
        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*/
        };
 
                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";
        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>;
                #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
                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 */
 
                /*
                lane_mask = <0x1>;
                /* max 0xff, each bit for one channel */
                channel_mask = <0x3>;
-               status = "okay";
+               status = "disabled";
        };
 }; /* end of audiobus */
 
                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>;
                };
        };
 
        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";
                };
        controller-type = <1>;
 };
 &ethmac {
-       status = "okay";
+       status = "disabled";
        pinctrl-names = "internal_eth_pins";
        pinctrl-0 = <&internal_eth_pins>;
        mc_val = <0x4be04>;
        };
 };
 
+&remote{
+       status = "disable";
+};
+
 &pcie_A {
        reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
        status = "disable";
index da78177..2ff004b 100644 (file)
 
        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*/
        };
 
                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";
        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>;
                #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
                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 */
 
                /*
                lane_mask = <0x1>;
                /* max 0xff, each bit for one channel */
                channel_mask = <0x3>;
-               status = "okay";
+               status = "disabled";
        };
 }; /* end of audiobus */
 
                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>;
                };
        };
 
        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";
                };
        controller-type = <1>;
 };
 &ethmac {
-       status = "okay";
+       status = "disabled";
        pinctrl-names = "internal_eth_pins";
        pinctrl-0 = <&internal_eth_pins>;
        mc_val = <0x4be04>;
        };
 };
 
+&remote{
+       status = "disable";
+};
+
 &pcie_A {
        reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>;
        status = "disable";