* [PATCH v7 0/2] [media] atmel-isc: add driver for Atmel ISC
@ 2016-07-29 7:54 Songjun Wu
[not found] ` <1469778856-24253-1-git-send-email-songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Songjun Wu @ 2016-07-29 7:54 UTC (permalink / raw)
To: nicolas.ferre
Cc: robh, laurent.pinchart, linux-arm-kernel, linux-media,
Songjun Wu, devicetree, Arnd Bergmann,
Niklas Söderlund, Benoit Parrot, linux-kernel,
Andrew-CT Chen, Sudip Mukherjee, Rob Herring, Kamil Debski,
Tiffany Lin, Peter Griffin, Geert Uytterhoeven, Mark Rutland,
Mikhail Ulyanov, Richard Röjfors, Hans Verkuil
The Image Sensor Controller driver includes two parts.
1) Driver code to implement the ISC function.
2) Device tree binding documentation, it describes how
to add the ISC in device tree.
Test result with v4l-utils.
v4l2-compliance SHA : not available
Driver Info:
Driver name : atmel_isc
Card type : Atmel Image Sensor Controller
Bus info : platform:atmel_isc f0008000.isc
Driver version: 4.7.0
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Compliance test for device /dev/video0 (not using libv4l2):
Required ioctls:
test VIDIOC_QUERYCAP: OK
Allow for multiple opens:
test second video open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Test input 0:
Control ioctls:
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported)
test VIDIOC_QUERYCTRL: OK (Not Supported)
test VIDIOC_G/S_CTRL: OK (Not Supported)
test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported)
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported)
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 0 Private Controls: 0
Format ioctls:
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)
Codec ioctls:
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls:
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
test VIDIOC_EXPBUF: OK
Test input 0:
Stream using all formats:
test MMAP for Format BA81, Frame Size 640x480@60.00 Hz:
Stride 640, Field None: OK
test MMAP for Format YUYV, Frame Size 640x480@60.00 Hz:
Stride 1280, Field None: OK
Total: 45, Succeeded: 45, Failed: 0, Warnings: 0
Changes in v7:
- Add enum_framesizes and enum_frameintervals.
- Call s_stream(0) when stream start fail.
- Fill the device_caps field of struct video_device
with V4L2_CAP_STREAMING and V4L2_CAP_VIDEO_CAPTURE.
- Initialize the dev of struct vb2_queue.
- Set field to FIELD_NONE if the pix field is not supported.
- Return the result directly when call g/s_parm of subdev.
Changes in v6:
- Add "iscck" and "gck" to clock-names.
Changes in v5:
- Modify the macro definition and the related code.
- Add clock-output-names.
Changes in v4:
- Modify the isc clock code since the dt is changed.
- Remove the isc clock nodes.
Changes in v3:
- Add pm runtime feature.
- Modify the isc clock code since the dt is changed.
- Remove the 'atmel,sensor-preferred'.
- Modify the isc clock node according to the Rob's remarks.
Changes in v2:
- Add "depends on COMMON_CLK" and "VIDEO_V4L2_SUBDEV_API"
in Kconfig file.
- Correct typos and coding style according to Laurent's remarks
- Delete the loop while in 'isc_clk_enable' function.
- Replace 'hsync_active', 'vsync_active' and 'pclk_sample'
with 'pfe_cfg0' in struct isc_subdev_entity.
- Add the code to support VIDIOC_CREATE_BUFS in
'isc_queue_setup' function.
- Invoke isc_config to configure register in
'isc_start_streaming' function.
- Add the struct completion 'comp' to synchronize with
the frame end interrupt in 'isc_stop_streaming' function.
- Check the return value of the clk_prepare_enable
in 'isc_open' function.
- Set the default format in 'isc_open' function.
- Add an exit condition in the loop while in 'isc_config'.
- Delete the hardware setup operation in 'isc_set_format'.
- Refuse format modification during streaming
in 'isc_s_fmt_vid_cap' function.
- Invoke v4l2_subdev_alloc_pad_config to allocate and
initialize the pad config in 'isc_async_complete' function.
- Remove the '.owner = THIS_MODULE,' in atmel_isc_driver.
- Replace the module_platform_driver_probe() with
module_platform_driver().
- Remove the unit address of the endpoint.
- Add the unit address to the clock node.
- Avoid using underscores in node names.
- Drop the "0x" in the unit address of the i2c node.
- Modify the description of 'atmel,sensor-preferred'.
- Add the description for the ISC internal clock.
Songjun Wu (2):
[media] atmel-isc: add the Image Sensor Controller code
[media] atmel-isc: DT binding for Image Sensor Controller driver
.../devicetree/bindings/media/atmel-isc.txt | 65 +
drivers/media/platform/Kconfig | 1 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/atmel/Kconfig | 9 +
drivers/media/platform/atmel/Makefile | 1 +
drivers/media/platform/atmel/atmel-isc-regs.h | 165 ++
drivers/media/platform/atmel/atmel-isc.c | 1611 ++++++++++++++++++++
7 files changed, 1854 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
create mode 100644 drivers/media/platform/atmel/Kconfig
create mode 100644 drivers/media/platform/atmel/Makefile
create mode 100644 drivers/media/platform/atmel/atmel-isc-regs.h
create mode 100644 drivers/media/platform/atmel/atmel-isc.c
--
2.7.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v7 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver
[not found] ` <1469778856-24253-1-git-send-email-songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
@ 2016-07-29 7:54 ` Songjun Wu
[not found] ` <1469778856-24253-3-git-send-email-songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Songjun Wu @ 2016-07-29 7:54 UTC (permalink / raw)
To: nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w
Cc: robh-DgEjT+Ai2ygdnm+yROfE0A,
laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-media-u79uwXL29TY76Z2rM5mHXA, Songjun Wu,
devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland, Rob Herring,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
DT binding documentation for ISC driver.
Signed-off-by: Songjun Wu <songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
---
Changes in v7: None
Changes in v6:
- Add "iscck" and "gck" to clock-names.
Changes in v5:
- Add clock-output-names.
Changes in v4:
- Remove the isc clock nodes.
Changes in v3:
- Remove the 'atmel,sensor-preferred'.
- Modify the isc clock node according to the Rob's remarks.
Changes in v2:
- Remove the unit address of the endpoint.
- Add the unit address to the clock node.
- Avoid using underscores in node names.
- Drop the "0x" in the unit address of the i2c node.
- Modify the description of 'atmel,sensor-preferred'.
- Add the description for the ISC internal clock.
.../devicetree/bindings/media/atmel-isc.txt | 65 ++++++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
diff --git a/Documentation/devicetree/bindings/media/atmel-isc.txt b/Documentation/devicetree/bindings/media/atmel-isc.txt
new file mode 100644
index 0000000..bbe0e87c
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/atmel-isc.txt
@@ -0,0 +1,65 @@
+Atmel Image Sensor Controller (ISC)
+----------------------------------------------
+
+Required properties for ISC:
+- compatible
+ Must be "atmel,sama5d2-isc".
+- reg
+ Physical base address and length of the registers set for the device.
+- interrupts
+ Should contain IRQ line for the ISC.
+- clocks
+ List of clock specifiers, corresponding to entries in
+ the clock-names property;
+ Please refer to clock-bindings.txt.
+- clock-names
+ Required elements: "hclock", "iscck", "gck".
+- #clock-cells
+ Should be 0.
+- clock-output-names
+ Should be "isc-mck".
+- pinctrl-names, pinctrl-0
+ Please refer to pinctrl-bindings.txt.
+
+ISC supports a single port node with parallel bus. It should contain one
+'port' child node with child 'endpoint' node. Please refer to the bindings
+defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
+
+Example:
+isc: isc@f0008000 {
+ compatible = "atmel,sama5d2-isc";
+ reg = <0xf0008000 0x4000>;
+ interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
+ clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
+ clock-names = "hclock", "iscck", "gck";
+ #clock-cells = <0>;
+ clock-output-names = "isc-mck";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>;
+
+ port {
+ isc_0: endpoint {
+ remote-endpoint = <&ov7740_0>;
+ hsync-active = <1>;
+ vsync-active = <0>;
+ pclk-sample = <1>;
+ };
+ };
+};
+
+i2c1: i2c@fc028000 {
+ ov7740: camera@21 {
+ compatible = "ovti,ov7740";
+ reg = <0x21>;
+ clocks = <&isc>;
+ clock-names = "xvclk";
+ assigned-clocks = <&isc>;
+ assigned-clock-rates = <24000000>;
+
+ port {
+ ov7740_0: endpoint {
+ remote-endpoint = <&isc_0>;
+ };
+ };
+ };
+};
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v7 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver
[not found] ` <1469778856-24253-3-git-send-email-songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
@ 2016-07-29 21:44 ` Rob Herring
2016-08-01 1:23 ` Wu, Songjun
0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2016-07-29 21:44 UTC (permalink / raw)
To: Songjun Wu
Cc: nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w,
laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
On Fri, Jul 29, 2016 at 03:54:08PM +0800, Songjun Wu wrote:
> DT binding documentation for ISC driver.
>
> Signed-off-by: Songjun Wu <songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
> ---
>
> Changes in v7: None
> Changes in v6:
> - Add "iscck" and "gck" to clock-names.
>
> Changes in v5:
> - Add clock-output-names.
>
> Changes in v4:
> - Remove the isc clock nodes.
>
> Changes in v3:
> - Remove the 'atmel,sensor-preferred'.
> - Modify the isc clock node according to the Rob's remarks.
>
> Changes in v2:
> - Remove the unit address of the endpoint.
> - Add the unit address to the clock node.
> - Avoid using underscores in node names.
> - Drop the "0x" in the unit address of the i2c node.
> - Modify the description of 'atmel,sensor-preferred'.
> - Add the description for the ISC internal clock.
>
> .../devicetree/bindings/media/atmel-isc.txt | 65 ++++++++++++++++++++++
> 1 file changed, 65 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
Please add acks when posting new versions.
Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v7 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver
2016-07-29 21:44 ` Rob Herring
@ 2016-08-01 1:23 ` Wu, Songjun
[not found] ` <5a2cea98-dd8a-159b-7adb-a2533cfde1b0-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Wu, Songjun @ 2016-08-01 1:23 UTC (permalink / raw)
To: Rob Herring
Cc: nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w,
laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
On 7/30/2016 05:44, Rob Herring wrote:
> On Fri, Jul 29, 2016 at 03:54:08PM +0800, Songjun Wu wrote:
>> DT binding documentation for ISC driver.
>>
>> Signed-off-by: Songjun Wu <songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
>> ---
>>
>> Changes in v7: None
>> Changes in v6:
>> - Add "iscck" and "gck" to clock-names.
>>
>> Changes in v5:
>> - Add clock-output-names.
>>
>> Changes in v4:
>> - Remove the isc clock nodes.
>>
>> Changes in v3:
>> - Remove the 'atmel,sensor-preferred'.
>> - Modify the isc clock node according to the Rob's remarks.
>>
>> Changes in v2:
>> - Remove the unit address of the endpoint.
>> - Add the unit address to the clock node.
>> - Avoid using underscores in node names.
>> - Drop the "0x" in the unit address of the i2c node.
>> - Modify the description of 'atmel,sensor-preferred'.
>> - Add the description for the ISC internal clock.
>>
>> .../devicetree/bindings/media/atmel-isc.txt | 65 ++++++++++++++++++++++
>> 1 file changed, 65 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
>
> Please add acks when posting new versions.
>
> Rob
>
Hi Rob,
Thank you for your reminder.
Should I Add 'Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>' behind
'Signed-off-by: Songjun Wu <songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>'?
Should I resend this patch?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v7 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver
[not found] ` <5a2cea98-dd8a-159b-7adb-a2533cfde1b0-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
@ 2016-08-01 1:57 ` Rob Herring
0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2016-08-01 1:57 UTC (permalink / raw)
To: Wu, Songjun
Cc: Nicolas Ferre, Laurent Pinchart,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
On Sun, Jul 31, 2016 at 8:23 PM, Wu, Songjun <Songjun.Wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org> wrote:
>
>
> On 7/30/2016 05:44, Rob Herring wrote:
>>
>> On Fri, Jul 29, 2016 at 03:54:08PM +0800, Songjun Wu wrote:
>>>
>>> DT binding documentation for ISC driver.
>>>
>>> Signed-off-by: Songjun Wu <songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
>>> ---
>>>
>>> Changes in v7: None
>>> Changes in v6:
>>> - Add "iscck" and "gck" to clock-names.
>>>
>>> Changes in v5:
>>> - Add clock-output-names.
>>>
>>> Changes in v4:
>>> - Remove the isc clock nodes.
>>>
>>> Changes in v3:
>>> - Remove the 'atmel,sensor-preferred'.
>>> - Modify the isc clock node according to the Rob's remarks.
>>>
>>> Changes in v2:
>>> - Remove the unit address of the endpoint.
>>> - Add the unit address to the clock node.
>>> - Avoid using underscores in node names.
>>> - Drop the "0x" in the unit address of the i2c node.
>>> - Modify the description of 'atmel,sensor-preferred'.
>>> - Add the description for the ISC internal clock.
>>>
>>> .../devicetree/bindings/media/atmel-isc.txt | 65
>>> ++++++++++++++++++++++
>>> 1 file changed, 65 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
>>
>>
>> Please add acks when posting new versions.
>>
>> Rob
>>
> Hi Rob,
>
> Thank you for your reminder.
>
> Should I Add 'Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>' behind
> 'Signed-off-by: Songjun Wu <songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>'?
Before or after is fine.
> Should I resend this patch?
Not just to add acks, but if you send v8, add the acks.
Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-08-01 1:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-29 7:54 [PATCH v7 0/2] [media] atmel-isc: add driver for Atmel ISC Songjun Wu
[not found] ` <1469778856-24253-1-git-send-email-songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2016-07-29 7:54 ` [PATCH v7 2/2] [media] atmel-isc: DT binding for Image Sensor Controller driver Songjun Wu
[not found] ` <1469778856-24253-3-git-send-email-songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2016-07-29 21:44 ` Rob Herring
2016-08-01 1:23 ` Wu, Songjun
[not found] ` <5a2cea98-dd8a-159b-7adb-a2533cfde1b0-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
2016-08-01 1:57 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).