linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed
@ 2019-09-10  6:21 Philippe Schenker
  2019-09-10  6:21 ` [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator Philippe Schenker
  0 siblings, 1 reply; 2+ messages in thread
From: Philippe Schenker @ 2019-09-10  6:21 UTC (permalink / raw)
  To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
  Cc: Mark Rutland, devicetree, Luka Pivk, Stefan Agner,
	Marcel Ziswiler, Philippe Schenker, Rob Herring, NXP Linux Team,
	Max Krummenacher, Fabio Estevam, Pengutronix Kernel Team,
	linux-arm-kernel


Our hardware has a FET that is switching power rail of the ethernet PHY
on and off. This switching enable signal is a clock from the SoC.

There is no possibility in regulator subsystem to have this hardware
reflected in software.

I already discussed with Mark Brown about possible solutions and he
suggested to create at least a new compatible. [1]
This discussion includes also a better explanation of our circuit as
well as schematics. So please refer to that link if you have questions
about that.

In this first attempt I created a new binding "regulator-fixed-clock"
that can take a clock from devicetree. This is a simple addition to
regulator-fixed. If the binding regulator-fixed-clock is given, the
clock is simply enabled on regulator enable and disabled on regulator
disable.
To be able to have multiple consumers a counter variable is also given
that tells how many consumers need power from this regulator.

Best regards,
Philippe

[1] https://lkml.org/lkml/2019/8/7/78


Changes in v2:
- return priv->clk_enable_counter > 0 directly.
- Change select: to if:
- Change items: to enum:
- Defined how many clocks should be given

Philippe Schenker (3):
  regulator: fixed: add possibility to enable by clock
  ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
  dt-bindings: regulator: add regulator-fixed-clock binding

 .../bindings/regulator/fixed-regulator.yaml   | 19 ++++-
 arch/arm/boot/dts/imx6ull-colibri.dtsi        | 12 +++
 drivers/regulator/fixed.c                     | 83 ++++++++++++++++++-
 3 files changed, 110 insertions(+), 4 deletions(-)

-- 
2.23.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator
  2019-09-10  6:21 [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed Philippe Schenker
@ 2019-09-10  6:21 ` Philippe Schenker
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Schenker @ 2019-09-10  6:21 UTC (permalink / raw)
  To: linux-kernel, Mark Brown, Shawn Guo, Sascha Hauer, Liam Girdwood
  Cc: Mark Rutland, devicetree, Luka Pivk, Stefan Agner,
	Marcel Ziswiler, Philippe Schenker, Rob Herring, NXP Linux Team,
	Max Krummenacher, Fabio Estevam, Pengutronix Kernel Team,
	linux-arm-kernel

This adds regulator-fixed-clock, a fixed-regulator that turns on and
off with a clock and add it to the phy.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
---

Changes in v2: None

 arch/arm/boot/dts/imx6ull-colibri.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
index d56728f03c35..76021b842a97 100644
--- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -47,6 +47,17 @@
 		states = <1800000 0x1 3300000 0x0>;
 		vin-supply = <&reg_module_3v3>;
 	};
+
+	reg_eth_phy: regulator-eth-phy {
+		compatible = "regulator-fixed-clock";
+		regulator-boot-on;
+		regulator-name = "eth_phy";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
+		startup-delay-us = <150000>;
+		vin-supply = <&reg_module_3v3>;
+	};
 };
 
 &adc1 {
@@ -66,6 +77,7 @@
 	pinctrl-0 = <&pinctrl_enet2>;
 	phy-mode = "rmii";
 	phy-handle = <&ethphy1>;
+	phy-supply = <&reg_eth_phy>;
 	status = "okay";
 
 	mdio {
-- 
2.23.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-09-10  6:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-10  6:21 [PATCH v2 0/3] Add new binding regulator-fixed-clock to regulator-fixed Philippe Schenker
2019-09-10  6:21 ` [PATCH v2 2/3] ARM: dts: imx6ull-colibri: add phy-supply and respective regulator Philippe Schenker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).