merged.

Bruce

In message: [linux-yocto][linux-yocto v5.15/standard/nxp-sdk-5.15/nxp-soc & 
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc][PATCH 1/3] arm64: dts: imx8m: 
add imx8mq-evk-b3.dts for imx8mq old boards
on 23/05/2022 Xiaolei Wang wrote:

> Refer to SDK4.19 commit 21cb81b4f0bc("arm64: dts: Copy all imx8 dts")
> Change OV5640_MIPI IIC bus and address and MIPI_HDMI IIC bus
> 
> Signed-off-by: Xiaolei Wang <[email protected]>
> Signed-off-by: Bruce Ashfield <[email protected]>
> ---
>  .../boot/dts/freescale/imx8mq-evk-b3.dts      | 94 +++++++++++++++++++
>  1 file changed, 94 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mq-evk-b3.dts
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk-b3.dts 
> b/arch/arm64/boot/dts/freescale/imx8mq-evk-b3.dts
> new file mode 100644
> index 000000000000..4caf9bde7f48
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk-b3.dts
> @@ -0,0 +1,94 @@
> +/*
> + * Copyright 2018 NXP
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version 2
> + * of the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + */
> +
> +#include "imx8mq-evk.dts"
> +/delete-node/ &adv_bridge;
> +/delete-node/ &synaptics_dsx_ts;
> +/delete-node/ &ov5640_mipi;
> +/delete-node/ &ov5640_mipi2;
> +
> +&i2c1 {
> +
> +     ov5640_mipi2: ov5640_mipi2@2c {
> +                compatible = "ovti,ov5640_mipi";
> +                reg = <0x2c>;
> +                status = "okay";
> +                pinctrl-names = "default";
> +                pinctrl-0 = <&pinctrl_csi2_pwn>, <&pinctrl_csi_rst>;
> +                clocks = <&clk IMX8MQ_CLK_CLKO2>;
> +                clock-names = "csi_mclk";
> +                assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;
> +                assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;
> +                assigned-clock-rates = <20000000>;
> +                csi_id = <1>;
> +                pwn-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
> +                mclk = <20000000>;
> +                mclk_source = <0>;
> +                port {
> +                        ov5640_mipi2_ep: endpoint {
> +                                remote-endpoint = <&mipi2_sensor_ep>;
> +                        };
> +                };
> +        };
> +
> +     ov5640_mipi: ov5640_mipi@1c {
> +                compatible = "ovti,ov5640_mipi";
> +                reg = <0x1c>;
> +                status = "okay";
> +                pinctrl-names = "default";
> +                pinctrl-0 = <&pinctrl_csi1_pwn>;
> +                clocks = <&clk IMX8MQ_CLK_CLKO2>;
> +                clock-names = "csi_mclk";
> +                assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;
> +                assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;
> +                assigned-clock-rates = <20000000>;
> +                csi_id = <0>;
> +                pwn-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
> +                mclk = <20000000>;
> +                mclk_source = <0>;
> +                port {
> +                        ov5640_mipi1_ep: endpoint {
> +                                remote-endpoint = <&mipi1_sensor_ep>;
> +                        };
> +                };
> +        };
> +
> +     synaptics_dsx_ts: synaptics_dsx_ts@20 {
> +                compatible = "synaptics_dsx";
> +                reg = <0x20>;
> +                pinctrl-names = "default";
> +                pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
> +                interrupt-parent = <&gpio5>;
> +                interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
> +                synaptics,diagonal-rotation;
> +                status = "disabled";
> +        };
> +
> +     adv_bridge: adv7535@3d {
> +                compatible = "adi,adv7535";
> +                reg = <0x3d>;
> +                adi,addr-cec = <0x3b>;
> +                adi,dsi-lanes = <4>;
> +                pinctrl-0 = <&pinctrl_i2c1_dsi_ts_int>;
> +                interrupt-parent = <&gpio5>;
> +                interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
> +
> +                status = "disabled";
> +        };
> +
> +};
> +
> +&i2c2 {
> +        status = "disabled";
> +};
> -- 
> 2.25.1
> 

In message: [linux-yocto][linux-yocto v5.15/standard/nxp-sdk-5.15/nxp-soc & 
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc][PATCH 3/3] media: ov5640 mipi 
v2: fix kernel warning when no camera is plugged in
on 23/05/2022 Xiaolei Wang wrote:

> the regulator need to be disabled before calling regulator_put().
> If not do so, the kernel will print warning message as below.
> 
> [    2.834247] ov5640_mipi 1-003c: Camera is not found
>     [    2.839198] ------------[ cut here ]------------
>     [    2.844386] WARNING: CPU: 0 PID: 33 at drivers/regulator/core.c:2039 
> _regulator_put+0x34/0xd8
>     [    2.852954] Modules linked in:
>     [    2.856091] CPU: 0 PID: 33 Comm: kworker/0:1 Not tainted 
> 5.3.0-rc3-next-20190809-5.3-warrior-next+g1dc2946 #1
>     [    2.866044] Hardware name: NXP i.MX8MQ EVK (DT)
>     [    2.870692] Workqueue: events deferred_probe_work_func
>     [    2.875879] pstate: 60000005 (nZCv daif -PAN -UAO)
>     [    2.880712] pc : _regulator_put+0x34/0xd8
>     [    2.884756] lr : _regulator_put+0x34/0xd8
>     [    2.888802] sp : ffff00001210b5f0
>     [    2.892153] x29: ffff00001210b5f0 x28: ffff0000111ca238
>     [    2.897478] x27: ffff000011db1850 x26: ffff000011db1790
>     [    2.902800] x25: ffff000011db1790 x24: 0000000000000009
>     [    2.908151] x23: ffff00001210b698 x22: ffff8000baec9e00
>     [    2.913501] x21: ffff000011c498c8 x20: ffff8000baecc100
>     [    2.918852] x19: ffff8000baecc100 x18: 0000000000000010
>     [    2.924202] x17: 0000000000000000 x16: 0000000000000000
>     [    2.929553] x15: ffffffffffffffff x14: ffff000011c498c8
>     [    2.934904] x13: ffff00009210b387 x12: ffff00001210b38f
>     [    2.940254] x11: ffff000011c62000 x10: ffff00001210b310
>     [    2.945605] x9 : 00000000ffffffd0 x8 : ffff0000106e31a0
>     [    2.950955] x7 : 0000000000000124 x6 : ffff000011e63b43
>     [    2.956305] x5 : 0000000000000000 x4 : 0000000000000000
>     [    2.961655] x3 : 00000000ffffffff x2 : e14ea0006ddd6c00
>     [    2.967006] x1 : 0000000000000000 x0 : 0000000000000024
>     [    2.972390] Call trace:
>     [    2.974884]  _regulator_put+0x34/0xd8
>     [    2.978588]  regulator_put+0x2c/0x40
>     [    2.982227]  devm_regulator_release+0x10/0x18
>     [    2.986640]  release_nodes+0x1b0/0x220
>     [    2.990429]  devres_release_all+0x34/0x58
>     [    2.994480]  really_probe+0x1b8/0x2e8
>     [    2.998184]  driver_probe_device+0x74/0x118
>     [    3.002406]  __device_attach_driver+0x80/0xb8
>     [    3.006805]  bus_for_each_drv+0x78/0xc8
>     [    3.010653]  __device_attach+0xd4/0x130
>     [    3.014528]  device_initial_probe+0x10/0x18
>     [    3.018746]  bus_probe_device+0x90/0x98
>     [    3.022624]  device_add+0x48c/0x720
>     [    3.026150]  device_register+0x1c/0x28
>     [    3.029975]  i2c_new_client_device+0x130/0x2a0
>     [    3.034431]  i2c_new_device+0xc/0x20
>     [    3.038061]  of_i2c_register_device+0x70/0x98
>     [    3.042457]  of_i2c_register_devices+0x98/0x120
>     [    3.047026]  i2c_register_adapter+0x160/0x410
>     [    3.051395]  __i2c_add_numbered_adapter+0x58/0x90
>     [    3.056137]  i2c_add_adapter+0x9c/0xc8
>     [    3.059925]  i2c_add_numbered_adapter+0x24/0x30
>     [    3.064507]  i2c_imx_probe+0x3d0/0x880
>     [    3.068296]  platform_drv_probe+0x50/0xa0
>     [    3.072318]  really_probe+0xdc/0x2e8
>     [    3.075933]  driver_probe_device+0x74/0x118
>     [    3.080127]  __device_attach_driver+0x80/0xb8
>     [    3.084522]  bus_for_each_drv+0x78/0xc8
>     [    3.088397]  __device_attach+0xd4/0x130
>     [    3.092268]  device_initial_probe+0x10/0x18
>     [    3.096461]  bus_probe_device+0x90/0x98
>     [    3.100332]  deferred_probe_work_func+0x64/0x98
>     [    3.104956]  process_one_work+0x1e0/0x320
>     [    3.109007]  worker_thread+0x228/0x428
>     [    3.112812]  kthread+0x120/0x128
>     [    3.116104]  ret_from_fork+0x10/0x18
>     [    3.119722] ---[ end trace 69a95d03ced5eb6c ]---
> 
> Signed-off-by: Xiaolei Wang <[email protected]>
> Signed-off-by: Bruce Ashfield <[email protected]>
> ---
>  drivers/media/platform/mxc/capture/ov5640_mipi_v2.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/media/platform/mxc/capture/ov5640_mipi_v2.c 
> b/drivers/media/platform/mxc/capture/ov5640_mipi_v2.c
> index 3733d973d1f7..c4ef0e340735 100644
> --- a/drivers/media/platform/mxc/capture/ov5640_mipi_v2.c
> +++ b/drivers/media/platform/mxc/capture/ov5640_mipi_v2.c
> @@ -1795,6 +1795,7 @@ static int ov5640_probe(struct i2c_client *client,
>       mutex_unlock(&ov5640_mutex);
>       if (retval < 0) {
>               clk_disable_unprepare(sensor->sensor_clk);
> +             ov5640_regualtor_disable();
>               return -ENODEV;
>       }
>  
> -- 
> 2.25.1
> 

In message: [linux-yocto][linux-yocto v5.15/standard/nxp-sdk-5.15/nxp-soc & 
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc][PATCH 2/3] arm64: dts: imx8m: 
add imx8mq-evk-dcss-adv7535-b3.dts for imx8mq old board
on 23/05/2022 Xiaolei Wang wrote:

> Refer to SDK4.19 commit fe2655a72098("arm64: dts: Copy all imx8 dts")
> include imx8mq-evk-b3.dts for MIPI_HDMI
> 
> Signed-off-by: Xiaolei Wang <[email protected]>
> Signed-off-by: Bruce Ashfield <[email protected]>
> ---
>  .../freescale/imx8mq-evk-dcss-adv7535-b3.dts  | 101 ++++++++++++++++++
>  1 file changed, 101 insertions(+)
>  create mode 100644 
> arch/arm64/boot/dts/freescale/imx8mq-evk-dcss-adv7535-b3.dts
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk-dcss-adv7535-b3.dts 
> b/arch/arm64/boot/dts/freescale/imx8mq-evk-dcss-adv7535-b3.dts
> new file mode 100644
> index 000000000000..683e70204cb3
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk-dcss-adv7535-b3.dts
> @@ -0,0 +1,101 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright 2019 NXP.
> + */
> +
> +#include "imx8mq-evk-b3.dts"
> +
> +/ {
> +     sound-hdmi {
> +             status = "disabled";
> +     };
> +};
> +
> +&irqsteer {
> +     status = "okay";
> +};
> +
> +/delete-node/ &hdmi;
> +
> +&lcdif {
> +     status = "disabled";
> +};
> +
> +&dcss {
> +     status = "okay";
> +
> +     clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>,
> +              <&clk IMX8MQ_CLK_DISP_AXI_ROOT>,
> +              <&clk IMX8MQ_CLK_DISP_RTRM_ROOT>,
> +              <&clk IMX8MQ_CLK_DC_PIXEL>,
> +              <&clk IMX8MQ_CLK_DISP_DTRC>;
> +     clock-names = "apb", "axi", "rtrm", "pix", "dtrc";
> +     assigned-clocks = <&clk IMX8MQ_CLK_DC_PIXEL>,
> +                                       <&clk IMX8MQ_VIDEO_PLL1_BYPASS>,
> +                                       <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
> +                                       <&clk IMX8MQ_CLK_DISP_AXI>,
> +                                       <&clk IMX8MQ_CLK_DISP_RTRM>;
> +     assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>,
> +                                                      <&clk 
> IMX8MQ_VIDEO_PLL1>,
> +                                                      <&clk IMX8MQ_CLK_27M>,
> +                                                      <&clk 
> IMX8MQ_SYS1_PLL_800M>,
> +                                                      <&clk 
> IMX8MQ_SYS1_PLL_800M>;
> +     assigned-clock-rates = <600000000>, <0>, <0>,
> +                                                <800000000>,
> +                                                <400000000>;
> +
> +     port@0 {
> +             dcss_out: endpoint {
> +                     remote-endpoint = <&mipi_dsi_in>;
> +             };
> +     };
> +};
> +
> +&adv_bridge {
> +     status = "okay";
> +
> +     port@0 {
> +             adv7535_in: endpoint {
> +                     remote-endpoint = <&mipi_dsi_out>;
> +             };
> +     };
> +};
> +
> +&mipi_dsi {
> +     status = "okay";
> +     /delete-node/ panel@0;
> +
> +     ports {
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +
> +             port@0 {
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +                     reg = <0>;
> +                     mipi_dsi_in: endpoint@1 {
> +                             reg = <1>;
> +                             remote-endpoint = <&dcss_out>;
> +                     };
> +             };
> +
> +             port@1 {
> +                     reg = <1>;
> +                     mipi_dsi_out: endpoint {
> +                             remote-endpoint = <&adv7535_in>;
> +                     };
> +             };
> +     };
> +};
> +
> +&dphy {
> +     status = "okay";
> +};
> +
> +&iomuxc {
> +     pinctrl_mipi_dsi_en: mipi_dsi_en {
> +             fsl,pins = <
> +                     MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6      0x16
> +             >;
> +     };
> +};
> -- 
> 2.25.1
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#11319): 
https://lists.yoctoproject.org/g/linux-yocto/message/11319
Mute This Topic: https://lists.yoctoproject.org/mt/91319446/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to