mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-15 22:41:38 +00:00
media: dt-bindings: i2c: Add Sony IMX500
Add YAML device tree binding for the Sony IMX500 CMOS image sensor / CNN inference engine. Also, add a MAINTAINERS entry. Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
This commit is contained in:
committed by
Dom Cobley
parent
520496dd31
commit
c473ddf3b6
132
Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml
Normal file
132
Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml
Normal file
@@ -0,0 +1,132 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/i2c/sony,imx500.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Sony CMOS Digital Image Sensor and CNN
|
||||
|
||||
maintainers:
|
||||
- Raspberry Pi <kernel-list@raspberrypi.com>
|
||||
|
||||
description: |-
|
||||
The Sony IMX500 is a stacked 1/2.3-inch CMOS digital image sensor and inbuilt
|
||||
AI processor with an active array CNN (Convolutional Neural Network) inference
|
||||
engine. The native sensor size is 4056H x 3040V, and the module also contains
|
||||
an in-built ISP for the CNN. The module is programmable through an I2C
|
||||
interface with firmware and neural network uploads being made over SPI. The
|
||||
default I2C address is 0x1A, with an address of 0x10 being selectable via
|
||||
SLASEL. The module also has a second I2C interface available with a fixed
|
||||
address of 0x36. Image data is sent through MIPI CSI-2, which is configured
|
||||
as either 2 or 4 data lanes.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sony,imx500
|
||||
|
||||
reg:
|
||||
description: I2C device address
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
description: |-
|
||||
Input clock (12 to 27 MHz)
|
||||
items:
|
||||
- const: inck
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
vana-supply:
|
||||
description: Supply voltage (analog) - 2.7 V
|
||||
|
||||
vdig-supply:
|
||||
description: Supply voltage (digital) - 0.84 V
|
||||
|
||||
vif-supply:
|
||||
description: Supply voltage (interface) - 1.8 V
|
||||
|
||||
reset-gpios:
|
||||
description: |-
|
||||
Sensor reset (XCLR) GPIO
|
||||
|
||||
Chip clear in lieu of built-in power on reset. To be set 'High' after
|
||||
power supplies are brought up and INCK supplied.
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||
additionalProperties: false
|
||||
description: |
|
||||
Video output port
|
||||
|
||||
properties:
|
||||
endpoint:
|
||||
$ref: /schemas/media/video-interfaces.yaml#
|
||||
type: object
|
||||
unevaluatedProperties: false
|
||||
properties:
|
||||
data-lanes:
|
||||
items:
|
||||
- const: 2
|
||||
- const: 4
|
||||
clock-noncontinuous: true
|
||||
link-frequencies: true
|
||||
required:
|
||||
- link-frequencies
|
||||
- data-lanes
|
||||
|
||||
spi:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: |-
|
||||
SPI peripheral
|
||||
|
||||
Optional SPI peripheral for uploading firmware and network weights to AI
|
||||
processor.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- vana-supply
|
||||
- vdig-supply
|
||||
- vif-supply
|
||||
- port
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
imx500: sensor@1a {
|
||||
compatible = "sony,imx500";
|
||||
reg = <0x1a>;
|
||||
|
||||
clocks = <&imx500_clk>;
|
||||
clock-names = "inck";
|
||||
|
||||
vana-supply = <&imx500_vana>; /* 2.7 +/- 0.1 V */
|
||||
vdig-supply = <&imx500_vdig>; /* 0.84 +/- 0.04 V */
|
||||
vif-supply = <&imx500_vif>; /* 1.8 +/- 0.1 V */
|
||||
|
||||
reset-gpios = <&gpio_sensor 0 GPIO_ACTIVE_LOW>;
|
||||
|
||||
port {
|
||||
imx500_0: endpoint {
|
||||
remote-endpoint = <&csi1_ep>;
|
||||
data-lanes = <1 2>;
|
||||
clock-noncontinuous;
|
||||
link-frequencies = /bits/ 64 <499500000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
@@ -21592,6 +21592,13 @@ F: Documentation/devicetree/bindings/media/i2c/imx378.yaml
|
||||
F: Documentation/devicetree/bindings/media/i2c/imx477.yaml
|
||||
F: drivers/media/i2c/imx477.c
|
||||
|
||||
SONY IMX500 SENSOR DRIVER
|
||||
M: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git git://linuxtv.org/media_tree.git
|
||||
F: Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml
|
||||
|
||||
SONY IMX519 SENSOR DRIVER
|
||||
M: Arducam Kernel Maintenance <info@arducam.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
|
||||
Reference in New Issue
Block a user