summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-imx8mp-verdin-dahlia-support-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-imx8mp-verdin-dahlia-support-.patch')
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-imx8mp-verdin-dahlia-support-.patch99
1 files changed, 99 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-imx8mp-verdin-dahlia-support-.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-imx8mp-verdin-dahlia-support-.patch
new file mode 100644
index 0000000..ac9e06c
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0002-arm64-dts-freescale-imx8mp-verdin-dahlia-support-.patch
@@ -0,0 +1,99 @@
+From 9a7d42b76d21916d2eef2dfd6d61a7bdde97fb2b Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Date: Fri, 12 Jan 2024 16:12:14 +0100
+Subject: [PATCH v1 2/4] arm64: dts: freescale: imx8mp-verdin-dahlia: support
+ sleep-moci
+
+Previously, we had the sleep-moci pin set to always on. However, the
+Dahlia carrier board supports disabling the sleep-moci when the system
+is suspended to power down peripherals that support it. This reduces
+overall power consumption. This commit adds support for this feature by
+disabling the reg_force_sleep_moci regulator and adding two new
+regulators for the USB hub and PCIe that can be turned off when the
+system is suspended.
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-devicetree/20240405160720.5977-1-eichest@gmail.com/]
+Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+---
+ .../dts/freescale/imx8mp-verdin-dahlia.dtsi | 44 +++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi
+index e68e0e6f21e9..abad1887040a 100644
+--- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi
++++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi
+@@ -32,6 +32,25 @@ simple-audio-card,cpu {
+ sound-dai = <&sai1>;
+ };
+ };
++
++ reg_usb_hub: regulator-usb-hub {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
++ gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
++ regulator-boot-on;
++ regulator-name = "HUB_PWR_EN";
++ };
++
++ reg_pcie: regulator-pcie {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
++ gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
++ regulator-boot-on;
++ regulator-name = "PCIE_1_PWR_EN";
++ startup-delay-us = <100000>;
++ };
+ };
+
+ &backlight {
+@@ -117,6 +136,7 @@ wm8904_1a: audio-codec@1a {
+
+ /* Verdin PCIE_1 */
+ &pcie {
++ vpcie-supply = <&reg_pcie>;
+ status = "okay";
+ };
+
+@@ -143,6 +163,11 @@ &reg_usdhc2_vmmc {
+ vin-supply = <&reg_3p3v>;
+ };
+
++/* We support turning off sleep moci on Dahlia */
++&reg_force_sleep_moci {
++ status = "disabled";
++};
++
+ /* Verdin I2S_1 */
+ &sai1 {
+ assigned-clocks = <&clk IMX8MP_CLK_SAI1>;
+@@ -186,6 +211,25 @@ &usb3_phy1 {
+ status = "okay";
+ };
+
++&usb_dwc3_1 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ usb_hub_3_0: usb-hub@1 {
++ compatible = "usb424,5744";
++ reg = <1>;
++ peer-hub = <&usb_hub_2_0>;
++ vdd-supply = <&reg_usb_hub>;
++ };
++
++ usb_hub_2_0: usb-hub@2 {
++ compatible = "usb424,2744";
++ reg = <2>;
++ peer-hub = <&usb_hub_3_0>;
++ vdd-supply = <&reg_usb_hub>;
++ };
++};
++
+ /* Verdin SD_1 */
+ &usdhc2 {
+ status = "okay";
+--
+2.40.1
+