mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-29 16:10:24 +09:00
usb: exynos5: arndale: Add network support
Arndale board has AX88760, which is USB 2.0 Hub & USB 2.0 Ethernet Combo controller, connected to HSIC Phy of USB host controller via USB3503 hub. This patch uses board specific board_usb_init function to perform reset sequence for USB3503 hub and enables the relevant config options for network to work. Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
This commit is contained in:
parent
16f9480dfc
commit
7da7651251
@ -5,12 +5,33 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
#include <usb.h>
|
||||||
#include <asm/arch/pinmux.h>
|
#include <asm/arch/pinmux.h>
|
||||||
#include <asm/arch/dwmmc.h>
|
#include <asm/arch/dwmmc.h>
|
||||||
|
#include <asm/arch/gpio.h>
|
||||||
#include <asm/arch/power.h>
|
#include <asm/arch/power.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
#ifdef CONFIG_USB_EHCI_EXYNOS
|
||||||
|
int board_usb_init(int index, enum usb_init_type init)
|
||||||
|
{
|
||||||
|
struct exynos5_gpio_part1 *gpio = (struct exynos5_gpio_part1 *)
|
||||||
|
samsung_get_base_gpio_part1();
|
||||||
|
|
||||||
|
/* Configure gpios for usb 3503 hub:
|
||||||
|
* disconnect, toggle reset and connect
|
||||||
|
*/
|
||||||
|
s5p_gpio_direction_output(&gpio->d1, 7, 0);
|
||||||
|
s5p_gpio_direction_output(&gpio->x3, 5, 0);
|
||||||
|
|
||||||
|
s5p_gpio_direction_output(&gpio->x3, 5, 1);
|
||||||
|
s5p_gpio_direction_output(&gpio->d1, 7, 1);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
|
gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
|
||||||
|
@ -203,6 +203,8 @@ int ehci_hcd_init(int index, enum usb_init_type init,
|
|||||||
|
|
||||||
setup_usb_phy(ctx->usb);
|
setup_usb_phy(ctx->usb);
|
||||||
|
|
||||||
|
board_usb_init(index, init);
|
||||||
|
|
||||||
*hccr = ctx->hcd;
|
*hccr = ctx->hcd;
|
||||||
*hcor = (struct ehci_hcor *)((uint32_t) *hccr
|
*hcor = (struct ehci_hcor *)((uint32_t) *hccr
|
||||||
+ HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
|
+ HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
|
||||||
|
@ -117,6 +117,10 @@
|
|||||||
#define CONFIG_USB_EHCI_EXYNOS
|
#define CONFIG_USB_EHCI_EXYNOS
|
||||||
#define CONFIG_USB_STORAGE
|
#define CONFIG_USB_STORAGE
|
||||||
|
|
||||||
|
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
|
||||||
|
#define CONFIG_USB_HOST_ETHER
|
||||||
|
#define CONFIG_USB_ETHER_ASIX
|
||||||
|
|
||||||
/* MMC SPL */
|
/* MMC SPL */
|
||||||
#define CONFIG_EXYNOS_SPL
|
#define CONFIG_EXYNOS_SPL
|
||||||
#define CONFIG_SPL
|
#define CONFIG_SPL
|
||||||
|
Loading…
Reference in New Issue
Block a user