device: amlogic: Add config for dtv tuner si2169 [2/3]
authorYinming Ding <yinming.ding@amlogic.com>
Thu, 14 Feb 2019 05:59:19 +0000 (13:59 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Wed, 27 Feb 2019 06:04:02 +0000 (22:04 -0800)
PD#SWPL-2763

Problem:
Add config for dtv tuner si2169

Solution:
Add dtv tuner si2169 as default
Temp disable spdif pin mux and uart_A because GPIO conflict

Verify:
Verified by R314

Change-Id: I2557043e9d34ef8db8048eab9cd53d04c26c29c4
Signed-off-by: Yinming Ding <yinming.ding@amlogic.com>
arch/arm/boot/dts/amlogic/txlx_t962x_r314.dts
arch/arm64/boot/dts/amlogic/txlx_t962x_r314.dts

index 1599d59..eb5a9c4 100644 (file)
 
        tuner: tuner {
                compatible = "amlogic, tuner";
-               status = "okay";
+               status = "disabled";
                tuner_name = "mxl661_tuner";
                tuner_i2c_adap = <&i2c1>;
                tuner_i2c_addr = <0x60>;
 
        atv-demod {
                compatible = "amlogic, atv-demod";
-               status = "okay";
+               status = "disabled";
                tuner = <&tuner>;
                btsc_sap_mode = <1>;
                /* pinctrl-names="atvdemod_agc_pins"; */
                #sound-dai-cells = <0>;
                compatible = "amlogic, aml-spdif-codec";
                pinctrl-names = "audio_spdif_out", "audio_spdif_out_mute";
-               pinctrl-0 = <&audio_spdif_out_pins>;
-               pinctrl-1 = <&audio_spdif_out_mute_pins>;
+               /* disable spdif pin mux temporary, enable it if necessary */
+               /*pinctrl-0 = <&audio_spdif_out_pins>;*/
+               /*pinctrl-1 = <&audio_spdif_out_mute_pins>;*/
        };
 
        pcm_codec: pcm_codec{
                compatible = "amlogic, dvb";
                dev_name = "dvb";
                status = "okay";
-               fe0_mode = "internal";
-               fe0_tuner = <&tuner>;
-               /*"parallel","serial","disable"*/
-               ts2 = "parallel";
-               ts2_control = <0>;
-               ts2_invert = <0>;
+               fe0_mode = "external";
+               fe0_demod = "Si2168";
+               fe0_i2c_adap_id = <&i2c1>;
+               fe0_demod_i2c_addr = <0x64>;
+               fe0_ts = <0>;
+               fe0_reset_value = <0>;
+               fe0_reset_gpio = <&gpio GPIODV_6 GPIO_ACTIVE_HIGH>;
+
+               ts0 = "serial";
+               ts0_control = <0x800>;
+               ts0_invert = <0>;
                interrupts = <0 23 1
                                        0 5 1
                                        0 53 1
                                                "dvr1_irq",
                                                "dvrfill0_fill",
                                                "dvrfill1_flush";
+               pinctrl-names = "s_ts0";
+               pinctrl-0 = <&dvb_s_ts0_pins>;
                clocks = <&clkc CLKID_DEMUX
                        &clkc CLKID_ASYNC_FIFO
                        &clkc CLKID_AHB_ARB0
                        &clkc CLKID_DOS_PARSER>;
                clock-names = "demux", "asyncfifo", "ahbarb0", "uparsertop";
        };
+
+       dvbci {
+               compatible = "amlogic, dvbci";
+               dev_name = "dvbci";
+               io_type = <2>;//0:iobus,1:spi,2:cimax
+               cimax {
+                       io_type = <1>;//0:spi,1:usb
+                       usb {
+                               rst-gpios = <&gpio GPIOZ_12 GPIO_ACTIVE_HIGH>;
+                       };
+               };
+       };
+
        aml_dtv_demod {
                compatible = "amlogic, ddemod-txlx";
                dev_name = "aml_dtv_demod";
-               status = "okay";
+               status = "disabled";
 
                //pinctrl-names="dtvdemod_agc";
                //pinctrl-0=<&dtvdemod_agc>;
                cma_mem_size = <8>;
                memory-region = <&demod_cma_reserved>;//<&demod_reserved>;
        };
-       dvbfe {
-               compatible = "amlogic, dvbfe";
-               dev_name = "dvbfe";
-               status = "disabled";
-               dtv_demod0 = "AMLDEMOD";
-               fe0_dtv_demod = <0>;
-               fe0_ts = <2>;
-               fe0_dev = <0>;
-               dtv_demod0_mem = <0>;
-               dtv_demod0_spectrum = <1>;
-               dtv_demod0_cma_flag = <1>;
-               dtv_demod0_cma_mem_size = <8>;
-               memory-region = <&demod_cma_reserved>;//<&demod_reserved>;
-               tuner0 = "si2151_tuner";
-               tuner0_i2c_adap_id = <2>;
-               tuner0_i2c_addr = <0x60>;
-               //tuner0_reset_value = <0>;
-               //tuner0_reset_gpio =  "GPIOY_10" ;  /*GPIOX_8   76*/
-               fe0_tuner = <0>;
-               atv_demod0 = "aml_atv_demod";
-               fe0_atv_demod = <0>;
-       };
 
        thermal-zones {
                soc_thermal {
                        output-low;
                };
        };
+       dvb_s_ts0_pins: dvb_s_ts0_pins {
+               mux {
+                       groups = "tsin_d0_a_dv",
+                       "tsin_clk_a_dv",
+                       "tsin_sop_a_dv",
+                       "tsin_valid_a_dv";
+                       function = "tsin_a";
+               };
+       };
 };
 
 &uart_A {
-       status = "okay";
+       status = "disabled";
 };
 
 &audio_data{
        pinctrl-0 = <&spi_a_pins>;
        cs-gpios = <&gpio GPIOZ_3 0>;
 };
+
index 15bb18f..c1a5363 100644 (file)
 
        tuner: tuner {
                compatible = "amlogic, tuner";
-               status = "okay";
+               status = "disabled";
                tuner_name = "mxl661_tuner";
                tuner_i2c_adap = <&i2c1>;
                tuner_i2c_addr = <0x60>;
 
        atv-demod {
                compatible = "amlogic, atv-demod";
-               status = "okay";
+               status = "disabled";
                tuner = <&tuner>;
                btsc_sap_mode = <1>;
                /* pinctrl-names="atvdemod_agc_pins"; */
                #sound-dai-cells = <0>;
                compatible = "amlogic, aml-spdif-codec";
                pinctrl-names = "audio_spdif_out", "audio_spdif_out_mute";
-               pinctrl-0 = <&audio_spdif_out_pins>;
-               pinctrl-1 = <&audio_spdif_out_mute_pins>;
+               /* disable spdif pin mux temporary, enable it if necessary */
+               /*pinctrl-0 = <&audio_spdif_out_pins>;*/
+               /*pinctrl-1 = <&audio_spdif_out_mute_pins>;*/
        };
 
        pcm_codec: pcm_codec{
                compatible = "amlogic, dvb";
                dev_name = "dvb";
                status = "okay";
-               fe0_mode = "internal";
-               fe0_tuner = <&tuner>;
-               /*"parallel","serial","disable"*/
-               ts2 = "parallel";
-               ts2_control = <0>;
-               ts2_invert = <0>;
+               fe0_mode = "external";
+               fe0_demod = "Si2168";
+               fe0_i2c_adap_id = <&i2c1>;
+               fe0_demod_i2c_addr = <0x64>;
+               fe0_ts = <0>;
+               fe0_reset_value = <0>;
+               fe0_reset_gpio = <&gpio GPIODV_6 GPIO_ACTIVE_HIGH>;
+
+               ts0 = "serial";
+               ts0_control = <0x800>;
+               ts0_invert = <0>;
                interrupts = <0 23 1
                                        0 5 1
                                        0 53 1
                                                "dvr1_irq",
                                                "dvrfill0_fill",
                                                "dvrfill1_flush";
+               pinctrl-names = "s_ts0";
+               pinctrl-0 = <&dvb_s_ts0_pins>;
                clocks = <&clkc CLKID_DEMUX
                        &clkc CLKID_ASYNC_FIFO
                        &clkc CLKID_AHB_ARB0
                        &clkc CLKID_DOS_PARSER>;
                clock-names = "demux", "asyncfifo", "ahbarb0", "uparsertop";
        };
+
+       dvbci {
+               compatible = "amlogic, dvbci";
+               dev_name = "dvbci";
+               io_type = <2>;//0:iobus,1:spi,2:cimax
+               cimax {
+                       io_type = <1>;//0:spi,1:usb
+                       usb {
+                               rst-gpios = <&gpio GPIOZ_12 GPIO_ACTIVE_HIGH>;
+                       };
+               };
+       };
+
        aml_dtv_demod {
                compatible = "amlogic, ddemod-txlx";
                dev_name = "aml_dtv_demod";
-               status = "okay";
+               status = "disabled";
 
                //pinctrl-names="dtvdemod_agc";
                //pinctrl-0=<&dtvdemod_agc>;
                cma_mem_size = <8>;
                memory-region = <&demod_cma_reserved>;//<&demod_reserved>;
        };
-       dvbfe {
-               compatible = "amlogic, dvbfe";
-               dev_name = "dvbfe";
-               status = "disabled";
-               dtv_demod0 = "AMLDEMOD";
-               fe0_dtv_demod = <0>;
-               fe0_ts = <2>;
-               fe0_dev = <0>;
-               dtv_demod0_mem = <0>;
-               dtv_demod0_spectrum = <1>;
-               dtv_demod0_cma_flag = <1>;
-               dtv_demod0_cma_mem_size = <8>;
-               memory-region = <&demod_cma_reserved>;//<&demod_reserved>;
-               tuner0 = "si2151_tuner";
-               tuner0_i2c_adap_id = <2>;
-               tuner0_i2c_addr = <0x60>;
-               //tuner0_reset_value = <0>;
-               //tuner0_reset_gpio =  "GPIOY_10" ;  /*GPIOX_8   76*/
-               fe0_tuner = <0>;
-               atv_demod0 = "aml_atv_demod";
-               fe0_atv_demod = <0>;
-       };
 
        thermal-zones {
                soc_thermal {
                        output-low;
                };
        };
+       dvb_s_ts0_pins: dvb_s_ts0_pins {
+               mux {
+                       groups = "tsin_d0_a_dv",
+                       "tsin_clk_a_dv",
+                       "tsin_sop_a_dv",
+                       "tsin_valid_a_dv";
+                       function = "tsin_a";
+               };
+       };
 };
 
 &uart_A {
-       status = "okay";
+       status = "disabled";
 };
 
 &audio_data{