summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-arm64-dts-freescale-imx8mm-verdin-dahlia-support-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-upstream-6.6/0004-arm64-dts-freescale-imx8mm-verdin-dahlia-support-.patch')
-rw-r--r--recipes-kernel/linux/linux-toradex-upstream-6.6/0004-arm64-dts-freescale-imx8mm-verdin-dahlia-support-.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-arm64-dts-freescale-imx8mm-verdin-dahlia-support-.patch b/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-arm64-dts-freescale-imx8mm-verdin-dahlia-support-.patch
new file mode 100644
index 0000000..7749b0e
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-upstream-6.6/0004-arm64-dts-freescale-imx8mm-verdin-dahlia-support-.patch
@@ -0,0 +1,90 @@
+From fad8b15c2eabbded61c821a04238b5fa2fb596c9 Mon Sep 17 00:00:00 2001
+From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
+Date: Fri, 26 Jan 2024 13:41:14 +0100
+Subject: [PATCH v1 4/4] arm64: dts: freescale: imx8mm-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/imx8mm-verdin-dahlia.dtsi | 33 +++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi
+index b64dac4f29c2..393fc9e20423 100644
+--- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi
++++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi
+@@ -32,6 +32,25 @@ simple-audio-card,cpu {
+ sound-dai = <&sai2>;
+ };
+ };
++
++ reg_usb_hub: regulator-usb-hub {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
++ gpio = <&gpio5 1 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 = <&gpio5 1 GPIO_ACTIVE_HIGH>;
++ regulator-boot-on;
++ regulator-name = "PCIE_1_PWR_EN";
++ startup-delay-us = <100000>;
++ };
+ };
+
+ /* Verdin SPI_1 */
+@@ -98,6 +117,7 @@ wm8904_1a: audio-codec@1a {
+
+ /* Verdin PCIE_1 */
+ &pcie0 {
++ vpcie-supply = <&reg_pcie>;
+ status = "okay";
+ };
+
+@@ -120,6 +140,11 @@ &pwm3 {
+ status = "okay";
+ };
+
++/* We support turning off sleep moci on Dahlia */
++&reg_force_sleep_moci {
++ status = "disabled";
++};
++
+ /* Verdin I2S_1 */
+ &sai2 {
+ status = "okay";
+@@ -148,8 +173,16 @@ &usbotg1 {
+
+ /* Verdin USB_2 */
+ &usbotg2 {
++ #address-cells = <1>;
++ #size-cells = <0>;
+ disable-over-current;
+ status = "okay";
++
++ usb-hub@1 {
++ compatible = "usb424,2744";
++ reg = <1>;
++ vdd-supply = <&reg_usb_hub>;
++ };
+ };
+
+ /* Verdin SD_1 */
+--
+2.40.1
+