at91: add kernel support for sama7g5 soc
[openwrt/staging/mkresin.git] / target / linux / at91 / patches-5.10 / 171-media-atmel-atmel-isc-add-support-for-version-regist.patch
diff --git a/target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch b/target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch
new file mode 100644 (file)
index 0000000..6eca9db
--- /dev/null
@@ -0,0 +1,86 @@
+From 0939b0a92acca11a5a3b0de5dd70434e17e40ed3 Mon Sep 17 00:00:00 2001
+From: Eugen Hristev <eugen.hristev@microchip.com>
+Date: Tue, 13 Apr 2021 12:57:13 +0200
+Subject: [PATCH 171/247] media: atmel: atmel-isc: add support for version
+ register
+
+Add support for version register and print it at probe time.
+
+Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
+---
+ drivers/media/platform/atmel/atmel-isc-regs.h    | 5 +++++
+ drivers/media/platform/atmel/atmel-isc.h         | 2 ++
+ drivers/media/platform/atmel/atmel-sama5d2-isc.c | 5 +++++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h
+index 4940998c82a2..344668dcfcf4 100644
+--- a/drivers/media/platform/atmel/atmel-isc-regs.h
++++ b/drivers/media/platform/atmel/atmel-isc-regs.h
+@@ -295,6 +295,11 @@
+ /* DMA Address 2 Register */
+ #define ISC_DAD2        0x000003fc
++/* Offset for version register specific to sama5d2 product */
++#define ISC_SAMA5D2_VERSION_OFFSET    0
++/* Version Register */
++#define ISC_VERSION   0x0000040c
++
+ /* Histogram Entry */
+ #define ISC_HIS_ENTRY 0x00000410
+diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
+index bea545327d3d..13ee19d99c2e 100644
+--- a/drivers/media/platform/atmel/atmel-isc.h
++++ b/drivers/media/platform/atmel/atmel-isc.h
+@@ -152,6 +152,7 @@ struct isc_ctrls {
+  * @rlp:              Offset for the RLP register
+  * @his:              Offset for the HIS related registers
+  * @dma:              Offset for the DMA related registers
++ * @version:          Offset for the version register
+  */
+ struct isc_reg_offsets {
+       u32 csc;
+@@ -161,6 +162,7 @@ struct isc_reg_offsets {
+       u32 rlp;
+       u32 his;
+       u32 dma;
++      u32 version;
+ };
+ /*
+diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+index bfd56ac5c921..aebf38dde2d2 100644
+--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
++++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+@@ -210,6 +210,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+       struct isc_subdev_entity *subdev_entity;
+       int irq;
+       int ret;
++      u32 ver;
+       isc = devm_kzalloc(dev, sizeof(*isc), GFP_KERNEL);
+       if (!isc)
+@@ -258,6 +259,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
+       isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET;
+       isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET;
+       isc->offsets.dma = ISC_SAMA5D2_DMA_OFFSET;
++      isc->offsets.version = ISC_SAMA5D2_VERSION_OFFSET;
+       /* sama5d2-isc - 8 bits per beat */
+       isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
+@@ -346,6 +348,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
+       pm_runtime_enable(dev);
+       pm_request_idle(dev);
++      regmap_read(isc->regmap, ISC_VERSION + isc->offsets.version, &ver);
++      dev_info(dev, "Microchip ISC version %x\n", ver);
++
+       return 0;
+ cleanup_subdev:
+-- 
+2.32.0
+