st,stm32-dcmi

Vendor: STMicroelectronics

Note

An implementation of a driver matching this compatible is available in drivers/video/video_stm32_dcmi.c.

Description

STMicroelectronics STM32 Digital Camera Memory Interface (DCMI).
Example of node configuration at board level:

&dcmi {
  status = "okay";
  sensor = <&ov2640>;
  pinctrl-0 = <&dcmi_hsync_pa4 &dcmi_pixclk_pa6 &dcmi_vsync_pb7
              &dcmi_d0_pc6 &dcmi_d1_pc7 &dcmi_d2_pe0 &dcmi_d3_pe1
              &dcmi_d4_pe4 &dcmi_d5_pd3 &dcmi_d6_pe5 &dcmi_d7_pe6>;
  pinctrl-names = "default";
  bus-width = <8>;
  hsync-active = <0>;
  vsync-active = <0>;
  pixelclk-active = <1>;
  capture-rate = <1>;
  dmas = <&dma1 0 75 (STM32_DMA_PERIPH_TO_MEMORY | STM32_DMA_PERIPH_NO_INC |
          STM32_DMA_MEM_INC | STM32_DMA_PERIPH_8BITS | STM32_DMA_MEM_32BITS |
          STM32_DMA_PRIORITY_HIGH) STM32_DMA_FIFO_1_4>;

  port {
    dcmi_ep_in: endpoint {
      remote-endpoint = <&ov2640_ep_out>;
    };
  };
};

Properties

Properties not inherited from the base binding file.

Name

Type

Details

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

sensor

phandle

phandle of connected sensor device

This property is required.

bus-width

int

Number of data lines actively used, valid for the parallel busses.

This property is required.

Default value: 8

Legal values: 8, 10, 12, 14

hsync-active

int

Polarity of horizontal synchronization (DCMI_HSYNC_Polarity).
0 Horizontal synchronization active Low.
1 Horizontal synchronization active High.

For example, if DCMI_HSYNC_Polarity is programmed active high:
When HSYNC is low, the data is valid.
When HSYNC is high, the data is not valid (horizontal blanking).

This property is required.

Legal values: 0, 1

vsync-active

int

Polarity of vertical synchronization (DCMI_VSYNC_Polarity).
0 Vertical synchronization active Low.
1 Vertical synchronization active High.

For example, if DCMI_VSYNC_Polarity is programmed active high:
When VSYNC is low, the data is valid.
When VSYNC is high, the data is not valid (vertical blanking).

This property is required.

Legal values: 0, 1

pixelclk-active

int

Polarity of pixel clock (DCMI_PIXCK_Polarity).
0 Pixel clock active on Falling edge.
1 Pixel clock active on Rising edge.

This property is required.

Legal values: 0, 1

capture-rate

int

The DCMI can capture all frames or alternate frames. If it is not specified,
the default is all frames.
1 Capture all frames.
2 Capture alternate frames.
4 Capture one frame every 4 frames.

Default value: 1

Legal values: 1, 2, 4