mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-22 04:56:15 +00:00
538a1d740c
The patches were generated from the RPi repo with the following command: git format-patch v6.6.58..rpi-6.6.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
167 lines
4.6 KiB
Diff
167 lines
4.6 KiB
Diff
From 30921ddfa24a5325d0f4980c72f98d20bace87a2 Mon Sep 17 00:00:00 2001
|
|
From: Richard Oliver <richard.oliver@raspberrypi.com>
|
|
Date: Fri, 24 May 2024 11:43:07 +0100
|
|
Subject: [PATCH 1243/1350] 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>
|
|
---
|
|
.../bindings/media/i2c/sony,imx500.yaml | 132 ++++++++++++++++++
|
|
MAINTAINERS | 7 +
|
|
2 files changed, 139 insertions(+)
|
|
create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml
|
|
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx500.yaml
|
|
@@ -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>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+...
|
|
+
|
|
--- a/MAINTAINERS
|
|
+++ b/MAINTAINERS
|
|
@@ -20127,6 +20127,13 @@ F: Documentation/devicetree/bindings/med
|
|
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
|