[PATCH V5 0/4] Add support for TI VIP

Yemike Abhilash Chandra posted 4 patches 3 months, 2 weeks ago
There is a newer version of this series
.../devicetree/bindings/media/ti,vip.yaml     |  152 +
MAINTAINERS                                   |    1 +
drivers/media/platform/ti/Kconfig             |   13 +
drivers/media/platform/ti/vpe/Makefile        |    2 +
drivers/media/platform/ti/vpe/vip.c           | 3731 +++++++++++++++++
drivers/media/platform/ti/vpe/vip.h           |  717 ++++
drivers/media/platform/ti/vpe/vpdma.c         |   51 +-
drivers/media/platform/ti/vpe/vpdma.h         |    6 +
8 files changed, 4672 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/media/ti,vip.yaml
create mode 100644 drivers/media/platform/ti/vpe/vip.c
create mode 100644 drivers/media/platform/ti/vpe/vip.h
[PATCH V5 0/4] Add support for TI VIP
Posted by Yemike Abhilash Chandra 3 months, 2 weeks ago
This patch series adds support for the TI VIP. VIP stands for Video
Input Port, it can be found on devices such as DRA7xx and provides
a parallel interface to a video source such as a sensor or TV decoder.

Each VIP can support two inputs (slices) and a SoC can be configured
with a variable number of VIP's. Each slice can support two ports
each connected to its own sub-device.

Changelog:
Changes in v5:
Krzysztof:
- Drop VIP node's label from the example in DT bindings
- Fix indentation of the example in DT bindings
- Get the phandle args directly through syscon call using syscon_regmap_lookup_by_phandle_args()
- Use devm_platform_ioremap_resource() instead of platform_get_resource() and devm_ioremap_resource()
- Drop struct resource *res from vip shared structure since it is now unused

v4l2-compliance output: https://gist.github.com/Yemike-Abhilash-Chandra/8d68342247da38d6ac59625f8eaf41c2
v4l2-compliance output with -s: https://gist.github.com/Yemike-Abhilash-Chandra/1dfa740a34e0e3d77a315b245e61b9ec
Test logs: https://gist.github.com/Yemike-Abhilash-Chandra/e44c4504d596f24e7c93a4c0b59f5316
DT binding check results: https://gist.github.com/Yemike-Abhilash-Chandra/a7eb1308df2d4a167baeec62bc744335
(No errors related to ti,vip.yaml)

Link for v4: https://lore.kernel.org/linux-media/20251015054010.3594423-1-y-abhilashchandra@ti.com/#t

Dale Farnsworth (2):
  dt-bindings: media: ti: vpe: Add support for Video Input Port
  media: ti: vpe: Add the VIP driver

Yemike Abhilash Chandra (2):
  media: ti: vpe: Re-introduce multi-instance and multi-client support
  media: ti: vpe: Export vpdma_load_firmware() function

 .../devicetree/bindings/media/ti,vip.yaml     |  152 +
 MAINTAINERS                                   |    1 +
 drivers/media/platform/ti/Kconfig             |   13 +
 drivers/media/platform/ti/vpe/Makefile        |    2 +
 drivers/media/platform/ti/vpe/vip.c           | 3731 +++++++++++++++++
 drivers/media/platform/ti/vpe/vip.h           |  717 ++++
 drivers/media/platform/ti/vpe/vpdma.c         |   51 +-
 drivers/media/platform/ti/vpe/vpdma.h         |    6 +
 8 files changed, 4672 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/media/ti,vip.yaml
 create mode 100644 drivers/media/platform/ti/vpe/vip.c
 create mode 100644 drivers/media/platform/ti/vpe/vip.h

-- 
2.34.1
Re: [PATCH V5 0/4] Add support for TI VIP
Posted by hverkuil+cisco@kernel.org 3 months ago
On 24/10/2025 11:44, Yemike Abhilash Chandra wrote:
> This patch series adds support for the TI VIP. VIP stands for Video
> Input Port, it can be found on devices such as DRA7xx and provides
> a parallel interface to a video source such as a sensor or TV decoder.
> 
> Each VIP can support two inputs (slices) and a SoC can be configured
> with a variable number of VIP's. Each slice can support two ports
> each connected to its own sub-device.
> 
> Changelog:
> Changes in v5:
> Krzysztof:
> - Drop VIP node's label from the example in DT bindings
> - Fix indentation of the example in DT bindings
> - Get the phandle args directly through syscon call using syscon_regmap_lookup_by_phandle_args()
> - Use devm_platform_ioremap_resource() instead of platform_get_resource() and devm_ioremap_resource()
> - Drop struct resource *res from vip shared structure since it is now unused
> 
> v4l2-compliance output: https://gist.github.com/Yemike-Abhilash-Chandra/8d68342247da38d6ac59625f8eaf41c2

v4l2-compliance is too old:

v4l2-compliance 1.28.1-5233, 32 bits, 32-bit time_t
v4l2-compliance SHA: fc15e229d9d3 2024-07-23 19:22:15

It's always best to compile v4l-utils from scratch using the git repo: https://git.linuxtv.org/v4l-utils.git/

v4l2-compliance is continually improved, and also kept in sync with the latest media
git repo (https://gitlab.freedesktop.org/linux-media/media-committers.git), 'next' branch.

Since there are kernel messages interleaved with the v4l2-compliance output I
recommend to write the output to a file and show that.

There is one failure for 'test Cropping'. If that still occurs with the latest version
from git, then that needs to be addressed.

Regards,

	Hans

> v4l2-compliance output with -s: https://gist.github.com/Yemike-Abhilash-Chandra/1dfa740a34e0e3d77a315b245e61b9ec
> Test logs: https://gist.github.com/Yemike-Abhilash-Chandra/e44c4504d596f24e7c93a4c0b59f5316
> DT binding check results: https://gist.github.com/Yemike-Abhilash-Chandra/a7eb1308df2d4a167baeec62bc744335
> (No errors related to ti,vip.yaml)
> 
> Link for v4: https://lore.kernel.org/linux-media/20251015054010.3594423-1-y-abhilashchandra@ti.com/#t
> 
> Dale Farnsworth (2):
>   dt-bindings: media: ti: vpe: Add support for Video Input Port
>   media: ti: vpe: Add the VIP driver
> 
> Yemike Abhilash Chandra (2):
>   media: ti: vpe: Re-introduce multi-instance and multi-client support
>   media: ti: vpe: Export vpdma_load_firmware() function
> 
>  .../devicetree/bindings/media/ti,vip.yaml     |  152 +
>  MAINTAINERS                                   |    1 +
>  drivers/media/platform/ti/Kconfig             |   13 +
>  drivers/media/platform/ti/vpe/Makefile        |    2 +
>  drivers/media/platform/ti/vpe/vip.c           | 3731 +++++++++++++++++
>  drivers/media/platform/ti/vpe/vip.h           |  717 ++++
>  drivers/media/platform/ti/vpe/vpdma.c         |   51 +-
>  drivers/media/platform/ti/vpe/vpdma.h         |    6 +
>  8 files changed, 4672 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/devicetree/bindings/media/ti,vip.yaml
>  create mode 100644 drivers/media/platform/ti/vpe/vip.c
>  create mode 100644 drivers/media/platform/ti/vpe/vip.h
>
Re: [PATCH V5 0/4] Add support for TI VIP
Posted by Yemike Abhilash Chandra 2 months, 3 weeks ago
Hi Hans,
Thanks for the review.

On 03/11/25 17:11, hverkuil+cisco@kernel.org wrote:
> On 24/10/2025 11:44, Yemike Abhilash Chandra wrote:
>> This patch series adds support for the TI VIP. VIP stands for Video
>> Input Port, it can be found on devices such as DRA7xx and provides
>> a parallel interface to a video source such as a sensor or TV decoder.
>>
>> Each VIP can support two inputs (slices) and a SoC can be configured
>> with a variable number of VIP's. Each slice can support two ports
>> each connected to its own sub-device.
>>
>> Changelog:
>> Changes in v5:
>> Krzysztof:
>> - Drop VIP node's label from the example in DT bindings
>> - Fix indentation of the example in DT bindings
>> - Get the phandle args directly through syscon call using syscon_regmap_lookup_by_phandle_args()
>> - Use devm_platform_ioremap_resource() instead of platform_get_resource() and devm_ioremap_resource()
>> - Drop struct resource *res from vip shared structure since it is now unused
>>
>> v4l2-compliance output: https://gist.github.com/Yemike-Abhilash-Chandra/8d68342247da38d6ac59625f8eaf41c2
> 
> v4l2-compliance is too old:
> 
> v4l2-compliance 1.28.1-5233, 32 bits, 32-bit time_t
> v4l2-compliance SHA: fc15e229d9d3 2024-07-23 19:22:15
> 
> It's always best to compile v4l-utils from scratch using the git repo: https://git.linuxtv.org/v4l-utils.git/
> 
> v4l2-compliance is continually improved, and also kept in sync with the latest media
> git repo (https://gitlab.freedesktop.org/linux-media/media-committers.git), 'next' branch.
> 

Understood. I will re-compile my v4l-utils.

Thanks and Regards
Yemike Abhilash Chandra

> Since there are kernel messages interleaved with the v4l2-compliance output I
> recommend to write the output to a file and show that.
> 
> There is one failure for 'test Cropping'. If that still occurs with the latest version
> from git, then that needs to be addressed.
> 
> Regards,
> 
> 	Hans
> 
>> v4l2-compliance output with -s: https://gist.github.com/Yemike-Abhilash-Chandra/1dfa740a34e0e3d77a315b245e61b9ec
>> Test logs: https://gist.github.com/Yemike-Abhilash-Chandra/e44c4504d596f24e7c93a4c0b59f5316
>> DT binding check results: https://gist.github.com/Yemike-Abhilash-Chandra/a7eb1308df2d4a167baeec62bc744335
>> (No errors related to ti,vip.yaml)
>>
>> Link for v4: https://lore.kernel.org/linux-media/20251015054010.3594423-1-y-abhilashchandra@ti.com/#t
>>
>> Dale Farnsworth (2):
>>    dt-bindings: media: ti: vpe: Add support for Video Input Port
>>    media: ti: vpe: Add the VIP driver
>>
>> Yemike Abhilash Chandra (2):
>>    media: ti: vpe: Re-introduce multi-instance and multi-client support
>>    media: ti: vpe: Export vpdma_load_firmware() function
>>
>>   .../devicetree/bindings/media/ti,vip.yaml     |  152 +
>>   MAINTAINERS                                   |    1 +
>>   drivers/media/platform/ti/Kconfig             |   13 +
>>   drivers/media/platform/ti/vpe/Makefile        |    2 +
>>   drivers/media/platform/ti/vpe/vip.c           | 3731 +++++++++++++++++
>>   drivers/media/platform/ti/vpe/vip.h           |  717 ++++
>>   drivers/media/platform/ti/vpe/vpdma.c         |   51 +-
>>   drivers/media/platform/ti/vpe/vpdma.h         |    6 +
>>   8 files changed, 4672 insertions(+), 1 deletion(-)
>>   create mode 100644 Documentation/devicetree/bindings/media/ti,vip.yaml
>>   create mode 100644 drivers/media/platform/ti/vpe/vip.c
>>   create mode 100644 drivers/media/platform/ti/vpe/vip.h
>>
>