Adds overlays for the D3 IMX728 RCM. Only a connection on port 0 is currently supported. Signed-off-by: Sebastian LaVine <slavine@xxxxxxxxxxxxxx> Mentored-by: Stuart Burtner <sburtner@xxxxxxxxxxxxxx> --- MAINTAINERS | 1 + arch/arm64/boot/dts/ti/Makefile | 3 + .../dts/ti/k3-fpdlink-imx728-rcm-0-0.dtso | 108 ++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 arch/arm64/boot/dts/ti/k3-fpdlink-imx728-rcm-0-0.dtso diff --git a/MAINTAINERS b/MAINTAINERS index bf6a48da0887..f109b5dc8fa5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21891,6 +21891,7 @@ L: linux-media@xxxxxxxxxxxxxxx S: Odd Fixes F: Documentation/devicetree/bindings/media/i2c/sony,imx728.yaml F: arch/arm64/boot/dts/ti/k3-am62a7-sk-fusion-2.dtso +F: arch/arm64/boot/dts/ti/k3-fpdlink-imx728-rcm-0-0.dtso F: drivers/media/i2c/imx728.c SONY MEMORYSTICK SUBSYSTEM diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index fcd8d11e5678..6c8bbea246f1 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -240,6 +240,9 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \ k3-j784s4-evm-quad-port-eth-exp1.dtb \ k3-j784s4-evm-usxgmii-exp1-exp2.dtb +# FPDLink Sensors +dtb-$(CONFIG_ARCH_K3) += k3-fpdlink-imx728-rcm-0-0.dtbo + # Enable support for device-tree overlays DTC_FLAGS_k3-am625-beagleplay += -@ DTC_FLAGS_k3-am625-phyboard-lyra-rdk += -@ diff --git a/arch/arm64/boot/dts/ti/k3-fpdlink-imx728-rcm-0-0.dtso b/arch/arm64/boot/dts/ti/k3-fpdlink-imx728-rcm-0-0.dtso new file mode 100644 index 000000000000..97631184ff65 --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-fpdlink-imx728-rcm-0-0.dtso @@ -0,0 +1,108 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * D3 IMX728 FPD-Link 4 Camera Module + * + * Copyright (c) 2024 Define Design Deploy Corp - https://www.d3embedded.com + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> + +&{/} { + clk_imx728_fixed_00: imx728-inck-00 { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + }; +}; + +&ds90ub9702_0_ports { + #address-cells = <1>; + #size-cells = <0>; + + /* FPDLink RX 0 */ + port@0 { + reg = <0>; + ub9702_fpd4_1_in: endpoint { + remote-endpoint = <&ub971_1_out>; + }; + }; +}; + +&ds90ub9702_0_links { + #address-cells = <1>; + #size-cells = <0>; + + link@0 { + reg = <0>; + i2c-alias = <0x44>; + + ti,cdr-mode = <1>; + ti,rx-mode = <3>; + + serializer: serializer { + compatible = "ti,ds90ub971-q1"; + gpio-controller; + #gpio-cells = <2>; + + #clock-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + ub971_1_in: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&sensor_1_out>; + }; + }; + + port@1 { + reg = <1>; + + ub971_1_out: endpoint { + remote-endpoint = <&ub9702_fpd4_1_in>; + }; + }; + }; + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + sens_exp: gpio@70 { + compatible = "nxp,pca9538"; + reg = <0x70>; + gpio-controller; + #gpio-cells = <2>; + gpio-line-names = "IMG_RESET", "IMG_ERR0", + "IMG_ERR1", "IMG_GPI0", + "IMG_GPI1", "NC", + "NC", "NC"; + }; + + sensor@1a { + compatible = "sony,imx728"; + reg = <0x1a>; + + clocks = <&clk_imx728_fixed_00>; + clock-names = "inck"; + + reset-gpios = <&sens_exp 0 GPIO_ACTIVE_LOW>; + error0-gpios = <&sens_exp 1 GPIO_ACTIVE_HIGH>; + error1-gpios = <&sens_exp 2 GPIO_ACTIVE_HIGH>; + + port { + sensor_1_out: endpoint { + remote-endpoint = <&ub971_1_in>; + }; + }; + }; + }; + }; + }; +}; -- 2.34.1 Please be aware that this email includes email addresses outside of the organization.