Home
last modified time | relevance | path

Searched refs:vpu (Results 1 – 25 of 89) sorted by relevance

1234

/kernel/linux/linux-5.10/drivers/media/platform/mtk-vpu/
Dmtk_vpu.c220 static inline void vpu_cfg_writel(struct mtk_vpu *vpu, u32 val, u32 offset) in vpu_cfg_writel() argument
222 writel(val, vpu->reg.cfg + offset); in vpu_cfg_writel()
225 static inline u32 vpu_cfg_readl(struct mtk_vpu *vpu, u32 offset) in vpu_cfg_readl() argument
227 return readl(vpu->reg.cfg + offset); in vpu_cfg_readl()
230 static inline bool vpu_running(struct mtk_vpu *vpu) in vpu_running() argument
232 return vpu_cfg_readl(vpu, VPU_RESET) & BIT(0); in vpu_running()
235 static void vpu_clock_disable(struct mtk_vpu *vpu) in vpu_clock_disable() argument
238 mutex_lock(&vpu->vpu_mutex); in vpu_clock_disable()
239 if (!--vpu->wdt_refcnt) in vpu_clock_disable()
240 vpu_cfg_writel(vpu, in vpu_clock_disable()
[all …]
/kernel/linux/linux-5.10/drivers/media/platform/mtk-vcodec/
Dvdec_vpu_if.c15 struct vdec_vpu_inst *vpu = (struct vdec_vpu_inst *) in handle_init_ack_msg() local
18 mtk_vcodec_debug(vpu, "+ ap_inst_addr = 0x%llx", msg->ap_inst_addr); in handle_init_ack_msg()
22 vpu->vsi = mtk_vcodec_fw_map_dm_addr(vpu->ctx->dev->fw_handler, in handle_init_ack_msg()
24 vpu->inst_addr = msg->vpu_inst_addr; in handle_init_ack_msg()
26 mtk_vcodec_debug(vpu, "- vpu_inst_addr = 0x%x", vpu->inst_addr); in handle_init_ack_msg()
42 struct vdec_vpu_inst *vpu = (struct vdec_vpu_inst *) in vpu_dec_ipi_handler() local
45 mtk_vcodec_debug(vpu, "+ id=%X", msg->msg_id); in vpu_dec_ipi_handler()
60 mtk_vcodec_err(vpu, "invalid msg=%X", msg->msg_id); in vpu_dec_ipi_handler()
65 mtk_vcodec_debug(vpu, "- id=%X", msg->msg_id); in vpu_dec_ipi_handler()
66 vpu->failure = msg->status; in vpu_dec_ipi_handler()
[all …]
Dvenc_vpu_if.c12 static void handle_enc_init_msg(struct venc_vpu_inst *vpu, const void *data) in handle_enc_init_msg() argument
16 vpu->inst_addr = msg->vpu_inst_addr; in handle_enc_init_msg()
17 vpu->vsi = mtk_vcodec_fw_map_dm_addr(vpu->ctx->dev->fw_handler, in handle_enc_init_msg()
21 if (vpu->ctx->dev->venc_pdata->chip == MTK_MT8173) in handle_enc_init_msg()
25 mtk_vcodec_debug(vpu, "firmware version: 0x%x\n", in handle_enc_init_msg()
31 mtk_vcodec_err(vpu, "unhandled firmware version 0x%x\n", in handle_enc_init_msg()
33 vpu->failure = 1; in handle_enc_init_msg()
38 static void handle_enc_encode_msg(struct venc_vpu_inst *vpu, const void *data) in handle_enc_encode_msg() argument
42 vpu->state = msg->state; in handle_enc_encode_msg()
43 vpu->bs_size = msg->bs_size; in handle_enc_encode_msg()
[all …]
Dvdec_vpu_if.h43 int vpu_dec_init(struct vdec_vpu_inst *vpu);
53 int vpu_dec_start(struct vdec_vpu_inst *vpu, uint32_t *data, unsigned int len);
63 int vpu_dec_end(struct vdec_vpu_inst *vpu);
70 int vpu_dec_deinit(struct vdec_vpu_inst *vpu);
78 int vpu_dec_reset(struct vdec_vpu_inst *vpu);
Dvenc_vpu_if.h41 int vpu_enc_init(struct venc_vpu_inst *vpu);
42 int vpu_enc_set_param(struct venc_vpu_inst *vpu,
45 int vpu_enc_encode(struct venc_vpu_inst *vpu, unsigned int bs_mode,
50 int vpu_enc_deinit(struct venc_vpu_inst *vpu);
/kernel/linux/linux-5.10/drivers/remoteproc/
Dingenic_rproc.c56 struct vpu { struct
66 struct vpu *vpu = rproc->priv; in ingenic_rproc_prepare() local
70 ret = clk_bulk_prepare_enable(ARRAY_SIZE(vpu->clks), vpu->clks); in ingenic_rproc_prepare()
72 dev_err(vpu->dev, "Unable to start clocks: %d\n", ret); in ingenic_rproc_prepare()
79 struct vpu *vpu = rproc->priv; in ingenic_rproc_unprepare() local
81 clk_bulk_disable_unprepare(ARRAY_SIZE(vpu->clks), vpu->clks); in ingenic_rproc_unprepare()
88 struct vpu *vpu = rproc->priv; in ingenic_rproc_start() local
91 enable_irq(vpu->irq); in ingenic_rproc_start()
95 writel(ctrl, vpu->aux_base + REG_AUX_CTRL); in ingenic_rproc_start()
102 struct vpu *vpu = rproc->priv; in ingenic_rproc_stop() local
[all …]
/kernel/linux/linux-5.10/drivers/staging/media/hantro/
Dhantro_drv.c59 static void hantro_job_finish_no_pm(struct hantro_dev *vpu, in hantro_job_finish_no_pm() argument
80 static void hantro_job_finish(struct hantro_dev *vpu, in hantro_job_finish() argument
84 pm_runtime_mark_last_busy(vpu->dev); in hantro_job_finish()
85 pm_runtime_put_autosuspend(vpu->dev); in hantro_job_finish()
87 clk_bulk_disable(vpu->variant->num_clocks, vpu->clocks); in hantro_job_finish()
89 hantro_job_finish_no_pm(vpu, ctx, result); in hantro_job_finish()
92 void hantro_irq_done(struct hantro_dev *vpu, in hantro_irq_done() argument
96 v4l2_m2m_get_curr_priv(vpu->m2m_dev); in hantro_irq_done()
103 if (cancel_delayed_work(&vpu->watchdog_work)) { in hantro_irq_done()
106 hantro_job_finish(vpu, ctx, result); in hantro_irq_done()
[all …]
Dimx8m_vpu_hw.c27 static void imx8m_soft_reset(struct hantro_dev *vpu, u32 reset_bits) in imx8m_soft_reset() argument
32 val = readl(vpu->ctrl_base + CTRL_SOFT_RESET); in imx8m_soft_reset()
34 writel(val, vpu->ctrl_base + CTRL_SOFT_RESET); in imx8m_soft_reset()
39 val = readl(vpu->ctrl_base + CTRL_SOFT_RESET); in imx8m_soft_reset()
41 writel(val, vpu->ctrl_base + CTRL_SOFT_RESET); in imx8m_soft_reset()
44 static void imx8m_clk_enable(struct hantro_dev *vpu, u32 clock_bits) in imx8m_clk_enable() argument
48 val = readl(vpu->ctrl_base + CTRL_CLOCK_ENABLE); in imx8m_clk_enable()
50 writel(val, vpu->ctrl_base + CTRL_CLOCK_ENABLE); in imx8m_clk_enable()
53 static int imx8mq_runtime_resume(struct hantro_dev *vpu) in imx8mq_runtime_resume() argument
57 ret = clk_bulk_prepare_enable(vpu->variant->num_clocks, vpu->clocks); in imx8mq_runtime_resume()
[all …]
Dhantro_postproc.c15 #define HANTRO_PP_REG_WRITE(vpu, reg_name, val) \ argument
17 hantro_reg_write(vpu, \
18 &(vpu)->variant->postproc_regs->reg_name, \
22 #define HANTRO_PP_REG_WRITE_S(vpu, reg_name, val) \ argument
24 hantro_reg_write_s(vpu, \
25 &(vpu)->variant->postproc_regs->reg_name, \
55 struct hantro_dev *vpu = ctx->dev; in hantro_postproc_enable() local
60 if (!vpu->variant->postproc_regs) in hantro_postproc_enable()
64 HANTRO_PP_REG_WRITE_S(vpu, pipeline_en, 0x1); in hantro_postproc_enable()
82 HANTRO_PP_REG_WRITE(vpu, clk_gate, 0x1); in hantro_postproc_enable()
[all …]
Drk3399_vpu_hw_jpeg_enc.c35 static void rk3399_vpu_set_src_img_ctrl(struct hantro_dev *vpu, in rk3399_vpu_set_src_img_ctrl() argument
46 vepu_write_relaxed(vpu, reg, VEPU_REG_INPUT_LUMA_INFO); in rk3399_vpu_set_src_img_ctrl()
56 vepu_write_relaxed(vpu, reg, VEPU_REG_ENC_OVER_FILL_STRM_OFFSET); in rk3399_vpu_set_src_img_ctrl()
59 vepu_write_relaxed(vpu, reg, VEPU_REG_ENC_CTRL1); in rk3399_vpu_set_src_img_ctrl()
62 static void rk3399_vpu_jpeg_enc_set_buffers(struct hantro_dev *vpu, in rk3399_vpu_jpeg_enc_set_buffers() argument
71 vepu_write_relaxed(vpu, ctx->jpeg_enc.bounce_buffer.dma, in rk3399_vpu_jpeg_enc_set_buffers()
73 vepu_write_relaxed(vpu, ctx->jpeg_enc.bounce_buffer.size, in rk3399_vpu_jpeg_enc_set_buffers()
78 vepu_write_relaxed(vpu, src[0], VEPU_REG_ADDR_IN_PLANE_0); in rk3399_vpu_jpeg_enc_set_buffers()
82 vepu_write_relaxed(vpu, src[0], VEPU_REG_ADDR_IN_PLANE_0); in rk3399_vpu_jpeg_enc_set_buffers()
83 vepu_write_relaxed(vpu, src[1], VEPU_REG_ADDR_IN_PLANE_1); in rk3399_vpu_jpeg_enc_set_buffers()
[all …]
Dhantro_h1_jpeg_enc.c18 static void hantro_h1_set_src_img_ctrl(struct hantro_dev *vpu, in hantro_h1_set_src_img_ctrl() argument
28 vepu_write_relaxed(vpu, reg, H1_REG_IN_IMG_CTRL); in hantro_h1_set_src_img_ctrl()
31 static void hantro_h1_jpeg_enc_set_buffers(struct hantro_dev *vpu, in hantro_h1_jpeg_enc_set_buffers() argument
40 vepu_write_relaxed(vpu, ctx->jpeg_enc.bounce_buffer.dma, in hantro_h1_jpeg_enc_set_buffers()
42 vepu_write_relaxed(vpu, ctx->jpeg_enc.bounce_buffer.size, in hantro_h1_jpeg_enc_set_buffers()
48 vepu_write_relaxed(vpu, src[0], H1_REG_ADDR_IN_PLANE_0); in hantro_h1_jpeg_enc_set_buffers()
52 vepu_write_relaxed(vpu, src[0], H1_REG_ADDR_IN_PLANE_0); in hantro_h1_jpeg_enc_set_buffers()
53 vepu_write_relaxed(vpu, src[1], H1_REG_ADDR_IN_PLANE_1); in hantro_h1_jpeg_enc_set_buffers()
58 vepu_write_relaxed(vpu, src[0], H1_REG_ADDR_IN_PLANE_0); in hantro_h1_jpeg_enc_set_buffers()
59 vepu_write_relaxed(vpu, src[1], H1_REG_ADDR_IN_PLANE_1); in hantro_h1_jpeg_enc_set_buffers()
[all …]
Drk3399_vpu_hw_vp8_dec.c281 struct hantro_dev *vpu = ctx->dev; in cfg_lf() local
286 hantro_reg_write(vpu, &vp8_dec_lf_level[0], lf->level); in cfg_lf()
292 hantro_reg_write(vpu, &vp8_dec_lf_level[i], lf_level); in cfg_lf()
296 hantro_reg_write(vpu, &vp8_dec_lf_level[i], in cfg_lf()
303 vdpu_write_relaxed(vpu, reg, VDPU_REG_FILTER_MB_ADJ); in cfg_lf()
307 hantro_reg_write(vpu, &vp8_dec_mb_adj[i], in cfg_lf()
309 hantro_reg_write(vpu, &vp8_dec_ref_adj[i], in cfg_lf()
320 struct hantro_dev *vpu = ctx->dev; in cfg_qp() local
324 hantro_reg_write(vpu, &vp8_dec_quant[0], q->y_ac_qi); in cfg_qp()
330 hantro_reg_write(vpu, &vp8_dec_quant[i], quant); in cfg_qp()
[all …]
Dhantro_g1_vp8_dec.c140 struct hantro_dev *vpu = ctx->dev; in cfg_lf() local
145 hantro_reg_write(vpu, &vp8_dec_lf_level[0], lf->level); in cfg_lf()
151 hantro_reg_write(vpu, &vp8_dec_lf_level[i], lf_level); in cfg_lf()
155 hantro_reg_write(vpu, &vp8_dec_lf_level[i], in cfg_lf()
162 vdpu_write_relaxed(vpu, reg, G1_REG_REF_PIC(0)); in cfg_lf()
166 hantro_reg_write(vpu, &vp8_dec_mb_adj[i], in cfg_lf()
168 hantro_reg_write(vpu, &vp8_dec_ref_adj[i], in cfg_lf()
182 struct hantro_dev *vpu = ctx->dev; in cfg_qp() local
186 hantro_reg_write(vpu, &vp8_dec_quant[0], q->y_ac_qi); in cfg_qp()
192 hantro_reg_write(vpu, &vp8_dec_quant[i], quant); in cfg_qp()
[all …]
Drk3399_vpu_hw.c93 struct hantro_dev *vpu = dev_id; in rk3399_vepu_irq() local
97 status = vepu_read(vpu, VEPU_REG_INTERRUPT); in rk3399_vepu_irq()
101 vepu_write(vpu, 0, VEPU_REG_INTERRUPT); in rk3399_vepu_irq()
102 vepu_write(vpu, 0, VEPU_REG_AXI_CTRL); in rk3399_vepu_irq()
104 hantro_irq_done(vpu, state); in rk3399_vepu_irq()
111 struct hantro_dev *vpu = dev_id; in rk3399_vdpu_irq() local
115 status = vdpu_read(vpu, VDPU_REG_INTERRUPT); in rk3399_vdpu_irq()
119 vdpu_write(vpu, 0, VDPU_REG_INTERRUPT); in rk3399_vdpu_irq()
120 vdpu_write(vpu, 0, VDPU_REG_AXI_CTRL); in rk3399_vdpu_irq()
122 hantro_irq_done(vpu, state); in rk3399_vdpu_irq()
[all …]
Drk3288_vpu_hw.c114 struct hantro_dev *vpu = dev_id; in rk3288_vepu_irq() local
118 status = vepu_read(vpu, H1_REG_INTERRUPT); in rk3288_vepu_irq()
122 vepu_write(vpu, 0, H1_REG_INTERRUPT); in rk3288_vepu_irq()
123 vepu_write(vpu, 0, H1_REG_AXI_CTRL); in rk3288_vepu_irq()
125 hantro_irq_done(vpu, state); in rk3288_vepu_irq()
132 struct hantro_dev *vpu = dev_id; in rk3288_vdpu_irq() local
136 status = vdpu_read(vpu, G1_REG_INTERRUPT); in rk3288_vdpu_irq()
140 vdpu_write(vpu, 0, G1_REG_INTERRUPT); in rk3288_vdpu_irq()
141 vdpu_write(vpu, G1_REG_CONFIG_DEC_CLK_GATE_E, G1_REG_CONFIG); in rk3288_vdpu_irq()
143 hantro_irq_done(vpu, state); in rk3288_vdpu_irq()
[all …]
Drk3399_vpu_hw_mpeg2_dec.c87 rk3399_vpu_mpeg2_dec_set_quantization(struct hantro_dev *vpu, in rk3399_vpu_mpeg2_dec_set_quantization() argument
95 vdpu_write_relaxed(vpu, ctx->mpeg2_dec.qtable.dma, in rk3399_vpu_mpeg2_dec_set_quantization()
100 rk3399_vpu_mpeg2_dec_set_buffers(struct hantro_dev *vpu, in rk3399_vpu_mpeg2_dec_set_buffers() argument
123 vdpu_write_relaxed(vpu, addr, VDPU_REG_RLC_VLC_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
131 vdpu_write_relaxed(vpu, addr, VDPU_REG_DEC_OUT_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
145 vdpu_write_relaxed(vpu, forward_addr, VDPU_REG_REFER0_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
146 vdpu_write_relaxed(vpu, forward_addr, VDPU_REG_REFER1_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
148 vdpu_write_relaxed(vpu, forward_addr, VDPU_REG_REFER0_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
149 vdpu_write_relaxed(vpu, current_addr, VDPU_REG_REFER1_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
151 vdpu_write_relaxed(vpu, current_addr, VDPU_REG_REFER0_BASE); in rk3399_vpu_mpeg2_dec_set_buffers()
[all …]
Dhantro_g1_h264_dec.c29 struct hantro_dev *vpu = ctx->dev; in set_params() local
50 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL0); in set_params()
56 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL1); in set_params()
66 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL2); in set_params()
72 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL3); in set_params()
86 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL4); in set_params()
101 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL5); in set_params()
108 vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL6); in set_params()
111 vdpu_write_relaxed(vpu, 0, G1_REG_ERR_CONC); in set_params()
114 vdpu_write_relaxed(vpu, in set_params()
[all …]
Dhantro.h84 int (*init)(struct hantro_dev *vpu);
85 int (*runtime_resume)(struct hantro_dev *vpu);
329 static inline void vepu_write_relaxed(struct hantro_dev *vpu, in vepu_write_relaxed() argument
333 writel_relaxed(val, vpu->enc_base + reg); in vepu_write_relaxed()
336 static inline void vepu_write(struct hantro_dev *vpu, u32 val, u32 reg) in vepu_write() argument
339 writel(val, vpu->enc_base + reg); in vepu_write()
342 static inline u32 vepu_read(struct hantro_dev *vpu, u32 reg) in vepu_read() argument
344 u32 val = readl(vpu->enc_base + reg); in vepu_read()
350 static inline void vdpu_write_relaxed(struct hantro_dev *vpu, in vdpu_write_relaxed() argument
354 writel_relaxed(val, vpu->dec_base + reg); in vdpu_write_relaxed()
[all …]
Dhantro_g1_mpeg2_dec.c85 hantro_g1_mpeg2_dec_set_quantization(struct hantro_dev *vpu, in hantro_g1_mpeg2_dec_set_quantization() argument
94 vdpu_write_relaxed(vpu, ctx->mpeg2_dec.qtable.dma, in hantro_g1_mpeg2_dec_set_quantization()
99 hantro_g1_mpeg2_dec_set_buffers(struct hantro_dev *vpu, struct hantro_ctx *ctx, in hantro_g1_mpeg2_dec_set_buffers() argument
121 vdpu_write_relaxed(vpu, addr, G1_REG_RLC_VLC_BASE); in hantro_g1_mpeg2_dec_set_buffers()
129 vdpu_write_relaxed(vpu, addr, G1_REG_DEC_OUT_BASE); in hantro_g1_mpeg2_dec_set_buffers()
143 vdpu_write_relaxed(vpu, forward_addr, G1_REG_REFER0_BASE); in hantro_g1_mpeg2_dec_set_buffers()
144 vdpu_write_relaxed(vpu, forward_addr, G1_REG_REFER1_BASE); in hantro_g1_mpeg2_dec_set_buffers()
146 vdpu_write_relaxed(vpu, forward_addr, G1_REG_REFER0_BASE); in hantro_g1_mpeg2_dec_set_buffers()
147 vdpu_write_relaxed(vpu, current_addr, G1_REG_REFER1_BASE); in hantro_g1_mpeg2_dec_set_buffers()
149 vdpu_write_relaxed(vpu, current_addr, G1_REG_REFER0_BASE); in hantro_g1_mpeg2_dec_set_buffers()
[all …]
DMakefile3 obj-$(CONFIG_VIDEO_HANTRO) += hantro-vpu.o
5 hantro-vpu-y += \
21 hantro-vpu-$(CONFIG_VIDEO_HANTRO_IMX8M) += \
24 hantro-vpu-$(CONFIG_VIDEO_HANTRO_ROCKCHIP) += \
Dhantro_mpeg2.c40 struct hantro_dev *vpu = ctx->dev; in hantro_mpeg2_dec_init() local
44 dma_alloc_coherent(vpu->dev, in hantro_mpeg2_dec_init()
55 struct hantro_dev *vpu = ctx->dev; in hantro_mpeg2_dec_exit() local
57 dma_free_coherent(vpu->dev, in hantro_mpeg2_dec_exit()
/kernel/linux/linux-5.10/drivers/media/platform/mtk-mdp/
Dmtk_mdp_vpu.c13 static inline struct mtk_mdp_ctx *vpu_to_ctx(struct mtk_mdp_vpu *vpu) in vpu_to_ctx() argument
15 return container_of(vpu, struct mtk_mdp_ctx, vpu); in vpu_to_ctx()
20 struct mtk_mdp_vpu *vpu = (struct mtk_mdp_vpu *) in mtk_mdp_vpu_handle_init_ack() local
24 vpu->vsi = (struct mdp_process_vsi *) in mtk_mdp_vpu_handle_init_ack()
25 vpu_mapping_dm_addr(vpu->pdev, msg->vpu_inst_addr); in mtk_mdp_vpu_handle_init_ack()
26 vpu->inst_addr = msg->vpu_inst_addr; in mtk_mdp_vpu_handle_init_ack()
34 struct mtk_mdp_vpu *vpu = (struct mtk_mdp_vpu *) in mtk_mdp_vpu_ipi_handler() local
38 vpu->failure = msg->status; in mtk_mdp_vpu_ipi_handler()
39 if (!vpu->failure) { in mtk_mdp_vpu_ipi_handler()
48 ctx = vpu_to_ctx(vpu); in mtk_mdp_vpu_ipi_handler()
[all …]
Dmtk_mdp_regs.c51 struct mdp_buffer *src_buf = &ctx->vpu.vsi->src_buffer; in mtk_mdp_hw_set_input_addr()
61 struct mdp_buffer *dst_buf = &ctx->vpu.vsi->dst_buffer; in mtk_mdp_hw_set_output_addr()
71 struct mdp_config *config = &ctx->vpu.vsi->src_config; in mtk_mdp_hw_set_in_size()
92 struct mdp_config *config = &ctx->vpu.vsi->src_config; in mtk_mdp_hw_set_in_image_format()
93 struct mdp_buffer *src_buf = &ctx->vpu.vsi->src_buffer; in mtk_mdp_hw_set_in_image_format()
107 struct mdp_config *config = &ctx->vpu.vsi->dst_config; in mtk_mdp_hw_set_out_size()
123 struct mdp_config *config = &ctx->vpu.vsi->dst_config; in mtk_mdp_hw_set_out_image_format()
124 struct mdp_buffer *dst_buf = &ctx->vpu.vsi->dst_buffer; in mtk_mdp_hw_set_out_image_format()
136 struct mdp_config_misc *misc = &ctx->vpu.vsi->misc; in mtk_mdp_hw_set_rotation()
145 struct mdp_config_misc *misc = &ctx->vpu.vsi->misc; in mtk_mdp_hw_set_global_alpha()
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/media/
Dcoda.txt9 (a) "fsl,imx27-vpu" for CodaDx6 present in i.MX27
10 (b) "fsl,imx51-vpu" for CodaHx4 present in i.MX51
11 (c) "fsl,imx53-vpu" for CODA7541 present in i.MX53
12 (d) "fsl,imx6q-vpu" for CODA960 present in i.MX6q
24 vpu: vpu@63ff4000 {
25 compatible = "fsl,imx53-vpu";
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/
Damlogic,meson-gx-pwrc.txt20 - "amlogic,meson-gx-pwrc-vpu" for the Meson GX SoCs
21 - "amlogic,meson-g12a-pwrc-vpu" for the Meson G12A SoCs
27 - clock-names: from common clock binding: must contain "vpu", "vapb"
41 pwrc_vpu: power-controller-vpu {
42 compatible = "amlogic,meson-gx-pwrc-vpu";
59 clock-names = "vpu", "vapb";

1234