diff options
Diffstat (limited to 'board/sunxi/board.c')
-rw-r--r-- | board/sunxi/board.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 52792bd364..bc90032866 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -598,6 +598,8 @@ int misc_init_r(void) unsigned int sid[4]; uint8_t mac_addr[6]; int ret; + struct sunxi_ccm_reg *const ccm = + (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; #if !defined(CONFIG_SPL_BUILD) setenv("fel_booted", NULL); @@ -636,6 +638,23 @@ int misc_init_r(void) if (ret) return ret; #endif + +#ifdef CONFIG_SUNXI_ARMADILLO + sunxi_gpio_set_cfgpin(SUNXI_GPA(11), SUN9I_GPA_CLKOUT); + setbits_le32(&ccm->clk_output_b, CLK_OUTPUT_ENABLE | + CLK_OUTPUT_SRC_OSC24M | CLK_OUTPUT_DIV_N_RATIO(2)); + + gpio_request(SUNXI_GPA(6), "USB HSIC HUB Reset"); + sunxi_gpio_set_cfgpin(SUNXI_GPA(6), SUNXI_GPIO_OUTPUT); + gpio_request(SUNXI_GPE(15), "USB HUB Reset"); + sunxi_gpio_set_cfgpin(SUNXI_GPE(15), SUNXI_GPIO_OUTPUT); + gpio_request(SUNXI_GPG(0), "GL830 Reset"); + sunxi_gpio_set_cfgpin(SUNXI_GPE(15), SUNXI_GPIO_OUTPUT); + gpio_direction_output(SUNXI_GPA(6),1); + gpio_direction_output(SUNXI_GPE(15),1); + gpio_direction_output(SUNXI_GPG(0),1); +#endif + sunxi_musb_board_init(); return 0; |