Blame view
arch/arm/cpu/armv7/socfpga/misc.c
2.18 KB
777544085 ARM: Add Altera S... |
1 2 3 |
/* * Copyright (C) 2012 Altera Corporation <www.altera.com> * |
1a4596601 Add GPL-2.0+ SPDX... |
4 |
* SPDX-License-Identifier: GPL-2.0+ |
777544085 ARM: Add Altera S... |
5 6 7 8 |
*/ #include <common.h> #include <asm/io.h> |
99b97106f socfpga: initiali... |
9 10 |
#include <miiphy.h> #include <netdev.h> |
de6da9255 arm: socfpga: Add... |
11 |
#include <asm/arch/reset_manager.h> |
45d6e6771 arm: socfpga: mis... |
12 |
#include <asm/arch/system_manager.h> |
777544085 ARM: Add Altera S... |
13 14 |
DECLARE_GLOBAL_DATA_PTR; |
45d6e6771 arm: socfpga: mis... |
15 16 |
static struct socfpga_system_manager *sysmgr_regs = (struct socfpga_system_manager *)SOCFPGA_SYSMGR_ADDRESS; |
777544085 ARM: Add Altera S... |
17 18 19 20 21 |
int dram_init(void) { gd->ram_size = get_ram_size((long *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE); return 0; } |
23f23f23d socfpga: Relocate... |
22 |
|
45d6e6771 arm: socfpga: mis... |
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
/* * DesignWare Ethernet initialization */ #ifdef CONFIG_DESIGNWARE_ETH int cpu_eth_init(bd_t *bis) { #if CONFIG_EMAC_BASE == SOCFPGA_EMAC0_ADDRESS const int physhift = SYSMGR_EMACGRP_CTRL_PHYSEL0_LSB; #elif CONFIG_EMAC_BASE == SOCFPGA_EMAC1_ADDRESS const int physhift = SYSMGR_EMACGRP_CTRL_PHYSEL1_LSB; #else #error "Incorrect CONFIG_EMAC_BASE value!" #endif /* Initialize EMAC. This needs to be done at least once per boot. */ /* * Putting the EMAC controller to reset when configuring the PHY * interface select at System Manager */ socfpga_emac_reset(1); /* Clearing emac0 PHY interface select to 0 */ clrbits_le32(&sysmgr_regs->emacgrp_ctrl, SYSMGR_EMACGRP_CTRL_PHYSEL_MASK << physhift); /* configure to PHY interface select choosed */ setbits_le32(&sysmgr_regs->emacgrp_ctrl, SYSMGR_EMACGRP_CTRL_PHYSEL_ENUM_RGMII << physhift); /* Release the EMAC controller from reset */ socfpga_emac_reset(0); /* initialize and register the emac */ return designware_initialize(CONFIG_EMAC_BASE, CONFIG_PHY_INTERFACE_MODE); } #endif |
23f23f23d socfpga: Relocate... |
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
#if defined(CONFIG_DISPLAY_CPUINFO) /* * Print CPU information */ int print_cpuinfo(void) { puts("CPU : Altera SOCFPGA Platform "); return 0; } #endif #if defined(CONFIG_SYS_CONSOLE_IS_IN_ENV) && \ defined(CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE) int overwrite_console(void) { return 0; } #endif |
de6da9255 arm: socfpga: Add... |
80 81 82 83 84 85 86 87 88 89 90 91 |
int arch_cpu_init(void) { /* * If the HW watchdog is NOT enabled, make sure it is not running, * for example because it was enabled in the preloader. This might * trigger a watchdog-triggered reboot of Linux kernel later. */ #ifndef CONFIG_HW_WATCHDOG socfpga_watchdog_reset(); #endif return 0; } |
23f23f23d socfpga: Relocate... |
92 93 94 95 |
int misc_init_r(void) { return 0; } |