diff --git a/arch/arm/boot/dts/amlogic/mesont6d.dtsi b/arch/arm/boot/dts/amlogic/mesont6d.dtsi index b777bba72..533c3c7b3 100644 --- a/arch/arm/boot/dts/amlogic/mesont6d.dtsi +++ b/arch/arm/boot/dts/amlogic/mesont6d.dtsi @@ -1258,8 +1258,8 @@ };/* end of audiobus*/ vpu: vpu { - compatible = "amlogic, vpu-t5m"; - status = "disabled"; + compatible = "amlogic, vpu-t6d"; + status = "okay"; reg = <0xfe000000 0x100 /* clk */ 0xfe00c000 0x70 /* pwrctrl */ 0xff800000 0xa000>; /* vcbus */ @@ -1275,7 +1275,7 @@ "vpu_clk0", "vpu_clk1", "vpu_clk"; - clk_level = <8>; + clk_level = <6>; /* 0: 24.0M 1: 100.0M 2: 166.7M 3: 200.0M 4: 250.0M */ /* 5: 333.3M 6: 400.0M 7: 500.0M 8: 666.7M */ }; @@ -2281,7 +2281,7 @@ efuse_obj_cmd_status = <0x1>; key = <&efusekey>; clock-names = "efuse_clk"; - status = "disabled"; + status = "okay"; }; efusekey:efusekey{ diff --git a/arch/arm/boot/dts/amlogic/t6d_pxp.dts b/arch/arm/boot/dts/amlogic/t6d_pxp.dts index 638de680b..dbfb812dc 100644 --- a/arch/arm/boot/dts/amlogic/t6d_pxp.dts +++ b/arch/arm/boot/dts/amlogic/t6d_pxp.dts @@ -537,7 +537,7 @@ unifykey { compatible = "amlogic,unifykey"; - status = "disabled"; + status = "okay"; unifykey-num = <24>; unifykey-index-0 = <&keysn_0>; diff --git a/drivers/media/common/vpu/vpu.c b/drivers/media/common/vpu/vpu.c index 990e808b1..3ecb431c1 100644 --- a/drivers/media/common/vpu/vpu.c +++ b/drivers/media/common/vpu/vpu.c @@ -2790,6 +2790,51 @@ static struct vpu_data_s vpu_data_s6 = { .clktree_init = vpu_clktree_init_dft, }; +static struct vpu_data_s vpu_data_t6d = { + .chip_type = VPU_CHIP_T6D, + .chip_name = "t6d", + + .clk_level_dft = CLK_LEVEL_DFT_T5D, + .clk_level_max = CLK_LEVEL_MAX_T5D, + .fclk_div_table = fclk_div_table_g12a, + .clk_table = vpu_clk_table, + + .reg_map_table = vpu_reg_table_new, + .test_reg_table = vcbus_test_reg, + + .vpu_clk_reg = CLKCTRL_VPU_CLK_CTRL, + .vapb_clk_reg = CLKCTRL_VAPBCLK_CTRL, + + .gp_pll_valid = 0, + .mem_pd_reg[0] = PWRCTRL_MEM_PD5_SC2, + .mem_pd_reg[1] = PWRCTRL_MEM_PD6_SC2, + .mem_pd_reg[2] = PWRCTRL_MEM_PD7_SC2, + .mem_pd_reg[3] = PWRCTRL_MEM_PD8_SC2, + .mem_pd_reg[4] = PWRCTRL_MEM_PD9_SC2, + .mem_pd_reg_flag = 1, + .vpu_read_type = READ0_2, + + .pwrctrl_id_table = vpu_pwrctrl_id_table, + + .power_table = NULL, + .iso_table = NULL, + .reset_table = NULL, + .module_init_table = NULL, + + .mem_pd_table = vpu_mem_pd_t5, + .clk_gate_table = NULL, + + .power_on = vpu_power_on_new, + .power_off = vpu_power_off_new, + .mem_pd_init_off = vpu_mem_pd_init_off, + .module_init_config = vpu_module_init_config, + .power_init_check = vpu_power_init_check_dft, + .mempd_switch = vpu_vmod_mem_pd_switch_new, + .mempd_get = vpu_vmod_mem_pd_get_new, + .clk_apply = vpu_clk_apply_dft, + .clktree_init = vpu_clktree_init_dft, +}; + #endif #endif @@ -2892,6 +2937,10 @@ static const struct of_device_id vpu_of_table[] = { .compatible = "amlogic, vpu-s6", .data = &vpu_data_s6, }, + { + .compatible = "amlogic, vpu-t6d", + .data = &vpu_data_t6d, + }, #endif #endif #ifndef CONFIG_AMLOGIC_C3_REMOVE diff --git a/drivers/media/common/vpu/vpu.h b/drivers/media/common/vpu/vpu.h index 732fd5aae..f58da4d5d 100644 --- a/drivers/media/common/vpu/vpu.h +++ b/drivers/media/common/vpu/vpu.h @@ -34,6 +34,7 @@ enum vpu_chip_e { VPU_CHIP_S7, VPU_CHIP_S7D, VPU_CHIP_S6, + VPU_CHIP_T6D, VPU_CHIP_MAX, };