Commit 27842575 authored by Khanh Nguyen's avatar Khanh Nguyen Committed by Henrik Brix Andersen
Browse files

drivers: video: add support for Renesas RA CEU driver



Add support for the Renesas RA Capture Engine Unit (CEU),
including driver source files, Kconfig options, and DTS bindings.

- Add initial implementation of the RA CEU driver
- Add dedicated Kconfig and CMake integration
- Provide Devicetree bindings for the RA CEU
- Update module Kconfig to include the new driver

This enables image capture functionality using the CEU peripheral
on Renesas RA series MCUs.

Signed-off-by: default avatarDuy Vo <duy.vo.xc@bp.renesas.com>
Signed-off-by: default avatarKhanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
parent 77b000fa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -25,5 +25,6 @@ zephyr_library_sources_ifdef(CONFIG_VIDEO_EMUL_RX video_emul_rx.c)
zephyr_library_sources_ifdef(CONFIG_VIDEO_IMX335	imx335.c)
zephyr_library_sources_ifdef(CONFIG_VIDEO_ST_MIPID02	video_st_mipid02.c)
zephyr_library_sources_ifdef(CONFIG_VIDEO_STM32_DCMIPP	video_stm32_dcmipp.c)
zephyr_library_sources_ifdef(CONFIG_VIDEO_RENESAS_RA_CEU video_renesas_ra_ceu.c)

zephyr_linker_sources(DATA_SECTIONS video.ld)
+2 −0
Original line number Diff line number Diff line
@@ -96,4 +96,6 @@ source "drivers/video/Kconfig.st_mipid02"

source "drivers/video/Kconfig.stm32_dcmipp"

source "drivers/video/Kconfig.renesas_ra_ceu"

endif # VIDEO
+12 −0
Original line number Diff line number Diff line
# Copyright (c) 2025 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

config VIDEO_RENESAS_RA_CEU
	bool
	default y
	depends on DT_HAS_RENESAS_RA_CEU_ENABLED
	select PINCTRL
	select CLOCK_CONTROL_PWM
	select USE_RA_FSP_CEU
	help
	  Enable driver for Renesas RA CEU.
+540 −0

File added.

Preview size limit exceeded, changes collapsed.

+83 −0
Original line number Diff line number Diff line
# Copyright (c) 2025 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

description: Renesas RA Capture Engine Unit Driver (ceu)

compatible: "renesas,ra-ceu"

include: [base.yaml, pinctrl-device.yaml]

properties:
  reg:
    required: true

  clocks:
    required: true

  clock-names:
    required: true
    enum:
      - "pclk"
      - "cam-xclk"

  swap-8bits:
    type: boolean
    description: Bytes may be swapped in 8-bit units

  swap-16bits:
    type: boolean
    description: Bytes may be swapped in 16-bit units

  swap-32bits:
    type: boolean
    description: Bytes may be swapped in 32-bit units

  burst-transfer:
    required: true
    type: int
    enum:
      - 32  # Transfers data to the bus in 32-byte units
      - 64  # Transfers data to the bus in 64-byte units
      - 128 # Transfers data to the bus in 128-byte units
      - 256 # Transfers data to the bus in 256-byte units
    description: |
      Specifies the data transfer unit size to the bus bridge module.

child-binding:
  child-binding:
    include: video-interfaces.yaml

    properties:
      hsync-active:
        required: true

      vsync-active:
        required: true

      pclk-sample:
        required: true

      vsync-sample:
        required: true
        type: int
        enum:
          - 0 # Falling edge
          - 1 # Rising edge
        description: |
          Sample on the falling or rising edge of the vsync signal.

      hsync-sample:
        required: true
        type: int
        enum:
          - 0 # Falling edge
          - 1 # Rising edge
        description: |
          Sample on the falling or rising edge of the hsync signal.

      bus-width:
        required: true
        type: int
        enum:
          - 8   # Use 8 data lines for the parallel interface
          - 16  # Use 16 data lines for the parallel interface
Loading