1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15 16 #ifndef __SYSTEM_LOCAL_H_INCLUDED__ 17 #define __SYSTEM_LOCAL_H_INCLUDED__ 18 19 #ifdef HRT_ISP_CSS_CUSTOM_HOST 20 #ifndef HRT_USE_VIR_ADDRS 21 #define HRT_USE_VIR_ADDRS 22 #endif 23 #endif 24 25 #include "system_global.h" 26 27 /* This interface is deprecated */ 28 #include "hive_types.h" 29 30 /* 31 * Cell specific address maps 32 */ 33 34 #define GP_FIFO_BASE ((hrt_address)0x0000000000090104) /* This is NOT a base address */ 35 36 /* ISP */ 37 extern const hrt_address ISP_CTRL_BASE[N_ISP_ID]; 38 extern const hrt_address ISP_DMEM_BASE[N_ISP_ID]; 39 extern const hrt_address ISP_BAMEM_BASE[N_BAMEM_ID]; 40 41 /* SP */ 42 extern const hrt_address SP_CTRL_BASE[N_SP_ID]; 43 extern const hrt_address SP_DMEM_BASE[N_SP_ID]; 44 45 /* MMU */ 46 47 extern const hrt_address MMU_BASE[N_MMU_ID]; 48 49 /* DMA */ 50 extern const hrt_address DMA_BASE[N_DMA_ID]; 51 extern const hrt_address ISYS2401_DMA_BASE[N_ISYS2401_DMA_ID]; 52 53 /* IRQ */ 54 extern const hrt_address IRQ_BASE[N_IRQ_ID]; 55 56 /* GDC */ 57 extern const hrt_address GDC_BASE[N_GDC_ID]; 58 59 /* FIFO_MONITOR (not a subset of GP_DEVICE) */ 60 extern const hrt_address FIFO_MONITOR_BASE[N_FIFO_MONITOR_ID]; 61 62 /* GP_DEVICE (single base for all separate GP_REG instances) */ 63 extern const hrt_address GP_DEVICE_BASE[N_GP_DEVICE_ID]; 64 65 /*GP TIMER , all timer registers are inter-twined, 66 * so, having multiple base addresses for 67 * different timers does not help*/ 68 extern const hrt_address GP_TIMER_BASE; 69 70 /* GPIO */ 71 extern const hrt_address GPIO_BASE[N_GPIO_ID]; 72 73 /* TIMED_CTRL */ 74 extern const hrt_address TIMED_CTRL_BASE[N_TIMED_CTRL_ID]; 75 76 /* INPUT_FORMATTER */ 77 extern const hrt_address INPUT_FORMATTER_BASE[N_INPUT_FORMATTER_ID]; 78 79 /* INPUT_SYSTEM */ 80 extern const hrt_address INPUT_SYSTEM_BASE[N_INPUT_SYSTEM_ID]; 81 82 /* RX, the MIPI lane control regs start at offset 0 */ 83 extern const hrt_address RX_BASE[N_RX_ID]; 84 85 /* IBUF_CTRL, part of the Input System 2401 */ 86 extern const hrt_address IBUF_CTRL_BASE[N_IBUF_CTRL_ID]; 87 88 /* ISYS IRQ Controllers, part of the Input System 2401 */ 89 extern const hrt_address ISYS_IRQ_BASE[N_ISYS_IRQ_ID]; 90 91 /* CSI FE, part of the Input System 2401 */ 92 extern const hrt_address CSI_RX_FE_CTRL_BASE[N_CSI_RX_FRONTEND_ID]; 93 94 /* CSI BE, part of the Input System 2401 */ 95 extern const hrt_address CSI_RX_BE_CTRL_BASE[N_CSI_RX_BACKEND_ID]; 96 97 /* PIXEL Generator, part of the Input System 2401 */ 98 extern const hrt_address PIXELGEN_CTRL_BASE[N_PIXELGEN_ID]; 99 100 /* Stream2MMIO, part of the Input System 2401 */ 101 extern const hrt_address STREAM2MMIO_CTRL_BASE[N_STREAM2MMIO_ID]; 102 103 #endif /* __SYSTEM_LOCAL_H_INCLUDED__ */ 104