blob: ce33cd4988885c76a8432cd683e95041828c6e0e [file] [log] [blame]
Bo Shen58645902014-11-10 15:24:02 +08001/*
2 * Copyright (C) 2014 Atmel
3 * Bo Shen <voice.shen@atmel.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#include <common.h>
Bo Shen3d1d9c52014-12-03 18:02:19 +08009#include <asm/io.h>
10#include <asm/arch/at91_common.h>
11#include <asm/arch/at91_pmc.h>
12#include <asm/arch/clk.h>
Bo Shene1ec15c2014-12-15 13:24:35 +080013#include <asm/arch/sama5_sfr.h>
Bo Shen58645902014-11-10 15:24:02 +080014#include <asm/arch/sama5d4.h>
15
16char *get_cpu_name()
17{
18 unsigned int extension_id = get_extension_chip_id();
19
20 if (cpu_is_sama5d4())
21 switch (extension_id) {
22 case ARCH_EXID_SAMA5D41:
23 return "SAMA5D41";
24 case ARCH_EXID_SAMA5D42:
25 return "SAMA5D42";
26 case ARCH_EXID_SAMA5D43:
27 return "SAMA5D43";
28 case ARCH_EXID_SAMA5D44:
29 return "SAMA5D44";
30 default:
31 return "Unknown CPU type";
32 }
33 else
34 return "Unknown CPU type";
35}
Bo Shen3d1d9c52014-12-03 18:02:19 +080036
37#ifdef CONFIG_USB_GADGET_ATMEL_USBA
38void at91_udp_hw_init(void)
39{
40 struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
41
42 /* Enable UPLL clock */
43 writel(AT91_PMC_UPLLEN | AT91_PMC_BIASEN, &pmc->uckr);
44 /* Enable UDPHS clock */
45 at91_periph_clk_enable(ATMEL_ID_UDPHS);
46}
47#endif