[PATCH 2/2] ARM: dts: imx6-gw5xxx: Pass 'adv,force-bt656-4'
Tim Harvey
tharvey at gateworks.com
Tue Mar 15 08:20:10 PDT 2022
On Mon, Mar 14, 2022 at 6:32 PM Fabio Estevam <festevam at gmail.com> wrote:
>
> A common problem on imx6 designs with AD7180 is that video may get
> out sync, producing a 'rolling' image.
>
> Pass 'adv,force-bt656-4' to avoid such problem.
>
> Signed-off-by: Fabio Estevam <festevam at gmail.com>
> ---
> arch/arm/boot/dts/imx6dl-gw52xx.dts | 1 +
> arch/arm/boot/dts/imx6dl-gw53xx.dts | 1 +
> arch/arm/boot/dts/imx6dl-gw54xx.dts | 1 +
> arch/arm/boot/dts/imx6q-gw52xx.dts | 1 +
> arch/arm/boot/dts/imx6q-gw53xx.dts | 1 +
> arch/arm/boot/dts/imx6q-gw54xx.dts | 1 +
> arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 1 +
> arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 1 +
> 8 files changed, 8 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6dl-gw52xx.dts b/arch/arm/boot/dts/imx6dl-gw52xx.dts
> index 9ea23dd54f3c..7e52ff8a37c3 100644
> --- a/arch/arm/boot/dts/imx6dl-gw52xx.dts
> +++ b/arch/arm/boot/dts/imx6dl-gw52xx.dts
> @@ -18,6 +18,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio3>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6dl-gw53xx.dts b/arch/arm/boot/dts/imx6dl-gw53xx.dts
> index 182e8194c249..5c0a3f4b208b 100644
> --- a/arch/arm/boot/dts/imx6dl-gw53xx.dts
> +++ b/arch/arm/boot/dts/imx6dl-gw53xx.dts
> @@ -18,6 +18,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio3>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6dl-gw54xx.dts b/arch/arm/boot/dts/imx6dl-gw54xx.dts
> index a106c4e3e329..22346d46805d 100644
> --- a/arch/arm/boot/dts/imx6dl-gw54xx.dts
> +++ b/arch/arm/boot/dts/imx6dl-gw54xx.dts
> @@ -18,6 +18,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio3>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6q-gw52xx.dts b/arch/arm/boot/dts/imx6q-gw52xx.dts
> index 6e1c493c9c8c..c8fe6ea33492 100644
> --- a/arch/arm/boot/dts/imx6q-gw52xx.dts
> +++ b/arch/arm/boot/dts/imx6q-gw52xx.dts
> @@ -18,6 +18,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio3>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6q-gw53xx.dts b/arch/arm/boot/dts/imx6q-gw53xx.dts
> index f13df8e9c8c4..a62a3b02029a 100644
> --- a/arch/arm/boot/dts/imx6q-gw53xx.dts
> +++ b/arch/arm/boot/dts/imx6q-gw53xx.dts
> @@ -18,6 +18,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio3>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6q-gw54xx.dts b/arch/arm/boot/dts/imx6q-gw54xx.dts
> index d5d46908cf6e..7725e1fb0b92 100644
> --- a/arch/arm/boot/dts/imx6q-gw54xx.dts
> +++ b/arch/arm/boot/dts/imx6q-gw54xx.dts
> @@ -35,6 +35,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio3>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
> index 069c27fab432..e367084d15f5 100644
> --- a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
> @@ -369,6 +369,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio5>;
> interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/imx6qdl-gw553x.dtsi b/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
> index 4662408b225a..905d4260db4c 100644
> --- a/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
> @@ -424,6 +424,7 @@ adv7180: camera at 20 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_adv7180>;
> reg = <0x20>;
> + adv,force-bt656-4;
> powerdown-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
> interrupt-parent = <&gpio5>;
> interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
> --
> 2.25.1
>
Fabio,
This was done to support ADV7280's but the original boards have an
ADV7180. I think its ok to set this even for ADV7180's as the codepath
that uses it won't get hit correct?
I had originally handled this via boot firmware that updated dt per
board model [1][2] but if there is no harm having it set for ADV7180's
as well I'm good with this patch.
Best regards,
Tim
[1] https://github.com/u-boot/u-boot/commit/249ee657e620829b0ebe119936d0e82c83534b45
[2] https://github.com/u-boot/u-boot/commit/bf6bdefd36cfaa53fb4e492e160a9b7349c01d3d
More information about the linux-arm-kernel
mailing list