From 8299d1f057439f94c6a4412e2e5c5082b82a30c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 21 Aug 2021 10:54:34 +0200 Subject: bcm27xx: add kernel 5.10 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted patches, wireless patches and defconfig patches. bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 4B v1.1 4G bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas --- ...v4l2-core-Add-ISP-statistics-output-V4L2-.patch | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.10/950-0219-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch (limited to 'target/linux/bcm27xx/patches-5.10/950-0219-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch') diff --git a/target/linux/bcm27xx/patches-5.10/950-0219-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch b/target/linux/bcm27xx/patches-5.10/950-0219-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch new file mode 100644 index 0000000000..a2974a98b4 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0219-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch @@ -0,0 +1,94 @@ +From 4e9d4f3927e2e9b5fae5fefe4faf82d5ecfc86cd Mon Sep 17 00:00:00 2001 +From: Naushir Patuck +Date: Thu, 23 Apr 2020 10:20:26 +0100 +Subject: [PATCH] media: uapi: v4l2-core: Add ISP statistics output + V4L2 fourcc type + +Add V4L2_META_FMT_BCM2835_ISP_STATS V4L2 format type. + +This new format will be used by the BCM2835 ISP device to return +out ISP statistics for 3A. + +Signed-off-by: Naushir Patuck +--- + .../userspace-api/media/v4l/meta-formats.rst | 1 + + .../v4l/pixfmt-meta-bcm2835-isp-stats.rst | 41 +++++++++++++++++++ + drivers/media/v4l2-core/v4l2-ioctl.c | 1 + + include/uapi/linux/videodev2.h | 1 + + 4 files changed, 44 insertions(+) + create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst + +--- a/Documentation/userspace-api/media/v4l/meta-formats.rst ++++ b/Documentation/userspace-api/media/v4l/meta-formats.rst +@@ -12,6 +12,7 @@ These formats are used for the :ref:`met + .. toctree:: + :maxdepth: 1 + ++ pixfmt-meta-bcm2835-isp-stats + pixfmt-meta-d4xx + pixfmt-meta-intel-ipu3 + pixfmt-meta-rkisp1 +--- /dev/null ++++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst +@@ -0,0 +1,41 @@ ++.. Permission is granted to copy, distribute and/or modify this ++.. document under the terms of the GNU Free Documentation License, ++.. Version 1.1 or any later version published by the Free Software ++.. Foundation, with no Invariant Sections, no Front-Cover Texts ++.. and no Back-Cover Texts. A copy of the license is included at ++.. Documentation/media/uapi/fdl-appendix.rst. ++.. ++.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections ++ ++.. _v4l2-meta-fmt-bcm2835-isp-stats: ++ ++***************************************** ++V4L2_META_FMT_BCM2835_ISP_STATS ('BSTA') ++***************************************** ++ ++BCM2835 ISP Statistics ++ ++Description ++=========== ++ ++The BCM2835 ISP hardware calculate image statistics for an input Bayer frame. ++These statistics are obtained from the "bcm2835-isp0-capture3" device node ++using the :c:type:`v4l2_meta_format` interface. They are formatted as described ++by the :c:type:`bcm2835_isp_stats` structure below. ++ ++.. code-block:: c ++ ++ #define DEFAULT_AWB_REGIONS_X 16 ++ #define DEFAULT_AWB_REGIONS_Y 12 ++ ++ #define NUM_HISTOGRAMS 2 ++ #define NUM_HISTOGRAM_BINS 128 ++ #define AWB_REGIONS (DEFAULT_AWB_REGIONS_X * DEFAULT_AWB_REGIONS_Y) ++ #define FLOATING_REGIONS 16 ++ #define AGC_REGIONS 16 ++ #define FOCUS_REGIONS 12 ++ ++.. kernel-doc:: include/uapi/linux/bcm2835-isp.h ++ :functions: bcm2835_isp_stats_hist bcm2835_isp_stats_region ++ bcm2835_isp_stats_focus bcm2835_isp_stats ++ +--- a/drivers/media/v4l2-core/v4l2-ioctl.c ++++ b/drivers/media/v4l2-core/v4l2-ioctl.c +@@ -1405,6 +1405,7 @@ static void v4l_fill_fmtdesc(struct v4l2 + case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC Metadata"; break; + case V4L2_META_FMT_VIVID: descr = "Vivid Metadata"; break; + case V4L2_META_FMT_SENSOR_DATA: descr = "Sensor Ancillary Metadata"; break; ++ case V4L2_META_FMT_BCM2835_ISP_STATS: descr = "BCM2835 ISP Image Statistics"; break; + + default: + /* Compressed formats */ +--- a/include/uapi/linux/videodev2.h ++++ b/include/uapi/linux/videodev2.h +@@ -779,6 +779,7 @@ struct v4l2_pix_format { + #define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */ + #define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */ + #define V4L2_META_FMT_SENSOR_DATA v4l2_fourcc('S', 'E', 'N', 'S') /* Sensor Ancillary metadata */ ++#define V4L2_META_FMT_BCM2835_ISP_STATS v4l2_fourcc('B', 'S', 'T', 'A') /* BCM2835 ISP image statistics output */ + + /* priv field value to indicates that subsequent fields are valid. */ + #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe -- cgit v1.2.3