diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2021-10-02 02:35:04 +0200 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2021-10-02 02:54:18 +0200 |
commit | 89853879eff9bbcf33b45b7f0000c95042cd45c2 (patch) | |
tree | e4aa96c8ca7dfe36d4d480ed32706d9ef71b50bf | |
parent | b88eb76b89f34dd8d976b98da9178e0f16fa3cdc (diff) | |
download | linux-89853879eff9bbcf33b45b7f0000c95042cd45c2.tar.gz linux-89853879eff9bbcf33b45b7f0000c95042cd45c2.tar.xz |
HACK: media: hantro: split i.MX8MQ G1 code
NOTE: Just for demonstration, not a final commit.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
-rw-r--r-- | drivers/staging/media/hantro/hantro_drv.c | 1 | ||||
-rw-r--r-- | drivers/staging/media/hantro/hantro_hw.h | 1 | ||||
-rw-r--r-- | drivers/staging/media/hantro/imx8m_vpu_hw.c | 29 |
3 files changed, 29 insertions, 2 deletions
diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c index 8a2edd67f2c6..2d54f68fd3ee 100644 --- a/drivers/staging/media/hantro/hantro_drv.c +++ b/drivers/staging/media/hantro/hantro_drv.c @@ -591,6 +591,7 @@ static const struct of_device_id of_hantro_match[] = { #endif #ifdef CONFIG_VIDEO_HANTRO_IMX8M { .compatible = "nxp,imx8mq-vpu", .data = &imx8mq_vpu_variant, }, + {{ .compatible = "nxp,imx8mq-vpu-g1", .data = &imx8mq_g1_vpu_variant, }, { .compatible = "nxp,imx8mq-vpu-g2", .data = &imx8mq_vpu_g2_variant }, #endif #ifdef CONFIG_VIDEO_HANTRO_SAMA5D4 diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h index df7b5e3a57b9..925830fd47d7 100644 --- a/drivers/staging/media/hantro/hantro_hw.h +++ b/drivers/staging/media/hantro/hantro_hw.h @@ -207,6 +207,7 @@ enum hantro_enc_fmt { ROCKCHIP_VPU_ENC_FMT_UYVY422 = 3, }; +extern const struct hantro_variant imx8mq_g1_vpu_variant; extern const struct hantro_variant imx8mq_vpu_g2_variant; extern const struct hantro_variant imx8mq_vpu_variant; extern const struct hantro_variant px30_vpu_variant; diff --git a/drivers/staging/media/hantro/imx8m_vpu_hw.c b/drivers/staging/media/hantro/imx8m_vpu_hw.c index ea919bfb9891..d16a5679291d 100644 --- a/drivers/staging/media/hantro/imx8m_vpu_hw.c +++ b/drivers/staging/media/hantro/imx8m_vpu_hw.c @@ -254,8 +254,8 @@ static const struct hantro_irq imx8mq_g2_irqs[] = { { "g2", imx8m_vpu_g2_irq }, }; -static const char * const imx8mq_clk_names[] = { "g1", "g2", "bus" }; -static const char * const imx8mq_reg_names[] = { "g1", "g2", "ctrl" }; +static const char * const imx8mq_clk_names[] = { "g1", "bus" }; +static const char * const imx8mq_reg_names[] = { "g1", "ctrl" }; const struct hantro_variant imx8mq_vpu_variant = { .dec_fmts = imx8m_vpu_dec_fmts, @@ -289,3 +289,28 @@ const struct hantro_variant imx8mq_vpu_g2_variant = { .clk_names = imx8mq_clk_names, .num_clocks = ARRAY_SIZE(imx8mq_clk_names), }; + +static const struct hantro_irq imx8mq_g1_irqs[] = { + { "g1", imx8m_vpu_g1_irq }, +}; + +static const char * const imx8mq_g1_clk_names[] = { "g1" }; +static const char * const imx8mq_g1_reg_names[] = { "g1" }; + +const struct hantro_variant imx8mq_g1_vpu_variant = { + .dec_fmts = imx8m_vpu_dec_fmts, + .num_dec_fmts = ARRAY_SIZE(imx8m_vpu_dec_fmts), + .postproc_fmts = imx8m_vpu_postproc_fmts, + .num_postproc_fmts = ARRAY_SIZE(imx8m_vpu_postproc_fmts), + .postproc_regs = &hantro_g1_postproc_regs, + .codec = HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER | + HANTRO_H264_DECODER, + .codec_ops = imx8mq_vpu_codec_ops, + .init = imx8mq_vpu_hw_init, + .irqs = imx8mq_g1_irqs, + .num_irqs = ARRAY_SIZE(imx8mq_g1_irqs), + .clk_names = imx8mq_g1_clk_names, + .num_clocks = ARRAY_SIZE(imx8mq_g1_clk_names), + .reg_names = imx8mq_g1_reg_names, + .num_regs = ARRAY_SIZE(imx8mq_g1_reg_names) +}; |