mv_common.c (275799) | mv_common.c (294416) |
---|---|
1/*- 2 * Copyright (C) 2008-2011 MARVELL INTERNATIONAL LTD. 3 * All rights reserved. 4 * 5 * Developed by Semihalf. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 16 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#include <sys/cdefs.h> | 1/*- 2 * Copyright (C) 2008-2011 MARVELL INTERNATIONAL LTD. 3 * All rights reserved. 4 * 5 * Developed by Semihalf. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 16 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#include <sys/cdefs.h> |
33__FBSDID("$FreeBSD: head/sys/arm/mv/mv_common.c 275799 2014-12-15 11:57:39Z br $"); | 33__FBSDID("$FreeBSD: head/sys/arm/mv/mv_common.c 294416 2016-01-20 13:14:36Z zbb $"); |
34 35#include <sys/param.h> 36#include <sys/systm.h> 37#include <sys/bus.h> 38#include <sys/kernel.h> 39#include <sys/malloc.h> 40#include <sys/kdb.h> 41#include <sys/reboot.h> --- 213 unchanged lines hidden (view full) --- 255 256void 257write_cpu_ctrl(uint32_t reg, uint32_t val) 258{ 259 260 bus_space_write_4(fdtbus_bs_tag, MV_CPU_CONTROL_BASE, reg, val); 261} 262 | 34 35#include <sys/param.h> 36#include <sys/systm.h> 37#include <sys/bus.h> 38#include <sys/kernel.h> 39#include <sys/malloc.h> 40#include <sys/kdb.h> 41#include <sys/reboot.h> --- 213 unchanged lines hidden (view full) --- 255 256void 257write_cpu_ctrl(uint32_t reg, uint32_t val) 258{ 259 260 bus_space_write_4(fdtbus_bs_tag, MV_CPU_CONTROL_BASE, reg, val); 261} 262 |
263#if defined(SOC_MV_ARMADAXP) | 263#if defined(SOC_MV_ARMADAXP) || defined(SOC_MV_ARMADA38X) |
264uint32_t 265read_cpu_mp_clocks(uint32_t reg) 266{ 267 268 return (bus_space_read_4(fdtbus_bs_tag, MV_MP_CLOCKS_BASE, reg)); 269} 270 271void --- 17 unchanged lines hidden (view full) --- 289 bus_space_write_4(fdtbus_bs_tag, MV_MISC_BASE, reg, val); 290} 291#endif 292 293void 294cpu_reset(void) 295{ 296 | 264uint32_t 265read_cpu_mp_clocks(uint32_t reg) 266{ 267 268 return (bus_space_read_4(fdtbus_bs_tag, MV_MP_CLOCKS_BASE, reg)); 269} 270 271void --- 17 unchanged lines hidden (view full) --- 289 bus_space_write_4(fdtbus_bs_tag, MV_MISC_BASE, reg, val); 290} 291#endif 292 293void 294cpu_reset(void) 295{ 296 |
297#if defined(SOC_MV_ARMADAXP) | 297#if defined(SOC_MV_ARMADAXP) || defined (SOC_MV_ARMADA38X) |
298 write_cpu_misc(RSTOUTn_MASK, SOFT_RST_OUT_EN); 299 write_cpu_misc(SYSTEM_SOFT_RESET, SYS_SOFT_RST); 300#else 301 write_cpu_ctrl(RSTOUTn_MASK, SOFT_RST_OUT_EN); 302 write_cpu_ctrl(SYSTEM_SOFT_RESET, SYS_SOFT_RST); 303#endif 304 while (1); 305} --- 131 unchanged lines hidden (view full) --- 437 break; 438 case MV_DEV_88F6282: 439 dev = "Marvell 88F6282"; 440 if (r == 0) 441 rev = "A0"; 442 else if (r == 1) 443 rev = "A1"; 444 break; | 298 write_cpu_misc(RSTOUTn_MASK, SOFT_RST_OUT_EN); 299 write_cpu_misc(SYSTEM_SOFT_RESET, SYS_SOFT_RST); 300#else 301 write_cpu_ctrl(RSTOUTn_MASK, SOFT_RST_OUT_EN); 302 write_cpu_ctrl(SYSTEM_SOFT_RESET, SYS_SOFT_RST); 303#endif 304 while (1); 305} --- 131 unchanged lines hidden (view full) --- 437 break; 438 case MV_DEV_88F6282: 439 dev = "Marvell 88F6282"; 440 if (r == 0) 441 rev = "A0"; 442 else if (r == 1) 443 rev = "A1"; 444 break; |
445 case MV_DEV_88F6828: 446 dev = "Marvell 88F6828"; 447 break; 448 case MV_DEV_88F6820: 449 dev = "Marvell 88F6820"; 450 break; 451 case MV_DEV_88F6810: 452 dev = "Marvell 88F6810"; 453 break; |
|
445 case MV_DEV_MV78100_Z0: 446 dev = "Marvell MV78100 Z0"; 447 break; 448 case MV_DEV_MV78100: 449 dev = "Marvell MV78100"; 450 break; 451 case MV_DEV_MV78160: 452 dev = "Marvell MV78160"; --- 1737 unchanged lines hidden (view full) --- 2190{ 2191 uint32_t sar_low, sar_high; 2192 2193#if defined(SOC_MV_ARMADAXP) 2194 sar_high = bus_space_read_4(fdtbus_bs_tag, MV_MISC_BASE, 2195 SAMPLE_AT_RESET_HI); 2196 sar_low = bus_space_read_4(fdtbus_bs_tag, MV_MISC_BASE, 2197 SAMPLE_AT_RESET_LO); | 454 case MV_DEV_MV78100_Z0: 455 dev = "Marvell MV78100 Z0"; 456 break; 457 case MV_DEV_MV78100: 458 dev = "Marvell MV78100"; 459 break; 460 case MV_DEV_MV78160: 461 dev = "Marvell MV78160"; --- 1737 unchanged lines hidden (view full) --- 2199{ 2200 uint32_t sar_low, sar_high; 2201 2202#if defined(SOC_MV_ARMADAXP) 2203 sar_high = bus_space_read_4(fdtbus_bs_tag, MV_MISC_BASE, 2204 SAMPLE_AT_RESET_HI); 2205 sar_low = bus_space_read_4(fdtbus_bs_tag, MV_MISC_BASE, 2206 SAMPLE_AT_RESET_LO); |
2207#elif defined(SOC_MV_ARMADA38X) 2208 sar_high = 0; 2209 sar_low = bus_space_read_4(fdtbus_bs_tag, MV_MISC_BASE, 2210 SAMPLE_AT_RESET); |
|
2198#else 2199 /* 2200 * TODO: Add getting proper values for other SoC configurations 2201 */ 2202 sar_high = 0; 2203 sar_low = 0; 2204#endif 2205 2206 return (((uint64_t)sar_high << 32) | sar_low); 2207} | 2211#else 2212 /* 2213 * TODO: Add getting proper values for other SoC configurations 2214 */ 2215 sar_high = 0; 2216 sar_low = 0; 2217#endif 2218 2219 return (((uint64_t)sar_high << 32) | sar_low); 2220} |