Deleted Added
full compact
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}