t962x3_ab301: modify dts for WIFI/BT/tuner [1/1]
authorkieth liu <kieth.liu@amlogic.com>
Mon, 8 Apr 2019 11:38:19 +0000 (07:38 -0400)
committerJianxiong Pan <jianxiong.pan@amlogic.com>
Thu, 11 Apr 2019 06:51:45 +0000 (14:51 +0800)
PD#SWPL-6720

Problem:
WIFI/BT/tuner can not work

Solution:
modify dts for WIFI/BT/tuner

Verify:
verify by t962x3_ab301

Change-Id: I0925a2ebbad2825e4df47cc3957d960cdcab6ac4
Signed-off-by: kieth liu <kieth.liu@amlogic.com>
arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts
arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts

index dc4c573..7622340 100644 (file)
        sd_emmc_b: sdio@ffe05000 {
                status = "okay";
                compatible = "amlogic, meson-mmc-tm2";
-               reg = <0xffe05000 0x800>;
+               reg = <0x0 0xffe05000 0x0 0x800>;
                interrupts = <0 190 4>;
 
                pinctrl-names = "sdio_all_pins",
 
 }; /* end of pinctrl_periphs */
 
+&pinctrl_aobus {
+       spdifout: spdifout {
+               mux { /* gpiao_10 */
+                       groups = "spdif_out_ao";
+                       function = "spdif_out_ao";
+               };
+       };
+};  /* end of pinctrl_aobus */
+
 &audio_data{
        status = "okay";
 };
 
 &i2c2 {
-       status = "okay";
+       status = "disabled";
        pinctrl-names="default";
        pinctrl-0=<&i2c2_z_pins>;
        clock-frequency = <400000>;
                reg = <0x2d>;
                status = "disable";
        };
+};
+
+&i2c3 {
+       status = "okay";
+       pinctrl-names="default";
+       pinctrl-0=<&i2c3_h1_pins>;
+       clock-frequency = <400000>;
 
        ad82584f: ad82584f@62 {
                compatible = "ESMT, ad82584f";
                #sound-dai-cells = <0>;
                reg = <0x31>;
-               status = "okay";
-               reset_pin = <&gpio_ao GPIOAO_6 0>;
+               status = "disabled";
+               reset_pin = <&gpio GPIOH_13 0>;
+               no_mclk;
        };
-
 };
 
+
 &sd_emmc_c {
        status = "okay";
        emmc {
 
 &usb3_phy_v2 {
        status = "okay";
-       portnum = <0>;
+       portnum = <2>;
+       portconfig-30 = <1>;
+       portconfig-31 = <1>;
+};
+
+&usb_otg {
+       status = "okay";
        otg = <0>;
 };
 
        controller-type = <1>;
 };
 
+&pcie_A {
+       reset-gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>;
+       status = "disable";
+};
+
+&pcie_B {
+       /* ab311 only pcie a, no pcie b */
+       status = "disable";
+};
+
 &spicc0 {
        status = "okay";
        pinctrl-names = "default";
        status = "okay";
 };
 
-&pwm_cd {
-       status = "okay";
-};
-
 &saradc {
        status = "okay";
 };
 &efuse {
        status = "okay";
 };
+
index 97a2d83..9308d19 100644 (file)
                        alloc-ranges = <0x0 0x05000000 0x0 0x400000>;
                };
 
-               codec_mm_cma:linux,codec_mm_cma {
+               logo_reserved:linux,meson-fb {
                        compatible = "shared-dma-pool";
                        reusable;
-                       /* ion_codec_mm max can alloc size 80M*/
-                       size = <0x0 0x13400000>;
+                       size = <0x0 0x800000>;
                        alignment = <0x0 0x400000>;
-                       linux,contiguous-region;
-                       alloc-ranges = <0x0 0x30000000 0x0 0x50000000>;
+                       alloc-ranges = <0x0 0x7f800000 0x0 0x800000>;
                };
 
                lcd_tcon_reserved:linux,lcd_tcon {
                        alloc-ranges = <0x0 0x7ec00000 0x0 0xc00000>;
                };
 
+               codec_mm_cma:linux,codec_mm_cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       /* ion_codec_mm max can alloc size 80M*/
+                       size = <0x0 0x13400000>;
+                       alignment = <0x0 0x400000>;
+                       linux,contiguous-region;
+               };
+
                /* codec shared reserved */
                codec_mm_reserved:linux,codec_mm_reserved {
                        compatible = "amlogic, codec-mm-reserved";
                        //no-map;
                };
 
-               logo_reserved:linux,meson-fb {
-                       compatible = "shared-dma-pool";
-                       reusable;
-                       size = <0x0 0x800000>;
-                       alignment = <0x0  0x400000>;
-                       alloc-ranges = <0x0  0x7f800000 0x0  0x800000>;
-               };
-
                ion_cma_reserved:linux,ion-dev {
                        compatible = "shared-dma-pool";
                        reusable;
-                       size = <0x0  0x8000000>;
-                       alignment = <0x0  0x400000>;
+                       size = <0x0 0x2000000>;
+                       alignment = <0x0 0x400000>;
                };
 
                /*  vdin0 CMA pool */
                reg = <0x0 0xff632000 0x0 0x1c>;
                tdmout_index = <0>;
                tdmin_index = <0>;
+               dat1_ch_sel = <1>;
        };
 
        aml_dtv_demod {
        };
 
        amlvecm {
-               compatible = "amlogic, vecm-tl1";
+               compatible = "amlogic, vecm";
                dev_name = "aml_vecm";
                status = "okay";
                gamma_en = <1>;/*1:enabel ;0:disable*/
                 *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M
                 *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M
                 */
-               cma_size = <190>;
+               cma_size = <160>;
                interrupts = <0 83 1>;
                rdma-irq = <2>;
                clocks = <&clkc CLKID_FCLK_DIV5>,
                 * 0 -- afbce compression-lossy disable
                 * 1 -- afbce compression-lossy enable
                 */
-               afbce_bit_mode = <0>;
+               afbce_bit_mode = <0x0>;
        };
 
        vdin@1 {
                };
        }; /* End unifykey */
 
+       amlvideo2_0 {
+               compatible = "amlogic, amlvideo2";
+               dev_name = "amlvideo2";
+               status = "okay";
+               amlvideo2_id = <0>;
+               cma_mode = <1>;
+       };
+
+       amlvideo2_1 {
+               compatible = "amlogic, amlvideo2";
+               dev_name = "amlvideo2";
+               status = "okay";
+               amlvideo2_id = <1>;
+               cma_mode = <1>;
+       };
 
        hdmirx {
                compatible = "amlogic, hdmirx_tm2";
                tuner_name_0 = "mxl661_tuner";
                tuner_i2c_adap_0 = <&i2c0>;
                tuner_i2c_addr_0 = <0x60>;
-               tuner_xtal_0 = <0>; /* 0: 16MHz, 1: 24MHz */
-               tuner_xtal_mode_0 = <0>;
+               tuner_xtal_0 = <1>; /* 0: 16MHz, 1: 24MHz */
+               tuner_xtal_mode_0 = <3>;
                                        /* NO_SHARE_XTAL(0)
                                         * SLAVE_XTAL_SHARE(3)
                                         */
                /*default:0x88188832;r840 on haier:0x48188832*/
        };
 
-       sd_emmc_b: sd@ffe05000 {
+       bt-dev{
+               compatible = "amlogic, bt-dev";
+               status = "okay";
+               gpio_reset = <&gpio       GPIOC_13       GPIO_ACTIVE_HIGH>;
+       };
+
+       wifi{
+               compatible = "amlogic, aml_wifi";
+               status = "okay";
+               interrupt_pin = <&gpio       GPIOC_12       GPIO_ACTIVE_HIGH>;
+               irq_trigger_type = "GPIO_IRQ_LOW";
+               dhd_static_buf;    //dhd_static_buf support
+               power_on_pin = <&gpio       GPIOC_11       GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwm_b_pins1>;
+               pwm_config = <&wifi_pwm_conf>;
+       };
+
+       wifi_pwm_conf:wifi_pwm_conf{
+               pwm_channel1_conf {
+                       pwms = <&pwm_ab MESON_PWM_1 30541 0>;
+                       duty-cycle = <15270>;
+                       times = <8>;
+               };
+               pwm_channel2_conf {
+                       pwms = <&pwm_ab MESON_PWM_3 30500 0>;
+                       duty-cycle = <15250>;
+                       times = <12>;
+               };
+       };
+
+       sd_emmc_b: sdio@ffe05000 {
                status = "okay";
                compatible = "amlogic, meson-mmc-tm2";
                reg = <0x0 0xffe05000 0x0 0x800>;
-               interrupts = <0 190 1>;
+               interrupts = <0 190 4>;
 
-               pinctrl-names = "sd_all_pins",
-                       "sd_clk_cmd_pins",
-                       "sd_1bit_pins";
-               pinctrl-0 = <&sd_all_pins>;
-               pinctrl-1 = <&sd_clk_cmd_pins>;
-               pinctrl-2 = <&sd_1bit_pins>;
+               pinctrl-names = "sdio_all_pins",
+                       "sdio_clk_cmd_pins";
+               pinctrl-0 = <&sdio_all_pins>;
+               pinctrl-1 = <&sdio_clk_cmd_pins>;
 
                clocks = <&clkc CLKID_SD_EMMC_B>,
                        <&clkc CLKID_SD_EMMC_B_P0_COMP>,
                cap-mmc-highspeed;
                max-frequency = <100000000>;
                disable-wp;
-               sd {
-                       pinname = "sd";
+               sdio {
+                       pinname = "sdio";
                        ocr_avail = <0x200080>; /**VDD voltage 3.3 ~ 3.4 */
                        caps = "MMC_CAP_4_BIT_DATA",
                                "MMC_CAP_MMC_HIGHSPEED",
-                               "MMC_CAP_SD_HIGHSPEED";
-                               //"MMC_CAP_NONREMOVABLE"; /**ptm debug */
+                               "MMC_CAP_SD_HIGHSPEED",
+                               "MMC_CAP_NONREMOVABLE", /**ptm debug */
+                                "MMC_CAP_UHS_SDR12",
+                                "MMC_CAP_UHS_SDR25",
+                                "MMC_CAP_UHS_SDR50",
+                                "MMC_CAP_UHS_SDR104",
+                                "MMC_PM_KEEP_POWER",
+                                "MMC_CAP_SDIO_IRQ";
                        f_min = <400000>;
                        f_max = <200000000>;
                        max_req_size = <0x20000>; /**128KB*/
-                       no_sduart = <1>;
-                       gpio_dat3 = <&gpio GPIOC_3 GPIO_ACTIVE_HIGH>;
-                       jtag_pin = <&gpio GPIOC_0 GPIO_ACTIVE_HIGH>;
-                       gpio_cd = <&gpio GPIOC_10 GPIO_ACTIVE_HIGH>;
-                       card_type = <5>;
+                       card_type = <3>;
                        /* 3:sdio device(ie:sdio-wifi),
                         * 4:SD combo (IO+mem) card
                         */
                };
        };
+/*     sd_emmc_b: sd@ffe05000 {
+ *             status = "okay";
+ *             compatible = "amlogic, meson-mmc-tm2";
+ *             reg = <0xffe05000 0x800>;
+ *             interrupts = <0 190 1>;
+ *
+ *             pinctrl-names = "sd_all_pins",
+ *                     "sd_clk_cmd_pins",
+ *                     "sd_1bit_pins";
+ *             pinctrl-0 = <&sd_all_pins>;
+ *             pinctrl-1 = <&sd_clk_cmd_pins>;
+ *             pinctrl-2 = <&sd_1bit_pins>;
+ *
+ *             clocks = <&clkc CLKID_SD_EMMC_B>,
+ *                     <&clkc CLKID_SD_EMMC_B_P0_COMP>,
+ *                     <&clkc CLKID_FCLK_DIV2>,
+ *                     <&clkc CLKID_FCLK_DIV5>,
+ *                     <&xtal>;
+ *             clock-names = "core", "clkin0", "clkin1", "clkin2", "xtal";
+ *
+ *             bus-width = <4>;
+ *             cap-sd-highspeed;
+ *             cap-mmc-highspeed;
+ *             max-frequency = <100000000>;
+ *             disable-wp;
+ *             sd {
+ *                     pinname = "sd";
+ *                     ocr_avail = <0x200080>;
+ *                     caps = "MMC_CAP_4_BIT_DATA",
+ *                             "MMC_CAP_MMC_HIGHSPEED",
+ *                             "MMC_CAP_SD_HIGHSPEED";
+ *                     f_min = <400000>;
+ *                     f_max = <200000000>;
+ *                     max_req_size = <0x20000>;
+ *                     no_sduart = <1>;
+ *                     gpio_dat3 = <&gpio GPIOC_3 GPIO_ACTIVE_HIGH>;
+ *                     jtag_pin = <&gpio GPIOC_0 GPIO_ACTIVE_HIGH>;
+ *                     gpio_cd = <&gpio GPIOC_10 GPIO_ACTIVE_HIGH>;
+ *                     card_type = <5>;
+ *             };
+ *     };
+ */
 
 }; /* end of / */
 
 };
 
 &i2c2 {
-       status = "okay";
+       status = "disabled";
        pinctrl-names="default";
        pinctrl-0=<&i2c2_z_pins>;
        clock-frequency = <400000>;
                compatible = "ti,tas5805";
                #sound-dai-cells = <0>;
                codec_name = "tas5805";
-               reg = <0x0 0x2d>;
+               reg = <0x2d>;
                status = "disable";
        };
+};
+
+&i2c3 {
+       status = "okay";
+       pinctrl-names="default";
+       pinctrl-0=<&i2c3_h1_pins>;
+       clock-frequency = <400000>;
 
        ad82584f: ad82584f@62 {
                compatible = "ESMT, ad82584f";
                #sound-dai-cells = <0>;
-               reg = <0x0 0x31>;
-               status = "okay";
-               reset_pin = <&gpio_ao GPIOAO_6 0>;
+               reg = <0x31>;
+               status = "disabled";
+               reset_pin = <&gpio GPIOH_13 0>;
+               no_mclk;
        };
-
 };
 
+
 &sd_emmc_c {
        status = "okay";
        emmc {
 
 &usb3_phy_v2 {
        status = "okay";
-       portnum = <0>;
+       portnum = <2>;
+       portconfig-30 = <1>;
+       portconfig-31 = <1>;
+};
+
+&usb_otg {
+       status = "okay";
        otg = <0>;
 };
 
        controller-type = <1>;
 };
 
+&pcie_A {
+       reset-gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>;
+       status = "disable";
+};
+
+&pcie_B {
+       /* ab311 only pcie a, no pcie b */
+       status = "disable";
+};
+
 &spicc0 {
        status = "okay";
        pinctrl-names = "default";
        status = "okay";
 };
 
-&pwm_cd {
-       status = "okay";
-};
-
 &saradc {
        status = "okay";
 };
        lcd_extern_i2c0: lcd_extern_i2c@0 {
                compatible = "lcd_ext, i2c";
                dev_name = "i2c_T5800Q";
-               reg = <0x0 0x1c>;
+               reg = <0x1c>;
                status = "okay";
        };
 
        lcd_extern_i2c1: lcd_extern_i2c@1 {
                compatible = "lcd_ext, i2c";
                dev_name = "i2c_ANX6862";
-               reg = <0x0 0x20>;
+               reg = <0x20>;
                status = "okay";
        };
 
        lcd_extern_i2c2: lcd_extern_i2c@2 {
                compatible = "lcd_ext, i2c";
                dev_name = "i2c_ANX7911";
-               reg = <0x0 0x74>;
+               reg = <0x74>;
                status = "okay";
        };
 };
 
+&pwm_ab {
+       status = "okay";
+};
+
+&pwm_cd {
+       status = "okay";
+};
+
 &efuse {
        status = "okay";
 };
+