blob: 7469825565892e1df715c87c320c0738e030cce1 [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 Shen58645902014-11-10 15:24:02 +080013#include <asm/arch/sama5d4.h>
14
15char *get_cpu_name()
16{
17 unsigned int extension_id = get_extension_chip_id();
18
19 if (cpu_is_sama5d4())
20 switch (extension_id) {
21 case ARCH_EXID_SAMA5D41:
22 return "SAMA5D41";
23 case ARCH_EXID_SAMA5D42:
24 return "SAMA5D42";
25 case ARCH_EXID_SAMA5D43:
26 return "SAMA5D43";
27 case ARCH_EXID_SAMA5D44:
28 return "SAMA5D44";
29 default:
30 return "Unknown CPU type";
31 }
32 else
33 return "Unknown CPU type";
34}
Bo Shen3d1d9c52014-12-03 18:02:19 +080035
36#ifdef CONFIG_USB_GADGET_ATMEL_USBA
37void at91_udp_hw_init(void)
38{
39 struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
40
41 /* Enable UPLL clock */
42 writel(AT91_PMC_UPLLEN | AT91_PMC_BIASEN, &pmc->uckr);
43 /* Enable UDPHS clock */
44 at91_periph_clk_enable(ATMEL_ID_UDPHS);
45}
46#endif