board/ls2085rdb: Export functions for standalone AQ FW load apps
Export functions required by Aquntia PHY firmware load application. functions are memset, strcpy, mdelay, mdio_get_current_dev, phy_find_by_mask, mdio_phydev_for_ethname and miiphy_set_current_dev Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
This commit is contained in:
		
							parent
							
								
									56c57cf7e9
								
							
						
					
					
						commit
						9527931507
					
				| @ -14,10 +14,13 @@ | |||||||
| #include <phy.h> | #include <phy.h> | ||||||
| #include <fm_eth.h> | #include <fm_eth.h> | ||||||
| #include <asm/io.h> | #include <asm/io.h> | ||||||
|  | #include <exports.h> | ||||||
| #include <asm/arch/fsl_serdes.h> | #include <asm/arch/fsl_serdes.h> | ||||||
| #include <asm/arch-fsl-lsch3/immap_lsch3.h> | #include <asm/arch-fsl-lsch3/immap_lsch3.h> | ||||||
| #include <fsl-mc/ldpaa_wriop.h> | #include <fsl-mc/ldpaa_wriop.h> | ||||||
| 
 | 
 | ||||||
|  | DECLARE_GLOBAL_DATA_PTR; | ||||||
|  | 
 | ||||||
| int load_firmware_cortina(struct phy_device *phy_dev) | int load_firmware_cortina(struct phy_device *phy_dev) | ||||||
| { | { | ||||||
| 	if (phy_dev->drv->config) | 	if (phy_dev->drv->config) | ||||||
| @ -129,5 +132,17 @@ int board_eth_init(bd_t *bis) | |||||||
| 	cpu_eth_init(bis); | 	cpu_eth_init(bis); | ||||||
| #endif /* CONFIG_FMAN_ENET */ | #endif /* CONFIG_FMAN_ENET */ | ||||||
| 
 | 
 | ||||||
|  | #ifdef CONFIG_PHY_AQUANTIA | ||||||
|  | 	/*
 | ||||||
|  | 	 * Export functions to be used by AQ firmware | ||||||
|  | 	 * upload application | ||||||
|  | 	 */ | ||||||
|  | 	gd->jt->strcpy = strcpy; | ||||||
|  | 	gd->jt->mdelay = mdelay; | ||||||
|  | 	gd->jt->mdio_get_current_dev = mdio_get_current_dev; | ||||||
|  | 	gd->jt->phy_find_by_mask = phy_find_by_mask; | ||||||
|  | 	gd->jt->mdio_phydev_for_ethname = mdio_phydev_for_ethname; | ||||||
|  | 	gd->jt->miiphy_set_current_dev = miiphy_set_current_dev; | ||||||
|  | #endif | ||||||
| 	return pci_eth_init(bis); | 	return pci_eth_init(bis); | ||||||
| } | } | ||||||
|  | |||||||
| @ -16,6 +16,13 @@ unsigned long get_version(void) | |||||||
| 
 | 
 | ||||||
| #define EXPORT_FUNC(f, a, x, ...)  gd->jt->x = f; | #define EXPORT_FUNC(f, a, x, ...)  gd->jt->x = f; | ||||||
| 
 | 
 | ||||||
|  | #ifndef CONFIG_PHY_AQUANTIA | ||||||
|  | # define mdio_get_current_dev		dummy | ||||||
|  | # define phy_find_by_mask		dummy | ||||||
|  | # define mdio_phydev_for_ethname	dummy | ||||||
|  | # define miiphy_set_current_dev		dummy | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| void jumptable_init(void) | void jumptable_init(void) | ||||||
| { | { | ||||||
| 	gd->jt = malloc(sizeof(struct jt_funcs)); | 	gd->jt = malloc(sizeof(struct jt_funcs)); | ||||||
|  | |||||||
| @ -73,3 +73,16 @@ | |||||||
| 		    const char *, char **, unsigned int) | 		    const char *, char **, unsigned int) | ||||||
| 	EXPORT_FUNC(ustrtoull, unsigned long long, ustrtoull, | 	EXPORT_FUNC(ustrtoull, unsigned long long, ustrtoull, | ||||||
| 		    const char *, char **, unsigned int) | 		    const char *, char **, unsigned int) | ||||||
|  | 	EXPORT_FUNC(strcpy, char *, strcpy, char *dest, const char *src) | ||||||
|  | 	EXPORT_FUNC(mdelay, void, mdelay, unsigned long msec) | ||||||
|  | #ifdef CONFIG_PHY_AQUANTIA | ||||||
|  | 	EXPORT_FUNC(mdio_get_current_dev, struct mii_dev *, | ||||||
|  | 		    mdio_get_current_dev, void) | ||||||
|  | 	EXPORT_FUNC(phy_find_by_mask, struct phy_device *, phy_find_by_mask, | ||||||
|  | 		    struct mii_dev *bus, unsigned phy_mask, | ||||||
|  | 		    phy_interface_t interface) | ||||||
|  | 	EXPORT_FUNC(mdio_phydev_for_ethname, struct phy_device *, | ||||||
|  | 		    mdio_phydev_for_ethname, const char *ethname) | ||||||
|  | 	EXPORT_FUNC(miiphy_set_current_dev, int, miiphy_set_current_dev, | ||||||
|  | 		    const char *devname) | ||||||
|  | #endif | ||||||
|  | |||||||
| @ -322,6 +322,7 @@ unsigned long get_board_sys_clk(void); | |||||||
| #define CONFIG_MII | #define CONFIG_MII | ||||||
| #define CONFIG_ETHPRIME		"DPNI1" | #define CONFIG_ETHPRIME		"DPNI1" | ||||||
| #define CONFIG_PHY_GIGE | #define CONFIG_PHY_GIGE | ||||||
|  | #define CONFIG_PHY_AQUANTIA | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #endif /* __LS2_RDB_H */ | #endif /* __LS2_RDB_H */ | ||||||
|  | |||||||
| @ -2,6 +2,10 @@ | |||||||
| #define __EXPORTS_H__ | #define __EXPORTS_H__ | ||||||
| 
 | 
 | ||||||
| #ifndef __ASSEMBLY__ | #ifndef __ASSEMBLY__ | ||||||
|  | #ifdef CONFIG_PHY_AQUANTIA | ||||||
|  | #include <miiphy.h> | ||||||
|  | #include <phy.h> | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| struct spi_slave; | struct spi_slave; | ||||||
| 
 | 
 | ||||||
| @ -34,6 +38,13 @@ unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base); | |||||||
| int i2c_write (uchar, uint, int , uchar* , int); | int i2c_write (uchar, uint, int , uchar* , int); | ||||||
| int i2c_read (uchar, uint, int , uchar* , int); | int i2c_read (uchar, uint, int , uchar* , int); | ||||||
| #endif | #endif | ||||||
|  | #ifdef CONFIG_PHY_AQUANTIA | ||||||
|  | struct mii_dev *mdio_get_current_dev(void); | ||||||
|  | struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask, | ||||||
|  | 		phy_interface_t interface); | ||||||
|  | struct phy_device *mdio_phydev_for_ethname(const char *ethname); | ||||||
|  | int miiphy_set_current_dev(const char *devname); | ||||||
|  | #endif | ||||||
| 
 | 
 | ||||||
| void app_startup(char * const *); | void app_startup(char * const *); | ||||||
| 
 | 
 | ||||||
| @ -46,7 +57,7 @@ struct jt_funcs { | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #define XF_VERSION	7 | #define XF_VERSION	8 | ||||||
| 
 | 
 | ||||||
| #if defined(CONFIG_X86) | #if defined(CONFIG_X86) | ||||||
| extern gd_t *global_data; | extern gd_t *global_data; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user