Lines Matching +full:cpu +full:- +full:map

1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2013-15 Synopsys, Inc. (www.synopsys.com)
12 #include <asm/asm-offsets.h>
31 * Peripherals on CPU Card and Mother Board are wired to cpu intc via in axs10x_enable_gpio_intc_wire()
34 * --------------------- in axs10x_enable_gpio_intc_wire()
35 * | snps,arc700-intc | in axs10x_enable_gpio_intc_wire()
36 * --------------------- in axs10x_enable_gpio_intc_wire()
38 * ------------------- ------------------- in axs10x_enable_gpio_intc_wire()
39 * | snps,dw-apb-gpio | | snps,dw-apb-gpio | in axs10x_enable_gpio_intc_wire()
40 * ------------------- ------------------- in axs10x_enable_gpio_intc_wire()
42 * | [ Debug UART on cpu card ] in axs10x_enable_gpio_intc_wire()
44 * ------------------------ in axs10x_enable_gpio_intc_wire()
45 * | snps,dw-apb-intc (MB)| in axs10x_enable_gpio_intc_wire()
46 * ------------------------ in axs10x_enable_gpio_intc_wire()
50 * Current implementation of "irq-dw-apb-ictl" driver doesn't work well in axs10x_enable_gpio_intc_wire()
52 * not yet instantiated. See discussion here - in axs10x_enable_gpio_intc_wire()
56 * DT hardware topology - connect MB intc directly to cpu intc in axs10x_enable_gpio_intc_wire()
88 pr_info("AXS: %s FPGA Date: %u-%u-%u\n", str, board.d, board.m, in axs10x_print_board_ver()
99 mb_rev = 3; /* HT-3 (rev3.0) */ in axs10x_early_init()
101 mb_rev = 2; /* HT-2 (rev2.0) */ in axs10x_early_init()
120 * Set up System Memory Map for ARC cpu / peripherals controllers
122 * Each AXI master has a 4GB memory map specified as 16 apertures of 256MB, each
123 * of which maps to a corresponding 256MB aperture in Target slave memory map.
125 * e.g. ARC cpu AXI Master's aperture 8 (0x8000_0000) is mapped to aperture 0
128 * Access from cpu to MB controllers such as GMAC is setup using AXI Tunnel:
130 * e.g. aperture 14 (0xE000_0000) of ARC cpu is mapped to aperture 14
131 * (0xE000_0000) of CPU Card AXI Tunnel slave (slave #3) which is mapped to
132 * MB AXI Tunnel Master, which also has a mem map setup
134 * In the reverse direction, MB AXI Masters (e.g. GMAC) mem map is setup
135 * to map to MB AXI Tunnel slave which connects to CPU Card AXI Tunnel Master
141 /* CPU Card target slaves */
161 * memmap for ARC core on CPU Card
179 {AXC001_SLV_AXI2APB, 0x0}, /* CPU Card local CREG, CGU... */
183 * memmap for CPU Card AXI Tunnel Master (for access by MB controllers)
184 * GMAC (MB) -> MB AXI Tunnel slave -> CPU Card AXI Tunnel Master -> DDR
207 * Same mem map for all perip controllers as well as MB AXI Tunnel Master
218 {AXS_MB_SLV_AXI_TUNNEL_CPU, 0x8}, /* DDR on CPU Card */
219 {AXS_MB_SLV_AXI_TUNNEL_CPU, 0x9}, /* DDR on CPU Card */
229 axs101_set_memmap(void __iomem *base, const struct aperture map[16]) in axs101_set_memmap()
236 slave_select |= map[i].slave_sel << (i << 2); in axs101_set_memmap()
237 slave_offset |= map[i].slave_off << (i << 2); in axs101_set_memmap()
245 slave_select |= map[i+8].slave_sel << (i << 2); in axs101_set_memmap()
246 slave_offset |= map[i+8].slave_off << (i << 2); in axs101_set_memmap()
261 /* AXI tunnel memory map (incoming traffic from MB into CPU Card */ in axs101_early_init()
266 /* MB peripherals memory map */ in axs101_early_init()
282 /* map GPIO 14:10 to ARC 9:5 (IRQ mux change for MB v2 onwards) */ in axs101_early_init()
320 "assigned-clock-rates", NULL); in axs103_early_init()
321 freq = be32_to_cpu(*(u32 *)(prop->data)); in axs103_early_init()
323 /* Patching .dtb in-place with new core clock value */ in axs103_early_init()
327 "assigned-clock-rates", &freq, sizeof(freq)); in axs103_early_init()
332 /* Memory maps already config in pre-bootloader */ in axs103_early_init()
344 /* connect ICTL - Main Board with GPIO line */ in axs103_early_init()
347 axs10x_print_board_ver(AXC003_CREG + 4088, "AXC003 CPU Card"); in axs103_early_init()
380 * For the VDK OS-kit, to get the offset to pid and command fields