drivers: phy: add generic PHY framework

The PHY framework provides a set of APIs to control a PHY. This API is
derived from the linux version of the generic PHY framework.
Currently the API supports init(), deinit(), power_on, power_off() and
reset(). The framework provides a way to get a reference to a phy from the
device-tree.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
new file mode 100644
index 0000000..0a74920
--- /dev/null
+++ b/drivers/phy/Kconfig
@@ -0,0 +1,36 @@
+
+menu "PHY Subsystem"
+
+config PHY
+	bool "PHY Core"
+	depends on DM
+	help
+	  PHY support.
+
+	  This framework is designed to provide a generic interface for PHY
+	  devices. PHY devices are dedicated hardware that handle the physical
+	  layer of the protocols in the OSI model.
+	  PHYs are commonly used for high speed interfaces such as Serial-ATA
+	  or PCI express.
+	  The API provides functions to initialize/deinitialize the
+	  PHY, power on/off the PHY, and reset the PHY. It's meant to be as
+	  compatible as possible with the equivalent framework found in the
+	  linux kernel.
+
+config SPL_PHY
+	bool "PHY Core in SPL"
+	depends on DM
+	help
+	  PHY support in SPL.
+
+	  This framework is designed to provide a generic interface for PHY
+	  devices. PHY devices are dedicated hardware that handle the physical
+	  layer of the protocols (https://en.wikipedia.org/wiki/OSI_model).
+	  PHYs are commonly used for high speed interfaces such as Serial-ATA
+	  or PCI express.
+	  The API provides functions to initialize/deinitialize the
+	  PHY, power on/off the PHY, and reset the PHY. It's meant to be as
+	  compatible as possible with the equivalent framework found in the
+	  linux kernel.
+
+endmenu