From baa8b933ec623e838014fbc4794c3f59d4ad7166 Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Wed, 18 Nov 2015 22:06:54 +0000 Subject: [PATCH] imx6: add Vetnana LVDS support These patches have been submitted to upstream Linux and are pending acceptance. Signed-off-by: Tim Harvey SVN-Revision: 47511 --- ...ana-set-GW54xx-PMIC-swbst-regulator-.patch | 31 ++++++++ ...ntana-fix-GW53xx-GW54xx-lvds-channel.patch | 40 ++++++++++ ...ntana-fix-GW53xx-GW54xx-lvds-channel.patch | 79 +++++++++++++++++++ 3 files changed, 150 insertions(+) create mode 100644 target/linux/imx6/patches-4.1/035-ARM-dts-imx-ventana-set-GW54xx-PMIC-swbst-regulator-.patch create mode 100644 target/linux/imx6/patches-4.1/036-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch create mode 100644 target/linux/imx6/patches-4.1/037-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch diff --git a/target/linux/imx6/patches-4.1/035-ARM-dts-imx-ventana-set-GW54xx-PMIC-swbst-regulator-.patch b/target/linux/imx6/patches-4.1/035-ARM-dts-imx-ventana-set-GW54xx-PMIC-swbst-regulator-.patch new file mode 100644 index 000000000000..6454ab7fa780 --- /dev/null +++ b/target/linux/imx6/patches-4.1/035-ARM-dts-imx-ventana-set-GW54xx-PMIC-swbst-regulator-.patch @@ -0,0 +1,31 @@ +From 57b82d9e79d77442bae3d2c13b98ceccb39fe5e2 Mon Sep 17 00:00:00 2001 +From: Tim Harvey +Date: Thu, 5 Nov 2015 10:49:31 -0800 +Subject: [PATCH 1/3] ARM: dts: imx: ventana: set GW54xx PMIC swbst regulator + as always-on + +The GW54xx PMIC swbst regulator is used for LVDS power, CANbus xceiver +and HDMI DDC and is enabled by the bootloader. Set the regulator to +always-on so that Linux doesn't turn it off thinking its not needed. + +Signed-off-by: Tim Harvey +--- + arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +index 31d86f7..2108d1c 100644 +--- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +@@ -265,6 +265,8 @@ + swbst_reg: swbst { + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5150000>; ++ regulator-boot-on; ++ regulator-always-on; + }; + + snvs_reg: vsnvs { +-- +1.9.1 + diff --git a/target/linux/imx6/patches-4.1/036-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch b/target/linux/imx6/patches-4.1/036-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch new file mode 100644 index 000000000000..645123d19aee --- /dev/null +++ b/target/linux/imx6/patches-4.1/036-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch @@ -0,0 +1,40 @@ +From 473d0353979db3673a7aa365265ba9b00decd414 Mon Sep 17 00:00:00 2001 +From: Tim Harvey +Date: Thu, 5 Nov 2015 10:52:53 -0800 +Subject: [PATCH 2/3] ARM: dts: imx: ventana: fix GW53xx/GW54xx lvds channel + +Signed-off-by: Tim Harvey +--- + arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 2 +- + arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +index 7c51839..5172de0 100644 +--- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +@@ -247,7 +247,7 @@ + &ldb { + status = "okay"; + +- lvds-channel@1 { ++ lvds-channel@0 { + fsl,data-mapping = "spwg"; + fsl,data-width = <18>; + status = "okay"; +diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +index 2108d1c..77a56be 100644 +--- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +@@ -343,7 +343,7 @@ + &ldb { + status = "okay"; + +- lvds-channel@1 { ++ lvds-channel@0 { + fsl,data-mapping = "spwg"; + fsl,data-width = <18>; + status = "okay"; +-- +1.9.1 + diff --git a/target/linux/imx6/patches-4.1/037-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch b/target/linux/imx6/patches-4.1/037-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch new file mode 100644 index 000000000000..5c3731cf2468 --- /dev/null +++ b/target/linux/imx6/patches-4.1/037-ARM-dts-imx-ventana-fix-GW53xx-GW54xx-lvds-channel.patch @@ -0,0 +1,79 @@ +From d86b202436b6f3111c4c37b8701daa0764d2ca55 Mon Sep 17 00:00:00 2001 +From: Tim Harvey +Date: Thu, 5 Nov 2015 11:10:00 -0800 +Subject: [PATCH 3/3] ARM: dts: imx: ventana: Allow HDMI and LVDS to work + simultaneously + +Currently it is not possible to have HDMI and LVDS working simultaneously, +because both ports try to use PLL5. + +Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be +driven from independent sources. + +With this change the LDB pixel clock goes to 68.57 MHz, which is still +within the valid range for the displays supported by the Ventana boards. + +Signed-off-by: Tim Harvey +--- + arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 7 +++++++ + arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 7 +++++++ + arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 7 +++++++ + 3 files changed, 21 insertions(+) + +diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +index 1b66328..9709728 100644 +--- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +@@ -151,6 +151,13 @@ + status = "okay"; + }; + ++&clks { ++ assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, ++ <&clks IMX6QDL_CLK_LDB_DI1_SEL>; ++ assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, ++ <&clks IMX6QDL_CLK_PLL3_USB_OTG>; ++}; ++ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +index 5172de0..dc1cd13 100644 +--- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +@@ -152,6 +152,13 @@ + status = "okay"; + }; + ++&clks { ++ assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, ++ <&clks IMX6QDL_CLK_LDB_DI1_SEL>; ++ assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, ++ <&clks IMX6QDL_CLK_PLL3_USB_OTG>; ++}; ++ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +index 77a56be..7ef9fbe 100644 +--- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +@@ -142,6 +142,13 @@ + status = "okay"; + }; + ++&clks { ++ assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, ++ <&clks IMX6QDL_CLK_LDB_DI1_SEL>; ++ assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, ++ <&clks IMX6QDL_CLK_PLL3_USB_OTG>; ++}; ++ + &fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; +-- +1.9.1 + -- 2.30.2