Commit b6707e77 authored by Michael Tretter's avatar Michael Tretter Committed by Mauro Carvalho Chehab

media: allegro: lookup VCU settings

The VCU provides information about its configuration in a dedicated
register space. These settings include, for example, the expected clock
rates and the configuration of the encoder buffer. In the device tree,
the settings are described by the "xlnx,vcu-settings" compatible.

The settings are needed to correctly configure the clocks and the
encoder buffer.

Lookup the VCU settings in the device tree and make it accessible to the
driver via a regmap.
Signed-off-by: default avatarMichael Tretter <m.tretter@pengutronix.de>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent dacc21d6
......@@ -12,6 +12,8 @@
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/log2.h>
#include <linux/mfd/syscon.h>
#include <linux/mfd/syscon/xlnx-vcu.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
......@@ -136,6 +138,7 @@ struct allegro_dev {
struct regmap *regmap;
struct regmap *sram;
struct regmap *settings;
const struct fw_info *fw_info;
struct allegro_buffer firmware;
......@@ -3721,6 +3724,10 @@ static int allegro_probe(struct platform_device *pdev)
return PTR_ERR(dev->sram);
}
dev->settings = syscon_regmap_lookup_by_compatible("xlnx,vcu-settings");
if (IS_ERR(dev->settings))
dev_warn(&pdev->dev, "failed to open settings\n");
irq = platform_get_irq(pdev, 0);
if (irq < 0)
return irq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment