mbox series

[0/8] arm64: dts: ti: Enable CSI cameras for AM62 family

Message ID 20231115-csi_dts-v1-0-99fc535b2bde@ti.com
Headers show
Series arm64: dts: ti: Enable CSI cameras for AM62 family | expand

Message

Jai Luthra Nov. 15, 2023, 9:51 a.m. UTC
This series enables CSI camera support on BeaglePlay, SK-AM62 and
SK-AM62A, now that the dt-bindings and driver support for CSI-RX related
IPs is merged in v6.7-rc1.

Along with the device tree nodes for CSI-RX, add new DT overlays for
different camera modules like RPiv2 (IMX219) or PCam5C (OV5640).

Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
Jai Luthra (8):
      arm64: defconfig: Enable AM62 CSI2RX
      arm64: dts: ti: Enable CSI-RX on AM62
      arm64: dts: ti: Enable CSI-RX on AM62A
      arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
      arm64: dts: ti: k3-am62x-sk: Enable camera peripherals
      arm64: dts: ti: k3-am62x: Add overlays for OV5640
      arm64: dts: ti: k3-am62a7-sk: Enable camera peripherals
      arm64: dts: ti: k3-am62x: Add overlay for IMX219

 arch/arm64/boot/dts/ti/Makefile                    | 17 ++++
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi           | 62 ++++++++++++++
 .../dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso    | 77 +++++++++++++++++
 .../ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso   | 77 +++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi          | 99 ++++++++++++++++++++++
 arch/arm64/boot/dts/ti/k3-am62a7-sk.dts            | 35 ++++++++
 arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi     | 15 ++++
 .../arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 76 +++++++++++++++++
 .../arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso | 74 ++++++++++++++++
 .../boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso  | 74 ++++++++++++++++
 arch/arm64/configs/defconfig                       |  3 +
 11 files changed, 609 insertions(+)
---
base-commit: a93441cc391f1923d031dcd463e3444c7c21bffe
change-id: 20231114-csi_dts-5f433aca3665

Best regards,

Comments

Jai Luthra Nov. 17, 2023, 7:54 a.m. UTC | #1
Hi Andrew,

Thanks for the review.

On Nov 16, 2023 at 08:26:40 -0600, Andrew Davis wrote:
> On 11/15/23 3:51 AM, Jai Luthra wrote:
> > Three different OV5640 modules are supported using the FFC connector on
> > BeaglePlay:
> > - Digilent PCam 5C
> > - ALINX AN5641
> > - TEVI-OV5640-*-RPI
> > 
> > The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while
> > the TEVI module supplies a 24Mhz XCLK, thus requiring a separate
> > overlay.
> > 
> > Signed-off-by: Jai Luthra <j-luthra@ti.com>
> > ---
> >   arch/arm64/boot/dts/ti/Makefile                    |  7 ++
> >   .../dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso    | 77 ++++++++++++++++++++++
> >   .../ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso   | 77 ++++++++++++++++++++++
> >   3 files changed, 161 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> > index 77a347f9f47d..e49e32414560 100644
> > --- a/arch/arm64/boot/dts/ti/Makefile
> > +++ b/arch/arm64/boot/dts/ti/Makefile
> > @@ -9,9 +9,15 @@
> >   # alphabetically.
> >   # Boards with AM62x SoC
> > +k3-am625-beagleplay-csi2-ov5640-dtbs := k3-am625-beagleplay.dtb \
> > +	k3-am625-beagleplay-csi2-ov5640.dtbo
> > +k3-am625-beagleplay-csi2-tevi-ov5640-dtbs := k3-am625-beagleplay.dtb \
> > +	k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
> >   k3-am625-sk-hdmi-audio-dtbs := k3-am625-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
> >   k3-am62-lp-sk-hdmi-audio-dtbs := k3-am62-lp-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
> >   dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay.dtb
> > +dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtb
> > +dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtb
> 
> 
> We don't need .dtb files for each overlay combination, you should leave these
> as overlays only, and just apply them at boot time as needed.
> 
> To test apply them at build time, you can use the CONFIG_OF_ALL_DTBS
> method that Rob suggested here[0].
> 
> # Build time test only, enabled by CONFIG_OF_ALL_DTBS
> dtb- += \
> 	k3-am625-beagleplay-overlay-test1.dtb \
> 	k3-am625-beagleplay-overlay-test2.dtb
> k3-am625-beagleplay-overlay-test1-dtbs := k3-am625-beagleplay.dtb \
> 	k3-am625-beagleplay-csi2-ov5640.dtbo
> k3-am625-beagleplay-overlay-test1-dtbs := k3-am625-beagleplay.dtb \
> 	k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
> 
> dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
> 
> [0] https://lore.kernel.org/all/CAL_Jsq+8jisrwEqzz7tZnsV9g2+LmThwpO7sHRFA-zh+6q8XuA@mail.gmail.com/
> 

Makes sense, I was able to test this out locally by adding:
OF_ALL_DTBS=y
COMPILE_TEST=y
in my config.

Will send a v2 with the above changes.

I think Rob's comment on [0] for testing every combination is valid 
here, so I will apply each camera overlay on each board that it can be 
used with.

> >   dtb-$(CONFIG_ARCH_K3) += k3-am625-phyboard-lyra-rdk.dtb
> >   dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
> >   dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia.dtb
> > @@ -81,6 +87,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
> >   dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb
> >   # Enable support for device-tree overlays
> > +DTC_FLAGS_k3-am625-beagleplay += -@
> 
> Having any DTBO applied to the base during build will add symbols to the
> base for you, no need to add this line.
> (Please check that this is true for the OF_ALL_DTBS case above, I've not
> checked yet, we should fix if not).

Without the explicit "-@" flag, the base dtb is built with symbols 
*only* if we were doing compile test with OF_ALL_DTBS=y.

For the standard build (arm64/configs/defconfig) the base DTB is built 
*without* symbols as make does not see any combined DTBs as targets.
> 
> I plan to remove the same below in later patches so folks will stop adding
> more of these lines.
> 

It is not clear to me how we could avoid explicitly enabling the "-@" 
flag for non-compile-test builds, let me know if you have any ideas.

> Andrew
> 
> >   DTC_FLAGS_k3-am625-sk += -@
> >   DTC_FLAGS_k3-am62-lp-sk += -@
> >   DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@

[...]