2 * Support for Intel Camera Imaging ISP subsystem.
3 * Copyright (c) 2015, Intel Corporation.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 #ifndef __MMU_PUBLIC_H_INCLUDED__
16 #define __MMU_PUBLIC_H_INCLUDED__
18 #include "system_types.h"
20 /*! Set the page table base index of MMU[ID]
22 \param ID[in] MMU identifier
23 \param base_index[in] page table base index
25 \return none, MMU[ID].page_table_base_index = base_index
27 STORAGE_CLASS_EXTERN void mmu_set_page_table_base_index(
29 const hrt_data base_index);
31 /*! Get the page table base index of MMU[ID]
33 \param ID[in] MMU identifier
34 \param base_index[in] page table base index
36 \return MMU[ID].page_table_base_index
38 STORAGE_CLASS_EXTERN hrt_data mmu_get_page_table_base_index(
41 /*! Invalidate the page table cache of MMU[ID]
43 \param ID[in] MMU identifier
47 STORAGE_CLASS_EXTERN void mmu_invalidate_cache(
51 /*! Invalidate the page table cache of all MMUs
55 STORAGE_CLASS_EXTERN void mmu_invalidate_cache_all(void);
57 /*! Write to a control register of MMU[ID]
59 \param ID[in] MMU identifier
60 \param reg[in] register index
61 \param value[in] The data to be written
63 \return none, MMU[ID].ctrl[reg] = value
65 STORAGE_CLASS_MMU_H void mmu_reg_store(
67 const unsigned int reg,
68 const hrt_data value);
70 /*! Read from a control register of MMU[ID]
72 \param ID[in] MMU identifier
73 \param reg[in] register index
74 \param value[in] The data to be written
76 \return MMU[ID].ctrl[reg]
78 STORAGE_CLASS_MMU_H hrt_data mmu_reg_load(
80 const unsigned int reg);
82 #endif /* __MMU_PUBLIC_H_INCLUDED__ */