From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Wed, 27 Jan 2016 07:31:01 +0100 Subject: [U-Boot] [PATCH v2 2/3] drivers: usb: ohci-at91: clean up the PLLB code In-Reply-To: <1453860255-29998-3-git-send-email-wenyou.yang@atmel.com> References: <1453860255-29998-1-git-send-email-wenyou.yang@atmel.com> <1453860255-29998-3-git-send-email-wenyou.yang@atmel.com> Message-ID: <56A86425.7090408@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Wenyou, Am 27.01.2016 um 03:04 schrieb Wenyou Yang: > Due to introducing the new PLLB clock handle functions, > use these functions to clean up the PLLB enable/disable code. > > Signed-off-by: Wenyou Yang > --- > > Changes in v2: > - add return value for timeout checking at91_pllb_clk_enable/disable(). > > drivers/usb/host/ohci-at91.c | 22 +++++++--------------- > 1 file changed, 7 insertions(+), 15 deletions(-) Tested on the smartweb board, so: Tested-by: Heiko Schocher bye, Heiko [1] testlog http://xeidos.ddns.net/buildbot/builders/smartweb_dfu/builds/48/steps/shell/logs/tbotlog > > diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c > index 6ae6959..e030a0a 100644 > --- a/drivers/usb/host/ohci-at91.c > +++ b/drivers/usb/host/ohci-at91.c > @@ -9,20 +9,14 @@ > > #if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT) > > -#include > -#include > -#include > #include > > int usb_cpu_init(void) > { > - at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC; > - > #ifdef CONFIG_USB_ATMEL_CLK_SEL_PLLB > - /* Enable PLLB */ > - writel(get_pllb_init(), &pmc->pllbr); > - while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB) > - ; > + if (at91_pllb_clk_enable(get_pllb_init())) > + return -1; > + > #ifdef CONFIG_AT91SAM9N12 > at91_usb_clk_init(AT91_PMC_USBS_USB_PLLB | AT91_PMC_USB_DIV_2); > #endif > @@ -45,8 +39,6 @@ int usb_cpu_init(void) > > int usb_cpu_stop(void) > { > - at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC; > - > at91_periph_clk_disable(ATMEL_ID_UHP); > > at91_system_clk_disable(ATMEL_PMC_UHP); > @@ -58,10 +50,10 @@ int usb_cpu_stop(void) > #ifdef CONFIG_AT91SAM9N12 > at91_usb_clk_init(0); > #endif > - /* Disable PLLB */ > - writel(0, &pmc->pllbr); > - while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != 0) > - ; > + > + if (at91_pllb_clk_disable()) > + return -1; > + > #elif defined(CONFIG_USB_ATMEL_CLK_SEL_UPLL) > if (at91_upll_clk_disable()) > return -1; > -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany