Skip to content

6.12/iob/topic/rpi imx283 overlay #6869

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: rpi-6.12.y
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
ilitek251x.dtbo \
imx219.dtbo \
imx258.dtbo \
imx283.dtbo \
imx290.dtbo \
imx296.dtbo \
imx327.dtbo \
Expand Down
23 changes: 23 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -2778,6 +2778,29 @@ Params: rotation Mounting rotation of the camera sensor (0 or
Module (1, 3, 4, or 5) or Pi 5.


Name: imx283
Info: Sony IMX283 camera module.
Uses Unicam 1, which is the standard camera connector on most Pi
variants. This sensor only supports 4 lane operation and therefore
requires a Compute Module (1, 3, 4, or 5) or Pi 5.
Load: dtoverlay=imx283,<param>=<val>
Params: rotation Mounting rotation of the camera sensor (0 or
180, default 180)
orientation Sensor orientation (0 = front, 1 = rear,
2 = external, default external)
clock-frequency Sets the clock frequency to match that used on
the board.
Known tested values include 24MHz (the default)
and 12MHz.
link-frequency Allowable link frequency values to use in Hz:
720000000 (default), 360000000.
media-controller Configure use of Media Controller API for
configuring the sensor (default on)
cam0 Adopt the default configuration for CAM0 on a
Compute Module or Pi5 (CSI0, i2c_vc, and
cam0_reg).


Name: imx290
Info: Sony IMX290 camera module.
Uses Unicam 1, which is the standard camera connector on most Pi
Expand Down
92 changes: 92 additions & 0 deletions arch/arm/boot/dts/overlays/imx283-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
// SPDX-License-Identifier: GPL-2.0-only
// Definitions for IMX283 camera module on VC I2C bus
/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>

/{
compatible = "brcm,bcm2835";

fragment@0 {
target = <&i2c0if>;
__overlay__ {
status = "okay";
};
};

clk_frag: fragment@1 {
target = <&cam1_clk>;
cam_clk: __overlay__ {
status = "okay";
clock-frequency = <24000000>;
};
};

fragment@2 {
target = <&i2c0mux>;
__overlay__ {
status = "okay";
};
};

reg_frag: fragment@3 {
target = <&cam1_reg>;
cam_reg: __overlay__ {
startup-delay-us = <200000>;
off-on-delay-us = <30000>;
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
};

i2c_frag: fragment@100 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

#include "imx283.dtsi"
};
};

csi_frag: fragment@101 {
target = <&csi1>;
csi: __overlay__ {
status = "okay";
brcm,media-controller;

port {
csi_ep: endpoint {
remote-endpoint = <&cam_endpoint>;
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
clock-noncontinuous;
};
};
};
};

__overrides__ {
clock-frequency = <&cam_clk>,"clock-frequency:0";
rotation = <&cam_node>,"rotation:0";
orientation = <&cam_node>,"orientation:0";
media-controller = <&csi>,"brcm,media-controller?";
cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
<&csi_frag>, "target:0=",<&csi0>,
<&clk_frag>, "target:0=",<&cam0_clk>,
<&reg_frag>, "target:0=",<&cam0_reg>,
<&cam_node>, "clocks:0=",<&cam0_clk>,
<&cam_node>, "vadd-supply:0=",<&cam0_reg>;
link-frequency = <&cam_endpoint>,"link-frequencies#0";
};
};

&cam_node {
status = "okay";
};

&cam_endpoint {
remote-endpoint = <&csi_ep>;
};

Check failure on line 92 in arch/arm/boot/dts/overlays/imx283-overlay.dts

View workflow job for this annotation

GitHub Actions / checkpatch review

WARNING: adding a line without newline at end of file
26 changes: 26 additions & 0 deletions arch/arm/boot/dts/overlays/imx283.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Fragment that configures a Sony IMX283

cam_node: imx283@1a {
compatible = "sony,imx283";
reg = <0x1a>;
status = "disabled";

clocks = <&cam1_clk>;
clock-names = "xclk";

vadd-supply = <&cam1_reg>; /* Analog power supply (2.9v) */
vdd1-supply = <&cam_dummy_reg>; /* Interface power supply (1.8V) */
vdd2-supply = <&cam_dummy_reg>; /* Digital power supply (1.2V) */

rotation = <180>;
orientation = <2>;

port {
cam_endpoint: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
clock-noncontinuous;
link-frequencies = /bits/ 64 <720000000>;
};
};
};
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2709_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -941,6 +941,7 @@ CONFIG_VIDEO_ARDUCAM_64MP=m
CONFIG_VIDEO_ARDUCAM_PIVARIETY=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX283=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX335=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,7 @@ CONFIG_VIDEO_ARDUCAM_64MP=m
CONFIG_VIDEO_ARDUCAM_PIVARIETY=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX283=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX335=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcmrpi_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -934,6 +934,7 @@ CONFIG_VIDEO_ARDUCAM_64MP=m
CONFIG_VIDEO_ARDUCAM_PIVARIETY=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX283=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX335=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1019,6 +1019,7 @@ CONFIG_VIDEO_ARDUCAM_64MP=m
CONFIG_VIDEO_ARDUCAM_PIVARIETY=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX283=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX335=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_rt_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1019,6 +1019,7 @@ CONFIG_VIDEO_ARDUCAM_64MP=m
CONFIG_VIDEO_ARDUCAM_PIVARIETY=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX283=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX335=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2712_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,7 @@ CONFIG_VIDEO_ARDUCAM_64MP=m
CONFIG_VIDEO_ARDUCAM_PIVARIETY=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX283=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX335=m
Expand Down