Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: ti: k3-am62-verdin: replace sleep-moci hog with regulator

The Verdin family has a signal called sleep-moci which can be used to
turn off peripherals on the carrier board when the SoM goes into
suspend. So far we have hogged this signal, which means the peripherals
are always on and it is not possible to add peripherals that depend on
the sleep-moci to be on. With this change, we replace the hog with a
regulator so that peripherals can add their own regulators that use the
same gpio. Carrier boards that allow peripherals to be powered off in
suspend can disable this regulator and implement their own regulator to
control the sleep-moci.

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240301084901.16656-2-eichest@gmail.com
Signed-off-by: Nishanth Menon <nm@ti.com>

authored by

Stefan Eichenberger and committed by
Nishanth Menon
566bbb01 5ae1471d

+16 -8
+16 -8
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
··· 138 138 vin-supply = <&reg_1v8>; 139 139 }; 140 140 141 + /* 142 + * By default we enable CTRL_SLEEP_MOCI#, this is required to have 143 + * peripherals on the carrier board powered. 144 + * If more granularity or power saving is required this can be disabled 145 + * in the carrier board device tree files. 146 + */ 147 + reg_force_sleep_moci: regulator-force-sleep-moci { 148 + compatible = "regulator-fixed"; 149 + enable-active-high; 150 + /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 151 + gpio = <&main_gpio0 31 GPIO_ACTIVE_HIGH>; 152 + regulator-always-on; 153 + regulator-boot-on; 154 + regulator-name = "CTRL_SLEEP_MOCI#"; 155 + }; 156 + 141 157 /* Verdin SD_1 Power Supply */ 142 158 reg_sdhc1_vmmc: regulator-sdhci1 { 143 159 compatible = "regulator-fixed"; ··· 1001 985 "", 1002 986 "", 1003 987 ""; 1004 - 1005 - verdin_ctrl_sleep_moci: ctrl-sleep-moci-hog { 1006 - gpio-hog; 1007 - /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 1008 - gpios = <31 GPIO_ACTIVE_HIGH>; 1009 - line-name = "CTRL_SLEEP_MOCI#"; 1010 - output-high; 1011 - }; 1012 988 }; 1013 989 1014 990 &main_gpio1 {