Merge tag 'soc-dt-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[platform/kernel/linux-rpi.git] / arch / arm64 / boot / dts / freescale / imx8mn-beacon-baseboard.dtsi
index 5a1f7c3..1676197 100644 (file)
                enable-active-high;
        };
 
+       reg_camera: regulator-camera {
+               compatible = "regulator-fixed";
+               regulator-name = "mipi_pwr";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               gpio = <&pca6416_1 0 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               startup-delay-us = <100000>;
+               regulator-always-on;
+       };
+
        reg_usdhc2_vmmc: regulator-usdhc2 {
                compatible = "regulator-fixed";
                regulator-name = "vsd_3v3";
                enable-active-high;
        };
 
-       sound {
-               compatible = "fsl,imx-audio-wm8962";
-               model = "wm8962-audio";
-               audio-cpu = <&sai3>;
-               audio-codec = <&wm8962>;
-               audio-routing =
-                       "Headphone Jack", "HPOUTL",
-                       "Headphone Jack", "HPOUTR",
-                       "Ext Spk", "SPKOUTL",
-                       "Ext Spk", "SPKOUTR",
-                       "AMIC", "MICBIAS",
-                       "IN3R", "AMIC";
+       sound-wm8962 {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "wm8962";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,widgets = "Headphone", "Headphones",
+                                           "Microphone", "Headset Mic",
+                                           "Speaker", "Speaker";
+               simple-audio-card,routing = "Headphones", "HPOUTL",
+                                           "Headphones", "HPOUTR",
+                                           "Speaker", "SPKOUTL",
+                                           "Speaker", "SPKOUTR",
+                                           "Headset Mic", "MICBIAS",
+                                           "IN3R", "Headset Mic";
+
+               simple-audio-card,cpu {
+                       sound-dai = <&sai3>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&wm8962>;
+                       clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
+                       frame-master;
+                       bitclock-master;
+               };
        };
 };
 
        };
 };
 
+&i2c2 {
+       clock-frequency = <384000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+
+       camera@10 {
+               compatible = "ovti,ov5640";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ov5640>;
+               reg = <0x10>;
+               clocks = <&clk IMX8MN_CLK_CLKO1>;
+               clock-names = "xclk";
+               assigned-clocks = <&clk IMX8MN_CLK_CLKO1>;
+               assigned-clock-parents = <&clk IMX8MN_CLK_24M>;
+               assigned-clock-rates = <24000000>;
+               AVDD-supply = <&reg_camera>;  /* 2.8v */
+               powerdown-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+               reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+
+               port {
+                       /* MIPI CSI-2 bus endpoint */
+                       ov5640_to_mipi_csi2: endpoint {
+                               remote-endpoint = <&mipi_csi_in>;
+                               clock-lanes = <0>;
+                               data-lanes = <1 2>;
+                       };
+               };
+       };
+};
 &i2c4 {
        clock-frequency = <400000>;
        pinctrl-names = "default";
                        0x0000 /* 4:FN_DMICCDAT */
                        0x0000 /* 5:Default */
                >;
+               #sound-dai-cells = <0>;
        };
 };
 
+&isi {
+       status = "okay";
+};
+
 &easrc {
        fsl,asrc-rate = <48000>;
        status = "okay";
 };
 
+&mipi_csi {
+       status = "okay";
+
+       ports {
+               port@0 {
+                       mipi_csi_in: endpoint {
+                               remote-endpoint = <&ov5640_to_mipi_csi2>;
+                               data-lanes = <1 2>;
+                       };
+               };
+       };
+};
+
 &sai3 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_sai3>;
                >;
        };
 
+       pinctrl_ov5640: ov5640grp {
+               fsl,pins = <
+                       MX8MN_IOMUXC_GPIO1_IO07_GPIO1_IO7               0x19
+                       MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6               0x19
+                       MX8MN_IOMUXC_GPIO1_IO14_CCMSRCGPCMIX_CLKO1      0x59
+               >;
+       };
+
        pinctrl_pcal6414: pcal6414-gpiogrp {
                fsl,pins = <
                        MX8MN_IOMUXC_SAI2_MCLK_GPIO4_IO27               0x19