diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts index dc4c573d4091..7622340aa5f5 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -1222,7 +1222,7 @@ 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", @@ -1694,12 +1694,21 @@ }; /* 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>; @@ -1711,17 +1720,25 @@ 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 { @@ -1840,7 +1857,13 @@ &usb3_phy_v2 { status = "okay"; - portnum = <0>; + portnum = <2>; + portconfig-30 = <1>; + portconfig-31 = <1>; +}; + +&usb_otg { + status = "okay"; otg = <0>; }; @@ -1850,6 +1873,16 @@ 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"; @@ -1870,10 +1903,6 @@ status = "okay"; }; -&pwm_cd { - status = "okay"; -}; - &saradc { status = "okay"; }; @@ -1917,3 +1946,4 @@ &efuse { status = "okay"; }; + diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts index 97a2d8388d85..9308d198b68c 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -69,14 +69,12 @@ 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 { @@ -87,6 +85,15 @@ 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"; @@ -95,19 +102,11 @@ //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 */ @@ -257,6 +256,7 @@ reg = <0x0 0xff632000 0x0 0x1c>; tdmout_index = <0>; tdmin_index = <0>; + dat1_ch_sel = <1>; }; aml_dtv_demod { @@ -475,7 +475,7 @@ }; amlvecm { - compatible = "amlogic, vecm-tl1"; + compatible = "amlogic, vecm"; dev_name = "aml_vecm"; status = "okay"; gamma_en = <1>;/*1:enabel ;0:disable*/ @@ -511,7 +511,7 @@ *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>, @@ -537,7 +537,7 @@ * 0 -- afbce compression-lossy disable * 1 -- afbce compression-lossy enable */ - afbce_bit_mode = <0>; + afbce_bit_mode = <0x0>; }; vdin@1 { @@ -784,6 +784,21 @@ }; }; /* 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"; @@ -1145,8 +1160,8 @@ 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) */ @@ -1168,18 +1183,47 @@ /*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>, @@ -1193,26 +1237,70 @@ 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 / */ @@ -1626,7 +1714,7 @@ }; &i2c2 { - status = "okay"; + status = "disabled"; pinctrl-names="default"; pinctrl-0=<&i2c2_z_pins>; clock-frequency = <400000>; @@ -1635,20 +1723,28 @@ 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 { @@ -1765,7 +1861,13 @@ &usb3_phy_v2 { status = "okay"; - portnum = <0>; + portnum = <2>; + portconfig-30 = <1>; + portconfig-31 = <1>; +}; + +&usb_otg { + status = "okay"; otg = <0>; }; @@ -1775,6 +1877,16 @@ 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"; @@ -1795,10 +1907,6 @@ status = "okay"; }; -&pwm_cd { - status = "okay"; -}; - &saradc { status = "okay"; }; @@ -1812,25 +1920,34 @@ 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"; }; +