1 // SPDX-License-Identifier: GPL-2.0-only OR MI 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 2 /** 2 /** 3 * DT Overlay for dual RPi Camera V2.1 (Sony I 3 * DT Overlay for dual RPi Camera V2.1 (Sony IMX219) interfaced with CSI2 4 * on J721E SK, AM68 SK or AM69-SK board. 4 * on J721E SK, AM68 SK or AM69-SK board. 5 * https://datasheets.raspberrypi.org/camera/c 5 * https://datasheets.raspberrypi.org/camera/camera-v2-schematic.pdf 6 * 6 * 7 * Copyright (C) 2024 Texas Instruments Incorp 7 * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/ 8 */ 8 */ 9 9 10 /dts-v1/; 10 /dts-v1/; 11 /plugin/; 11 /plugin/; 12 12 13 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/gpio/gpio.h> 14 #include "k3-pinctrl.h" 14 #include "k3-pinctrl.h" 15 15 16 &{/} { 16 &{/} { 17 clk_imx219_fixed: imx219-xclk { 17 clk_imx219_fixed: imx219-xclk { 18 compatible = "fixed-clock"; 18 compatible = "fixed-clock"; 19 #clock-cells = <0>; 19 #clock-cells = <0>; 20 clock-frequency = <24000000>; 20 clock-frequency = <24000000>; 21 }; 21 }; 22 }; 22 }; 23 23 24 &csi_mux { 24 &csi_mux { 25 idle-state = <1>; 25 idle-state = <1>; 26 }; 26 }; 27 27 28 /* CAM0 I2C */ 28 /* CAM0 I2C */ 29 &cam0_i2c { 29 &cam0_i2c { 30 #address-cells = <1>; 30 #address-cells = <1>; 31 #size-cells = <0>; 31 #size-cells = <0>; 32 imx219_0: imx219-0@10 { 32 imx219_0: imx219-0@10 { 33 compatible = "sony,imx219"; 33 compatible = "sony,imx219"; 34 reg = <0x10>; 34 reg = <0x10>; 35 35 36 clocks = <&clk_imx219_fixed>; 36 clocks = <&clk_imx219_fixed>; 37 clock-names = "xclk"; 37 clock-names = "xclk"; 38 38 39 port { 39 port { 40 csi2_cam0: endpoint { 40 csi2_cam0: endpoint { 41 remote-endpoin 41 remote-endpoint = <&csi2rx0_in_sensor>; 42 link-frequenci 42 link-frequencies = /bits/ 64 <456000000>; 43 clock-lanes = 43 clock-lanes = <0>; 44 data-lanes = < 44 data-lanes = <1 2>; 45 }; 45 }; 46 }; 46 }; 47 }; 47 }; 48 }; 48 }; 49 49 50 /* CAM1 I2C */ 50 /* CAM1 I2C */ 51 &cam1_i2c { 51 &cam1_i2c { 52 #address-cells = <1>; 52 #address-cells = <1>; 53 #size-cells = <0>; 53 #size-cells = <0>; 54 imx219_1: imx219-1@10 { 54 imx219_1: imx219-1@10 { 55 compatible = "sony,imx219"; 55 compatible = "sony,imx219"; 56 reg = <0x10>; 56 reg = <0x10>; 57 57 58 clocks = <&clk_imx219_fixed>; 58 clocks = <&clk_imx219_fixed>; 59 clock-names = "xclk"; 59 clock-names = "xclk"; 60 60 61 port { 61 port { 62 csi2_cam1: endpoint { 62 csi2_cam1: endpoint { 63 remote-endpoin 63 remote-endpoint = <&csi2rx1_in_sensor>; 64 link-frequenci 64 link-frequencies = /bits/ 64 <456000000>; 65 clock-lanes = 65 clock-lanes = <0>; 66 data-lanes = < 66 data-lanes = <1 2>; 67 }; 67 }; 68 }; 68 }; 69 }; 69 }; 70 }; 70 }; 71 71 72 72 73 &cdns_csi2rx0 { 73 &cdns_csi2rx0 { 74 ports { 74 ports { 75 #address-cells = <1>; 75 #address-cells = <1>; 76 #size-cells = <0>; 76 #size-cells = <0>; 77 77 78 csi0_port0: port@0 { 78 csi0_port0: port@0 { 79 reg = <0>; 79 reg = <0>; 80 status = "okay"; 80 status = "okay"; 81 81 82 csi2rx0_in_sensor: end 82 csi2rx0_in_sensor: endpoint { 83 remote-endpoin 83 remote-endpoint = <&csi2_cam0>; 84 bus-type = <4> 84 bus-type = <4>; /* CSI2 DPHY. */ 85 clock-lanes = 85 clock-lanes = <0>; 86 data-lanes = < 86 data-lanes = <1 2>; 87 }; 87 }; 88 }; 88 }; 89 89 90 csi0_port1: port@1 { 90 csi0_port1: port@1 { 91 reg = <1>; 91 reg = <1>; 92 status = "disabled"; 92 status = "disabled"; 93 }; 93 }; 94 94 95 csi0_port2: port@2 { 95 csi0_port2: port@2 { 96 reg = <2>; 96 reg = <2>; 97 status = "disabled"; 97 status = "disabled"; 98 }; 98 }; 99 99 100 csi0_port3: port@3 { 100 csi0_port3: port@3 { 101 reg = <3>; 101 reg = <3>; 102 status = "disabled"; 102 status = "disabled"; 103 }; 103 }; 104 104 105 csi0_port4: port@4 { 105 csi0_port4: port@4 { 106 reg = <4>; 106 reg = <4>; 107 status = "disabled"; 107 status = "disabled"; 108 }; 108 }; 109 }; 109 }; 110 }; 110 }; 111 111 112 &dphy0 { 112 &dphy0 { 113 status = "okay"; 113 status = "okay"; 114 }; 114 }; 115 115 116 &ti_csi2rx0 { 116 &ti_csi2rx0 { 117 status = "okay"; 117 status = "okay"; 118 }; 118 }; 119 119 120 &cdns_csi2rx1 { 120 &cdns_csi2rx1 { 121 ports { 121 ports { 122 #address-cells = <1>; 122 #address-cells = <1>; 123 #size-cells = <0>; 123 #size-cells = <0>; 124 124 125 csi1_port0: port@0 { 125 csi1_port0: port@0 { 126 reg = <0>; 126 reg = <0>; 127 status = "okay"; 127 status = "okay"; 128 128 129 csi2rx1_in_sensor: end 129 csi2rx1_in_sensor: endpoint { 130 remote-endpoin 130 remote-endpoint = <&csi2_cam1>; 131 bus-type = <4> 131 bus-type = <4>; /* CSI2 DPHY. */ 132 clock-lanes = 132 clock-lanes = <0>; 133 data-lanes = < 133 data-lanes = <1 2>; 134 }; 134 }; 135 }; 135 }; 136 136 137 csi1_port1: port@1 { 137 csi1_port1: port@1 { 138 reg = <1>; 138 reg = <1>; 139 status = "disabled"; 139 status = "disabled"; 140 }; 140 }; 141 141 142 csi1_port2: port@2 { 142 csi1_port2: port@2 { 143 reg = <2>; 143 reg = <2>; 144 status = "disabled"; 144 status = "disabled"; 145 }; 145 }; 146 146 147 csi1_port3: port@3 { 147 csi1_port3: port@3 { 148 reg = <3>; 148 reg = <3>; 149 status = "disabled"; 149 status = "disabled"; 150 }; 150 }; 151 151 152 csi1_port4: port@4 { 152 csi1_port4: port@4 { 153 reg = <4>; 153 reg = <4>; 154 status = "disabled"; 154 status = "disabled"; 155 }; 155 }; 156 }; 156 }; 157 }; 157 }; 158 158 159 &dphy1 { 159 &dphy1 { 160 status = "okay"; 160 status = "okay"; 161 }; 161 }; 162 162 163 &ti_csi2rx1 { 163 &ti_csi2rx1 { 164 status = "okay"; 164 status = "okay"; 165 }; 165 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.