Move CONFIG_PHY_ADDR to Kconfig

CONFIG_PHY_ADDR is used for old-style configuration. This makes
impossible changing the PHY address, if multiple boards share a same
config header file (for example include/configs/sunxi-common.h).

Moving this to Kconfig helps overcoming this issue. It's defined
as entry inside PHYLIB section.

After the implemention, moveconfig was run. The issues are:
	- edb9315a	- CONFIG_PHYLIB is not enabled. Entry is
			  deleted.

	- ds414		- CONFIG_PHYLIB is in incompatible format:
			  { 0x1, 0x0 }. This entry is also deleted.

	- devkit3250	- The PHY_ADDR is in hex format (0x1F).
			  Manually CONFIG_PHY_ADDR=31 is added in
			  the defconfig.

After the changes the suspicious defconfigs passes building.

Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
[jagan: rebased on master]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
diff --git a/README b/README
index 5cf90a4..5fd6428 100644
--- a/README
+++ b/README
@@ -1420,10 +1420,6 @@
 		be at least 4MB.
 
 - MII/PHY support:
-		CONFIG_PHY_ADDR
-
-		The address of PHY on MII bus.
-
 		CONFIG_PHY_CLOCK_FREQ (ppc4xx)
 
 		The clock frequency of the MII bus
diff --git a/configs/devkit3250_defconfig b/configs/devkit3250_defconfig
index fcc80b2..e1a9b49 100644
--- a/configs/devkit3250_defconfig
+++ b/configs/devkit3250_defconfig
@@ -36,6 +36,7 @@
 CONFIG_NAND=y
 CONFIG_SPL_NAND_SIMPLE=y
 CONFIG_PHYLIB=y
+CONFIG_PHY_ADDR=31
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
 CONFIG_LPC32XX_SSP=y
diff --git a/configs/khadas-vim_defconfig b/configs/khadas-vim_defconfig
index a0b3f8d..f4674ef 100644
--- a/configs/khadas-vim_defconfig
+++ b/configs/khadas-vim_defconfig
@@ -20,6 +20,7 @@
 CONFIG_DM_GPIO=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_MESON_GX=y
+CONFIG_PHY_ADDR=8
 CONFIG_PHY_MESON_GXL=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig
index a7177b9..18ddb45 100644
--- a/configs/libretech-cc_defconfig
+++ b/configs/libretech-cc_defconfig
@@ -20,6 +20,7 @@
 CONFIG_DM_GPIO=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_MESON_GX=y
+CONFIG_PHY_ADDR=8
 CONFIG_PHY_MESON_GXL=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/p212_defconfig b/configs/p212_defconfig
index d276e06..b6923f3 100644
--- a/configs/p212_defconfig
+++ b/configs/p212_defconfig
@@ -20,6 +20,7 @@
 CONFIG_DM_GPIO=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_MESON_GX=y
+CONFIG_PHY_ADDR=8
 CONFIG_PHY_MESON_GXL=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 7fd4a8d..25de3fb 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -13,6 +13,13 @@
 
 if PHYLIB
 
+config PHY_ADDR
+	int "PHY address"
+	default 1 if ARCH_SUNXI
+	default 0
+	help
+	  The address of PHY on MII bus. Usually in range of 0 to 31.
+
 config B53_SWITCH
 	bool "Broadcom BCM53xx (RoboSwitch) Ethernet switch PHY support."
 	help
diff --git a/include/configs/am335x_shc.h b/include/configs/am335x_shc.h
index 55e803b..efa4c99 100644
--- a/include/configs/am335x_shc.h
+++ b/include/configs/am335x_shc.h
@@ -258,7 +258,6 @@
 #define CONFIG_BOOTP_DNS2
 #define CONFIG_BOOTP_SEND_HOSTNAME
 #define CONFIG_NET_RETRY_COUNT         10
-#define CONFIG_PHY_ADDR			0
 #define CONFIG_PHY_SMSC
 
 /* I2C configuration */
diff --git a/include/configs/baltos.h b/include/configs/baltos.h
index 5766a36..943a6f8 100644
--- a/include/configs/baltos.h
+++ b/include/configs/baltos.h
@@ -282,7 +282,6 @@
 #endif
 
 /* Network. */
-#define CONFIG_PHY_ADDR			0
 #define CONFIG_PHY_SMSC
 #define CONFIG_MII
 #define CONFIG_PHY_ATHEROS
diff --git a/include/configs/devkit3250.h b/include/configs/devkit3250.h
index 40dee67..23841e0 100644
--- a/include/configs/devkit3250.h
+++ b/include/configs/devkit3250.h
@@ -71,7 +71,6 @@
 #define CONFIG_RMII
 #define CONFIG_PHY_SMSC
 #define CONFIG_LPC32XX_ETH
-#define CONFIG_PHY_ADDR			0x1F
 #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 
 /*
diff --git a/include/configs/ds414.h b/include/configs/ds414.h
index 6921714..ce520b2 100644
--- a/include/configs/ds414.h
+++ b/include/configs/ds414.h
@@ -40,7 +40,6 @@
 #define CONFIG_ENV_SECT_SIZE		(64 << 10) /* 64KiB sectors */
 
 #define CONFIG_PHY_MARVELL		/* there is a marvell phy */
-#define CONFIG_PHY_ADDR			{ 0x1, 0x0 }
 #define CONFIG_SYS_NETA_INTERFACE_TYPE	PHY_INTERFACE_MODE_RGMII
 
 #define CONFIG_SYS_ALT_MEMTEST
diff --git a/include/configs/edb93xx.h b/include/configs/edb93xx.h
index 18ec6cb..0d4ec5c 100644
--- a/include/configs/edb93xx.h
+++ b/include/configs/edb93xx.h
@@ -95,7 +95,6 @@
 #define CONFIG_DRIVER_EP93XX_MAC
 #define CONFIG_MII_SUPPRESS_PREAMBLE
 #define CONFIG_MII
-#define CONFIG_PHY_ADDR		1
 #undef CONFIG_NETCONSOLE
 
 /* SDRAM configuration */
diff --git a/include/configs/khadas-vim.h b/include/configs/khadas-vim.h
index 9d99bc5..f44b388 100644
--- a/include/configs/khadas-vim.h
+++ b/include/configs/khadas-vim.h
@@ -12,8 +12,6 @@
 
 #define CONFIG_MISC_INIT_R
 
-#define CONFIG_PHY_ADDR		8
-
 #define MESON_FDTFILE_SETTING "fdtfile=amlogic/meson-gxl-s905x-khadas-vim.dtb\0"
 
 #include <configs/meson-gxbb-common.h>
diff --git a/include/configs/libretech-cc.h b/include/configs/libretech-cc.h
index ffaca26..08dfb30 100644
--- a/include/configs/libretech-cc.h
+++ b/include/configs/libretech-cc.h
@@ -12,8 +12,6 @@
 
 #define CONFIG_MISC_INIT_R
 
-#define CONFIG_PHY_ADDR		8
-
 #define MESON_FDTFILE_SETTING "fdtfile=amlogic/meson-gxl-s905x-libretech-cc.dtb\0"
 
 #include <configs/meson-gxbb-common.h>
diff --git a/include/configs/p212.h b/include/configs/p212.h
index 793b556..0477384 100644
--- a/include/configs/p212.h
+++ b/include/configs/p212.h
@@ -12,8 +12,6 @@
 
 #define CONFIG_MISC_INIT_R
 
-#define CONFIG_PHY_ADDR 		8
-
 /* Serial setup */
 #define CONFIG_CONS_INDEX		0
 
diff --git a/include/configs/pepper.h b/include/configs/pepper.h
index 7ef2529..960afa0 100644
--- a/include/configs/pepper.h
+++ b/include/configs/pepper.h
@@ -77,7 +77,6 @@
 #define CONFIG_SYS_NS16550_COM1		0x44e09000
 
 /* Ethernet support */
-#define CONFIG_PHY_ADDR			0
 #define CONFIG_PHY_RESET_DELAY 1000
 
 /* SPL */
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index e4e7c22..9d9e9ce 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -288,12 +288,10 @@
 
 /* Ethernet support */
 #ifdef CONFIG_SUN4I_EMAC
-#define CONFIG_PHY_ADDR		1
 #define CONFIG_MII			/* MII PHY management		*/
 #endif
 
 #ifdef CONFIG_SUN7I_GMAC
-#define CONFIG_PHY_ADDR		1
 #define CONFIG_MII			/* MII PHY management		*/
 #define CONFIG_PHY_REALTEK
 #endif
diff --git a/include/configs/work_92105.h b/include/configs/work_92105.h
index cabd815..1374370 100644
--- a/include/configs/work_92105.h
+++ b/include/configs/work_92105.h
@@ -56,7 +56,6 @@
 
 #define CONFIG_PHY_SMSC
 #define CONFIG_LPC32XX_ETH
-#define CONFIG_PHY_ADDR 0
 #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /* FIXME: remove "Waiting for PHY auto negotiation to complete..." message */
 
diff --git a/include/configs/x600.h b/include/configs/x600.h
index bfa6f5e..d80db6a 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -70,7 +70,6 @@
 /* Ethernet config options */
 #define CONFIG_MII
 #define CONFIG_PHY_RESET_DELAY			10000		/* in usec */
-#define CONFIG_PHY_ADDR		0	/* PHY address */
 
 #define CONFIG_SPEAR_GPIO
 
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 3606585..b0958d7 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -1541,7 +1541,6 @@
 CONFIG_PERIF3_FREQ
 CONFIG_PERIF4_FREQ
 CONFIG_PHYSMEM
-CONFIG_PHY_ADDR
 CONFIG_PHY_BASE_ADR
 CONFIG_PHY_BCM5421S
 CONFIG_PHY_ET1011C_TX_CLK_FIX