This series enables support for camera sensors using CSI-RX ports on
AM62P family of SoCs.
Particularly, it enables OV5640 and IMX219 sensors via the 22-pin FFC
CSI-RX connector on SK-AM62P [1] using the existing common overlays for
SK-AM62* family of boards.
Capture test:
https://gist.github.com/jailuthra/11f3383ccc0902b9db90d806222597a3
[1]: https://www.ti.com/tool/SK-AM62P-LP
Signed-off-by: Jai Luthra <[email protected]>
---
Jai Luthra (4):
arm64: dts: ti: k3-am62p: Fix memory ranges for DMSS
arm64: dts: ti: k3-am62p: Add DMASS1 for CSI
arm64: dts: ti: k3-am62p: Add nodes for CSI-RX
arm64: dts: ti: Enable overlays for SK-AM62P
arch/arm64/boot/dts/ti/Makefile | 10 ++++
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 98 +++++++++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62p.dtsi | 2 +-
3 files changed, 109 insertions(+), 1 deletion(-)
---
base-commit: ef7bf0ae92cdee584950f74f364338c28f549cc7
change-id: 20240201-am62p_csi-b69d172406ca
Best regards,
--
Jai Luthra <[email protected]>
Enable symbols so that overlays can be applied on the base DTB for
SK-AM62P.
Also compile-test known-to-work camera sensor overlays for OV5640 and
IMX219.
Signed-off-by: Jai Luthra <[email protected]>
---
arch/arm64/boot/dts/ti/Makefile | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 52c1dc910308..80733ed747a2 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -101,6 +101,12 @@ k3-am62a7-sk-csi2-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am62a7-sk-csi2-tevi-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
+k3-am62p5-sk-csi2-imx219-dtbs := k3-am62p5-sk.dtb \
+ k3-am62x-sk-csi2-imx219.dtbo
+k3-am62p5-sk-csi2-ov5640-dtbs := k3-am62p5-sk.dtb \
+ k3-am62x-sk-csi2-ov5640.dtbo
+k3-am62p5-sk-csi2-tevi-ov5640-dtbs := k3-am62p5-sk.dtb \
+ k3-am62x-sk-csi2-tevi-ov5640.dtbo
k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
@@ -118,6 +124,9 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am62-lp-sk-hdmi-audio.dtb \
k3-am62a7-sk-csi2-imx219.dtb \
k3-am62a7-sk-csi2-ov5640.dtb \
+ k3-am62p5-sk-csi2-imx219.dtb \
+ k3-am62p5-sk-csi2-ov5640.dtb \
+ k3-am62p5-sk-csi2-tevi-ov5640.dtb \
k3-am642-tqma64xxl-mbax4xxl-sdcard.dtb \
k3-am642-tqma64xxl-mbax4xxl-wlan.dtb \
k3-j721e-evm-pcie0-ep.dtb \
@@ -128,6 +137,7 @@ DTC_FLAGS_k3-am625-beagleplay += -@
DTC_FLAGS_k3-am625-sk += -@
DTC_FLAGS_k3-am62-lp-sk += -@
DTC_FLAGS_k3-am62a7-sk += -@
+DTC_FLAGS_k3-am62p5-sk += -@
DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
DTC_FLAGS_k3-j721e-common-proc-board += -@
--
2.43.0
AM62P supports image capture via the MIPI CSI-2 protocol, it uses three
IPs to achieve this: Cadence DPHY, Cadence CSI-RX, and TI's pixelgrabber
wrapper on top. Enable all of these IPs in the devicetree.
Signed-off-by: Jai Luthra <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 61 +++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
index 57ec4ef334e4..fdd835a04327 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
@@ -928,4 +928,65 @@ mcasp2: audio-controller@2b20000 {
power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
+
+ ti_csi2rx0: ticsi2rx@30102000 {
+ compatible = "ti,j721e-csi2rx-shim";
+ reg = <0x00 0x30102000 0x00 0x1000>;
+ ranges;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ dmas = <&main_bcdma_csi 0 0x5000 0>;
+ dma-names = "rx0";
+ power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+
+ cdns_csi2rx0: csi-bridge@30101000 {
+ compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
+ reg = <0x00 0x30101000 0x00 0x1000>;
+ clocks = <&k3_clks 182 0>, <&k3_clks 182 3>, <&k3_clks 182 0>,
+ <&k3_clks 182 0>, <&k3_clks 182 4>, <&k3_clks 182 4>;
+ clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
+ "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
+ phys = <&dphy0>;
+ phy-names = "dphy";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi0_port0: port@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ csi0_port1: port@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+
+ csi0_port2: port@2 {
+ reg = <2>;
+ status = "disabled";
+ };
+
+ csi0_port3: port@3 {
+ reg = <3>;
+ status = "disabled";
+ };
+
+ csi0_port4: port@4 {
+ reg = <4>;
+ status = "disabled";
+ };
+ };
+ };
+ };
+
+ dphy0: phy@30110000 {
+ compatible = "cdns,dphy-rx";
+ reg = <0x00 0x30110000 0x00 0x1100>;
+ #phy-cells = <0>;
+ power-domains = <&k3_pds 185 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
};
--
2.43.0
On 01/02/24 18:37, Jai Luthra wrote:
> AM62P supports image capture via the MIPI CSI-2 protocol, it uses three
> IPs to achieve this: Cadence DPHY, Cadence CSI-RX, and TI's pixelgrabber
> wrapper on top. Enable all of these IPs in the devicetree.
>
Add nodes and keep them disabled sounds more apt here as you are keeping
all of these disabled.
> Signed-off-by: Jai Luthra <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 61 +++++++++++++++++++++++++++++++
> 1 file changed, 61 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> index 57ec4ef334e4..fdd835a04327 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> @@ -928,4 +928,65 @@ mcasp2: audio-controller@2b20000 {
> power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
> status = "disabled";
> };
> +
> + ti_csi2rx0: ticsi2rx@30102000 {
> + compatible = "ti,j721e-csi2rx-shim";
> + reg = <0x00 0x30102000 0x00 0x1000>;
> + ranges;
> + #address-cells = <2>;
> + #size-cells = <2>;
> + dmas = <&main_bcdma_csi 0 0x5000 0>;
> + dma-names = "rx0";
> + power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> +
> + cdns_csi2rx0: csi-bridge@30101000 {
> + compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
> + reg = <0x00 0x30101000 0x00 0x1000>;
> + clocks = <&k3_clks 182 0>, <&k3_clks 182 3>, <&k3_clks 182 0>,
> + <&k3_clks 182 0>, <&k3_clks 182 4>, <&k3_clks 182 4>;
> + clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
> + "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
> + phys = <&dphy0>;
> + phy-names = "dphy";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + csi0_port0: port@0 {
> + reg = <0>;
> + status = "disabled";
> + };
> +
> + csi0_port1: port@1 {
> + reg = <1>;
> + status = "disabled";
> + };
> +
> + csi0_port2: port@2 {
> + reg = <2>;
> + status = "disabled";
> + };
> +
> + csi0_port3: port@3 {
> + reg = <3>;
> + status = "disabled";
> + };
> +
> + csi0_port4: port@4 {
> + reg = <4>;
> + status = "disabled";
> + };
> + };
> + };
> + };
> +
> + dphy0: phy@30110000 {
> + compatible = "cdns,dphy-rx";
> + reg = <0x00 0x30110000 0x00 0x1100>;
> + #phy-cells = <0>;
> + power-domains = <&k3_pds 185 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
Reviewed-by: Vaishnav Achath <[email protected]>
> };
>
On 01/02/24 18:37, Jai Luthra wrote:
> Enable symbols so that overlays can be applied on the base DTB for
> SK-AM62P.
>
> Also compile-test known-to-work camera sensor overlays for OV5640 and
> IMX219.
>
> Signed-off-by: Jai Luthra <[email protected]>
> ---
> arch/arm64/boot/dts/ti/Makefile | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 52c1dc910308..80733ed747a2 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -101,6 +101,12 @@ k3-am62a7-sk-csi2-ov5640-dtbs := k3-am62a7-sk.dtb \
> k3-am62x-sk-csi2-ov5640.dtbo
> k3-am62a7-sk-csi2-tevi-ov5640-dtbs := k3-am62a7-sk.dtb \
> k3-am62x-sk-csi2-tevi-ov5640.dtbo
> +k3-am62p5-sk-csi2-imx219-dtbs := k3-am62p5-sk.dtb \
> + k3-am62x-sk-csi2-imx219.dtbo
> +k3-am62p5-sk-csi2-ov5640-dtbs := k3-am62p5-sk.dtb \
> + k3-am62x-sk-csi2-ov5640.dtbo
> +k3-am62p5-sk-csi2-tevi-ov5640-dtbs := k3-am62p5-sk.dtb \
> + k3-am62x-sk-csi2-tevi-ov5640.dtbo
> k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
> k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
> k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
> @@ -118,6 +124,9 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
> k3-am62-lp-sk-hdmi-audio.dtb \
> k3-am62a7-sk-csi2-imx219.dtb \
> k3-am62a7-sk-csi2-ov5640.dtb \
> + k3-am62p5-sk-csi2-imx219.dtb \
> + k3-am62p5-sk-csi2-ov5640.dtb \
> + k3-am62p5-sk-csi2-tevi-ov5640.dtb \
> k3-am642-tqma64xxl-mbax4xxl-sdcard.dtb \
> k3-am642-tqma64xxl-mbax4xxl-wlan.dtb \
> k3-j721e-evm-pcie0-ep.dtb \
> @@ -128,6 +137,7 @@ DTC_FLAGS_k3-am625-beagleplay += -@
> DTC_FLAGS_k3-am625-sk += -@
> DTC_FLAGS_k3-am62-lp-sk += -@
> DTC_FLAGS_k3-am62a7-sk += -@
> +DTC_FLAGS_k3-am62p5-sk += -@
Reviewed-by: Vaishnav Achath <[email protected]>
> DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@
> DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
> DTC_FLAGS_k3-j721e-common-proc-board += -@
>