mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
drm/vc4: txp: Add support for BCM2712 MOP
The BCM2712 has an evolution of what used to be called TXP in the earlier SoCs, but is now called MOP. There's a few differences still, so we can add a new compatible to deal with them easily. Signed-off-by: Maxime Ripard <mripard@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20241025-drm-vc4-2712-support-v2-20-35efa83c8fc0@raspberrypi.com Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
This commit is contained in:
parent
7dc41ea6c0
commit
5aab428cfe
|
|
@ -386,6 +386,7 @@ static const struct drm_connector_funcs vc4_txp_connector_funcs = {
|
|||
static void vc4_txp_encoder_disable(struct drm_encoder *encoder)
|
||||
{
|
||||
struct drm_device *drm = encoder->dev;
|
||||
struct vc4_dev *vc4 = to_vc4_dev(drm);
|
||||
struct vc4_txp *txp = encoder_to_vc4_txp(encoder);
|
||||
int idx;
|
||||
|
||||
|
|
@ -404,7 +405,8 @@ static void vc4_txp_encoder_disable(struct drm_encoder *encoder)
|
|||
WARN_ON(TXP_READ(TXP_DST_CTRL) & TXP_BUSY);
|
||||
}
|
||||
|
||||
TXP_WRITE(TXP_DST_CTRL, TXP_POWERDOWN);
|
||||
if (vc4->gen < VC4_GEN_6_C)
|
||||
TXP_WRITE(TXP_DST_CTRL, TXP_POWERDOWN);
|
||||
|
||||
drm_dev_exit(idx);
|
||||
}
|
||||
|
|
@ -508,6 +510,20 @@ static irqreturn_t vc4_txp_interrupt(int irq, void *data)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static const struct vc4_txp_data bcm2712_mop_data = {
|
||||
.base = {
|
||||
.name = "mop",
|
||||
.debugfs_name = "mop_regs",
|
||||
.hvs_available_channels = BIT(2),
|
||||
.hvs_output = 2,
|
||||
},
|
||||
.encoder_type = VC4_ENCODER_TYPE_TXP0,
|
||||
.high_addr_ptr_reg = TXP_DST_PTR_HIGH_MOP,
|
||||
.has_byte_enable = true,
|
||||
.size_minus_one = true,
|
||||
.supports_40bit_addresses = true,
|
||||
};
|
||||
|
||||
const struct vc4_txp_data bcm2835_txp_data = {
|
||||
.base = {
|
||||
.name = "txp",
|
||||
|
|
@ -613,6 +629,7 @@ static void vc4_txp_remove(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
static const struct of_device_id vc4_txp_dt_match[] = {
|
||||
{ .compatible = "brcm,bcm2712-mop", .data = &bcm2712_mop_data },
|
||||
{ .compatible = "brcm,bcm2835-txp", .data = &bcm2835_txp_data },
|
||||
{ /* sentinel */ },
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user